Clean up some trainer hill

This commit is contained in:
GriffinR committed 2022-03-31 12:54:07 -04:00
1 parent eca5233abe
commit 62f3f144ab
9 files changed
+456 -880

No files matched your search

+49 -73
View File
@@ -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;