Clean up some trainer hill
This commit is contained in:
1 parent
eca5233abe
commit
62f3f144ab
9 files changed
+456
-880
No files matched your search
+49
-73
@@ -57,22 +57,20 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = {
|
||||
.speechLose = { EC_WORD_TO_HER, EC_WORD_WIN, EC_WORD_JOKING, EC_WORD_HIGHS, EC_WORD_SCARY, EC_WORD_ELLIPSIS_EXCL },
|
||||
.speechAfter = { EC_WORD_IGNORANT, EC_WORD_SO, EC_WORD_TODAY, EC_WORD_NIGHTTIME, EC_WORD_YOU_RE, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS },
|
||||
.mons = {
|
||||
[0] = NULL_BATTLE_TOWER_POKEMON,
|
||||
[1] = NULL_BATTLE_TOWER_POKEMON,
|
||||
[2] = NULL_BATTLE_TOWER_POKEMON,
|
||||
[0] = DUMMY_HILL_MON,
|
||||
[1] = DUMMY_HILL_MON,
|
||||
[2] = DUMMY_HILL_MON,
|
||||
[3] = {
|
||||
.species = SPECIES_SWALOT,
|
||||
.heldItem = ITEM_SHELL_BELL,
|
||||
.moves = { MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_PAIN_SPLIT, MOVE_YAWN },
|
||||
.level = 0,
|
||||
.ppBonuses = 0x0,
|
||||
.hpEV = 55,
|
||||
.attackEV = 255,
|
||||
.defenseEV = 100,
|
||||
.speedEV = 0,
|
||||
.spAttackEV = 0,
|
||||
.spDefenseEV = 100,
|
||||
.otId = 0x10000000,
|
||||
.otId = TRAINER_HILL_OTID,
|
||||
.hpIV = 5,
|
||||
.attackIV = 5,
|
||||
.defenseIV = 5,
|
||||
@@ -82,21 +80,19 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = {
|
||||
.abilityNum = 1,
|
||||
.personality = 0x80,
|
||||
.nickname = __("マルノーム$$$$$$"),
|
||||
.friendship = 255
|
||||
.friendship = MAX_FRIENDSHIP
|
||||
},
|
||||
[4] = {
|
||||
.species = SPECIES_DUSTOX,
|
||||
.heldItem = ITEM_BRIGHT_POWDER,
|
||||
.moves = { MOVE_SILVER_WIND, MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_GIGA_DRAIN },
|
||||
.level = 0,
|
||||
.ppBonuses = 0x0,
|
||||
.hpEV = 0,
|
||||
.attackEV = 255,
|
||||
.defenseEV = 0,
|
||||
.speedEV = 0,
|
||||
.spAttackEV = 255,
|
||||
.spDefenseEV = 0,
|
||||
.otId = 0x10000000,
|
||||
.otId = TRAINER_HILL_OTID,
|
||||
.hpIV = 5,
|
||||
.attackIV = 5,
|
||||
.defenseIV = 5,
|
||||
@@ -106,21 +102,19 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = {
|
||||
.abilityNum = 0,
|
||||
.personality = 0x6,
|
||||
.nickname = __("ドクケイル$$$$$$"),
|
||||
.friendship = 255
|
||||
.friendship = MAX_FRIENDSHIP
|
||||
},
|
||||
[5] = {
|
||||
.species = SPECIES_RELICANTH,
|
||||
.heldItem = ITEM_QUICK_CLAW,
|
||||
.moves = { MOVE_ANCIENT_POWER, MOVE_SURF, MOVE_EARTHQUAKE, MOVE_AMNESIA },
|
||||
.level = 0,
|
||||
.ppBonuses = 0x0,
|
||||
.hpEV = 100,
|
||||
.attackEV = 0,
|
||||
.defenseEV = 0,
|
||||
.speedEV = 0,
|
||||
.spAttackEV = 155,
|
||||
.spDefenseEV = 255,
|
||||
.otId = 0x10000000,
|
||||
.otId = TRAINER_HILL_OTID,
|
||||
.hpIV = 5,
|
||||
.attackIV = 5,
|
||||
.defenseIV = 5,
|
||||
@@ -130,7 +124,7 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = {
|
||||
.abilityNum = 0,
|
||||
.personality = 0x2f,
|
||||
.nickname = __("ジーランス$$$$$$"),
|
||||
.friendship = 255
|
||||
.friendship = MAX_FRIENDSHIP
|
||||
},
|
||||
}
|
||||
},
|
||||
@@ -143,22 +137,20 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = {
|
||||
.speechLose = { EC_MOVE2(MINIMIZE), EC_WORD_AS_MUCH_AS, EC_EMPTY_WORD, EC_WORD_THEY_RE, EC_WORD_SAD, EC_WORD_EXCL },
|
||||
.speechAfter = { EC_MOVE(BITE), EC_WORD_AS_MUCH_AS, EC_EMPTY_WORD, EC_WORD_THEY_RE, EC_WORD_ANGRY, EC_WORD_EXCL },
|
||||
.mons = {
|
||||
[0] = NULL_BATTLE_TOWER_POKEMON,
|
||||
[1] = NULL_BATTLE_TOWER_POKEMON,
|
||||
[2] = NULL_BATTLE_TOWER_POKEMON,
|
||||
[0] = DUMMY_HILL_MON,
|
||||
[1] = DUMMY_HILL_MON,
|
||||
[2] = DUMMY_HILL_MON,
|
||||
[3] = {
|
||||
.species = SPECIES_CACTURNE,
|
||||
.heldItem = ITEM_QUICK_CLAW,
|
||||
.moves = { MOVE_GIGA_DRAIN, MOVE_FAINT_ATTACK, MOVE_THUNDER_PUNCH, MOVE_GROWTH },
|
||||
.level = 0,
|
||||
.ppBonuses = 0x0,
|
||||
.hpEV = 55,
|
||||
.attackEV = 0,
|
||||
.defenseEV = 100,
|
||||
.speedEV = 0,
|
||||
.spAttackEV = 255,
|
||||
.spDefenseEV = 100,
|
||||
.otId = 0x10000000,
|
||||
.otId = TRAINER_HILL_OTID,
|
||||
.hpIV = 5,
|
||||
.attackIV = 5,
|
||||
.defenseIV = 5,
|
||||
@@ -168,21 +160,19 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = {
|
||||
.abilityNum = 0,
|
||||
.personality = 0x8c,
|
||||
.nickname = __("ノクタス$$$$$$$"),
|
||||
.friendship = 255
|
||||
.friendship = MAX_FRIENDSHIP
|
||||
},
|
||||
[4] = {
|
||||
.species = SPECIES_SWELLOW,
|
||||
.heldItem = ITEM_BRIGHT_POWDER,
|
||||
.moves = { MOVE_FACADE, MOVE_AERIAL_ACE, MOVE_QUICK_ATTACK, MOVE_DOUBLE_TEAM },
|
||||
.level = 0,
|
||||
.ppBonuses = 0x0,
|
||||
.hpEV = 255,
|
||||
.attackEV = 255,
|
||||
.defenseEV = 0,
|
||||
.speedEV = 0,
|
||||
.spAttackEV = 0,
|
||||
.spDefenseEV = 0,
|
||||
.otId = 0x10000000,
|
||||
.otId = TRAINER_HILL_OTID,
|
||||
.hpIV = 5,
|
||||
.attackIV = 5,
|
||||
.defenseIV = 5,
|
||||
@@ -192,21 +182,19 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = {
|
||||
.abilityNum = 0,
|
||||
.personality = 0x80,
|
||||
.nickname = __("オオスバメ$$$$$$"),
|
||||
.friendship = 255
|
||||
.friendship = MAX_FRIENDSHIP
|
||||
},
|
||||
[5] = {
|
||||
.species = SPECIES_WHISCASH,
|
||||
.heldItem = ITEM_CHESTO_BERRY,
|
||||
.moves = { MOVE_SURF, MOVE_EARTHQUAKE, MOVE_AMNESIA, MOVE_REST },
|
||||
.level = 0,
|
||||
.ppBonuses = 0x0,
|
||||
.hpEV = 0,
|
||||
.attackEV = 255,
|
||||
.defenseEV = 0,
|
||||
.speedEV = 0,
|
||||
.spAttackEV = 255,
|
||||
.spDefenseEV = 0,
|
||||
.otId = 0x10000000,
|
||||
.otId = TRAINER_HILL_OTID,
|
||||
.hpIV = 5,
|
||||
.attackIV = 5,
|
||||
.defenseIV = 5,
|
||||
@@ -216,7 +204,7 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = {
|
||||
.abilityNum = 0,
|
||||
.personality = 0x0,
|
||||
.nickname = __("ナマズン$$$$$$$"),
|
||||
.friendship = 255
|
||||
.friendship = MAX_FRIENDSHIP
|
||||
},
|
||||
}
|
||||
},
|
||||
@@ -229,22 +217,20 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = {
|
||||
.speechLose = { EC_WORD_THAT, EC_WORD_ABOVE, EC_WORD_LOST, EC_WORD_STORES, EC_WORD_JOKING, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS },
|
||||
.speechAfter = { EC_WORD_ENTERTAINING, EC_WORD_NONE, EC_WORD_HEY_QUES, EC_WORD_ALMOST, EC_WORD_EXCL, EC_EMPTY_WORD },
|
||||
.mons = {
|
||||
[0] = NULL_BATTLE_TOWER_POKEMON,
|
||||
[1] = NULL_BATTLE_TOWER_POKEMON,
|
||||
[2] = NULL_BATTLE_TOWER_POKEMON,
|
||||
[0] = DUMMY_HILL_MON,
|
||||
[1] = DUMMY_HILL_MON,
|
||||
[2] = DUMMY_HILL_MON,
|
||||
[3] = {
|
||||
.species = SPECIES_DELCATTY,
|
||||
.heldItem = ITEM_LUM_BERRY,
|
||||
.moves = { MOVE_SING, MOVE_BODY_SLAM, MOVE_SHADOW_BALL, MOVE_IRON_TAIL },
|
||||
.level = 0,
|
||||
.ppBonuses = 0x0,
|
||||
.hpEV = 0,
|
||||
.attackEV = 255,
|
||||
.defenseEV = 0,
|
||||
.speedEV = 255,
|
||||
.spAttackEV = 0,
|
||||
.spDefenseEV = 0,
|
||||
.otId = 0x10000000,
|
||||
.otId = TRAINER_HILL_OTID,
|
||||
.hpIV = 5,
|
||||
.attackIV = 5,
|
||||
.defenseIV = 5,
|
||||
@@ -254,21 +240,19 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = {
|
||||
.abilityNum = 0,
|
||||
.personality = 0x3,
|
||||
.nickname = __("エネコロロ$$$$$$"),
|
||||
.friendship = 255
|
||||
.friendship = MAX_FRIENDSHIP
|
||||
},
|
||||
[4] = {
|
||||
.species = SPECIES_ROSELIA,
|
||||
.heldItem = ITEM_LEFTOVERS,
|
||||
.moves = { MOVE_GIGA_DRAIN, MOVE_GRASS_WHISTLE, MOVE_TOXIC, MOVE_LEECH_SEED },
|
||||
.level = 0,
|
||||
.ppBonuses = 0x0,
|
||||
.hpEV = 255,
|
||||
.attackEV = 0,
|
||||
.defenseEV = 0,
|
||||
.speedEV = 0,
|
||||
.spAttackEV = 255,
|
||||
.spDefenseEV = 0,
|
||||
.otId = 0x10000000,
|
||||
.otId = TRAINER_HILL_OTID,
|
||||
.hpIV = 5,
|
||||
.attackIV = 5,
|
||||
.defenseIV = 5,
|
||||
@@ -278,21 +262,19 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = {
|
||||
.abilityNum = 1,
|
||||
.personality = 0x6,
|
||||
.nickname = __("ロゼリア$$$$$$$"),
|
||||
.friendship = 255
|
||||
.friendship = MAX_FRIENDSHIP
|
||||
},
|
||||
[5] = {
|
||||
.species = SPECIES_BEAUTIFLY,
|
||||
.heldItem = ITEM_BRIGHT_POWDER,
|
||||
.moves = { MOVE_SILVER_WIND, MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_PSYCHIC },
|
||||
.level = 0,
|
||||
.ppBonuses = 0x0,
|
||||
.hpEV = 100,
|
||||
.attackEV = 200,
|
||||
.defenseEV = 0,
|
||||
.speedEV = 0,
|
||||
.spAttackEV = 200,
|
||||
.spDefenseEV = 0,
|
||||
.otId = 0x10000000,
|
||||
.otId = TRAINER_HILL_OTID,
|
||||
.hpIV = 5,
|
||||
.attackIV = 5,
|
||||
.defenseIV = 5,
|
||||
@@ -302,7 +284,7 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = {
|
||||
.abilityNum = 0,
|
||||
.personality = 0x6,
|
||||
.nickname = __("アゲハント$$$$$$"),
|
||||
.friendship = 255
|
||||
.friendship = MAX_FRIENDSHIP
|
||||
},
|
||||
}
|
||||
},
|
||||
@@ -315,22 +297,20 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = {
|
||||
.speechLose = { EC_WORD_OUTSIDE, EC_WORD_UNCLE, EC_WORD_SURPRISE, EC_WORD_THESE, EC_WORD_HEY_QUES, EC_WORD_ELLIPSIS_EXCL },
|
||||
.speechAfter = { EC_WORD_HE_S, EC_WORD_NO_1, EC_WORD_STRONG, EC_WORD_CHILDREN, EC_WORD_CAN_T, EC_WORD_EXCL_EXCL },
|
||||
.mons = {
|
||||
[0] = NULL_BATTLE_TOWER_POKEMON,
|
||||
[1] = NULL_BATTLE_TOWER_POKEMON,
|
||||
[2] = NULL_BATTLE_TOWER_POKEMON,
|
||||
[0] = DUMMY_HILL_MON,
|
||||
[1] = DUMMY_HILL_MON,
|
||||
[2] = DUMMY_HILL_MON,
|
||||
[3] = {
|
||||
.species = SPECIES_MAWILE,
|
||||
.heldItem = ITEM_BRIGHT_POWDER,
|
||||
.moves = { MOVE_CRUNCH, MOVE_FLAMETHROWER, MOVE_THUNDER_PUNCH, MOVE_COMET_PUNCH },
|
||||
.level = 0,
|
||||
.ppBonuses = 0x0,
|
||||
.hpEV = 0,
|
||||
.attackEV = 0,
|
||||
.defenseEV = 100,
|
||||
.speedEV = 0,
|
||||
.spAttackEV = 255,
|
||||
.spDefenseEV = 155,
|
||||
.otId = 0x10000000,
|
||||
.otId = TRAINER_HILL_OTID,
|
||||
.hpIV = 5,
|
||||
.attackIV = 5,
|
||||
.defenseIV = 5,
|
||||
@@ -340,21 +320,19 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = {
|
||||
.abilityNum = 1,
|
||||
.personality = 0x0,
|
||||
.nickname = __("クチート$$$$$$$"),
|
||||
.friendship = 255
|
||||
.friendship = MAX_FRIENDSHIP
|
||||
},
|
||||
[4] = {
|
||||
.species = SPECIES_SHARPEDO,
|
||||
.heldItem = ITEM_SCOPE_LENS,
|
||||
.moves = { MOVE_SURF, MOVE_CRUNCH, MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE },
|
||||
.level = 0,
|
||||
.ppBonuses = 0x0,
|
||||
.hpEV = 255,
|
||||
.attackEV = 0,
|
||||
.defenseEV = 0,
|
||||
.speedEV = 0,
|
||||
.spAttackEV = 255,
|
||||
.spDefenseEV = 0,
|
||||
.otId = 0x10000000,
|
||||
.otId = TRAINER_HILL_OTID,
|
||||
.hpIV = 5,
|
||||
.attackIV = 5,
|
||||
.defenseIV = 5,
|
||||
@@ -364,21 +342,19 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = {
|
||||
.abilityNum = 0,
|
||||
.personality = 0x96,
|
||||
.nickname = __("サメハダー$$$$$$"),
|
||||
.friendship = 255
|
||||
.friendship = MAX_FRIENDSHIP
|
||||
},
|
||||
[5] = {
|
||||
.species = SPECIES_BANETTE,
|
||||
.heldItem = ITEM_LUM_BERRY,
|
||||
.moves = { MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_THUNDERBOLT, MOVE_WILL_O_WISP },
|
||||
.level = 0,
|
||||
.ppBonuses = 0x0,
|
||||
.hpEV = 255,
|
||||
.attackEV = 0,
|
||||
.defenseEV = 0,
|
||||
.speedEV = 0,
|
||||
.spAttackEV = 255,
|
||||
.spDefenseEV = 0,
|
||||
.otId = 0x10000000,
|
||||
.otId = TRAINER_HILL_OTID,
|
||||
.hpIV = 5,
|
||||
.attackIV = 5,
|
||||
.defenseIV = 5,
|
||||
@@ -388,7 +364,7 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = {
|
||||
.abilityNum = 0,
|
||||
.personality = 0x96,
|
||||
.nickname = __("ジュペッタ$$$$$$"),
|
||||
.friendship = 255
|
||||
.friendship = MAX_FRIENDSHIP
|
||||
},
|
||||
}
|
||||
},
|
||||
@@ -447,40 +423,40 @@ static bool32 ValidateTrainerHillChecksum(struct EReaderTrainerHillSet *hillSet)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static bool32 TryWriteTrainerHill_Internal(struct EReaderTrainerHillSet * hillSet, struct TrHillTag * hillTag)
|
||||
static bool32 TryWriteTrainerHill_Internal(struct EReaderTrainerHillSet * hillSet, struct TrainerHillChallenge * challenge)
|
||||
{
|
||||
int i;
|
||||
|
||||
AGB_ASSERT_EX(hillSet->dummy == 0, "cereader_tool.c", 450);
|
||||
AGB_ASSERT_EX(hillSet->id == 0, "cereader_tool.c", 452);
|
||||
|
||||
memset(hillTag, 0, SECTOR_SIZE);
|
||||
hillTag->numTrainers = hillSet->numTrainers;
|
||||
hillTag->unused1 = GetTrainerHillUnkVal();
|
||||
hillTag->numFloors = (hillSet->numTrainers + 1) / TRAINER_HILL_TRAINERS_PER_FLOOR;
|
||||
memset(challenge, 0, SECTOR_SIZE);
|
||||
challenge->numTrainers = hillSet->numTrainers;
|
||||
challenge->unused1 = GetTrainerHillUnkVal();
|
||||
challenge->numFloors = (hillSet->numTrainers + 1) / HILL_TRAINERS_PER_FLOOR;
|
||||
|
||||
for (i = 0; i < hillSet->numTrainers; i++)
|
||||
{
|
||||
if (!(i & 1))
|
||||
{
|
||||
hillTag->floors[i / TRAINER_HILL_TRAINERS_PER_FLOOR].trainerNum1 = hillSet->trainers[i].trainerNum;
|
||||
hillTag->floors[i / TRAINER_HILL_TRAINERS_PER_FLOOR].display = hillSet->trainers[i].display;
|
||||
hillTag->floors[i / TRAINER_HILL_TRAINERS_PER_FLOOR].trainers[0] = hillSet->trainers[i].trainer;
|
||||
challenge->floors[i / HILL_TRAINERS_PER_FLOOR].trainerNum1 = hillSet->trainers[i].trainerNum;
|
||||
challenge->floors[i / HILL_TRAINERS_PER_FLOOR].map = hillSet->trainers[i].map;
|
||||
challenge->floors[i / HILL_TRAINERS_PER_FLOOR].trainers[0] = hillSet->trainers[i].trainer;
|
||||
}
|
||||
else
|
||||
{
|
||||
hillTag->floors[i / TRAINER_HILL_TRAINERS_PER_FLOOR].trainerNum2 = hillSet->trainers[i].trainerNum;
|
||||
hillTag->floors[i / TRAINER_HILL_TRAINERS_PER_FLOOR].trainers[1] = hillSet->trainers[i].trainer;
|
||||
challenge->floors[i / HILL_TRAINERS_PER_FLOOR].trainerNum2 = hillSet->trainers[i].trainerNum;
|
||||
challenge->floors[i / HILL_TRAINERS_PER_FLOOR].trainers[1] = hillSet->trainers[i].trainer;
|
||||
}
|
||||
}
|
||||
|
||||
if (i & 1)
|
||||
{
|
||||
hillTag->floors[i / TRAINER_HILL_TRAINERS_PER_FLOOR].trainers[1] = sTrainerHillTrainerTemplates_JP[i / TRAINER_HILL_TRAINERS_PER_FLOOR];
|
||||
challenge->floors[i / HILL_TRAINERS_PER_FLOOR].trainers[1] = sTrainerHillTrainerTemplates_JP[i / HILL_TRAINERS_PER_FLOOR];
|
||||
}
|
||||
|
||||
hillTag->checksum = CalcByteArraySum((u8 *)hillTag->floors, NUM_TRAINER_HILL_FLOORS * sizeof(struct TrHillFloor));
|
||||
if (TryWriteSpecialSaveSector(SECTOR_ID_TRAINER_HILL, (u8 *)hillTag) != SAVE_STATUS_OK)
|
||||
challenge->checksum = CalcByteArraySum((u8 *)challenge->floors, NUM_TRAINER_HILL_FLOORS * sizeof(struct TrainerHillFloor));
|
||||
if (TryWriteSpecialSaveSector(SECTOR_ID_TRAINER_HILL, (u8 *)challenge) != SAVE_STATUS_OK)
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
|
||||
Reference in new issue
Block a user