From a60d6675d7f802215150e6df4c771b965e5df3dc Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 28 Apr 2021 18:35:53 -0400 Subject: Trainer tower sets to C --- src/trainer_tower.c | 56 +- src/trainer_tower_sets.c | 8995 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 9023 insertions(+), 28 deletions(-) create mode 100644 src/trainer_tower_sets.c (limited to 'src') diff --git a/src/trainer_tower.c b/src/trainer_tower.c index b39782297..38d3f9ab6 100644 --- a/src/trainer_tower.c +++ b/src/trainer_tower.c @@ -19,13 +19,13 @@ #include "constants/event_objects.h" #include "constants/trainer_tower.h" -#define CURR_FLOOR sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx] +#define CURR_FLOOR sTrainerTowerState->data.floors[sTrainerTowerState->floorIdx] #define TRAINER_TOWER gSaveBlock1Ptr->trainerTower[gSaveBlock1Ptr->towerChallengeId] -struct UnkStruct_203F458 +struct TrainerTowerState { /* 0x0000 */ u8 floorIdx; - /* 0x0004 */ struct EReaderTrainerTowerSet unk_0004; + /* 0x0004 */ struct EReaderTrainerTowerSet data; }; struct TrainerTowerOpponent @@ -37,7 +37,7 @@ struct TrainerTowerOpponent /* 0x30 */ u16 speechLose2[6]; /* 0x3C */ u8 battleType; /* 0x3D */ u8 facilityClass; - /* 0x3E */ u8 gender; + /* 0x3E */ u8 textColor; }; struct SinglesTrainerInfo @@ -52,8 +52,8 @@ struct DoublesTrainerInfo u8 objGfx1; u8 objGfx2; u8 facilityClass; - bool8 gender1; - bool8 gender2; + bool8 textColor1; + bool8 textColor2; }; struct TrainerEncounterMusicPairs @@ -62,7 +62,7 @@ struct TrainerEncounterMusicPairs u8 musicId; }; -static EWRAM_DATA struct UnkStruct_203F458 * sTrainerTowerState = NULL; +static EWRAM_DATA struct TrainerTowerState * sTrainerTowerState = NULL; static EWRAM_DATA struct TrainerTowerOpponent * sTrainerTowerOpponent = NULL; static EWRAM_DATA u8 sUnused_203F460 = 0; @@ -422,8 +422,8 @@ static const u8 sKnockoutChallengeMonIdxs[][3] = { {0x01, 0x04, 0x05} }; -extern const struct EReaderTrainerTowerSetSubstruct gUnknown_84827AC; -extern const struct TrainerTowerFloor *const gUnknown_84827B4[][MAX_TRAINER_TOWER_FLOORS]; +extern const struct EReaderTrainerTowerSetSubstruct gTrainerTowerLocalHeader; +extern const struct TrainerTowerFloor *const gTrainerTowerFloors[][MAX_TRAINER_TOWER_FLOORS]; void CallTrainerTowerFunc(void) { @@ -471,7 +471,7 @@ void InitTrainerTowerBattleStruct(void) sTrainerTowerOpponent->battleType = CURR_FLOOR.challengeType; sTrainerTowerOpponent->facilityClass = CURR_FLOOR.trainers[trainerId].facilityClass; - sTrainerTowerOpponent->gender = CURR_FLOOR.trainers[trainerId].gender; + sTrainerTowerOpponent->textColor = CURR_FLOOR.trainers[trainerId].textColor; SetVBlankCounter1Ptr(&TRAINER_TOWER.timer); FreeTrainerTowerDataStruct(); } @@ -510,18 +510,18 @@ static void SetUpTrainerTowerDataStruct(void) sTrainerTowerState = AllocZeroed(sizeof(*sTrainerTowerState)); sTrainerTowerState->floorIdx = gMapHeader.mapLayoutId - LAYOUT_TRAINER_TOWER_1F; if (ReadTrainerTowerAndValidate() == TRUE) - CEReaderTool_LoadTrainerTower(&sTrainerTowerState->unk_0004); + CEReaderTool_LoadTrainerTower(&sTrainerTowerState->data); else { - struct UnkStruct_203F458 * r0_ = sTrainerTowerState; - const struct EReaderTrainerTowerSetSubstruct * r1 = &gUnknown_84827AC; - memcpy(&r0_->unk_0004, r1, sizeof(struct EReaderTrainerTowerSetSubstruct)); - r7 = gUnknown_84827B4[challengeType]; + struct TrainerTowerState * r0_ = sTrainerTowerState; + const struct EReaderTrainerTowerSetSubstruct * r1 = &gTrainerTowerLocalHeader; + memcpy(&r0_->data, r1, sizeof(struct EReaderTrainerTowerSetSubstruct)); + r7 = gTrainerTowerFloors[challengeType]; for (r4 = 0; r4 < MAX_TRAINER_TOWER_FLOORS; r4++) { - *(sTrainerTowerState->unk_0004.floors + r4) = *(r7[r4]); // manual pointer arithmetic needed to match + *(sTrainerTowerState->data.floors + r4) = *(r7[r4]); // manual pointer arithmetic needed to match } - sTrainerTowerState->unk_0004.checksum = CalcByteArraySum((void *)sTrainerTowerState->unk_0004.floors, sizeof(sTrainerTowerState->unk_0004.floors)); + sTrainerTowerState->data.checksum = CalcByteArraySum((void *)sTrainerTowerState->data.floors, sizeof(sTrainerTowerState->data.floors)); ValidateOrResetCurTrainerTowerRecord(); } } @@ -533,7 +533,7 @@ static void FreeTrainerTowerDataStruct(void) static void InitTrainerTowerFloor(void) { - if (gMapHeader.mapLayoutId - LAYOUT_TRAINER_TOWER_LOBBY > sTrainerTowerState->unk_0004.numFloors) + if (gMapHeader.mapLayoutId - LAYOUT_TRAINER_TOWER_LOBBY > sTrainerTowerState->data.numFloors) { gSpecialVar_Result = 3; // Skip past usable challenge types SetCurrentMapLayout(LAYOUT_TRAINER_TOWER_ROOF); @@ -667,7 +667,7 @@ static void BufferTowerOpponentSpeech(void) static void TrainerTowerGetOpponentTextColor(u8 challengeType, u8 facilityClass) { - u16 gender = MALE; + u16 textColor = MALE; int i; switch (challengeType) { @@ -679,7 +679,7 @@ static void TrainerTowerGetOpponentTextColor(u8 challengeType, u8 facilityClass) break; } if (i != NELEMS(sSingleBattleTrainerInfo)) - gender = sSingleBattleTrainerInfo[i].gender; + textColor = sSingleBattleTrainerInfo[i].gender; break; case CHALLENGE_TYPE_DOUBLE: for (i = 0; i < NELEMS(sDoubleBattleTrainerInfo); i++) @@ -690,14 +690,14 @@ static void TrainerTowerGetOpponentTextColor(u8 challengeType, u8 facilityClass) if (i != NELEMS(sDoubleBattleTrainerInfo)) { if (VarGet(VAR_TEMP_3)) - gender = sDoubleBattleTrainerInfo[i].gender2; + textColor = sDoubleBattleTrainerInfo[i].textColor2; else - gender = sDoubleBattleTrainerInfo[i].gender1; + textColor = sDoubleBattleTrainerInfo[i].textColor1; } break; } gSpecialVar_PrevTextColor = gSpecialVar_TextColor; - gSpecialVar_TextColor = gender; + gSpecialVar_TextColor = textColor; } static void CB2_EndTrainerTowerBattle(void) @@ -784,7 +784,7 @@ static void GetOwnerState(void) static void GiveChallengePrize(void) { - u16 itemId = sPrizeList[sTrainerTowerState->unk_0004.floors->prize]; + u16 itemId = sPrizeList[sTrainerTowerState->data.floors->prize]; if (TRAINER_TOWER.receivedPrize) { @@ -922,9 +922,9 @@ static void TrainerTowerGetDoublesEligiblity(void) static void TrainerTowerGetNumFloors(void) { - if (sTrainerTowerState->unk_0004.numFloors != sTrainerTowerState->unk_0004.floors[0].floorIdx) + if (sTrainerTowerState->data.numFloors != sTrainerTowerState->data.floors[0].floorIdx) { - ConvertIntToDecimalStringN(gStringVar1, sTrainerTowerState->unk_0004.numFloors, STR_CONV_MODE_LEFT_ALIGN, 1); + ConvertIntToDecimalStringN(gStringVar1, sTrainerTowerState->data.numFloors, STR_CONV_MODE_LEFT_ALIGN, 1); gSpecialVar_Result = TRUE; } else @@ -1029,9 +1029,9 @@ static s32 GetPartyMaxLevel(void) static void ValidateOrResetCurTrainerTowerRecord(void) { - if (TRAINER_TOWER.unk9 != sTrainerTowerState->unk_0004.id) + if (TRAINER_TOWER.unk9 != sTrainerTowerState->data.id) { - TRAINER_TOWER.unk9 = sTrainerTowerState->unk_0004.id; + TRAINER_TOWER.unk9 = sTrainerTowerState->data.id; SetTrainerTowerRecordTime(&TRAINER_TOWER.bestTime, TRAINER_TOWER_MAX_TIME); TRAINER_TOWER.receivedPrize = FALSE; } diff --git a/src/trainer_tower_sets.c b/src/trainer_tower_sets.c new file mode 100644 index 000000000..ceadafa08 --- /dev/null +++ b/src/trainer_tower_sets.c @@ -0,0 +1,8995 @@ +#include "global.h" +#include "cereader_tool.h" +#include "trainer_tower.h" +#include "constants/easy_chat.h" +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/trainer_tower.h" +#include "constants/facility_trainer_classes.h" + +#define DUMMY_TOWER_MON(iv) ((struct BattleTowerPokemon){.hpIV = iv, .attackIV = iv, .defenseIV = iv, .speedIV = iv, .spAttackIV = iv, .spDefenseIV = iv, .nickname = _("$$$$$$$$$$")}) +#define DUMMY_TOWER_TEAM(iv) ((struct TrainerTowerTrainer){.name = _(), .textColor = 1, .speechBefore = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechWin = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechAfter = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .mons = {DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv)}}) + +static const struct TrainerTowerFloor sTrainerTowerFloor_Single_4 = { + .flags = 0x01, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_SINGLE, + .prize = 0x07, + .trainers = { + { + .name = _("COLE"), + .facilityClass = FACILITY_CLASS_YOUNGSTER_2, + .textColor = 1, + .speechBefore = {EC_WORD_AHAHA, EC_WORD_YOU_RE, EC_WORD_NOT, EC_WORD_GOING, EC_WORD_ANYWHERE, EC_WORD_EXCL}, + .speechWin = {EC_WORD_ALL_RIGHT, EC_WORD_EXCL, EC_WORD_BYE_BYE, EC_WORD_EXCL, 0xFFFF, 0xFFFF}, + .speechLose = {EC_WORD_HIYAH, EC_WORD_EXCL_EXCL, EC_WORD_DONE, EC_WORD_IN, EC_WORD_TOTALLY, EC_WORD_EXCL_EXCL}, + .speechAfter = {EC_WORD_TCH, EC_WORD_TCH, EC_WORD_YOU_RE, EC_WORD_TOO_STRONG, 0xFFFF, 0xFFFF}, + .mons = { + { + .species = SPECIES_RATICATE, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_SHOCK_WAVE, MOVE_HYPER_FANG, MOVE_SCARY_FACE, MOVE_ENDEAVOR}, + .hpEV = 110, + .attackEV = 0, + .defenseEV = 200, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 200, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000016, + .nickname = _("RATICATE"), + .friendship = 255 + }, + { + .species = SPECIES_MAGMAR, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_FIRE_PUNCH, MOVE_SUNNY_DAY, MOVE_SMOG, MOVE_STRENGTH}, + .hpEV = 100, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 210, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000056, + .nickname = _("MAGMAR"), + .friendship = 255 + }, + { + .species = SPECIES_MAGCARGO, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_FLAMETHROWER, MOVE_AMNESIA, MOVE_BODY_SLAM, MOVE_HARDEN}, + .hpEV = 110, + .attackEV = 200, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 200, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000002, + .nickname = _("MAGCARGO"), + .friendship = 255 + }, + { + .species = SPECIES_PRIMEAPE, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_OVERHEAT, MOVE_SEISMIC_TOSS, MOVE_SWAGGER, MOVE_KARATE_CHOP}, + .hpEV = 100, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 210, + .spAttackEV = 200, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000087, + .nickname = _("PRIMEAPE"), + .friendship = 255 + }, + { + .species = SPECIES_GOLBAT, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_GIGA_DRAIN, MOVE_CONFUSE_RAY, MOVE_SLUDGE_BOMB, MOVE_MEAN_LOOK}, + .hpEV = 0, + .attackEV = 200, + .defenseEV = 0, + .speedEV = 110, + .spAttackEV = 200, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000081, + .nickname = _("GOLBAT"), + .friendship = 255 + }, + { + .species = SPECIES_SLOWBRO, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_SUNNY_DAY, MOVE_YAWN, MOVE_FLAMETHROWER, MOVE_CONFUSION}, + .hpEV = 100, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 210, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000011, + .nickname = _("SLOWBRO"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x00016aab +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Single_7 = { + .flags = 0x02, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_SINGLE, + .prize = 0x0d, + .trainers = { + { + .name = _("JAC"), + .facilityClass = FACILITY_CLASS_BURGLAR, + .textColor = 1, + .speechBefore = {EC_WORD_I_AM, EC_WORD_A, EC_MOVE2(THIEF), EC_WORD_EXCL, EC_WORD_GIVE_ME, EC_WORD_SOMETHING}, + .speechWin = {EC_WORD_YOU_VE, EC_WORD_GOT, EC_WORD_NOTHING, EC_WORD_THAT, EC_WORD_I, EC_WORD_WANT}, + .speechLose = {EC_WORD_EEK, EC_WORD_EXCL_EXCL, EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_I, EC_WORD_SURRENDER}, + .speechAfter = {EC_WORD_I, EC_WORD_WILL, EC_WORD_STOP, EC_WORD_BEING, EC_WORD_A, EC_MOVE2(THIEF)}, + .mons = { + { + .species = SPECIES_MEOWTH, + .heldItem = ITEM_LIECHI_BERRY, + .moves = {MOVE_SWAGGER, MOVE_SUBSTITUTE, MOVE_FAKE_OUT, MOVE_SLASH}, + .hpEV = 200, + .attackEV = 110, + .defenseEV = 0, + .speedEV = 200, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 138 | (0 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000008A, + .nickname = _("MEOWTH"), + .friendship = 255 + }, + { + .species = SPECIES_FLAREON, + .heldItem = ITEM_PETAYA_BERRY, + .moves = {MOVE_FLAMETHROWER, MOVE_BITE, MOVE_SAND_ATTACK, MOVE_FIRE_SPIN}, + .hpEV = 110, + .attackEV = 0, + .defenseEV = 200, + .speedEV = 0, + .spAttackEV = 200, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000007, + .nickname = _("FLAREON"), + .friendship = 255 + }, + { + .species = SPECIES_PORYGON, + .heldItem = ITEM_PETAYA_BERRY, + .moves = {MOVE_TRI_ATTACK, MOVE_RECYCLE, MOVE_PSYBEAM, MOVE_CONVERSION_2}, + .hpEV = 100, + .attackEV = 0, + .defenseEV = 210, + .speedEV = 0, + .spAttackEV = 200, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000007, + .nickname = _("PORYGON"), + .friendship = 255 + }, + { + .species = SPECIES_CHANSEY, + .heldItem = ITEM_LUCKY_PUNCH, + .moves = {MOVE_FLAMETHROWER, MOVE_LIGHT_SCREEN, MOVE_BODY_SLAM, MOVE_MINIMIZE}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000010, + .nickname = _("CHANSEY"), + .friendship = 255 + }, + { + .species = SPECIES_FARFETCHD, + .heldItem = ITEM_STICK, + .moves = {MOVE_KNOCK_OFF, MOVE_SWORDS_DANCE, MOVE_FLY, MOVE_SAND_ATTACK}, + .hpEV = 100, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 100, + .spAttackEV = 0, + .spDefenseEV = 110, + .otId = 133 | (0 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000085, + .nickname = _("FARFETCH'D"), + .friendship = 255 + }, + { + .species = SPECIES_MR_MIME, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_SUBSTITUTE, MOVE_SHOCK_WAVE, MOVE_LIGHT_SCREEN, MOVE_BRICK_BREAK}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 130 | (0 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000082, + .nickname = _("MR. MIME"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x00016456 +}; + +static const struct TrainerTowerFloor gUnknown_847B36C = { + .flags = 0x03, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_SINGLE, + .prize = 0x02, + .trainers = { + { + .name = _("MILY"), + .facilityClass = FACILITY_CLASS_PSYCHIC_4, + .textColor = 1, + .speechBefore = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_WORD_POKEMON, EC_MOVE2(SUPERPOWER), EC_WORD_EXCL}, + .speechWin = {EC_WORD_ISN_T, EC_WORD_IT, EC_WORD_INCREDIBLE, EC_WORD_QUES, EC_WORD_POKEMON, EC_WORD_POWER}, + .speechLose = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_AN, EC_WORD_AWFUL, EC_MOVE(NIGHTMARE), EC_WORD_ELLIPSIS_EXCL}, + .speechAfter = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_A, EC_WORD_DREAM, EC_WORD_NOTHING, EC_WORD_MORE}, + .mons = { + { + .species = SPECIES_CHANSEY, + .heldItem = ITEM_ORAN_BERRY, + .moves = {MOVE_LIGHT_SCREEN, MOVE_EGG_BOMB, MOVE_MINIMIZE, MOVE_SECRET_POWER}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000008, + .nickname = _("CHANSEY"), + .friendship = 255 + }, + { + .species = SPECIES_CLEFABLE, + .heldItem = ITEM_ORAN_BERRY, + .moves = {MOVE_METRONOME, MOVE_REFLECT, MOVE_SING, MOVE_POUND}, + .hpEV = 110, + .attackEV = 0, + .defenseEV = 200, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 200, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000016, + .nickname = _("CLEFABLE"), + .friendship = 255 + }, + { + .species = SPECIES_TOGETIC, + .heldItem = ITEM_ORAN_BERRY, + .moves = {MOVE_METRONOME, MOVE_REFLECT, MOVE_SWEET_KISS, MOVE_PECK}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000016, + .nickname = _("TOGETIC"), + .friendship = 255 + }, + { + .species = SPECIES_TOGETIC, + .heldItem = ITEM_ORAN_BERRY, + .moves = {MOVE_METRONOME, MOVE_HIDDEN_POWER, MOVE_ATTRACT, MOVE_LIGHT_SCREEN}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000020, + .nickname = _("TOGETIC"), + .friendship = 255 + }, + { + .species = SPECIES_CHANSEY, + .heldItem = ITEM_ORAN_BERRY, + .moves = {MOVE_FLAMETHROWER, MOVE_SOFT_BOILED, MOVE_LIGHT_SCREEN, MOVE_SECRET_POWER}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000005, + .nickname = _("CHANSEY"), + .friendship = 255 + }, + { + .species = SPECIES_CLEFABLE, + .heldItem = ITEM_ORAN_BERRY, + .moves = {MOVE_REFLECT, MOVE_FLAMETHROWER, MOVE_SING, MOVE_BODY_SLAM}, + .hpEV = 110, + .attackEV = 0, + .defenseEV = 200, + .speedEV = 0, + .spAttackEV = 200, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x000000C0, + .nickname = _("CLEFABLE"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x000164ec +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Double_5 = { + .flags = 0x04, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_DOUBLE, + .prize = 0x09, + .trainers = { + { + .name = _("JOS & ANNE"), + .facilityClass = FACILITY_CLASS_COOL_COUPLE, + .textColor = 7, + .speechBefore = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_LOSE, EC_WORD_TO, EC_WORD_YOU, EC_WORD_HERE}, + .speechWin = {EC_WORD_VERY, EC_WORD_WELL, EC_WORD_DONE, EC_WORD_EXCL, EC_WORD_GOOD, EC_WORD_BATTLE}, + .speechLose = {EC_WORD_UNBELIEVABLE, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, + .speechAfter = {EC_WORD_I_AM, EC_WORD_DISAPPOINTED, EC_WORD_BUT, EC_WORD_YOU, EC_WORD_WIN, EC_WORD_ELLIPSIS}, + .mons = { + { + .species = SPECIES_RAPIDASH, + .heldItem = ITEM_WHITE_HERB, + .moves = {MOVE_BOUNCE, MOVE_OVERHEAT, MOVE_HYPNOSIS, MOVE_RETURN}, + .hpEV = 100, + .attackEV = 100, + .defenseEV = 0, + .speedEV = 110, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 1, + .personality = 0x00000010, + .nickname = _("RAPIDASH"), + .friendship = 255 + }, + { + .species = SPECIES_NINETALES, + .heldItem = ITEM_CHARCOAL, + .moves = {MOVE_CONFUSE_RAY, MOVE_WILL_O_WISP, MOVE_HEAT_WAVE, MOVE_DIG}, + .hpEV = 110, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 200, + .spAttackEV = 200, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000015, + .nickname = _("NINETALES"), + .friendship = 255 + }, + { + .species = SPECIES_MISDREAVUS, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_GRUDGE, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_THUNDERBOLT}, + .hpEV = 200, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 210, + .spAttackEV = 100, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x0000000A, + .nickname = _("MISDREAVUS"), + .friendship = 255 + }, + { + .species = SPECIES_ALAKAZAM, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_LIGHT_SCREEN, MOVE_RECOVER, MOVE_PSYCHIC, MOVE_THUNDER_PUNCH}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x0000000A, + .nickname = _("ALAKAZAM"), + .friendship = 255 + }, + { + .species = SPECIES_BLISSEY, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_LIGHT_SCREEN, MOVE_ATTRACT, MOVE_RETURN, MOVE_PSYCHIC}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 1, + .personality = 0x00000016, + .nickname = _("BLISSEY"), + .friendship = 255 + }, + { + .species = SPECIES_CROBAT, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_TOXIC, MOVE_FLY, MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL}, + .hpEV = 100, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 210, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000017, + .nickname = _("CROBAT"), + .friendship = 255 + }, + } + }, + { + .name = _("JOS & ANNE"), + .facilityClass = FACILITY_CLASS_COOL_COUPLE, + .textColor = 7, + .speechBefore = {EC_WORD_HERE_GOES, EC_WORD_EXCL_EXCL, EC_WORD_GET, EC_WORD_READY, EC_WORD_TO, EC_WORD_LOSE}, + .speechWin = {EC_WORD_PERFECT, EC_WORD_EXCL, EC_WORD_WE, EC_WORD_GET, EC_WORD_THE, EC_WORD_WIN}, + .speechLose = {EC_WORD_LOST, EC_WORD_QUES_EXCL, EC_WORD_YOU, EC_WORD_MUST_BE, EC_WORD_JOKING, EC_WORD_EXCL}, + .speechAfter = {EC_WORD_HOW, EC_WORD_COULD, EC_WORD_I, EC_WORD_LOSE, EC_WORD_THIS, EC_WORD_QUES}, + .mons = { + { + .species = SPECIES_HOUNDOOM, + .heldItem = ITEM_CHARCOAL, + .moves = {MOVE_TAUNT, MOVE_FLAMETHROWER, MOVE_WILL_O_WISP, MOVE_CRUNCH}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 1, + .personality = 0x00000082, + .nickname = _("HOUNDOOM"), + .friendship = 255 + }, + { + .species = SPECIES_AERODACTYL, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_ROAR, MOVE_FIRE_BLAST, MOVE_HYPER_BEAM, MOVE_AERIAL_ACE}, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 1, + .personality = 0x00000033, + .nickname = _("AERODACTYL"), + .friendship = 255 + }, + { + .species = SPECIES_ARCANINE, + .heldItem = ITEM_CHARCOAL, + .moves = {MOVE_HEAT_WAVE, MOVE_EXTREME_SPEED, MOVE_ROAR, MOVE_DIG}, + .hpEV = 210, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 200, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000056, + .nickname = _("ARCANINE"), + .friendship = 255 + }, + { + .species = SPECIES_WEEZING, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_EXPLOSION, MOVE_SMOKESCREEN, MOVE_SLUDGE_BOMB, MOVE_THUNDERBOLT}, + .hpEV = 100, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 110, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x0000008E, + .nickname = _("WEEZING"), + .friendship = 255 + }, + { + .species = SPECIES_CHARIZARD, + .heldItem = ITEM_WHITE_HERB, + .moves = {MOVE_OVERHEAT, MOVE_OUTRAGE, MOVE_DRAGON_RAGE, MOVE_SMOKESCREEN}, + .hpEV = 100, + .attackEV = 110, + .defenseEV = 0, + .speedEV = 100, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000033, + .nickname = _("CHARIZARD"), + .friendship = 255 + }, + { + .species = SPECIES_GENGAR, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_SHADOW_BALL, MOVE_THUNDERBOLT}, + .hpEV = 55, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000087, + .nickname = _("GENGAR"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x00017908 +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Double_6 = { + .flags = 0x05, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_DOUBLE, + .prize = 0x04, + .trainers = { + { + .name = _("EMY & ALEK"), + .facilityClass = FACILITY_CLASS_YOUNG_COUPLE_2, + .textColor = 1, + .speechBefore = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_LOST, EC_WORD_IN, EC_WORD_LOVEY_DOVEY, EC_WORD_HAPPINESS}, + .speechWin = {EC_WORD_OH, EC_WORD_OH, EC_WORD_HE, EC_WORD_IS, EC_WORD_REALLY, EC_WORD_AWESOME}, + .speechLose = {EC_WORD_AIYEEH, EC_WORD_EXCL_EXCL, EC_WORD_YOU_RE, EC_WORD_NOT, EC_WORD_SERIOUS, EC_WORD_QUES}, + .speechAfter = {EC_WORD_WHO, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_QUES, 0xFFFF, 0xFFFF}, + .mons = { + { + .species = SPECIES_TAUROS, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_FLAMETHROWER, MOVE_REST, MOVE_SHOCK_WAVE, MOVE_DOUBLE_TEAM}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000A, + .nickname = _("TAUROS"), + .friendship = 255 + }, + { + .species = SPECIES_KANGASKHAN, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_FLAMETHROWER, MOVE_DIZZY_PUNCH, MOVE_REST, MOVE_FAKE_OUT}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000002, + .nickname = _("KANGASKHAN"), + .friendship = 255 + }, + { + .species = SPECIES_FEAROW, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_DRILL_PECK, MOVE_TRI_ATTACK, MOVE_DOUBLE_EDGE, MOVE_REST}, + .hpEV = 100, + .attackEV = 210, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000094, + .nickname = _("FEAROW"), + .friendship = 255 + }, + { + .species = SPECIES_TOGETIC, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_FLAMETHROWER, MOVE_LIGHT_SCREEN, MOVE_REST, MOVE_ANCIENT_POWER}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000024, + .nickname = _("TOGETIC"), + .friendship = 255 + }, + { + .species = SPECIES_PIDGEOT, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_STEEL_WING, MOVE_FLY, MOVE_MIRROR_MOVE, MOVE_REST}, + .hpEV = 100, + .attackEV = 110, + .defenseEV = 100, + .speedEV = 100, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000D, + .nickname = _("PIDGEOT"), + .friendship = 255 + }, + { + .species = SPECIES_URSARING, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_REST, MOVE_SNORE, MOVE_DIG, MOVE_SLASH}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000008A, + .nickname = _("URSARING"), + .friendship = 255 + }, + } + }, + { + .name = _("EMY & ALEK"), + .facilityClass = FACILITY_CLASS_YOUNG_COUPLE_2, + .textColor = 1, + .speechBefore = {EC_WORD_I_AM, EC_WORD_GIDDY, EC_WORD_WITH, EC_WORD_LOVEY_DOVEY, EC_WORD_JOY, EC_WORD_EXCL_EXCL}, + .speechWin = {EC_WORD_SIGH, EC_WORD_ELLIPSIS, EC_WORD_MY, EC_WORD_GIRL, EC_WORD_IS, EC_WORD_CUTE}, + .speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL_EXCL, EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_BE, EC_WORD_SERIOUS}, + .speechAfter = {EC_WORD_WAIT, EC_WORD_ELLIPSIS, EC_WORD_WHO, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_QUES}, + .mons = { + { + .species = SPECIES_LICKITUNG, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_FLAMETHROWER, MOVE_EARTHQUAKE, MOVE_REST, MOVE_SLEEP_TALK}, + .hpEV = 0, + .attackEV = 100, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 55, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000016, + .nickname = _("LICKITUNG"), + .friendship = 255 + }, + { + .species = SPECIES_NOCTOWL, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_REFLECT, MOVE_AERIAL_ACE}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000B, + .nickname = _("NOCTOWL"), + .friendship = 255 + }, + { + .species = SPECIES_FURRET, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_FLAMETHROWER, MOVE_AMNESIA, MOVE_SHOCK_WAVE, MOVE_SLASH}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x0000000E, + .nickname = _("FURRET"), + .friendship = 255 + }, + { + .species = SPECIES_RATICATE, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_SUPER_FANG, MOVE_QUICK_ATTACK, MOVE_SWAGGER, MOVE_ENDEAVOR}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x0000008A, + .nickname = _("RATICATE"), + .friendship = 255 + }, + { + .species = SPECIES_WIGGLYTUFF, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_SUNNY_DAY, MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_BODY_SLAM}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000B, + .nickname = _("WIGGLYTUFF"), + .friendship = 255 + }, + { + .species = SPECIES_PORYGON2, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_THUNDERBOLT, MOVE_CONVERSION_2, MOVE_TRI_ATTACK, MOVE_RECOVER}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000A, + .nickname = _("PORYGON2"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x00015d3b +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Double_2 = { + .flags = 0x06, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_DOUBLE, + .prize = 0x00, + .trainers = { + { + .name = _("JO & HALEY"), + .facilityClass = FACILITY_CLASS_CRUSH_KIN, + .textColor = 5, + .speechBefore = {EC_WORD_WE_RE, EC_WORD_USING, EC_WORD_THAT, EC_WORD_STRATEGY, EC_WORD_OKAY, EC_WORD_QUES}, + .speechWin = {EC_WORD_YAY, EC_WORD_WE, EC_WORD_WON, EC_WORD_EXCL, EC_WORD_SORRY, EC_WORD_EXCL}, + .speechLose = {EC_WORD_AWW, EC_WORD_EXCL, EC_WORD_THAT_WAS, EC_WORD_REALLY, EC_WORD_TERRIBLE, EC_WORD_EXCL}, + .speechAfter = {EC_WORD_ALL, EC_WORD_I, EC_WORD_DO, EC_WORD_IS, EC_WORD_LOSE, EC_WORD_ELLIPSIS}, + .mons = { + { + .species = SPECIES_SNEASEL, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_SHADOW_BALL, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_AERIAL_ACE}, + .hpEV = 200, + .attackEV = 0, + .defenseEV = 50, + .speedEV = 210, + .spAttackEV = 0, + .spDefenseEV = 50, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x0000000D, + .nickname = _("SNEASEL"), + .friendship = 255 + }, + { + .species = SPECIES_ALAKAZAM, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_FIRE_PUNCH, MOVE_RECOVER, MOVE_PSYCHIC, MOVE_SUNNY_DAY}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000005, + .nickname = _("ALAKAZAM"), + .friendship = 255 + }, + { + .species = SPECIES_HITMONTOP, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_MEGA_KICK, MOVE_ENDEAVOR, MOVE_DIG, MOVE_SUNNY_DAY}, + .hpEV = 100, + .attackEV = 210, + .defenseEV = 0, + .speedEV = 200, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000008, + .nickname = _("HITMONTOP"), + .friendship = 255 + }, + { + .species = SPECIES_GIRAFARIG, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_LIGHT_SCREEN, MOVE_SUNNY_DAY, MOVE_SHADOW_BALL, MOVE_PSYBEAM}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x0000000A, + .nickname = _("GIRAFARIG"), + .friendship = 255 + }, + { + .species = SPECIES_XATU, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_SUNNY_DAY, MOVE_DRILL_PECK, MOVE_CONFUSE_RAY, MOVE_PSYCHIC}, + .hpEV = 110, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 100, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000014, + .nickname = _("XATU"), + .friendship = 255 + }, + { + .species = SPECIES_MR_MIME, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_REFLECT, MOVE_SUNNY_DAY, MOVE_PSYCHIC, MOVE_SHOCK_WAVE}, + .hpEV = 110, + .attackEV = 0, + .defenseEV = 200, + .speedEV = 200, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000005, + .nickname = _("MR. MIME"), + .friendship = 255 + }, + } + }, + { + .name = _("JO & HALEY"), + .facilityClass = FACILITY_CLASS_CRUSH_KIN, + .textColor = 5, + .speechBefore = {EC_WORD_YOU, EC_WORD_YOU, EC_WORD_YOU, EC_WORD_BETTER, EC_WORD_NOT, EC_WORD_WIN}, + .speechWin = {EC_WORD_YOU_RE, EC_WORD_NOT, EC_WORD_JOKING, EC_WORD_QUES, EC_WORD_WE, EC_WORD_WON}, + .speechLose = {EC_WORD_WIMPY, EC_WORD_ELLIPSIS, EC_WORD_WE, EC_WORD_WERE, EC_WORD_WEAK, EC_WORD_ELLIPSIS}, + .speechAfter = {EC_WORD_HAHAHA, EC_WORD_ELLIPSIS, EC_WORD_WE_RE, EC_WORD_TOTALLY, EC_WORD_USELESS, EC_WORD_ELLIPSIS}, + .mons = { + { + .species = SPECIES_HYPNO, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_FIRE_PUNCH, MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_NIGHTMARE}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000087, + .nickname = _("HYPNO"), + .friendship = 255 + }, + { + .species = SPECIES_HITMONCHAN, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_FIRE_PUNCH, MOVE_THUNDER_PUNCH, MOVE_ICE_PUNCH, MOVE_DETECT}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000F, + .nickname = _("HITMONCHAN"), + .friendship = 255 + }, + { + .species = SPECIES_MACHAMP, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_FLAMETHROWER, MOVE_BRICK_BREAK, MOVE_SCARY_FACE, MOVE_DIG}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000043, + .nickname = _("MACHAMP"), + .friendship = 255 + }, + { + .species = SPECIES_HOUNDOOM, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_ROAR, MOVE_FLAMETHROWER, MOVE_BITE, MOVE_PROTECT}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000087, + .nickname = _("HOUNDOOM"), + .friendship = 255 + }, + { + .species = SPECIES_PRIMEAPE, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_OVERHEAT, MOVE_SWAGGER, MOVE_SEISMIC_TOSS, MOVE_DOUBLE_TEAM}, + .hpEV = 100, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 100, + .spAttackEV = 110, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000008C, + .nickname = _("PRIMEAPE"), + .friendship = 255 + }, + { + .species = SPECIES_HERACROSS, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_LEER}, + .hpEV = 110, + .attackEV = 0, + .defenseEV = 200, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 200, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000085, + .nickname = _("HERACROSS"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x000160b1 +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { + .flags = 0x07, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_KNOCKOUT, + .prize = 0x0c, + .trainers = { + { + .name = _("JORDY"), + .facilityClass = FACILITY_CLASS_BIKER, + .textColor = 3, + .speechBefore = {EC_WORD_DON_T, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_GIGGLE, EC_WORD_YOU, EC_WORD_PUSHOVER}, + .speechWin = {EC_WORD_WHAT, EC_WORD_A_LITTLE, EC_WORD_PUSHOVER, EC_WORD_YOU, EC_WORD_ARE, EC_WORD_EXCL}, + .speechLose = {EC_WORD_YOU, EC_WORD_WERE, EC_WORD_READY, EC_WORD_TO, EC_WORD_ROCK, EC_WORD_EXCL}, + .speechAfter = {EC_WORD_DARN, EC_WORD_EXCL, EC_WORD_I, EC_WORD_DON_T, EC_WORD_GET, EC_WORD_IT}, + .mons = { + { + .species = SPECIES_MAGBY, + .heldItem = ITEM_LAX_INCENSE, + .moves = {MOVE_SMOKESCREEN, MOVE_CONFUSE_RAY, MOVE_FLAMETHROWER, MOVE_SCREECH}, + .hpEV = 210, + .attackEV = 30, + .defenseEV = 30, + .speedEV = 0, + .spAttackEV = 210, + .spDefenseEV = 30, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000043, + .nickname = _("MAGBY"), + .friendship = 0 + }, + { + .species = SPECIES_CLEFFA, + .heldItem = ITEM_LAX_INCENSE, + .moves = {MOVE_ATTRACT, MOVE_CHARM, MOVE_SECRET_POWER, MOVE_FLASH}, + .hpEV = 210, + .attackEV = 210, + .defenseEV = 30, + .speedEV = 0, + .spAttackEV = 30, + .spDefenseEV = 30, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x000000CA, + .nickname = _("CLEFFA"), + .friendship = 255 + }, + { + .species = SPECIES_IGGLYBUFF, + .heldItem = ITEM_LAX_INCENSE, + .moves = {MOVE_SING, MOVE_HIDDEN_POWER, MOVE_CHARM, MOVE_DOUBLE_TEAM}, + .hpEV = 210, + .attackEV = 0, + .defenseEV = 45, + .speedEV = 210, + .spAttackEV = 0, + .spDefenseEV = 45, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x000000D2, + .nickname = _("IGGLYBUFF"), + .friendship = 255 + }, + { + .species = SPECIES_SMOOCHUM, + .heldItem = ITEM_LAX_INCENSE, + .moves = {MOVE_FAKE_TEARS, MOVE_PSYCHIC, MOVE_MEAN_LOOK, MOVE_SING}, + .hpEV = 210, + .attackEV = 0, + .defenseEV = 45, + .speedEV = 0, + .spAttackEV = 210, + .spDefenseEV = 45, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000011, + .nickname = _("SMOOCHUM"), + .friendship = 255 + }, + { + .species = SPECIES_TOGEPI, + .heldItem = ITEM_LAX_INCENSE, + .moves = {MOVE_SWEET_KISS, MOVE_YAWN, MOVE_ANCIENT_POWER, MOVE_DOUBLE_TEAM}, + .hpEV = 210, + .attackEV = 210, + .defenseEV = 45, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 45, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000034, + .nickname = _("TOGEPI"), + .friendship = 0 + }, + { + .species = SPECIES_PICHU, + .heldItem = ITEM_LAX_INCENSE, + .moves = {MOVE_THUNDER_WAVE, MOVE_SHOCK_WAVE, MOVE_SWEET_KISS, MOVE_FLASH}, + .hpEV = 210, + .attackEV = 0, + .defenseEV = 45, + .speedEV = 0, + .spAttackEV = 210, + .spDefenseEV = 45, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000008E, + .nickname = _("PICHU"), + .friendship = 0 + }, + } + }, + { + .name = _("ERNEST"), + .facilityClass = FACILITY_CLASS_BIKER, + .textColor = 1, + .speechBefore = {EC_WORD_IT_S, EC_WORD_SLEEP, EC_WORD_TIME, EC_WORD_FOR, EC_WORD_CHILDREN, EC_WORD_EXCL}, + .speechWin = {EC_WORD_NOT, EC_WORD_GUTSY, EC_WORD_ENOUGH, 0xFFFF, 0xFFFF, 0xFFFF}, + .speechLose = {EC_WORD_WHY, EC_WORD_DID, EC_WORD_YOU, EC_WORD_CRUSH, EC_WORD_ME, EC_WORD_QUES}, + .speechAfter = {EC_WORD_I_AM, EC_WORD_BEAT, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_WORD_NAP}, + .mons = { + { + .species = SPECIES_CLEFFA, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_SWEET_KISS, MOVE_FRUSTRATION, MOVE_SING, MOVE_ATTRACT}, + .hpEV = 210, + .attackEV = 210, + .defenseEV = 45, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 45, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x000000CA, + .nickname = _("CLEFFA"), + .friendship = 0 + }, + { + .species = SPECIES_MAGBY, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_FRUSTRATION, MOVE_CONFUSE_RAY, MOVE_FLAMETHROWER, MOVE_TOXIC}, + .hpEV = 90, + .attackEV = 210, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 210, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000004D, + .nickname = _("MAGBY"), + .friendship = 0 + }, + { + .species = SPECIES_TOGEPI, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_FRUSTRATION, MOVE_DOUBLE_TEAM, MOVE_TOXIC, MOVE_SWEET_KISS}, + .hpEV = 210, + .attackEV = 210, + .defenseEV = 45, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 45, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000034, + .nickname = _("TOGEPI"), + .friendship = 0 + }, + { + .species = SPECIES_SMOOCHUM, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_MEAN_LOOK, MOVE_PERISH_SONG, MOVE_TOXIC, MOVE_FLASH}, + .hpEV = 90, + .attackEV = 0, + .defenseEV = 210, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 210, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000016, + .nickname = _("SMOOCHUM"), + .friendship = 0 + }, + { + .species = SPECIES_IGGLYBUFF, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_DOUBLE_TEAM, MOVE_SWEET_KISS, MOVE_SEISMIC_TOSS, MOVE_FLASH}, + .hpEV = 210, + .attackEV = 0, + .defenseEV = 45, + .speedEV = 210, + .spAttackEV = 0, + .spDefenseEV = 45, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000000A, + .nickname = _("IGGLYBUFF"), + .friendship = 0 + }, + { + .species = SPECIES_PICHU, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_TAIL_WHIP, MOVE_FRUSTRATION, MOVE_ATTRACT, MOVE_THUNDER_WAVE}, + .hpEV = 90, + .attackEV = 210, + .defenseEV = 0, + .speedEV = 210, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000080, + .nickname = _("PICHU"), + .friendship = 0 + }, + } + }, + { + .name = _("GABRIEL"), + .facilityClass = FACILITY_CLASS_CUE_BALL, + .textColor = 1, + .speechBefore = {EC_WORD_YAHOO, EC_WORD_EXCL, EC_WORD_HERE_I_COME, EC_WORD_TO, EC_WORD_SWARM, EC_WORD_YOU}, + .speechWin = {EC_WORD_I_AM, EC_WORD_INVINCIBLE, EC_WORD_YOU, EC_WORD_GOT, EC_WORD_THAT, EC_WORD_QUES}, + .speechLose = {EC_WORD_WHAT, EC_WORD_WAS, EC_WORD_THAT, EC_WORD_QUES, 0xFFFF, 0xFFFF}, + .speechAfter = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_WIN, EC_WORD_NEXT, EC_WORD_TIME}, + .mons = { + { + .species = SPECIES_PICHU, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_THUNDER_WAVE, MOVE_FRUSTRATION, MOVE_THUNDERBOLT, MOVE_ATTRACT}, + .hpEV = 90, + .attackEV = 210, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 210, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000081, + .nickname = _("PICHU"), + .friendship = 0 + }, + { + .species = SPECIES_TOGEPI, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_ATTRACT, MOVE_FRUSTRATION, MOVE_TOXIC, MOVE_SUBSTITUTE}, + .hpEV = 210, + .attackEV = 210, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 90, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000033, + .nickname = _("TOGEPI"), + .friendship = 0 + }, + { + .species = SPECIES_CLEFFA, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_ENCORE, MOVE_TOXIC, MOVE_DOUBLE_TEAM, MOVE_FLASH}, + .hpEV = 210, + .attackEV = 0, + .defenseEV = 150, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 150, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x000000CF, + .nickname = _("CLEFFA"), + .friendship = 0 + }, + { + .species = SPECIES_IGGLYBUFF, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_ATTRACT, MOVE_SUBSTITUTE, MOVE_SING, MOVE_PERISH_SONG}, + .hpEV = 210, + .attackEV = 0, + .defenseEV = 210, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 90, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x000000CF, + .nickname = _("IGGLYBUFF"), + .friendship = 0 + }, + { + .species = SPECIES_SMOOCHUM, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_SWEET_KISS, MOVE_PERISH_SONG, MOVE_TOXIC, MOVE_ATTRACT}, + .hpEV = 110, + .attackEV = 0, + .defenseEV = 200, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 200, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000016, + .nickname = _("SMOOCHUM"), + .friendship = 0 + }, + { + .species = SPECIES_MAGBY, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_LEER, MOVE_FRUSTRATION, MOVE_SUBSTITUTE, MOVE_FLAMETHROWER}, + .hpEV = 90, + .attackEV = 210, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 210, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000004D, + .nickname = _("MAGBY"), + .friendship = 0 + }, + } + }, + }, + .checksum = 0x00017a4a +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { + .flags = 0x08, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_KNOCKOUT, + .prize = 0x0e, + .trainers = { + { + .name = _("MIKE"), + .facilityClass = FACILITY_CLASS_HIKER_2, + .textColor = 5, + .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_FULL, EC_WORD_OF, EC_WORD_POWER}, + .speechWin = {EC_WORD_WHAT_S_UP_QUES, EC_WORD_WHERE, EC_WORD_IS, EC_WORD_YOUR, EC_WORD_POWER, EC_WORD_QUES}, + .speechLose = {EC_WORD_YOU, EC_WORD_GOT, EC_WORD_ME, EC_WORD_WITH, EC_WORD_YOUR, EC_MOVE2(FAKE_OUT)}, + .speechAfter = {EC_WORD_OH_YEAH, EC_WORD_EXCL, EC_WORD_THAT_S, EC_WORD_PRETTY, EC_WORD_EXCELLENT, EC_WORD_EXCL}, + .mons = { + { + .species = SPECIES_PINSIR, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_GUILLOTINE, MOVE_BRICK_BREAK, MOVE_DIG, MOVE_REVENGE}, + .hpEV = 100, + .attackEV = 210, + .defenseEV = 0, + .speedEV = 100, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000080, + .nickname = _("PINSIR"), + .friendship = 255 + }, + { + .species = SPECIES_CHARIZARD, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_DRAGON_CLAW, MOVE_METAL_CLAW, MOVE_AERIAL_ACE, MOVE_OUTRAGE}, + .hpEV = 200, + .attackEV = 200, + .defenseEV = 0, + .speedEV = 110, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000035, + .nickname = _("CHARIZARD"), + .friendship = 255 + }, + { + .species = SPECIES_RHYDON, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_MEGAHORN, MOVE_HORN_DRILL, MOVE_CRUSH_CLAW, MOVE_BRICK_BREAK}, + .hpEV = 100, + .attackEV = 210, + .defenseEV = 200, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000009, + .nickname = _("RHYDON"), + .friendship = 255 + }, + { + .species = SPECIES_ARCANINE, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_EXTREME_SPEED, MOVE_IRON_TAIL, MOVE_AERIAL_ACE, MOVE_DIG}, + .hpEV = 110, + .attackEV = 200, + .defenseEV = 0, + .speedEV = 200, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x0000003F, + .nickname = _("ARCANINE"), + .friendship = 255 + }, + { + .species = SPECIES_GOLEM, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_DOUBLE_EDGE, MOVE_ROLLOUT, MOVE_BRICK_BREAK, MOVE_DIG}, + .hpEV = 100, + .attackEV = 210, + .defenseEV = 200, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000002, + .nickname = _("GOLEM"), + .friendship = 255 + }, + { + .species = SPECIES_HOUNDOOM, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_CRUNCH, MOVE_REVERSAL, MOVE_DOUBLE_EDGE, MOVE_COUNTER}, + .hpEV = 200, + .attackEV = 110, + .defenseEV = 200, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0x00000008, + .nickname = _("HOUNDOOM"), + .friendship = 255 + }, + } + }, + { + .name = _("REBECCA"), + .facilityClass = FACILITY_CLASS_CRUSH_GIRL, + .textColor = 5, + .speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_WORD_WIN, EC_WORD_EXCL_EXCL, 0xFFFF, 0xFFFF}, + .speechWin = {EC_WORD_IT_S, EC_WORD_TOO, EC_WORD_BAD, EC_WORD_BUT, EC_WORD_I_AM, EC_WORD_OVERWHELMING}, + .speechLose = {EC_WORD_ARRGH, EC_WORD_EXCL_EXCL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, + .speechAfter = {EC_WORD_YOU, EC_WORD_ANGER, EC_WORD_ME, EC_WORD_BUT, EC_WORD_YOU_RE, EC_WORD_TOUGH}, + .mons = { + { + .species = SPECIES_SANDSLASH, + .heldItem = ITEM_SILK_SCARF, + .moves = {MOVE_CRUSH_CLAW, MOVE_DIG, MOVE_DOUBLE_EDGE, MOVE_AERIAL_ACE}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x0000000D, + .nickname = _("SANDSLASH"), + .friendship = 255 + }, + { + .species = SPECIES_DRAGONAIR, + .heldItem = ITEM_SILK_SCARF, + .moves = {MOVE_OUTRAGE, MOVE_IRON_TAIL, MOVE_DOUBLE_EDGE, MOVE_SLAM}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000003, + .nickname = _("DRAGONAIR"), + .friendship = 255 + }, + { + .species = SPECIES_RAPIDASH, + .heldItem = ITEM_SILK_SCARF, + .moves = {MOVE_BOUNCE, MOVE_IRON_TAIL, MOVE_THRASH, MOVE_DOUBLE_EDGE}, + .hpEV = 110, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 100, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0x00000094, + .nickname = _("RAPIDASH"), + .friendship = 255 + }, + { + .species = SPECIES_FLAREON, + .heldItem = ITEM_SILK_SCARF, + .moves = {MOVE_IRON_TAIL, MOVE_FLAIL, MOVE_BITE, MOVE_DOUBLE_EDGE}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000021, + .nickname = _("FLAREON"), + .friendship = 255 + }, + { + .species = SPECIES_NIDOQUEEN, + .heldItem = ITEM_SILK_SCARF, + .moves = {MOVE_SUPERPOWER, MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_COUNTER}, + .hpEV = 110, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 100, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000017, + .nickname = _("NIDOQUEEN"), + .friendship = 255 + }, + { + .species = SPECIES_PERSIAN, + .heldItem = ITEM_SILK_SCARF, + .moves = {MOVE_RETURN, MOVE_AERIAL_ACE, MOVE_IRON_TAIL, MOVE_DIG}, + .hpEV = 110, + .attackEV = 200, + .defenseEV = 0, + .speedEV = 200, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000080, + .nickname = _("PERSIAN"), + .friendship = 255 + }, + } + }, + { + .name = _("NICOLAS"), + .facilityClass = FACILITY_CLASS_BLACK_BELT_2, + .textColor = 5, + .speechBefore = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_WHERE, EC_WORD_YOU, EC_WORD_STOP, EC_WORD_EXCL}, + .speechWin = {EC_WORD_YOU_RE, EC_WORD_TOO_WEAK, EC_WORD_TO, EC_WORD_EVER, EC_WORD_BEAT, EC_WORD_ME}, + .speechLose = {EC_WORD_WHY, EC_WORD_COULDN_T, EC_WORD_I, EC_WORD_BEAT, EC_WORD_YOU, EC_WORD_QUES}, + .speechAfter = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_TRAIN, EC_WORD_SOME, EC_WORD_MORE}, + .mons = { + { + .species = SPECIES_HITMONLEE, + .heldItem = ITEM_KINGS_ROCK, + .moves = {MOVE_MEGA_KICK, MOVE_REVERSAL, MOVE_FOCUS_PUNCH, MOVE_BRICK_BREAK}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000008, + .nickname = _("HITMONLEE"), + .friendship = 255 + }, + { + .species = SPECIES_SCYTHER, + .heldItem = ITEM_KINGS_ROCK, + .moves = {MOVE_SLASH, MOVE_REVERSAL, MOVE_STEEL_WING, MOVE_AERIAL_ACE}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000017, + .nickname = _("SCYTHER"), + .friendship = 255 + }, + { + .species = SPECIES_MAGMAR, + .heldItem = ITEM_KINGS_ROCK, + .moves = {MOVE_FIRE_PUNCH, MOVE_THUNDER_PUNCH, MOVE_BRICK_BREAK, MOVE_IRON_TAIL}, + .hpEV = 110, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 100, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000053, + .nickname = _("MAGMAR"), + .friendship = 255 + }, + { + .species = SPECIES_MACHAMP, + .heldItem = ITEM_KINGS_ROCK, + .moves = {MOVE_DYNAMIC_PUNCH, MOVE_DIG, MOVE_CROSS_CHOP, MOVE_REVENGE}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x0000003F, + .nickname = _("MACHAMP"), + .friendship = 255 + }, + { + .species = SPECIES_PRIMEAPE, + .heldItem = ITEM_KINGS_ROCK, + .moves = {MOVE_THRASH, MOVE_CROSS_CHOP, MOVE_IRON_TAIL, MOVE_AERIAL_ACE}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 200, + .speedEV = 110, + .spAttackEV = 0, + .spDefenseEV = 200, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000008, + .nickname = _("PRIMEAPE"), + .friendship = 255 + }, + { + .species = SPECIES_POLIWRATH, + .heldItem = ITEM_KINGS_ROCK, + .moves = {MOVE_BODY_SLAM, MOVE_DIG, MOVE_MEGA_KICK, MOVE_COUNTER}, + .hpEV = 110, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 100, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x0000000D, + .nickname = _("POLIWRATH"), + .friendship = 255 + }, + } + }, + }, + .checksum = 0x00016f05 +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Single_5 = { + .flags = 0x09, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_SINGLE, + .prize = 0x00, + .trainers = { + { + .name = _("JOEY"), + .facilityClass = FACILITY_CLASS_CAMPER_2, + .textColor = 1, + .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_SCARY, EC_WORD_STRONG, EC_WORD_EXCL}, + .speechWin = {EC_WORD_WERE, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_QUES}, + .speechLose = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_WAY, EC_WORD_TOO_STRONG, EC_WORD_EXCL}, + .speechAfter = {EC_WORD_THE, EC_WORD_WAY, EC_WORD_POKEMON, EC_WORD_MATCH_UP, EC_WORD_IS, EC_WORD_IMPORTANT}, + .mons = { + { + .species = SPECIES_MURKROW, + .heldItem = ITEM_BLACK_GLASSES, + .moves = {MOVE_FAINT_ATTACK, MOVE_AERIAL_ACE, MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000089, + .nickname = _("MURKROW"), + .friendship = 255 + }, + { + .species = SPECIES_TAUROS, + .heldItem = ITEM_SILK_SCARF, + .moves = {MOVE_EARTHQUAKE, MOVE_BODY_SLAM, MOVE_ROCK_TOMB, MOVE_PURSUIT}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000C, + .nickname = _("TAUROS"), + .friendship = 255 + }, + { + .species = SPECIES_SLOWBRO, + .heldItem = ITEM_MYSTIC_WATER, + .moves = {MOVE_AMNESIA, MOVE_PSYCHIC, MOVE_SURF, MOVE_ICE_BEAM}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000089, + .nickname = _("SLOWBRO"), + .friendship = 255 + }, + { + .species = SPECIES_ARBOK, + .heldItem = ITEM_POISON_BARB, + .moves = {MOVE_IRON_TAIL, MOVE_SLUDGE_BOMB, MOVE_ROCK_SLIDE, MOVE_TOXIC}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000089, + .nickname = _("ARBOK"), + .friendship = 255 + }, + { + .species = SPECIES_NIDOKING, + .heldItem = ITEM_SOFT_SAND, + .moves = {MOVE_EARTHQUAKE, MOVE_MEGAHORN, MOVE_SLUDGE_BOMB, MOVE_ROCK_SLIDE}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000C, + .nickname = _("NIDOKING"), + .friendship = 255 + }, + { + .species = SPECIES_RAPIDASH, + .heldItem = ITEM_CHARCOAL, + .moves = {MOVE_FLAMETHROWER, MOVE_BOUNCE, MOVE_QUICK_ATTACK, MOVE_DOUBLE_KICK}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000089, + .nickname = _("RAPIDASH"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x00016417 +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Single_8 = { + .flags = 0x0a, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_SINGLE, + .prize = 0x0c, + .trainers = { + { + .name = _("LILY"), + .facilityClass = FACILITY_CLASS_PKMN_BREEDER_3, + .textColor = 1, + .speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_SOMETHING, EC_WORD_IN, EC_MOVE(RETURN), EC_WORD_EXCL}, + .speechWin = {EC_WORD_I, EC_WORD_BELIEVE, EC_WORD_IN, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_EXCL}, + .speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_SOMETHING, EC_WORD_IN, EC_MOVE(RETURN), EC_WORD_ELLIPSIS}, + .speechAfter = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_HAVE, EC_WORD_MY, EC_WORD_TRUST, EC_WORD_FOREVER}, + .mons = { + { + .species = SPECIES_CLEFAIRY, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_CHARM, MOVE_METRONOME, MOVE_RETURN, MOVE_REST}, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000000C, + .nickname = _("CLEFAIRY"), + .friendship = 255 + }, + { + .species = SPECIES_TOGEPI, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_CHARM, MOVE_METRONOME, MOVE_RETURN, MOVE_REST}, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x0000000C, + .nickname = _("TOGEPI"), + .friendship = 255 + }, + { + .species = SPECIES_MEOWTH, + .heldItem = ITEM_SILK_SCARF, + .moves = {MOVE_CHARM, MOVE_ASSIST, MOVE_RETURN, MOVE_REST}, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000089, + .nickname = _("MEOWTH"), + .friendship = 255 + }, + { + .species = SPECIES_JIGGLYPUFF, + .heldItem = ITEM_SILK_SCARF, + .moves = {MOVE_CHARM, MOVE_ROLLOUT, MOVE_RETURN, MOVE_REST}, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000000C, + .nickname = _("JIGGLYPUFF"), + .friendship = 255 + }, + { + .species = SPECIES_SNORLAX, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_CHARM, MOVE_ROLLOUT, MOVE_RETURN, MOVE_REST}, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000025, + .nickname = _("SNORLAX"), + .friendship = 255 + }, + { + .species = SPECIES_SNUBBULL, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_CHARM, MOVE_LICK, MOVE_RETURN, MOVE_REST}, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000000C, + .nickname = _("SNUBBULL"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x00016cb7 +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Single_2 = { + .flags = 0x0b, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_SINGLE, + .prize = 0x0e, + .trainers = { + { + .name = _("BRANDON"), + .facilityClass = FACILITY_CLASS_BUG_CATCHER_2, + .textColor = 1, + .speechBefore = {EC_WORD_POISON, EC_WORD_IS, EC_WORD_JUST, EC_WORD_SO, EC_WORD_AWFUL, EC_WORD_ISN_T_IT_QUES}, + .speechWin = {EC_WORD_SEE, EC_WORD_QUES, EC_WORD_ISN_T, EC_WORD_POISON, EC_WORD_TERRIBLE, EC_WORD_QUES}, + .speechLose = {EC_WORD_HUH_QUES, EC_WORD_OUR, EC_WORD_POISON, EC_WORD_DIDN_T, EC_WORD_WORK, EC_WORD_QUES}, + .speechAfter = {EC_WORD_POISON, EC_WORD_IS, EC_WORD_A, EC_WORD_TERRIBLE, EC_MOVE(TORMENT), EC_WORD_ISN_T_IT_QUES}, + .mons = { + { + .species = SPECIES_BUTTERFREE, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_SILVER_WIND, MOVE_SLEEP_POWDER, MOVE_PSYCHIC, MOVE_SUPERSONIC}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x0000008A, + .nickname = _("BUTTERFREE"), + .friendship = 255 + }, + { + .species = SPECIES_BEEDRILL, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_SLUDGE_BOMB, MOVE_TWINEEDLE, MOVE_DOUBLE_TEAM, MOVE_AERIAL_ACE}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x0000008A, + .nickname = _("BEEDRILL"), + .friendship = 255 + }, + { + .species = SPECIES_PARASECT, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_GIGA_DRAIN, MOVE_LIGHT_SCREEN, MOVE_STUN_SPORE, MOVE_SLASH}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x0000008A, + .nickname = _("PARASECT"), + .friendship = 255 + }, + { + .species = SPECIES_YANMA, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_HYPNOSIS, MOVE_SONIC_BOOM, MOVE_QUICK_ATTACK, MOVE_AERIAL_ACE}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0x0000008A, + .nickname = _("YANMA"), + .friendship = 255 + }, + { + .species = SPECIES_SHUCKLE, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_TOXIC, MOVE_ROCK_TOMB, MOVE_PROTECT, MOVE_REST}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x0000008A, + .nickname = _("SHUCKLE"), + .friendship = 255 + }, + { + .species = SPECIES_FORRETRESS, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_PROTECT, MOVE_SANDSTORM}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x0000008A, + .nickname = _("FORRETRESS"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x00016e1f +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Double_3 = { + .flags = 0x0c, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_DOUBLE, + .prize = 0x02, + .trainers = { + { + .name = _("RIC & RENE"), + .facilityClass = FACILITY_CLASS_CRUSH_KIN, + .textColor = 5, + .speechBefore = {EC_WORD_MY, EC_WORD_BIG, EC_WORD_BROTHER, EC_WORD_IS, EC_WORD_REALLY, EC_WORD_AWESOME}, + .speechWin = {EC_WORD_MY, EC_WORD_BIG, EC_WORD_BROTHER, EC_WORD_IS, EC_WORD_TOO, EC_WORD_AWESOME}, + .speechLose = {EC_WORD_MY, EC_WORD_BIG, EC_WORD_BROTHER, EC_WORD_ISN_T, EC_WORD_AWESOME, EC_WORD_QUES}, + .speechAfter = {EC_WORD_BIG, EC_WORD_BROTHER, EC_WORD_FIGHT, EC_WORD_EXCL, 0xFFFF, 0xFFFF}, + .mons = { + { + .species = SPECIES_HITMONLEE, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_ROCK_TOMB, MOVE_HI_JUMP_KICK, MOVE_BULK_UP, MOVE_PROTECT}, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000002, + .nickname = _("HITMONLEE"), + .friendship = 255 + }, + { + .species = SPECIES_RHYDON, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_MEGAHORN, MOVE_ROCK_BLAST, MOVE_BRICK_BREAK, MOVE_PROTECT}, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000007F, + .nickname = _("RHYDON"), + .friendship = 255 + }, + { + .species = SPECIES_GOLEM, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_BRICK_BREAK, MOVE_ROCK_BLAST, MOVE_DIG, MOVE_PROTECT}, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000002, + .nickname = _("GOLEM"), + .friendship = 255 + }, + { + .species = SPECIES_MAGMAR, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_FIRE_PUNCH, MOVE_BRICK_BREAK, MOVE_CONFUSE_RAY, MOVE_PROTECT}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000004F, + .nickname = _("MAGMAR"), + .friendship = 255 + }, + { + .species = SPECIES_HERACROSS, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_MEGAHORN, MOVE_BRICK_BREAK, MOVE_ROCK_TOMB, MOVE_PROTECT}, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000007F, + .nickname = _("HERACROSS"), + .friendship = 255 + }, + { + .species = SPECIES_POLIWRATH, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_FOCUS_PUNCH, MOVE_SURF, MOVE_BULK_UP, MOVE_PROTECT}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000097, + .nickname = _("POLIWRATH"), + .friendship = 255 + }, + } + }, + { + .name = _("RIC & RENE"), + .facilityClass = FACILITY_CLASS_CRUSH_KIN, + .textColor = 5, + .speechBefore = {EC_WORD_I_AM, EC_WORD_REALLY, EC_WORD_AWESOME, EC_WORD_EXCL, 0xFFFF, 0xFFFF}, + .speechWin = {EC_WORD_I_AM, EC_WORD_TOO, EC_WORD_AWESOME, EC_WORD_EXCL, 0xFFFF, 0xFFFF}, + .speechLose = {EC_WORD_HUH_QUES, 0xFFFF, EC_WORD_I_AM, EC_WORD_NOT_VERY, EC_WORD_AWESOME, EC_WORD_QUES}, + .speechAfter = {EC_WORD_I, EC_WORD_WILL, EC_WORD_DO, EC_WORD_MY, EC_WORD_BEST, EC_WORD_EXCL}, + .mons = { + { + .species = SPECIES_MACHAMP, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_CROSS_CHOP, MOVE_SEISMIC_TOSS, MOVE_ROCK_TOMB, MOVE_PROTECT}, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000004E, + .nickname = _("MACHAMP"), + .friendship = 255 + }, + { + .species = SPECIES_PINSIR, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_ROCK_TOMB, MOVE_SEISMIC_TOSS, MOVE_SUBMISSION, MOVE_PROTECT}, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000080, + .nickname = _("PINSIR"), + .friendship = 255 + }, + { + .species = SPECIES_MAROWAK, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_BRICK_BREAK, MOVE_BONEMERANG, MOVE_AERIAL_ACE, MOVE_PROTECT}, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000003, + .nickname = _("MAROWAK"), + .friendship = 255 + }, + { + .species = SPECIES_HITMONCHAN, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_MACH_PUNCH, MOVE_THUNDER_PUNCH, MOVE_DOUBLE_TEAM, MOVE_PROTECT}, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000003, + .nickname = _("HITMONCHAN"), + .friendship = 255 + }, + { + .species = SPECIES_ELECTABUZZ, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_THUNDER_PUNCH, MOVE_BRICK_BREAK, MOVE_THUNDER_WAVE, MOVE_PROTECT}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000004F, + .nickname = _("ELECTABUZZ"), + .friendship = 255 + }, + { + .species = SPECIES_POLIWRATH, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_FOCUS_PUNCH, MOVE_SURF, MOVE_BULK_UP, MOVE_PROTECT}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000097, + .nickname = _("POLIWRATH"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x000166b4 +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Double_1 = { + .flags = 0x0d, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_DOUBLE, + .prize = 0x0d, + .trainers = { + { + .name = _("JEN & KIRA"), + .facilityClass = FACILITY_CLASS_TWINS_2, + .textColor = 5, + .speechBefore = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_TRY, EC_WORD_HARD, EC_WORD_EXCL}, + .speechWin = {EC_WORD_EHEHE, EC_WORD_YAY, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, + .speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, + .speechAfter = {EC_WORD_I, EC_WORD_WILL, EC_WORD_TRY, EC_WORD_TO, EC_WORD_GET, EC_WORD_BETTER}, + .mons = { + { + .species = SPECIES_JOLTEON, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_QUICK_ATTACK, MOVE_THUNDERBOLT, MOVE_DOUBLE_KICK, MOVE_PIN_MISSILE}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000029, + .nickname = _("JOLTEON"), + .friendship = 255 + }, + { + .species = SPECIES_ESPEON, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_QUICK_ATTACK, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_BITE}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000029, + .nickname = _("ESPEON"), + .friendship = 255 + }, + { + .species = SPECIES_FLAREON, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_QUICK_ATTACK, MOVE_FLAMETHROWER, MOVE_SHADOW_BALL, MOVE_IRON_TAIL}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000033, + .nickname = _("FLAREON"), + .friendship = 255 + }, + { + .species = SPECIES_VAPOREON, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_QUICK_ATTACK, MOVE_WATERFALL, MOVE_ICE_BEAM, MOVE_BITE}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000010, + .nickname = _("VAPOREON"), + .friendship = 255 + }, + { + .species = SPECIES_EEVEE, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_QUICK_ATTACK, MOVE_DOUBLE_EDGE, MOVE_BITE, MOVE_IRON_TAIL}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000010, + .nickname = _("EEVEE"), + .friendship = 255 + }, + { + .species = SPECIES_UMBREON, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_QUICK_ATTACK, MOVE_FAINT_ATTACK, MOVE_SHADOW_BALL, MOVE_IRON_TAIL}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000010, + .nickname = _("UMBREON"), + .friendship = 255 + }, + } + }, + { + .name = _("JEN & KIRA"), + .facilityClass = FACILITY_CLASS_TWINS_2, + .textColor = 3, + .speechBefore = {EC_WORD_LET_S, EC_WORD_TRY, EC_WORD_HARD, EC_WORD_EXCL, 0xFFFF, 0xFFFF}, + .speechWin = {EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, + .speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, + .speechAfter = {EC_WORD_WE, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_WORK, EC_WORD_BETTER, 0xFFFF}, + .mons = { + { + .species = SPECIES_JOLTEON, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HELPING_HAND, MOVE_THUNDERBOLT}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 10 | (0 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000000A, + .nickname = _("JOLTEON"), + .friendship = 255 + }, + { + .species = SPECIES_ESPEON, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_HELPING_HAND, MOVE_PSYCHIC}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 10 | (0 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000000A, + .nickname = _("ESPEON"), + .friendship = 255 + }, + { + .species = SPECIES_FLAREON, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HELPING_HAND, MOVE_FLAMETHROWER}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 13 | (0 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000000D, + .nickname = _("FLAREON"), + .friendship = 255 + }, + { + .species = SPECIES_VAPOREON, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HELPING_HAND, MOVE_SURF}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 35 | (0 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000023, + .nickname = _("VAPOREON"), + .friendship = 255 + }, + { + .species = SPECIES_EEVEE, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HELPING_HAND, MOVE_DOUBLE_EDGE}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 35 | (0 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000023, + .nickname = _("EEVEE"), + .friendship = 255 + }, + { + .species = SPECIES_UMBREON, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HELPING_HAND, MOVE_FAINT_ATTACK}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 35 | (0 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000023, + .nickname = _("UMBREON"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x00017fc2 +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Double_4 = { + .flags = 0x0e, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_DOUBLE, + .prize = 0x08, + .trainers = { + { + .name = _("ISAC & MAG"), + .facilityClass = FACILITY_CLASS_COOL_COUPLE, + .textColor = 1, + .speechBefore = {EC_WORD_OUR, EC_MOVE(EARTHQUAKE), EC_WORD_WILL, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_SHAKY}, + .speechWin = {EC_WORD_FEELING, EC_WORD_SHAKY, EC_WORD_HUH_QUES, 0xFFFF, 0xFFFF, 0xFFFF}, + .speechLose = {EC_WORD_I_AM, EC_WORD_ALL, EC_WORD_SHAKY, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF}, + .speechAfter = {EC_WORD_MY, EC_WORD_GIRL, EC_WORD_ISN_T, EC_WORD_SHAKY, EC_WORD_SHE_IS, EC_WORD_LOVEY_DOVEY}, + .mons = { + { + .species = SPECIES_NIDOKING, + .heldItem = ITEM_SOFT_SAND, + .moves = {MOVE_EARTHQUAKE, MOVE_MEGAHORN, MOVE_SHADOW_BALL, MOVE_FIRE_BLAST}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000003, + .nickname = _("NIDOKING"), + .friendship = 255 + }, + { + .species = SPECIES_GLIGAR, + .heldItem = ITEM_SOFT_SAND, + .moves = {MOVE_EARTHQUAKE, MOVE_QUICK_ATTACK, MOVE_AERIAL_ACE, MOVE_IRON_TAIL}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000080, + .nickname = _("GLIGAR"), + .friendship = 255 + }, + { + .species = SPECIES_QUAGSIRE, + .heldItem = ITEM_SOFT_SAND, + .moves = {MOVE_EARTHQUAKE, MOVE_SLUDGE_BOMB, MOVE_BLIZZARD, MOVE_BRICK_BREAK}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000080, + .nickname = _("QUAGSIRE"), + .friendship = 0 + }, + { + .species = SPECIES_PILOSWINE, + .heldItem = ITEM_SOFT_SAND, + .moves = {MOVE_EARTHQUAKE, MOVE_BLIZZARD, MOVE_ANCIENT_POWER, MOVE_BODY_SLAM}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000080, + .nickname = _("PILOSWINE"), + .friendship = 255 + }, + { + .species = SPECIES_GOLEM, + .heldItem = ITEM_SOFT_SAND, + .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_BLAST, MOVE_BRICK_BREAK, MOVE_EXPLOSION}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000080, + .nickname = _("GOLEM"), + .friendship = 255 + }, + { + .species = SPECIES_STEELIX, + .heldItem = ITEM_SOFT_SAND, + .moves = {MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_DRAGON_BREATH, MOVE_DOUBLE_EDGE}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000080, + .nickname = _("STEELIX"), + .friendship = 255 + }, + } + }, + { + .name = _("ISAC & MAG"), + .facilityClass = FACILITY_CLASS_COOL_COUPLE, + .textColor = 1, + .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_DOESN_T, EC_WORD_GET, EC_WORD_ALL, EC_WORD_SHAKY}, + .speechWin = {EC_WORD_SEE, EC_WORD_QUES, EC_WORD_I, EC_WORD_DIDN_T, EC_WORD_LIE, EC_WORD_EXCL}, + .speechLose = {EC_WORD_HUH_QUES, EC_WORD_YOU, EC_WORD_LEFT, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_SHAKY}, + .speechAfter = {EC_WORD_I_AM, EC_WORD_LOVEY_DOVEY, EC_WORD_FOR, EC_WORD_HIM, EC_WORD_NOT, EC_WORD_SHAKY}, + .mons = { + { + .species = SPECIES_SKARMORY, + .heldItem = ITEM_KINGS_ROCK, + .moves = {MOVE_SANDSTORM, MOVE_STEEL_WING, MOVE_AIR_CUTTER, MOVE_SPIKES}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000B, + .nickname = _("SKARMORY"), + .friendship = 255 + }, + { + .species = SPECIES_MANTINE, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_CONFUSE_RAY, MOVE_AERIAL_ACE}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x0000000B, + .nickname = _("MANTINE"), + .friendship = 255 + }, + { + .species = SPECIES_JUMPLUFF, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_TAIL_WHIP, MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_AERIAL_ACE}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000B, + .nickname = _("JUMPLUFF"), + .friendship = 255 + }, + { + .species = SPECIES_GENGAR, + .heldItem = ITEM_KINGS_ROCK, + .moves = {MOVE_SHADOW_BALL, MOVE_SLUDGE_BOMB, MOVE_THUNDERBOLT, MOVE_PSYCHIC}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000B, + .nickname = _("GENGAR"), + .friendship = 255 + }, + { + .species = SPECIES_CROBAT, + .heldItem = ITEM_KINGS_ROCK, + .moves = {MOVE_GIGA_DRAIN, MOVE_POISON_FANG, MOVE_FLY, MOVE_STEEL_WING}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000B, + .nickname = _("CROBAT"), + .friendship = 255 + }, + { + .species = SPECIES_XATU, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_AERIAL_ACE, MOVE_LIGHT_SCREEN}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000B, + .nickname = _("XATU"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x00016bb0 +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { + .flags = 0x0f, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_KNOCKOUT, + .prize = 0x06, + .trainers = { + { + .name = _("CHELSEA"), + .facilityClass = FACILITY_CLASS_PKMN_RANGER_4, + .textColor = 7, + .speechBefore = {EC_WORD_THE, EC_WORD_GREEN, EC_WORD_WORLD, EC_WORD_IS, EC_WORD_IMPORTANT, EC_WORD_ISN_T_IT_QUES}, + .speechWin = {EC_WORD_YOU, EC_WORD_TAKE, EC_WORD_THE, EC_WORD_LOSS, 0xFFFF, 0xFFFF}, + .speechLose = {EC_WORD_BE, EC_WORD_KIND, EC_WORD_TO, EC_WORD_THE, EC_WORD_GREEN, EC_WORD_WORLD}, + .speechAfter = {EC_WORD_DON_T, EC_WORD_EVER, EC_WORD_POISON, EC_WORD_THE, EC_WORD_GREEN, EC_WORD_WORLD}, + .mons = { + { + .species = SPECIES_VILEPLUME, + .heldItem = ITEM_PETAYA_BERRY, + .moves = {MOVE_INGRAIN, MOVE_GIGA_DRAIN, MOVE_SLUDGE_BOMB, MOVE_STUN_SPORE}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000011, + .nickname = _("VILEPLUME"), + .friendship = 255 + }, + { + .species = SPECIES_STARMIE, + .heldItem = ITEM_PETAYA_BERRY, + .moves = {MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_WATERFALL, MOVE_RECOVER}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 1, + .personality = 0x00000010, + .nickname = _("STARMIE"), + .friendship = 255 + }, + { + .species = SPECIES_URSARING, + .heldItem = ITEM_LIECHI_BERRY, + .moves = {MOVE_FAINT_ATTACK, MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_ROCK_TOMB}, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000001, + .nickname = _("URSARING"), + .friendship = 255 + }, + { + .species = SPECIES_NOCTOWL, + .heldItem = ITEM_LIECHI_BERRY, + .moves = {MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_FAINT_ATTACK, MOVE_AERIAL_ACE}, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000001, + .nickname = _("NOCTOWL"), + .friendship = 255 + }, + { + .species = SPECIES_NINETALES, + .heldItem = ITEM_PETAYA_BERRY, + .moves = {MOVE_GRUDGE, MOVE_OVERHEAT, MOVE_FAINT_ATTACK, MOVE_WILL_O_WISP}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000010, + .nickname = _("NINETALES"), + .friendship = 255 + }, + { + .species = SPECIES_LEDIAN, + .heldItem = ITEM_LIECHI_BERRY, + .moves = {MOVE_SILVER_WIND, MOVE_SWIFT, MOVE_AERIAL_ACE, MOVE_TOXIC}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000001, + .nickname = _("LEDIAN"), + .friendship = 255 + }, + } + }, + { + .name = _("TRENTON"), + .facilityClass = FACILITY_CLASS_PKMN_RANGER_3, + .textColor = 7, + .speechBefore = {EC_WORD_I, EC_MOVE2(PROTECT), EC_WORD_THE, EC_WORD_GREAT, EC_WORD_GREEN, EC_WORD_WORLD}, + .speechWin = {EC_WORD_TAKE_THAT, EC_WORD_EXCL, EC_WORD_THE, EC_WORD_LOSS, EC_WORD_IS, EC_WORD_YOURS}, + .speechLose = {EC_MOVE2(PROTECT), EC_WORD_THE, EC_WORD_GREEN, EC_WORD_WORLD, 0xFFFF, 0xFFFF}, + .speechAfter = {EC_MOVE2(PROTECT), EC_WORD_AND, EC_WORD_RESUSCITATE, EC_WORD_THE, EC_WORD_GREEN, EC_WORD_WORLD}, + .mons = { + { + .species = SPECIES_GYARADOS, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_EARTHQUAKE, MOVE_WATERFALL, MOVE_BLIZZARD, MOVE_HYPER_BEAM}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000088, + .nickname = _("GYARADOS"), + .friendship = 255 + }, + { + .species = SPECIES_VICTREEBEL, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_GIGA_DRAIN, MOVE_SLUDGE_BOMB, MOVE_REFLECT, MOVE_ATTRACT}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x0000008E, + .nickname = _("VICTREEBEL"), + .friendship = 255 + }, + { + .species = SPECIES_DONPHAN, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_IRON_TAIL, MOVE_DOUBLE_EDGE}, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000097, + .nickname = _("DONPHAN"), + .friendship = 255 + }, + { + .species = SPECIES_FEAROW, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_FAINT_ATTACK, MOVE_DRILL_PECK, MOVE_STEEL_WING, MOVE_DOUBLE_TEAM}, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000097, + .nickname = _("FEAROW"), + .friendship = 255 + }, + { + .species = SPECIES_ARCANINE, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_EXTREME_SPEED, MOVE_FIRE_BLAST, MOVE_CRUNCH, MOVE_AERIAL_ACE}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x0000004F, + .nickname = _("ARCANINE"), + .friendship = 255 + }, + { + .species = SPECIES_ARIADOS, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_PSYCHIC, MOVE_SLUDGE_BOMB, MOVE_SIGNAL_BEAM, MOVE_TOXIC}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000097, + .nickname = _("ARIADOS"), + .friendship = 255 + }, + } + }, + { + .name = _("ALBERT"), + .facilityClass = FACILITY_CLASS_COOLTRAINER_3, + .textColor = 7, + .speechBefore = {EC_WORD_LET_S, EC_WORD_HAVE, EC_WORD_AN, EC_WORD_EXCITING, EC_WORD_TIME, EC_WORD_HERE}, + .speechWin = {EC_WORD_YOU_RE, EC_WORD_TOO_WEAK, EC_WORD_TO, EC_WORD_MAKE, EC_WORD_THINGS, EC_WORD_EXCITING}, + .speechLose = {EC_WORD_YOU_RE, EC_WORD_STRONG, EC_WORD_THAT_WAS, EC_WORD_WILD, EC_WORD_AND, EC_WORD_EXCITING}, + .speechAfter = {EC_WORD_I_AM, EC_WORD_TIRED, EC_WORD_AFTER, EC_WORD_THAT, EC_WORD_EXCITING, EC_WORD_MATCH}, + .mons = { + { + .species = SPECIES_KINGDRA, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_TWISTER, MOVE_OCTAZOOKA, MOVE_AURORA_BEAM, MOVE_RETURN}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000015, + .nickname = _("KINGDRA"), + .friendship = 255 + }, + { + .species = SPECIES_GOLEM, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_BRICK_BREAK, MOVE_DOUBLE_EDGE}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 1, + .personality = 0x0000007F, + .nickname = _("GOLEM"), + .friendship = 255 + }, + { + .species = SPECIES_DRAGONITE, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_THUNDER, MOVE_FIRE_BLAST, MOVE_BLIZZARD, MOVE_DRAGON_CLAW}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000001, + .nickname = _("DRAGONITE"), + .friendship = 255 + }, + { + .species = SPECIES_TYRANITAR, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_THUNDER, MOVE_FIRE_BLAST}, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000097, + .nickname = _("TYRANITAR"), + .friendship = 255 + }, + { + .species = SPECIES_AMPHAROS, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_REFLECT, MOVE_THUNDER, MOVE_BRICK_BREAK, MOVE_RETURN}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000013, + .nickname = _("AMPHAROS"), + .friendship = 255 + }, + { + .species = SPECIES_VENUSAUR, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_GIGA_DRAIN, MOVE_LEECH_SEED, MOVE_TOXIC, MOVE_BODY_SLAM}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x0000002A, + .nickname = _("VENUSAUR"), + .friendship = 255 + }, + } + }, + }, + .checksum = 0x0001844c +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { + .flags = 0x10, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_KNOCKOUT, + .prize = 0x04, + .trainers = { + { + .name = _("CAMRYN"), + .facilityClass = FACILITY_CLASS_PICNICKER_2, + .textColor = 1, + .speechBefore = {EC_WORD_LET_S, EC_WORD_BATTLE, EC_WORD_I, EC_WORD_WON_T, EC_WORD_LOSE, EC_WORD_EXCL}, + .speechWin = {EC_WORD_I, EC_WORD_SAID, EC_WORD_THAT, EC_WORD_I, EC_WORD_WOULD, EC_WORD_WIN}, + .speechLose = {EC_WORD_OH_QUES, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_DID, EC_WORD_I, EC_WORD_LOSE, EC_WORD_QUES}, + .speechAfter = {EC_WORD_YOU_RE, EC_WORD_TOO_STRONG, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, + .mons = { + { + .species = SPECIES_MURKROW, + .heldItem = ITEM_BLACK_GLASSES, + .moves = {MOVE_AERIAL_ACE, MOVE_SHADOW_BALL, MOVE_FAINT_ATTACK, MOVE_CONFUSE_RAY}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000089, + .nickname = _("MURKROW"), + .friendship = 255 + }, + { + .species = SPECIES_RAPIDASH, + .heldItem = ITEM_CHARCOAL, + .moves = {MOVE_BOUNCE, MOVE_FLAMETHROWER, MOVE_QUICK_ATTACK, MOVE_DOUBLE_KICK}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x0000000C, + .nickname = _("RAPIDASH"), + .friendship = 255 + }, + { + .species = SPECIES_MILTANK, + .heldItem = ITEM_SILK_SCARF, + .moves = {MOVE_MILK_DRINK, MOVE_BRICK_BREAK, MOVE_BODY_SLAM, MOVE_SHADOW_BALL}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000C, + .nickname = _("MILTANK"), + .friendship = 255 + }, + { + .species = SPECIES_GOLDUCK, + .heldItem = ITEM_MYSTIC_WATER, + .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_CALM_MIND, MOVE_LIGHT_SCREEN}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000089, + .nickname = _("GOLDUCK"), + .friendship = 255 + }, + { + .species = SPECIES_SANDSLASH, + .heldItem = ITEM_SOFT_SAND, + .moves = {MOVE_SANDSTORM, MOVE_AERIAL_ACE, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000089, + .nickname = _("SANDSLASH"), + .friendship = 255 + }, + { + .species = SPECIES_NIDOQUEEN, + .heldItem = ITEM_HARD_STONE, + .moves = {MOVE_EARTHQUAKE, MOVE_SUPERPOWER, MOVE_SLUDGE_BOMB, MOVE_ROCK_SLIDE}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000C, + .nickname = _("NIDOQUEEN"), + .friendship = 255 + }, + } + }, + { + .name = _("NATALIA"), + .facilityClass = FACILITY_CLASS_AROMA_LADY_2, + .textColor = 1, + .speechBefore = {EC_WORD_THIS, EC_MOVE(SWEET_SCENT), EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_IT, EC_WORD_QUES}, + .speechWin = {EC_WORD_WASN_T, EC_WORD_THAT, EC_WORD_NICE, EC_WORD_QUES, 0xFFFF, 0xFFFF}, + .speechLose = {EC_WORD_THAT, EC_WORD_WASN_T, EC_WORD_GOOD, EC_WORD_QUES, 0xFFFF, 0xFFFF}, + .speechAfter = {EC_WORD_I, EC_MOVE2(REFRESH), EC_WORD_THINGS, EC_WORD_WITH, EC_WORD_REFRESHING, EC_MOVE(AROMATHERAPY)}, + .mons = { + { + .species = SPECIES_BELLOSSOM, + .heldItem = ITEM_PERSIM_BERRY, + .moves = {MOVE_SWEET_SCENT, MOVE_ATTRACT, MOVE_PETAL_DANCE, MOVE_FLAIL}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000C, + .nickname = _("BELLOSSOM"), + .friendship = 255 + }, + { + .species = SPECIES_VICTREEBEL, + .heldItem = ITEM_MIRACLE_SEED, + .moves = {MOVE_SWEET_SCENT, MOVE_ATTRACT, MOVE_GIGA_DRAIN, MOVE_SLUDGE_BOMB}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000089, + .nickname = _("VICTREEBEL"), + .friendship = 255 + }, + { + .species = SPECIES_PARASECT, + .heldItem = ITEM_MIRACLE_SEED, + .moves = {MOVE_SWEET_SCENT, MOVE_ATTRACT, MOVE_GIGA_DRAIN, MOVE_AERIAL_ACE}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000089, + .nickname = _("PARASECT"), + .friendship = 255 + }, + { + .species = SPECIES_VILEPLUME, + .heldItem = ITEM_PERSIM_BERRY, + .moves = {MOVE_SWEET_SCENT, MOVE_ATTRACT, MOVE_PETAL_DANCE, MOVE_SLUDGE_BOMB}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000C, + .nickname = _("VILEPLUME"), + .friendship = 255 + }, + { + .species = SPECIES_VENUSAUR, + .heldItem = ITEM_PERSIM_BERRY, + .moves = {MOVE_SWEET_SCENT, MOVE_ATTRACT, MOVE_PETAL_DANCE, MOVE_SLUDGE_BOMB}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000C, + .nickname = _("VENUSAUR"), + .friendship = 255 + }, + { + .species = SPECIES_MEGANIUM, + .heldItem = ITEM_MIRACLE_SEED, + .moves = {MOVE_SWEET_SCENT, MOVE_ATTRACT, MOVE_GIGA_DRAIN, MOVE_BODY_SLAM}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000025, + .nickname = _("MEGANIUM"), + .friendship = 255 + }, + } + }, + { + .name = _("KATHLEEN"), + .facilityClass = FACILITY_CLASS_COOLTRAINER_4, + .textColor = 7, + .speechBefore = {EC_WORD_TOO, EC_WORD_BAD, EC_WORD_IT_S, EC_WORD_OVER, EC_WORD_FOR, EC_WORD_YOU}, + .speechWin = {EC_WORD_SORRY, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, + .speechLose = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_HARD, EC_WORD_TO, EC_WORD_BELIEVE, EC_WORD_ELLIPSIS}, + .speechAfter = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_PURE_POWER, EC_WORD_THAT, EC_WORD_IS, EC_WORD_NATURAL}, + .mons = { + { + .species = SPECIES_MAROWAK, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_EARTHQUAKE, MOVE_BRICK_BREAK, MOVE_BONEMERANG, MOVE_AERIAL_ACE}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000089, + .nickname = _("MAROWAK"), + .friendship = 255 + }, + { + .species = SPECIES_LAPRAS, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_SURF, MOVE_BLIZZARD, MOVE_PSYCHIC, MOVE_THUNDER}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x0000000C, + .nickname = _("LAPRAS"), + .friendship = 255 + }, + { + .species = SPECIES_ARCANINE, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_EXTREME_SPEED, MOVE_FLAMETHROWER, MOVE_CRUNCH, MOVE_AERIAL_ACE}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000057, + .nickname = _("ARCANINE"), + .friendship = 255 + }, + { + .species = SPECIES_RAICHU, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_THUNDERBOLT, MOVE_QUICK_ATTACK, MOVE_DOUBLE_TEAM, MOVE_IRON_TAIL}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000089, + .nickname = _("RAICHU"), + .friendship = 255 + }, + { + .species = SPECIES_TOGETIC, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_ANCIENT_POWER, MOVE_SWEET_KISS, MOVE_PSYCHIC, MOVE_MAGICAL_LEAF}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x0000000C, + .nickname = _("TOGETIC"), + .friendship = 255 + }, + { + .species = SPECIES_SNORLAX, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_BODY_SLAM, MOVE_REST, MOVE_SNORE, MOVE_SHADOW_BALL}, + .hpEV = 84, + .attackEV = 84, + .defenseEV = 84, + .speedEV = 84, + .spAttackEV = 84, + .spDefenseEV = 84, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x0000000C, + .nickname = _("SNORLAX"), + .friendship = 255 + }, + } + }, + }, + .checksum = 0x0001738c +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Single_6 = { + .flags = 0x11, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_SINGLE, + .prize = 0x03, + .trainers = { + { + .name = _("BRADEN"), + .facilityClass = FACILITY_CLASS_SWIMMER_MALE_2, + .textColor = 1, + .speechBefore = {EC_WORD_I_AM, EC_WORD_PRETTY, EC_WORD_HAPPY, EC_WORD_WITH, EC_WORD_MY, EC_WORD_TOUGHNESS}, + .speechWin = {EC_WORD_WROOOAAR_EXCL, 0xFFFF, EC_WORD_SERIOUSLY, EC_WORD_I, EC_WORD_WON, EC_WORD_QUES}, + .speechLose = {EC_WORD_YOU, EC_WORD_SHOCKED, EC_WORD_ME, EC_WORD_OUT, EC_WORD_OF, EC_WORD_HAPPINESS}, + .speechAfter = {EC_WORD_NICE, EC_WORD_WORK, EC_WORD_YOU, EC_WORD_EXCL, EC_WORD_YOU_RE, EC_WORD_FABULOUS}, + .mons = { + { + .species = SPECIES_VAPOREON, + .heldItem = ITEM_CHERI_BERRY, + .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_SHADOW_BALL, MOVE_WISH}, + .hpEV = 100, + .attackEV = 0, + .defenseEV = 110, + .speedEV = 0, + .spAttackEV = 200, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000011, + .nickname = _("VAPOREON"), + .friendship = 255 + }, + { + .species = SPECIES_SLOWBRO, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_SURF, MOVE_CONFUSION, MOVE_AMNESIA, MOVE_DISABLE}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000091, + .nickname = _("SLOWBRO"), + .friendship = 255 + }, + { + .species = SPECIES_POLITOED, + .heldItem = ITEM_CHESTO_BERRY, + .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_HYPNOSIS, MOVE_SWAGGER}, + .hpEV = 100, + .attackEV = 100, + .defenseEV = 110, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000096, + .nickname = _("POLITOED"), + .friendship = 255 + }, + { + .species = SPECIES_TENTACRUEL, + .heldItem = ITEM_POISON_BARB, + .moves = {MOVE_SURF, MOVE_SLUDGE_BOMB, MOVE_ICE_BEAM, MOVE_MIRROR_COAT}, + .hpEV = 100, + .attackEV = 0, + .defenseEV = 110, + .speedEV = 0, + .spAttackEV = 200, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000000, + .nickname = _("TENTACRUEL"), + .friendship = 255 + }, + { + .species = SPECIES_RATICATE, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_SUPER_FANG, MOVE_HYPER_FANG, MOVE_THUNDER_WAVE, MOVE_QUICK_ATTACK}, + .hpEV = 110, + .attackEV = 200, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000080, + .nickname = _("RATICATE"), + .friendship = 255 + }, + { + .species = SPECIES_DUNSPARCE, + .heldItem = ITEM_PERSIM_BERRY, + .moves = {MOVE_WATER_PULSE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_YAWN}, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000007F, + .nickname = _("DUNSPARCE"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x00016530 +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_1 = { + .flags = 0x12, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_SINGLE, + .prize = 0x0a, + .trainers = { + { + .name = _("ALLYSON"), + .facilityClass = FACILITY_CLASS_COOLTRAINER_4, + .textColor = 7, + .speechBefore = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_ABOUT, EC_WORD_TO, EC_WORD_LOSE, EC_WORD_TODAY}, + .speechWin = {EC_WORD_YES, EC_WORD_EXCL_EXCL, EC_WORD_I, EC_WORD_ADORE, EC_WORD_MYSELF, EC_WORD_TODAY}, + .speechLose = {EC_WORD_I_WAS, EC_WORD_CONFUSED, EC_WORD_ABOUT, EC_WORD_THINGS, EC_WORD_I, EC_WORD_THINK}, + .speechAfter = {EC_WORD_YOU_RE, EC_WORD_TOO, EC_WORD_STRONG, EC_WORD_TODAY, EC_WORD_THAT_S, EC_WORD_ALL}, + .mons = { + { + .species = SPECIES_STARMIE, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_SURF, MOVE_PSYCHIC, MOVE_THUNDER_WAVE, MOVE_RECOVER}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 1, + .personality = 0x0000000F, + .nickname = _("STARMIE"), + .friendship = 255 + }, + { + .species = SPECIES_BLASTOISE, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_MIRROR_COAT}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000032, + .nickname = _("BLASTOISE"), + .friendship = 255 + }, + { + .species = SPECIES_KINGDRA, + .heldItem = ITEM_CHESTO_BERRY, + .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_DRAGON_BREATH, MOVE_REST}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 155, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x0000008C, + .nickname = _("KINGDRA"), + .friendship = 255 + }, + { + .species = SPECIES_QUAGSIRE, + .heldItem = ITEM_CHESTO_BERRY, + .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_REST}, + .hpEV = 0, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 155, + .spDefenseEV = 155, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000016, + .nickname = _("QUAGSIRE"), + .friendship = 255 + }, + { + .species = SPECIES_LAPRAS, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_PSYCHIC, MOVE_ATTRACT}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 155, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 1, + .personality = 0x0000000F, + .nickname = _("LAPRAS"), + .friendship = 255 + }, + { + .species = SPECIES_DRAGONITE, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_LIGHT_SCREEN}, + .hpEV = 0, + .attackEV = 100, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 155, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000096, + .nickname = _("DRAGONITE"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x00016e32 +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Single_1 = { + .flags = 0x13, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_SINGLE, + .prize = 0x0e, + .trainers = { + { + .name = _("ALBERTO"), + .facilityClass = FACILITY_CLASS_SAILOR_2, + .textColor = 5, + .speechBefore = {EC_WORD_LET_S, EC_WORD_GET, EC_WORD_WITH, EC_WORD_IT, EC_WORD_RIGHT, EC_WORD_AWAY}, + .speechWin = {EC_WORD_YO, EC_WORD_EXCL_EXCL, EC_WORD_YOU, EC_WORD_GIVE_UP, EC_WORD_NOW, EC_WORD_EH_QUES}, + .speechLose = {EC_WORD_IT_S, EC_WORD_ALL, EC_WORD_OVER, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_SURRENDER}, + .speechAfter = {EC_WORD_OKAY, EC_WORD_I, EC_WORD_CONCEDE, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_LOST}, + .mons = { + { + .species = SPECIES_FERALIGATR, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_DRAGON_CLAW}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 155, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000032, + .nickname = _("FERALIGATR"), + .friendship = 255 + }, + { + .species = SPECIES_POLIWRATH, + .heldItem = ITEM_KINGS_ROCK, + .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_MEGA_KICK, MOVE_ROCK_TOMB}, + .hpEV = 100, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 155, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0x00000096, + .nickname = _("POLIWRATH"), + .friendship = 255 + }, + { + .species = SPECIES_KANGASKHAN, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_CRUSH_CLAW, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_AERIAL_ACE}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 130, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 125, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000003, + .nickname = _("KANGASKHAN"), + .friendship = 255 + }, + { + .species = SPECIES_MILTANK, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_ROCK_TOMB, MOVE_MILK_DRINK}, + .hpEV = 155, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000003, + .nickname = _("MILTANK"), + .friendship = 255 + }, + { + .species = SPECIES_GOLDUCK, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_CROSS_CHOP, MOVE_SURF, MOVE_ICE_BEAM, MOVE_DISABLE}, + .hpEV = 0, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 210, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0x00000096, + .nickname = _("GOLDUCK"), + .friendship = 255 + }, + { + .species = SPECIES_GRANBULL, + .heldItem = ITEM_LIECHI_BERRY, + .moves = {MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_SLUDGE_BOMB}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 130, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 125, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x000000CA, + .nickname = _("GRANBULL"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x00016890 +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_5 = { + .flags = 0x14, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_DOUBLE, + .prize = 0x0c, + .trainers = { + { + .name = _("KAT & KIPP"), + .facilityClass = FACILITY_CLASS_SIS_AND_BRO_2, + .textColor = 4, + .speechBefore = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_TRY, EC_WORD_MY, EC_WORD_BEST}, + .speechWin = {EC_WORD_WAY, EC_WORD_TO, EC_WORD_GO, EC_WORD_MY, EC_WORD_AWESOME, EC_WORD_BROTHER}, + .speechLose = {EC_WORD_SIGH, EC_WORD_ELLIPSIS, EC_WORD_THAT_S, EC_WORD_HOW, EC_WORD_IT, EC_WORD_GOES}, + .speechAfter = {EC_WORD_OKAY, EC_WORD_MY, EC_WORD_AWESOME, EC_WORD_BROTHER, EC_WORD_FIGHT, EC_WORD_FIGHT}, + .mons = { + { + .species = SPECIES_SNEASEL, + .heldItem = ITEM_RAWST_BERRY, + .moves = {MOVE_DIG, MOVE_TORMENT, MOVE_REFLECT, MOVE_TAUNT}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 155, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x0000000D, + .nickname = _("SNEASEL"), + .friendship = 255 + }, + { + .species = SPECIES_OMASTAR, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_DIVE, MOVE_LEER, MOVE_TICKLE, MOVE_SUPERSONIC}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000002D, + .nickname = _("OMASTAR"), + .friendship = 255 + }, + { + .species = SPECIES_DEWGONG, + .heldItem = ITEM_PERSIM_BERRY, + .moves = {MOVE_DIVE, MOVE_ENCORE, MOVE_GROWL, MOVE_SAFEGUARD}, + .hpEV = 200, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 210, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000014, + .nickname = _("DEWGONG"), + .friendship = 255 + }, + { + .species = SPECIES_QUAGSIRE, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_DIVE, MOVE_YAWN, MOVE_AMNESIA, MOVE_SAFEGUARD}, + .hpEV = 200, + .attackEV = 0, + .defenseEV = 110, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 200, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000091, + .nickname = _("QUAGSIRE"), + .friendship = 255 + }, + { + .species = SPECIES_CORSOLA, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_DIG, MOVE_MIRROR_COAT, MOVE_RECOVER, MOVE_CONFUSE_RAY}, + .hpEV = 155, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000017, + .nickname = _("CORSOLA"), + .friendship = 255 + }, + { + .species = SPECIES_SANDSLASH, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_DIG, MOVE_COUNTER, MOVE_DEFENSE_CURL, MOVE_SAND_ATTACK}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000094, + .nickname = _("SANDSLASH"), + .friendship = 255 + }, + } + }, + { + .name = _("KAT & KIPP"), + .facilityClass = FACILITY_CLASS_SIS_AND_BRO_2, + .textColor = 4, + .speechBefore = {EC_WORD_FUFUFU, EC_WORD_ELLIPSIS, EC_WORD_WE, EC_WORD_NEVER, EC_WORD_LOSE, EC_WORD_EXCL}, + .speechWin = {EC_WORD_FUFUFU, EC_WORD_ELLIPSIS, EC_WORD_WE_RE, EC_WORD_TOO_STRONG, EC_WORD_TO, EC_WORD_LOSE}, + .speechLose = {EC_WORD_WHAT, EC_WORD_HUH_QUES, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_JOKING, EC_WORD_QUES}, + .speechAfter = {EC_WORD_WAAAH, EC_WORD_WAAAH, EC_WORD_OH, EC_WORD_BIG, EC_WORD_SISTER, EC_WORD_EXCL}, + .mons = { + { + .species = SPECIES_FURRET, + .heldItem = ITEM_KINGS_ROCK, + .moves = {MOVE_DIG, MOVE_AMNESIA, MOVE_DEFENSE_CURL, MOVE_FOLLOW_ME}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 155, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000080, + .nickname = _("FURRET"), + .friendship = 255 + }, + { + .species = SPECIES_AZUMARILL, + .heldItem = ITEM_WHITE_HERB, + .moves = {MOVE_DIVE, MOVE_LIGHT_SCREEN, MOVE_TAIL_WHIP, MOVE_DEFENSE_CURL}, + .hpEV = 155, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000014, + .nickname = _("AZUMARILL"), + .friendship = 255 + }, + { + .species = SPECIES_KINGLER, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_DIVE, MOVE_HARDEN, MOVE_LEER, MOVE_AMNESIA}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000091, + .nickname = _("KINGLER"), + .friendship = 255 + }, + { + .species = SPECIES_CLOYSTER, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_DIVE, MOVE_WITHDRAW, MOVE_PROTECT, MOVE_SUPERSONIC}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000014, + .nickname = _("CLOYSTER"), + .friendship = 255 + }, + { + .species = SPECIES_QUAGSIRE, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_DIG, MOVE_YAWN, MOVE_AMNESIA, MOVE_SAFEGUARD}, + .hpEV = 200, + .attackEV = 0, + .defenseEV = 110, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 200, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000094, + .nickname = _("QUAGSIRE"), + .friendship = 255 + }, + { + .species = SPECIES_KABUTOPS, + .heldItem = ITEM_PECHA_BERRY, + .moves = {MOVE_DIG, MOVE_SAND_ATTACK, MOVE_ENDURE, MOVE_CONFUSE_RAY}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000030, + .nickname = _("KABUTOPS"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x00015d7c +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Double_8 = { + .flags = 0x15, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_DOUBLE, + .prize = 0x08, + .trainers = { + { + .name = _("GEB&MEGAN"), + .facilityClass = FACILITY_CLASS_COOL_COUPLE, + .textColor = 7, + .speechBefore = {EC_WORD_YOU_RE, EC_WORD_OUR, EC_WORD_OPPONENT, EC_WORD_QUES, EC_WORD_PUSHOVER, EC_WORD_HAHAHA}, + .speechWin = {EC_WORD_HAHAHA, EC_WORD_SORRY, EC_WORD_MY, EC_WORD_FRIEND, EC_WORD_TOUGH, EC_WORD_LOSS}, + .speechLose = {EC_WORD_YOU_RE, EC_WORD_SERIOUS, EC_WORD_AREN_T, EC_WORD_YOU, EC_WORD_FRIEND, EC_WORD_QUES}, + .speechAfter = {EC_WORD_WON_T, EC_WORD_YOU, EC_WORD_GET, EC_WORD_LOST, EC_WORD_PLEASE, EC_WORD_QUES}, + .mons = { + { + .species = SPECIES_POLITOED, + .heldItem = ITEM_KINGS_ROCK, + .moves = {MOVE_SURF, MOVE_HYPNOSIS, MOVE_PERISH_SONG, MOVE_SWAGGER}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 155, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x0000008C, + .nickname = _("POLITOED"), + .friendship = 255 + }, + { + .species = SPECIES_GYARADOS, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_HYPER_BEAM, MOVE_DRAGON_DANCE, MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 155, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000096, + .nickname = _("GYARADOS"), + .friendship = 255 + }, + { + .species = SPECIES_LAPRAS, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_SURF, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x0000000F, + .nickname = _("LAPRAS"), + .friendship = 255 + }, + { + .species = SPECIES_NIDOQUEEN, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_SUPERPOWER, MOVE_ROCK_SLIDE}, + .hpEV = 110, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000000, + .nickname = _("NIDOQUEEN"), + .friendship = 255 + }, + { + .species = SPECIES_JYNX, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_WATER_PULSE, MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_PSYCHIC}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 155, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000000, + .nickname = _("JYNX"), + .friendship = 255 + }, + { + .species = SPECIES_GIRAFARIG, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_LIGHT_SCREEN, MOVE_CRUNCH, MOVE_PSYCHIC, MOVE_REFLECT}, + .hpEV = 210, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x0000008C, + .nickname = _("GIRAFARIG"), + .friendship = 255 + }, + } + }, + { + .name = _("GEB&MEGAN"), + .facilityClass = FACILITY_CLASS_COOL_COUPLE, + .textColor = 7, + .speechBefore = {EC_WORD_YOU_RE, EC_WORD_OUR, EC_WORD_FOE, EC_WORD_QUES, EC_WORD_GIGGLE, EC_WORD_ELLIPSIS}, + .speechWin = {EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SORRY, 0xFFFF}, + .speechLose = {EC_WORD_MY, EC_WORD_WORD, EC_WORD_THIS, EC_WORD_IS, EC_WORD_JUST, EC_WORD_INCREDIBLE}, + .speechAfter = {EC_WORD_WE, EC_WORD_NEED, EC_WORD_TO, EC_WORD_TRAIN, EC_WORD_SOME, EC_WORD_MORE}, + .mons = { + { + .species = SPECIES_MAROWAK, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_AERIAL_ACE, MOVE_PROTECT}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000094, + .nickname = _("MAROWAK"), + .friendship = 255 + }, + { + .species = SPECIES_URSARING, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_AERIAL_ACE}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 155, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000080, + .nickname = _("URSARING"), + .friendship = 255 + }, + { + .species = SPECIES_SLOWKING, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_SURF, MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_SHADOW_BALL}, + .hpEV = 0, + .attackEV = 110, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 200, + .spDefenseEV = 200, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000011, + .nickname = _("SLOWKING"), + .friendship = 255 + }, + { + .species = SPECIES_ALAKAZAM, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_PSYCHIC, MOVE_PROTECT, MOVE_LIGHT_SCREEN, MOVE_REFLECT}, + .hpEV = 110, + .attackEV = 0, + .defenseEV = 200, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 200, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000041, + .nickname = _("ALAKAZAM"), + .friendship = 255 + }, + { + .species = SPECIES_NIDOKING, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_SURF, MOVE_MEGAHORN, MOVE_THUNDERBOLT, MOVE_ICE_BEAM}, + .hpEV = 110, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000000, + .nickname = _("NIDOKING"), + .friendship = 255 + }, + { + .species = SPECIES_RHYDON, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_MEGAHORN, MOVE_ROCK_SLIDE}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000093, + .nickname = _("RHYDON"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x000160f4 +}; + +static const struct TrainerTowerFloor gUnknown_847FD0C = { + .flags = 0x16, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_DOUBLE, + .prize = 0x05, + .trainers = { + { + .name = _("LISA&LEAH"), + .facilityClass = FACILITY_CLASS_TWINS_2, + .textColor = 1, + .speechBefore = {EC_WORD_ABSOLUTELY, EC_WORD_WE_RE, EC_WORD_GOING, EC_WORD_TO, EC_WORD_WIN, EC_WORD_EXCL}, + .speechWin = {EC_WORD_YEAH_YEAH, EC_WORD_EXCL_EXCL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, + .speechLose = {EC_WORD_AWW, EC_WORD_EXCL, EC_WORD_WAAAH, EC_WORD_EXCL_EXCL, 0xFFFF, 0xFFFF}, + .speechAfter = {EC_WORD_EXCUSE_ME, EC_WORD_BUT, EC_WORD_YOU_RE, EC_WORD_ALL, EC_WORD_TOO_STRONG, 0xFFFF}, + .mons = { + { + .species = SPECIES_POLIWAG, + .heldItem = ITEM_CHERI_BERRY, + .moves = {MOVE_SURF, MOVE_PROTECT, MOVE_TOXIC, MOVE_DOUBLE_TEAM}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 155, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000087, + .nickname = _("POLIWAG"), + .friendship = 255 + }, + { + .species = SPECIES_SQUIRTLE, + .heldItem = ITEM_MYSTIC_WATER, + .moves = {MOVE_WATER_PULSE, MOVE_PROTECT, MOVE_TOXIC, MOVE_MIRROR_COAT}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x0000002D, + .nickname = _("SQUIRTLE"), + .friendship = 255 + }, + { + .species = SPECIES_CHINCHOU, + .heldItem = ITEM_MAGNET, + .moves = {MOVE_SURF, MOVE_THUNDER_WAVE, MOVE_CONFUSE_RAY, MOVE_THUNDERBOLT}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 155, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x0000000F, + .nickname = _("CHINCHOU"), + .friendship = 255 + }, + { + .species = SPECIES_NIDORAN_F, + .heldItem = ITEM_POISON_BARB, + .moves = {MOVE_WATER_PULSE, MOVE_SLUDGE_BOMB, MOVE_CRUNCH, MOVE_DIG}, + .hpEV = 110, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000000, + .nickname = _("NIDORAN♀"), + .friendship = 255 + }, + { + .species = SPECIES_CLEFAIRY, + .heldItem = ITEM_WHITE_HERB, + .moves = {MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_SING, MOVE_MINIMIZE}, + .hpEV = 110, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 100, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x0000000F, + .nickname = _("CLEFAIRY"), + .friendship = 255 + }, + { + .species = SPECIES_HORSEA, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_SURF, MOVE_SMOKESCREEN, MOVE_ATTRACT, MOVE_DRAGON_RAGE}, + .hpEV = 110, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 100, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x0000002D, + .nickname = _("HORSEA"), + .friendship = 255 + }, + } + }, + { + .name = _("LISA&LEAH"), + .facilityClass = FACILITY_CLASS_TWINS_2, + .textColor = 1, + .speechBefore = {EC_WORD_CAN, EC_WORD_WE, EC_WORD_WIN, EC_WORD_QUES, EC_WORD_IT_S, EC_WORD_EXCITING}, + .speechWin = {EC_WORD_YEAH_YEAH, EC_WORD_EXCL_EXCL, EC_WORD_YOU, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_HAPPY}, + .speechLose = {EC_WORD_AWW, EC_WORD_EXCL, EC_WORD_WAAAH, EC_WORD_EXCL_EXCL, 0xFFFF, 0xFFFF}, + .speechAfter = {EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_NOT, EC_MOVE2(BEAT_UP), EC_WORD_ON, EC_WORD_CHILDREN}, + .mons = { + { + .species = SPECIES_WOOPER, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_YAWN, MOVE_FLASH}, + .hpEV = 110, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000093, + .nickname = _("WOOPER"), + .friendship = 255 + }, + { + .species = SPECIES_PSYDUCK, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_SURF, MOVE_CROSS_CHOP, MOVE_HYPNOSIS, MOVE_DISABLE}, + .hpEV = 110, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0x00000096, + .nickname = _("PSYDUCK"), + .friendship = 255 + }, + { + .species = SPECIES_SNUBBULL, + .heldItem = ITEM_PECHA_BERRY, + .moves = {MOVE_WATER_PULSE, MOVE_THUNDER_WAVE, MOVE_CRUNCH, MOVE_SHADOW_BALL}, + .hpEV = 110, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 100, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000000, + .nickname = _("SNUBBULL"), + .friendship = 255 + }, + { + .species = SPECIES_JIGGLYPUFF, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_WATER_PULSE, MOVE_THUNDER_WAVE, MOVE_SING, MOVE_DISABLE}, + .hpEV = 110, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x0000000F, + .nickname = _("JIGGLYPUFF"), + .friendship = 255 + }, + { + .species = SPECIES_NIDORAN_M, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_WATER_PULSE, MOVE_SLUDGE_BOMB, MOVE_HORN_DRILL, MOVE_DIG}, + .hpEV = 110, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000000, + .nickname = _("NIDORAN♂"), + .friendship = 255 + }, + { + .species = SPECIES_TOTODILE, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_SURF, MOVE_PROTECT, MOVE_TOXIC, MOVE_DOUBLE_TEAM}, + .hpEV = 110, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 100, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x0000002D, + .nickname = _("TOTODILE"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(15), + }, + .checksum = 0x000197d4 +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { + .flags = 0x17, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_KNOCKOUT, + .prize = 0x01, + .trainers = { + { + .name = _("PRISCILLA"), + .facilityClass = FACILITY_CLASS_TUBER_3, + .textColor = 1, + .speechBefore = {EC_WORD_I_AM, EC_WORD_A_LITTLE, EC_WORD_POKEMON, EC_WORD_GIRL, EC_WORD_HERE_I_COME, EC_WORD_EXCL}, + .speechWin = {EC_WORD_WAAAH, EC_WORD_EXCL, EC_WORD_DID, EC_WORD_I, EC_WORD_WIN, EC_WORD_QUES}, + .speechLose = {EC_WORD_OH_DEAR, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_COULDN_T, EC_WORD_WIN, EC_WORD_ELLIPSIS}, + .speechAfter = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_NICE, EC_WORD_TRAINER, EC_WORD_THANK_YOU, EC_WORD_EXCL}, + .mons = { + { + .species = SPECIES_GOLDEEN, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_WATER_PULSE, MOVE_MEGAHORN, MOVE_SUPERSONIC, MOVE_ICE_BEAM}, + .hpEV = 110, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000096, + .nickname = _("GOLDEEN"), + .friendship = 0 + }, + { + .species = SPECIES_SEAKING, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_SURF, MOVE_MEGAHORN, MOVE_HORN_DRILL, MOVE_PROTECT}, + .hpEV = 100, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000000, + .nickname = _("SEAKING"), + .friendship = 0 + }, + { + .species = SPECIES_LANTURN, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_SURF, MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ICE_BEAM}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 100, + .spAttackEV = 100, + .spDefenseEV = 210, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000008C, + .nickname = _("LANTURN"), + .friendship = 0 + }, + { + .species = SPECIES_LANTURN, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_HYDRO_PUMP, MOVE_THUNDER, MOVE_ICE_BEAM, MOVE_RAIN_DANCE}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 100, + .spAttackEV = 100, + .spDefenseEV = 210, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000000F, + .nickname = _("LANTURN"), + .friendship = 0 + }, + { + .species = SPECIES_GOLDEEN, + .heldItem = ITEM_APICOT_BERRY, + .moves = {MOVE_WATER_PULSE, MOVE_DOUBLE_EDGE, MOVE_TOXIC, MOVE_PSYBEAM}, + .hpEV = 110, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000000, + .nickname = _("GOLDEEN"), + .friendship = 0 + }, + { + .species = SPECIES_SEAKING, + .heldItem = ITEM_PETAYA_BERRY, + .moves = {MOVE_SURF, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_PSYBEAM}, + .hpEV = 110, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000096, + .nickname = _("SEAKING"), + .friendship = 0 + }, + } + }, + { + .name = _("CHARLOTTE"), + .facilityClass = FACILITY_CLASS_LADY_2, + .textColor = 1, + .speechBefore = {EC_WORD_HELLO, EC_WORD_THERE, EC_WORD_I_AM, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_LADY}, + .speechWin = {EC_WORD_OH, EC_WORD_MY, EC_WORD_MY, EC_WORD_ELLIPSIS, EC_WORD_I_AM, EC_WORD_SORRY}, + .speechLose = {EC_WORD_YOU_RE, EC_WORD_BETTER, EC_WORD_THAN, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_LADY}, + .speechAfter = {EC_WORD_HOHOHO, EC_WORD_THANK_YOU, EC_WORD_FOR, EC_WORD_AN, EC_WORD_AMUSING, EC_WORD_BATTLE}, + .mons = { + { + .species = SPECIES_OCTILLERY, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_OCTAZOOKA, MOVE_ICE_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER}, + .hpEV = 55, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000000F, + .nickname = _("OCTILLERY"), + .friendship = 255 + }, + { + .species = SPECIES_QWILFISH, + .heldItem = ITEM_PERSIM_BERRY, + .moves = {MOVE_SURF, MOVE_TOXIC, MOVE_REVENGE, MOVE_DOUBLE_TEAM}, + .hpEV = 200, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 210, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000014, + .nickname = _("QWILFISH"), + .friendship = 255 + }, + { + .species = SPECIES_REMORAID, + .heldItem = ITEM_PECHA_BERRY, + .moves = {MOVE_SURF, MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_THUNDER_WAVE}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000096, + .nickname = _("REMORAID"), + .friendship = 255 + }, + { + .species = SPECIES_REMORAID, + .heldItem = ITEM_WHITE_HERB, + .moves = {MOVE_WATER_PULSE, MOVE_BLIZZARD, MOVE_FIRE_BLAST, MOVE_PROTECT}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000000, + .nickname = _("REMORAID"), + .friendship = 255 + }, + { + .species = SPECIES_OCTILLERY, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_OCTAZOOKA, MOVE_SLUDGE_BOMB, MOVE_THUNDER_WAVE, MOVE_HYPER_BEAM}, + .hpEV = 155, + .attackEV = 100, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000093, + .nickname = _("OCTILLERY"), + .friendship = 255 + }, + { + .species = SPECIES_QWILFISH, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_HYDRO_PUMP, MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_DESTINY_BOND}, + .hpEV = 100, + .attackEV = 100, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 210, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000096, + .nickname = _("QWILFISH"), + .friendship = 255 + }, + } + }, + { + .name = _("SHANIA"), + .facilityClass = FACILITY_CLASS_SWIMMER_FEMALE_2, + .textColor = 1, + .speechBefore = {EC_WORD_A, EC_WORD_POKEMON, EC_WORD_HEROINE, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM}, + .speechWin = {EC_WORD_AHAHA, EC_WORD_NO, EC_WORD_WAY, EC_WORD_YOU_RE, EC_WORD_TOO_WEAK, EC_WORD_SERIOUSLY}, + .speechLose = {EC_WORD_WHY, EC_WORD_QUES_EXCL, EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_LIE}, + .speechAfter = {EC_WORD_NICE, EC_WORD_BATTLE, EC_WORD_THANKS, EC_WORD_FOR, EC_WORD_ENTERTAINING, EC_WORD_ME}, + .mons = { + { + .species = SPECIES_MANTINE, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000080, + .nickname = _("MANTINE"), + .friendship = 255 + }, + { + .species = SPECIES_MAGIKARP, + .heldItem = ITEM_CHOICE_BAND, + .moves = {MOVE_SPLASH, MOVE_TACKLE, MOVE_NONE, MOVE_NONE}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000000D, + .nickname = _("MAGIKARP"), + .friendship = 255 + }, + { + .species = SPECIES_MANTINE, + .heldItem = ITEM_MENTAL_HERB, + .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY, MOVE_ATTRACT}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000000F, + .nickname = _("MANTINE"), + .friendship = 255 + }, + { + .species = SPECIES_GYARADOS, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_HYPER_BEAM, MOVE_THUNDER_WAVE, MOVE_EARTHQUAKE, MOVE_PROTECT}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000003, + .nickname = _("GYARADOS"), + .friendship = 255 + }, + { + .species = SPECIES_MAGIKARP, + .heldItem = ITEM_CHOICE_BAND, + .moves = {MOVE_FLAIL, MOVE_TACKLE, MOVE_NONE, MOVE_NONE}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000094, + .nickname = _("MAGIKARP"), + .friendship = 255 + }, + { + .species = SPECIES_GYARADOS, + .heldItem = ITEM_KINGS_ROCK, + .moves = {MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, MOVE_EARTHQUAKE, MOVE_DRAGON_DANCE}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000080, + .nickname = _("GYARADOS"), + .friendship = 255 + }, + } + }, + }, + .checksum = 0x0001521d +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { + .flags = 0x18, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_KNOCKOUT, + .prize = 0x0d, + .trainers = { + { + .name = _("BRENNAN"), + .facilityClass = FACILITY_CLASS_SAILOR_2, + .textColor = 1, + .speechBefore = {EC_WORD_TAKE, EC_WORD_THINGS, EC_WORD_EASY, EC_WORD_ELLIPSIS, EC_WORD_THAT_S, EC_WORD_IMPORTANT}, + .speechWin = {EC_WORD_YOU, EC_WORD_LOSE, EC_WORD_IF, EC_WORD_YOU, EC_WORD_GIVE_UP, EC_WORD_EXCL}, + .speechLose = {EC_WORD_OOPS, EC_WORD_YOU, EC_WORD_GOT, EC_WORD_AN, EC_WORD_EASY, EC_WORD_WIN}, + .speechAfter = {EC_WORD_I, EC_WORD_DON_T, EC_MOVE(GRUDGE), EC_WORD_YOU, EC_WORD_BUT, EC_WORD_ELLIPSIS}, + .mons = { + { + .species = SPECIES_LAPRAS, + .heldItem = ITEM_CHESTO_BERRY, + .moves = {MOVE_HYDRO_PUMP, MOVE_PSYCHIC, MOVE_ATTRACT, MOVE_REST}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 155, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 255, + .otId = 15 | (0 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x0000000F, + .nickname = _("LAPRAS"), + .friendship = 255 + }, + { + .species = SPECIES_KINGDRA, + .heldItem = ITEM_CHESTO_BERRY, + .moves = {MOVE_HYDRO_PUMP, MOVE_BLIZZARD, MOVE_DRAGON_BREATH, MOVE_REST}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000008C, + .nickname = _("KINGDRA"), + .friendship = 255 + }, + { + .species = SPECIES_MACHAMP, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_HYPER_BEAM}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 130, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 125, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000004E, + .nickname = _("MACHAMP"), + .friendship = 255 + }, + { + .species = SPECIES_CHANSEY, + .heldItem = ITEM_ORAN_BERRY, + .moves = {MOVE_WATER_PULSE, MOVE_SOFT_BOILED, MOVE_MINIMIZE, MOVE_THUNDER_WAVE}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000005, + .nickname = _("CHANSEY"), + .friendship = 255 + }, + { + .species = SPECIES_TAUROS, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_SWAGGER}, + .hpEV = 110, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 100, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000003, + .nickname = _("TAUROS"), + .friendship = 255 + }, + { + .species = SPECIES_SNORLAX, + .heldItem = ITEM_ORAN_BERRY, + .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_DOUBLE_TEAM, MOVE_REST}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000021, + .nickname = _("SNORLAX"), + .friendship = 255 + }, + } + }, + { + .name = _("KADEN"), + .facilityClass = FACILITY_CLASS_FISHERMAN_2, + .textColor = 1, + .speechBefore = {EC_WORD_MY, EC_WORD_FISHING, EC_WORD_FASHION, EC_WORD_APPEAL, EC_WORD_IS, EC_WORD_FANTASTIC}, + .speechWin = {EC_WORD_MY, EC_WORD_FANTASTIC, EC_WORD_FASHION, EC_WORD_APPEAL, EC_WORD_WINS, EC_WORD_OUT}, + .speechLose = {EC_WORD_UH_OH, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_SEE, EC_WORD_I, EC_WORD_LOST}, + .speechAfter = {EC_WORD_FASHION, EC_WORD_APPEAL, EC_WORD_WON_T, EC_WORD_GET, EC_WORD_ME, EC_WORD_WINS}, + .mons = { + { + .species = SPECIES_CHINCHOU, + .heldItem = ITEM_MAGNET, + .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_CONFUSE_RAY, MOVE_PROTECT}, + .hpEV = 100, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 100, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000000, + .nickname = _("CHINCHOU"), + .friendship = 255 + }, + { + .species = SPECIES_DRATINI, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_WATER_PULSE, MOVE_THUNDER_WAVE, MOVE_DRAGON_BREATH, MOVE_PROTECT}, + .hpEV = 110, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 100, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (0 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000000, + .nickname = _("DRATINI"), + .friendship = 255 + }, + { + .species = SPECIES_SLOWPOKE, + .heldItem = ITEM_PECHA_BERRY, + .moves = {MOVE_WATER_PULSE, MOVE_YAWN, MOVE_DISABLE, MOVE_PROTECT}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000096, + .nickname = _("SLOWPOKE"), + .friendship = 255 + }, + { + .species = SPECIES_MAGIKARP, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_SPLASH, MOVE_FLAIL, MOVE_TACKLE, MOVE_NONE}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 23 | (0 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000017, + .nickname = _("MAGIKARP"), + .friendship = 255 + }, + { + .species = SPECIES_SEAKING, + .heldItem = ITEM_CHERI_BERRY, + .moves = {MOVE_HORN_DRILL, MOVE_MEGAHORN, MOVE_SUPERSONIC, MOVE_AGILITY}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 23 | (0 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000017, + .nickname = _("SEAKING"), + .friendship = 255 + }, + { + .species = SPECIES_TENTACRUEL, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_MIRROR_COAT, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_TOXIC}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000096, + .nickname = _("TENTACRUEL"), + .friendship = 255 + }, + } + }, + { + .name = _("EMANUEL"), + .facilityClass = FACILITY_CLASS_GENTLEMAN_2, + .textColor = 1, + .speechBefore = {EC_WORD_HMM, EC_WORD_QUES, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_SKILLED, EC_WORD_QUES}, + .speechWin = {EC_WORD_I, EC_WORD_SEE, EC_WORD_I, EC_WORD_WASN_T, EC_WORD_RIGHT, EC_WORD_ELLIPSIS}, + .speechLose = {EC_WORD_YOU, EC_WORD_TRULY, EC_WORD_ARE, EC_WORD_A, EC_WORD_MASTER, EC_WORD_TRAINER}, + .speechAfter = {EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_THAT, EC_WORD_I_WAS, EC_WORD_YOUR, EC_WORD_OPPONENT}, + .mons = { + { + .species = SPECIES_VAPOREON, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_ATTRACT, MOVE_BITE}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000014, + .nickname = _("VAPOREON"), + .friendship = 255 + }, + { + .species = SPECIES_ESPEON, + .heldItem = ITEM_CHESTO_BERRY, + .moves = {MOVE_PSYCHIC, MOVE_BITE, MOVE_REFLECT, MOVE_REST}, + .hpEV = 110, + .attackEV = 0, + .defenseEV = 200, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 200, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000000F, + .nickname = _("ESPEON"), + .friendship = 255 + }, + { + .species = SPECIES_BLISSEY, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_WATER_PULSE, MOVE_MINIMIZE, MOVE_THUNDER_WAVE, MOVE_PROTECT}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000005, + .nickname = _("BLISSEY"), + .friendship = 255 + }, + { + .species = SPECIES_STARMIE, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_PSYCHIC}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 155, + .otId = 20 | (0 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000014, + .nickname = _("STARMIE"), + .friendship = 255 + }, + { + .species = SPECIES_PERSIAN, + .heldItem = ITEM_KINGS_ROCK, + .moves = {MOVE_SLASH, MOVE_SWAGGER, MOVE_PSYCH_UP, MOVE_FAKE_OUT}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 130, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 125, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000000D, + .nickname = _("PERSIAN"), + .friendship = 255 + }, + { + .species = SPECIES_AZUMARILL, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_SURF, MOVE_ENCORE, MOVE_ATTRACT, MOVE_DIG}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 155, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000000, + .nickname = _("AZUMARILL"), + .friendship = 255 + }, + } + }, + }, + .checksum = 0x0001554b +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Single_3 = { + .flags = 0x19, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_SINGLE, + .prize = 0x0c, + .trainers = { + { + .name = _("JARRETT"), + .facilityClass = FACILITY_CLASS_JUGGLER, + .textColor = 2, + .speechBefore = {EC_WORD_LET_S, EC_WORD_HAVE, EC_WORD_AN, EC_MOVE2(EXPLOSION), EC_WORD_PARTY, EC_WORD_EXCL}, + .speechWin = {EC_WORD_CONGRATS, EC_WORD_FOR, EC_WORD_YOUR, EC_WORD_LOSS, EC_WORD_PARTY, EC_WORD_KID}, + .speechLose = {EC_WORD_NICE, EC_MOVE(SELF_DESTRUCT), EC_WORD_THERE, EC_WORD_EXCL, EC_WORD_YOU_RE, EC_WORD_PERFECT}, + .speechAfter = {EC_WORD_WANT, EC_WORD_TO, EC_WORD_PARTY, EC_WORD_SOME, EC_WORD_MORE, EC_WORD_QUES}, + .mons = { + { + .species = SPECIES_ELECTRODE, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_EXPLOSION, MOVE_LIGHT_SCREEN, MOVE_SCREECH, MOVE_THUNDERBOLT}, + .hpEV = 10, + .attackEV = 150, + .defenseEV = 100, + .speedEV = 150, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x0000000D, + .nickname = _("ELECTRODE"), + .friendship = 255 + }, + { + .species = SPECIES_VOLTORB, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_EXPLOSION, MOVE_FLASH, MOVE_DOUBLE_TEAM, MOVE_THUNDER}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 155, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x0000000D, + .nickname = _("VOLTORB"), + .friendship = 255 + }, + { + .species = SPECIES_WEEZING, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_EXPLOSION, MOVE_SLUDGE_BOMB, MOVE_DESTINY_BOND, MOVE_THUNDERBOLT}, + .hpEV = 0, + .attackEV = 200, + .defenseEV = 155, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 155, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000007, + .nickname = _("WEEZING"), + .friendship = 255 + }, + { + .species = SPECIES_GOLEM, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_EXPLOSION, MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 150, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000007F, + .nickname = _("GOLEM"), + .friendship = 255 + }, + { + .species = SPECIES_EXEGGCUTE, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_EXPLOSION, MOVE_STUN_SPORE, MOVE_HYPNOSIS, MOVE_GIGA_DRAIN}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000007, + .nickname = _("EXEGGCUTE"), + .friendship = 255 + }, + { + .species = SPECIES_FORRETRESS, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_EXPLOSION, MOVE_GIGA_DRAIN, MOVE_DIG, MOVE_PROTECT}, + .hpEV = 0, + .attackEV = 100, + .defenseEV = 155, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000084, + .nickname = _("FORRETRESS"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x00015b6a +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_3 = { + .flags = 0x1a, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_SINGLE, + .prize = 0x0d, + .trainers = { + { + .name = _("OWEN"), + .facilityClass = FACILITY_CLASS_SUPER_NERD, + .textColor = 2, + .speechBefore = {EC_WORD_HERE_IT_IS, EC_MOVE2(THUNDER_WAVE), EC_WORD_DON_T, EC_MOVE2(WRAP), EC_WORD_ME, EC_WORD_EXCL}, + .speechWin = {EC_WORD_ACCEPT, EC_WORD_MY, EC_MOVE2(PRESENT), EC_WORD_OF, EC_MOVE2(THUNDER_WAVE), EC_WORD_EXCL}, + .speechLose = {EC_MOVE2(WRAP), EC_MOVE(BIND), EC_WORD_ELECTRIC, EC_MOVE2(WHIRLWIND), EC_WORD_SPIRALING, EC_WORD_AROUND}, + .speechAfter = {EC_MOVE2(WHIRLWIND), EC_WORD_SPIRALING, 0xFFFF, 0xFFFF, EC_WORD_SPIRALING, EC_MOVE2(WHIRLWIND)}, + .mons = { + { + .species = SPECIES_MAGNETON, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_PROTECT, MOVE_ZAP_CANNON, MOVE_TOXIC, MOVE_SUPERSONIC}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 125, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 130, + .otId = 10 | (0 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x0000000A, + .nickname = _("MAGNETON"), + .friendship = 255 + }, + { + .species = SPECIES_PIKACHU, + .heldItem = ITEM_LIGHT_BALL, + .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_DOUBLE_TEAM}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 150, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 105, + .otId = 15 | (0 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000000F, + .nickname = _("PIKACHU"), + .friendship = 255 + }, + { + .species = SPECIES_JOLTEON, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_DOUBLE_TEAM, MOVE_TOXIC}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 100, + .spAttackEV = 0, + .spDefenseEV = 155, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000037, + .nickname = _("JOLTEON"), + .friendship = 255 + }, + { + .species = SPECIES_BLISSEY, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_THUNDER_WAVE, MOVE_BLIZZARD, MOVE_WATER_PULSE, MOVE_REST}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000005, + .nickname = _("BLISSEY"), + .friendship = 255 + }, + { + .species = SPECIES_PORYGON2, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_THUNDER_WAVE, MOVE_ZAP_CANNON, MOVE_PSYCHIC, MOVE_RECOVER}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 125, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 130, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000005, + .nickname = _("PORYGON2"), + .friendship = 255 + }, + { + .species = SPECIES_PORYGON, + .heldItem = ITEM_LAX_INCENSE, + .moves = {MOVE_THUNDER_WAVE, MOVE_ZAP_CANNON, MOVE_DOUBLE_TEAM, MOVE_PROTECT}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 5 | (0 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000005, + .nickname = _("PORYGON"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x000160ec +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_2 = { + .flags = 0x1b, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_SINGLE, + .prize = 0x01, + .trainers = { + { + .name = _("LORENZO"), + .facilityClass = FACILITY_CLASS_PSYCHIC_3, + .textColor = 1, + .speechBefore = {EC_WORD_THIS, EC_WORD_POWER, EC_WORD_IS, EC_WORD_NOW, EC_WORD_COMPLETE, EC_WORD_EXCL}, + .speechWin = {EC_WORD_NO, EC_WORD_KEEN_EYE, EC_WORD_CAN, EC_WORD_STOP, EC_WORD_MY, EC_WORD_POWER}, + .speechLose = {EC_WORD_HERE_IT_IS, EC_WORD_EXCL, EC_MOVE(KINESIS), EC_WORD_EXCL, EC_WORD_ELLIPSIS, EC_WORD_WHAT}, + .speechAfter = {EC_WORD_I, EC_WORD_WILL, EC_WORD_MAKE, EC_WORD_THE, EC_MOVE(KINESIS), EC_WORD_HALL_OF_FAME}, + .mons = { + { + .species = SPECIES_MR_MIME, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN, MOVE_REFLECT}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 155, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000007, + .nickname = _("MR. MIME"), + .friendship = 255 + }, + { + .species = SPECIES_HYPNO, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_PSYCHIC}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 155, + .speedEV = 0, + .spAttackEV = 200, + .spDefenseEV = 155, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x0000008C, + .nickname = _("HYPNO"), + .friendship = 255 + }, + { + .species = SPECIES_ALAKAZAM, + .heldItem = ITEM_CHOICE_BAND, + .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_PSYCHIC}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 155, + .speedEV = 150, + .spAttackEV = 155, + .spDefenseEV = 50, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x0000000F, + .nickname = _("ALAKAZAM"), + .friendship = 255 + }, + { + .species = SPECIES_GENGAR, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_THUNDERBOLT, MOVE_SHADOW_BALL, MOVE_HYPNOSIS, MOVE_TOXIC}, + .hpEV = 0, + .attackEV = 200, + .defenseEV = 0, + .speedEV = 100, + .spAttackEV = 55, + .spDefenseEV = 155, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000088, + .nickname = _("GENGAR"), + .friendship = 255 + }, + { + .species = SPECIES_GIRAFARIG, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_THUNDERBOLT, MOVE_CRUNCH, MOVE_BODY_SLAM, MOVE_REST}, + .hpEV = 0, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 155, + .spAttackEV = 0, + .spDefenseEV = 155, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0x00000003, + .nickname = _("GIRAFARIG"), + .friendship = 255 + }, + { + .species = SPECIES_STARMIE, + .heldItem = ITEM_APICOT_BERRY, + .moves = {MOVE_THUNDERBOLT, MOVE_SURF, MOVE_RECOVER, MOVE_ICE_BEAM}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 55, + .speedEV = 250, + .spAttackEV = 150, + .spDefenseEV = 55, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x0000000A, + .nickname = _("STARMIE"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x0001624b +}; + +static const struct TrainerTowerFloor gUnknown_848144C = { + .flags = 0x1c, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_DOUBLE, + .prize = 0x0b, + .trainers = { + { + .name = _("NIA & CARL"), + .facilityClass = FACILITY_CLASS_COOL_COUPLE, + .textColor = 4, + .speechBefore = {EC_WORD_HERE_GOES, EC_WORD_MY, EC_WORD_DIGITAL, EC_WORD_ROMANTIC, EC_WORD_HERO, EC_WORD_STRATEGY}, + .speechWin = {EC_WORD_THAT_S, EC_WORD_THE, EC_WORD_DIGITAL, EC_WORD_HYPER, EC_WORD_MODE, EC_WORD_POWER}, + .speechLose = {EC_WORD_MY, EC_WORD_PERFECT, EC_WORD_STRATEGY, EC_WORD_WAS, EC_MOVE2(BEAT_UP), EC_WORD_QUES}, + .speechAfter = {EC_WORD_MY, EC_WORD_INVINCIBLE, EC_WORD_STRATEGY, EC_WORD_WAS, EC_WORD_DESTROYED, EC_WORD_ELLIPSIS}, + .mons = { + { + .species = SPECIES_MUK, + .heldItem = ITEM_CHOICE_BAND, + .moves = {MOVE_THUNDERBOLT, MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_BODY_SLAM}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 155, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 1, + .personality = 0x00000007, + .nickname = _("MUK"), + .friendship = 255 + }, + { + .species = SPECIES_GENGAR, + .heldItem = ITEM_PETAYA_BERRY, + .moves = {MOVE_THUNDERBOLT, MOVE_CONFUSE_RAY, MOVE_PSYCHIC, MOVE_EXPLOSION}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 155, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000015, + .nickname = _("GENGAR"), + .friendship = 255 + }, + { + .species = SPECIES_ALAKAZAM, + .heldItem = ITEM_GANLON_BERRY, + .moves = {MOVE_THUNDER_PUNCH, MOVE_PSYCHIC, MOVE_RECOVER, MOVE_REFLECT}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x0000000A, + .nickname = _("ALAKAZAM"), + .friendship = 255 + }, + { + .species = SPECIES_JOLTEON, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_THUNDERBOLT, MOVE_FLAIL, MOVE_THUNDER_WAVE, MOVE_DOUBLE_TEAM}, + .hpEV = 0, + .attackEV = 50, + .defenseEV = 100, + .speedEV = 160, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000005, + .nickname = _("JOLTEON"), + .friendship = 255 + }, + { + .species = SPECIES_ELECTRODE, + .heldItem = ITEM_LIECHI_BERRY, + .moves = {MOVE_THUNDERBOLT, MOVE_EXPLOSION, MOVE_MIRROR_COAT, MOVE_LIGHT_SCREEN}, + .hpEV = 0, + .attackEV = 55, + .defenseEV = 0, + .speedEV = 100, + .spAttackEV = 100, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000014, + .nickname = _("ELECTRODE"), + .friendship = 255 + }, + { + .species = SPECIES_RAICHU, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_THUNDERBOLT, MOVE_COUNTER, MOVE_REVERSAL, MOVE_LIGHT_SCREEN}, + .hpEV = 0, + .attackEV = 55, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000002, + .nickname = _("RAICHU"), + .friendship = 255 + }, + } + }, + { + .name = _("NIA & CARL"), + .facilityClass = FACILITY_CLASS_COOL_COUPLE, + .textColor = 4, + .speechBefore = {EC_WORD_MASTER, EC_WORD_COMPLETE, EC_WORD_FASHION, EC_WORD_SYSTEM, EC_WORD_START, EC_WORD_EXCL}, + .speechWin = {EC_WORD_THAT_S_IT_EXCL, EC_WORD_THE, EC_WORD_POWER, EC_WORD_OF, EC_WORD_OUR, EC_WORD_SYSTEM}, + .speechLose = {EC_WORD_OKAY, EC_WORD_EXCL, EC_MOVE(THUNDERBOLT), EC_WORD_RUN_AWAY, EC_WORD_SYSTEM, EC_WORD_START}, + .speechAfter = {EC_WORD_GO, EC_WORD_ON, EC_WORD_PLEASE, EC_WORD_EXCL, EC_WORD_TCH, EC_WORD_ELLIPSIS}, + .mons = { + { + .species = SPECIES_KANGASKHAN, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_SHADOW_BALL, MOVE_REVERSAL, MOVE_ENDURE, MOVE_FAKE_OUT}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 105, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 150, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000003, + .nickname = _("KANGASKHAN"), + .friendship = 255 + }, + { + .species = SPECIES_TAUROS, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_DOUBLE_EDGE, MOVE_ROCK_TOMB, MOVE_SURF, MOVE_REST}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 155, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000003, + .nickname = _("TAUROS"), + .friendship = 255 + }, + { + .species = SPECIES_MILTANK, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_BODY_SLAM, MOVE_SHADOW_BALL, MOVE_MILK_DRINK, MOVE_ROCK_TOMB}, + .hpEV = 0, + .attackEV = 155, + .defenseEV = 50, + .speedEV = 250, + .spAttackEV = 0, + .spDefenseEV = 55, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000003, + .nickname = _("MILTANK"), + .friendship = 255 + }, + { + .species = SPECIES_RHYDON, + .heldItem = ITEM_CHOICE_BAND, + .moves = {MOVE_THUNDERBOLT, MOVE_MEGAHORN, MOVE_HORN_DRILL, MOVE_ROCK_TOMB}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 1, + .personality = 0x00000080, + .nickname = _("RHYDON"), + .friendship = 255 + }, + { + .species = SPECIES_DRAGONITE, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_BLIZZARD, MOVE_SURF, MOVE_OUTRAGE, MOVE_FLAMETHROWER}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x00000091, + .nickname = _("DRAGONITE"), + .friendship = 255 + }, + { + .species = SPECIES_LAPRAS, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_THUNDERBOLT, MOVE_BLIZZARD, MOVE_SURF, MOVE_HORN_DRILL}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 155, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 1, + .personality = 0x00000091, + .nickname = _("LAPRAS"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x00016360 +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Double_7 = { + .flags = 0x1d, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_DOUBLE, + .prize = 0x03, + .trainers = { + { + .name = _("AXE & REN"), + .facilityClass = FACILITY_CLASS_SIS_AND_BRO_2, + .textColor = 2, + .speechBefore = {EC_WORD_IT_S, EC_WORD_GOING, EC_WORD_TO, EC_WORD_GET, EC_WORD_AWFULLY, EC_WORD_COLD}, + .speechWin = {EC_WORD_THAT_S, EC_WORD_THAT, EC_WORD_MAN, EC_WORD_I_AM, EC_WORD_COLD, EC_WORD_EXCL}, + .speechLose = {EC_WORD_I, EC_WORD_CAN_T_WIN, EC_WORD_IN, EC_WORD_THIS, EC_MOVE(SHEER_COLD), EC_WORD_ELLIPSIS}, + .speechAfter = {EC_WORD_THIS, EC_MOVE(SHEER_COLD), EC_WORD_HAS, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_SHAKY}, + .mons = { + { + .species = SPECIES_LANTURN, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_RAIN_DANCE, MOVE_SURF, MOVE_THUNDER, MOVE_ICE_BEAM}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000A, + .nickname = _("LANTURN"), + .friendship = 255 + }, + { + .species = SPECIES_MANTINE, + .heldItem = ITEM_PETAYA_BERRY, + .moves = {MOVE_RAIN_DANCE, MOVE_SURF, MOVE_CONFUSE_RAY, MOVE_ICE_BEAM}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 155, + .spAttackEV = 100, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000014, + .nickname = _("MANTINE"), + .friendship = 255 + }, + { + .species = SPECIES_DEWGONG, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_RAIN_DANCE, MOVE_SURF, MOVE_SHEER_COLD, MOVE_BLIZZARD}, + .hpEV = 0, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 55, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000011, + .nickname = _("DEWGONG"), + .friendship = 255 + }, + { + .species = SPECIES_CLOYSTER, + .heldItem = ITEM_KINGS_ROCK, + .moves = {MOVE_RAIN_DANCE, MOVE_SURF, MOVE_ICE_BEAM, MOVE_HYPER_BEAM}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000011, + .nickname = _("CLOYSTER"), + .friendship = 255 + }, + { + .species = SPECIES_TENTACRUEL, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_RAIN_DANCE, MOVE_SURF, MOVE_GIGA_DRAIN, MOVE_SLUDGE_BOMB}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 100, + .spAttackEV = 255, + .spDefenseEV = 55, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000A, + .nickname = _("TENTACRUEL"), + .friendship = 255 + }, + { + .species = SPECIES_GYARADOS, + .heldItem = ITEM_LIECHI_BERRY, + .moves = {MOVE_RAIN_DANCE, MOVE_SURF, MOVE_DRAGON_DANCE, MOVE_RETURN}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000003, + .nickname = _("GYARADOS"), + .friendship = 255 + }, + } + }, + { + .name = _("AXE & REN"), + .facilityClass = FACILITY_CLASS_SIS_AND_BRO_2, + .textColor = 2, + .speechBefore = {EC_WORD_OUR, EC_WORD_SWIFT_SWIM, EC_WORD_LEFT, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_COLD}, + .speechWin = {EC_WORD_I, EC_WORD_WON, EC_WORD_BUT, EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_HOT}, + .speechLose = {EC_WORD_I_AM, EC_WORD_HUNGRY, EC_WORD_FOR, EC_WORD_ANY, EC_WORD_HOT, EC_WORD_EATS}, + .speechAfter = {EC_WORD_SISTER, EC_WORD_I, EC_WORD_NEED, EC_WORD_SOMETHING, EC_WORD_HOT, EC_WORD_PLEASE}, + .mons = { + { + .species = SPECIES_ELECTABUZZ, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_THUNDER, MOVE_PSYCHIC, MOVE_CROSS_CHOP, MOVE_LIGHT_SCREEN}, + .hpEV = 0, + .attackEV = 155, + .defenseEV = 155, + .speedEV = 100, + .spAttackEV = 100, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000040, + .nickname = _("ELECTABUZZ"), + .friendship = 255 + }, + { + .species = SPECIES_MAGNETON, + .heldItem = ITEM_PETAYA_BERRY, + .moves = {MOVE_THUNDER, MOVE_SONIC_BOOM, MOVE_METAL_SOUND, MOVE_REFLECT}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 155, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x0000000A, + .nickname = _("MAGNETON"), + .friendship = 255 + }, + { + .species = SPECIES_PORYGON, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_THUNDER, MOVE_PSYCHIC, MOVE_BLIZZARD, MOVE_PROTECT}, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000011, + .nickname = _("PORYGON"), + .friendship = 255 + }, + { + .species = SPECIES_DRAGONAIR, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_THUNDER, MOVE_SURF, MOVE_BLIZZARD, MOVE_OUTRAGE}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 50, + .speedEV = 155, + .spAttackEV = 255, + .spDefenseEV = 50, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000A, + .nickname = _("DRAGONAIR"), + .friendship = 255 + }, + { + .species = SPECIES_PERSIAN, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_THUNDER, MOVE_FAKE_OUT, MOVE_WATER_PULSE, MOVE_RETURN}, + .hpEV = 0, + .attackEV = 155, + .defenseEV = 0, + .speedEV = 200, + .spAttackEV = 155, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000B, + .nickname = _("PERSIAN"), + .friendship = 255 + }, + { + .species = SPECIES_STARMIE, + .heldItem = ITEM_GANLON_BERRY, + .moves = {MOVE_THUNDER, MOVE_SURF, MOVE_RECOVER, MOVE_REFLECT}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 95, + .speedEV = 255, + .spAttackEV = 100, + .spDefenseEV = 60, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000005, + .nickname = _("STARMIE"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x00015272 +}; + +static const struct TrainerTowerFloor gUnknown_8481C0C = { + .flags = 0x1e, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_DOUBLE, + .prize = 0x05, + .trainers = { + { + .name = _("KATI & GEB"), + .facilityClass = FACILITY_CLASS_YOUNG_COUPLE_2, + .textColor = 2, + .speechBefore = {EC_WORD_WELCOME, EC_WORD_TO, EC_WORD_OUR, EC_WORD_LOVEY_DOVEY, EC_MOVE2(THUNDER_WAVE), EC_MOVE(SANDSTORM)}, + .speechWin = {EC_WORD_LALALA, EC_WORD_LALALA, EC_WORD_OUR, EC_WORD_LOVEY_DOVEY, EC_WORD_LALALA, EC_WORD_LIFE}, + .speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_LOSE, EC_WORD_MY, EC_MOVE2(FRUSTRATION)}, + .speechAfter = {EC_WORD_YOU_RE, EC_WORD_JUST, EC_WORD_A_LITTLE, EC_WORD_KID, EC_WORD_AHAHA, EC_WORD_EXCL}, + .mons = { + { + .species = SPECIES_FLAAFFY, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_ATTRACT, MOVE_PROTECT, MOVE_THUNDERBOLT, MOVE_REFLECT}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000084, + .nickname = _("FLAAFFY"), + .friendship = 255 + }, + { + .species = SPECIES_QUAGSIRE, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_ATTRACT, MOVE_SURF, MOVE_AMNESIA, MOVE_BLIZZARD}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 155, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000093, + .nickname = _("QUAGSIRE"), + .friendship = 255 + }, + { + .species = SPECIES_PIKACHU, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_ATTRACT, MOVE_REVERSAL, MOVE_THUNDERBOLT, MOVE_IRON_TAIL}, + .hpEV = 0, + .attackEV = 155, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x0000008A, + .nickname = _("PIKACHU"), + .friendship = 255 + }, + { + .species = SPECIES_ELECTABUZZ, + .heldItem = ITEM_LIECHI_BERRY, + .moves = {MOVE_ATTRACT, MOVE_COUNTER, MOVE_ICE_PUNCH, MOVE_BODY_SLAM}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 150, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 105, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000046, + .nickname = _("ELECTABUZZ"), + .friendship = 255 + }, + { + .species = SPECIES_TOGETIC, + .heldItem = ITEM_KINGS_ROCK, + .moves = {MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_ANCIENT_POWER, MOVE_WATER_PULSE}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x0000002D, + .nickname = _("TOGETIC"), + .friendship = 255 + }, + { + .species = SPECIES_GOLDUCK, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_ATTRACT, MOVE_SURF, MOVE_DIG, MOVE_CROSS_CHOP}, + .hpEV = 0, + .attackEV = 155, + .defenseEV = 50, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 50, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000080, + .nickname = _("GOLDUCK"), + .friendship = 255 + }, + } + }, + { + .name = _("KATI & GEB"), + .facilityClass = FACILITY_CLASS_YOUNG_COUPLE_2, + .textColor = 2, + .speechBefore = {EC_WORD_I_AM, EC_WORD_PLUS, EC_WORD_YOU_RE, EC_WORD_MINUS, EC_WORD_LOVEY_DOVEY, EC_WORD_MAGNET_PULL}, + .speechWin = {EC_WORD_DON_T, EC_WORD_STOP, EC_WORD_OUR, EC_WORD_LOVEY_DOVEY, EC_WORD_LOCOMOTIVE, EC_WORD_EXCL}, + .speechLose = {EC_WORD_HIS, EC_WORD_CRY, EC_WORD_HAS, EC_WORD_CUTE_CHARM, EC_WORD_TOO, EC_WORD_EXCL}, + .speechAfter = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_TIME, EC_WORD_TO, EC_WORD_TALK, EC_WORD_QUES}, + .mons = { + { + .species = SPECIES_PICHU, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_ATTRACT, MOVE_PROTECT, MOVE_SWEET_KISS, MOVE_REVERSAL}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000003, + .nickname = _("PICHU"), + .friendship = 255 + }, + { + .species = SPECIES_ELEKID, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_ATTRACT, MOVE_PROTECT, MOVE_DOUBLE_TEAM, MOVE_FOCUS_PUNCH}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 130, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 125, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000002, + .nickname = _("ELEKID"), + .friendship = 255 + }, + { + .species = SPECIES_TOGEPI, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_ATTRACT, MOVE_PROTECT, MOVE_YAWN, MOVE_WATER_PULSE}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x0000000F, + .nickname = _("TOGEPI"), + .friendship = 255 + }, + { + .species = SPECIES_PSYDUCK, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_ATTRACT, MOVE_PROTECT, MOVE_DIG, MOVE_DIVE}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000016, + .nickname = _("PSYDUCK"), + .friendship = 255 + }, + { + .species = SPECIES_MAREEP, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_ATTRACT, MOVE_PROTECT, MOVE_LIGHT_SCREEN, MOVE_THUNDERBOLT}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 0, + .personality = 0x00000007, + .nickname = _("MAREEP"), + .friendship = 255 + }, + { + .species = SPECIES_WOOPER, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_ATTRACT, MOVE_PROTECT, MOVE_SURF, MOVE_YAWN}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 10, + .attackIV = 10, + .defenseIV = 10, + .speedIV = 10, + .spAttackIV = 10, + .spDefenseIV = 10, + .abilityNum = 1, + .personality = 0x00000007, + .nickname = _("WOOPER"), + .friendship = 255 + }, + } + }, + DUMMY_TOWER_TEAM(0), + }, + .checksum = 0x00015966 +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { + .flags = 0x1f, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_KNOCKOUT, + .prize = 0x07, + .trainers = { + { + .name = _("BEN"), + .facilityClass = FACILITY_CLASS_ROCKER, + .textColor = 1, + .speechBefore = {EC_WORD_LALALA, EC_WORD_LET_S, EC_MOVE(SING), EC_WORD_ABOUT, EC_WORD_ELECTRIC, EC_WORD_POWER}, + .speechWin = {EC_WORD_STATIC, EC_WORD_IS, EC_WORD_ELECTRIC, EC_WORD_YES, EC_WORD_IT, EC_WORD_IS}, + .speechLose = {EC_WORD_ELECTRIC, EC_WORD_ABOUT, EC_WORD_MY, EC_WORD_DIGITAL, EC_WORD_TELEVISION, EC_WORD_I_AM}, + .speechAfter = {EC_WORD_ELECTRIC, EC_WORD_EXCL, EC_WORD_IT_S, EC_WORD_A, EC_WORD_NATURAL, EC_WORD_POWER}, + .mons = { + { + .species = SPECIES_ELECTRODE, + .heldItem = ITEM_LIECHI_BERRY, + .moves = {MOVE_THUNDERBOLT, MOVE_MIRROR_COAT, MOVE_EXPLOSION, MOVE_THUNDER_WAVE}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 55, + .speedEV = 255, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000014, + .nickname = _("ELECTRODE"), + .friendship = 255 + }, + { + .species = SPECIES_ELECTABUZZ, + .heldItem = ITEM_CHOICE_BAND, + .moves = {MOVE_THUNDERBOLT, MOVE_FIRE_PUNCH, MOVE_PSYCHIC, MOVE_ICE_PUNCH}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 155, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000F, + .nickname = _("ELECTABUZZ"), + .friendship = 255 + }, + { + .species = SPECIES_LANTURN, + .heldItem = ITEM_CHOICE_BAND, + .moves = {MOVE_THUNDERBOLT, MOVE_DOUBLE_EDGE, MOVE_ICE_BEAM, MOVE_HYDRO_PUMP}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 125, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 130, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000008E, + .nickname = _("LANTURN"), + .friendship = 255 + }, + { + .species = SPECIES_MAGNETON, + .heldItem = ITEM_LIECHI_BERRY, + .moves = {MOVE_ZAP_CANNON, MOVE_HYPER_BEAM, MOVE_LOCK_ON, MOVE_SUPERSONIC}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 200, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 55, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000014, + .nickname = _("MAGNETON"), + .friendship = 255 + }, + { + .species = SPECIES_RAICHU, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_DOUBLE_EDGE, MOVE_MEGA_KICK, MOVE_REVERSAL, MOVE_BODY_SLAM}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 80, + .speedEV = 100, + .spAttackEV = 0, + .spDefenseEV = 75, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000008A, + .nickname = _("RAICHU"), + .friendship = 255 + }, + { + .species = SPECIES_AMPHAROS, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_THUNDERBOLT, MOVE_MEGA_KICK, MOVE_COUNTER, MOVE_BODY_SLAM}, + .hpEV = 0, + .attackEV = 200, + .defenseEV = 150, + .speedEV = 0, + .spAttackEV = 10, + .spDefenseEV = 150, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000007, + .nickname = _("AMPHAROS"), + .friendship = 255 + }, + } + }, + { + .name = _("CAMDEN"), + .facilityClass = FACILITY_CLASS_ENGINEER, + .textColor = 1, + .speechBefore = {EC_WORD_LALALA, EC_WORD_LET_S, EC_MOVE(SING), EC_WORD_ABOUT, EC_WORD_ELECTRIC, EC_WORD_POWER}, + .speechWin = {EC_WORD_A, EC_MOVE(THUNDERBOLT), EC_WORD_IS, EC_WORD_ELECTRIC, EC_WORD_TOO, EC_WORD_EXCL}, + .speechLose = {EC_WORD_ELECTRIC, EC_WORD_EXCL, EC_WORD_IT_S, EC_WORD_ABOUT, EC_WORD_WIRELESS, EC_WORD_LINK}, + .speechAfter = {EC_WORD_ELECTRIC, EC_WORD_EXCL, EC_WORD_IT_S, EC_WORD_A, EC_WORD_TREASURE, EC_WORD_EXCL}, + .mons = { + { + .species = SPECIES_GRANBULL, + .heldItem = ITEM_CHOICE_BAND, + .moves = {MOVE_THUNDERBOLT, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 55, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000002, + .nickname = _("GRANBULL"), + .friendship = 255 + }, + { + .species = SPECIES_PERSIAN, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_THUNDERBOLT, MOVE_WATER_PULSE, MOVE_HYPNOSIS, MOVE_SLASH}, + .hpEV = 0, + .attackEV = 100, + .defenseEV = 55, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000080, + .nickname = _("PERSIAN"), + .friendship = 255 + }, + { + .species = SPECIES_LICKITUNG, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_PROTECT, MOVE_SURF, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL}, + .hpEV = 200, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 55, + .spDefenseEV = 0, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000002, + .nickname = _("LICKITUNG"), + .friendship = 255 + }, + { + .species = SPECIES_RATICATE, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_THUNDERBOLT, MOVE_HYPER_FANG, MOVE_SUPER_FANG, MOVE_REVERSAL}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 100, + .speedEV = 50, + .spAttackEV = 0, + .spDefenseEV = 105, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000094, + .nickname = _("RATICATE"), + .friendship = 255 + }, + { + .species = SPECIES_PRIMEAPE, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_THUNDERBOLT, MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 130, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 125, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000002, + .nickname = _("PRIMEAPE"), + .friendship = 255 + }, + { + .species = SPECIES_KANGASKHAN, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_THUNDERBOLT, MOVE_SURF, MOVE_CRUSH_CLAW, MOVE_REST}, + .hpEV = 0, + .attackEV = 100, + .defenseEV = 155, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 155, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000011, + .nickname = _("KANGASKHAN"), + .friendship = 255 + }, + } + }, + { + .name = _("ZACKERY"), + .facilityClass = FACILITY_CLASS_SCIENTIST, + .textColor = 1, + .speechBefore = {EC_WORD_LALALA, EC_WORD_LET_S, EC_MOVE(SING), EC_WORD_ABOUT, EC_WORD_ELECTRIC, EC_WORD_POWER}, + .speechWin = {EC_MOVE2(THUNDER_SHOCK), EC_WORD_IS, EC_WORD_ELECTRIC, EC_WORD_YOU, EC_WORD_KNOW, EC_WORD_QUES}, + .speechLose = {EC_WORD_ELECTRIC, EC_WORD_EXCL, EC_MOVE2(FLASH), EC_MOVE2(FLASH), EC_MOVE2(FLASH), EC_WORD_EXCL_EXCL}, + .speechAfter = {EC_WORD_ALL, EC_WORD_TOGETHER, EC_WORD_NOW, EC_WORD_EXCL, EC_MOVE(SPARK), EC_MOVE(SPARK)}, + .mons = { + { + .species = SPECIES_WEEZING, + .heldItem = ITEM_CHOICE_BAND, + .moves = {MOVE_THUNDERBOLT, MOVE_SLUDGE_BOMB, MOVE_FLAMETHROWER, MOVE_SHADOW_BALL}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 155, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000002, + .nickname = _("WEEZING"), + .friendship = 255 + }, + { + .species = SPECIES_MUK, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_THUNDERBOLT, MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_CURSE}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 150, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 105, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x00000084, + .nickname = _("MUK"), + .friendship = 255 + }, + { + .species = SPECIES_GENGAR, + .heldItem = ITEM_PETAYA_BERRY, + .moves = {MOVE_THUNDERBOLT, MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_WILL_O_WISP}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 250, + .spAttackEV = 155, + .spDefenseEV = 105, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000A, + .nickname = _("GENGAR"), + .friendship = 255 + }, + { + .species = SPECIES_MISDREAVUS, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_PSYCHIC, MOVE_GRUDGE, MOVE_CONFUSE_RAY, MOVE_DESTINY_BOND}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 150, + .spAttackEV = 105, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x0000000A, + .nickname = _("MISDREAVUS"), + .friendship = 255 + }, + { + .species = SPECIES_CROBAT, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_SLUDGE_BOMB, MOVE_CONFUSE_RAY, MOVE_GIGA_DRAIN, MOVE_TOXIC}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 200, + .speedEV = 110, + .spAttackEV = 0, + .spDefenseEV = 200, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000087, + .nickname = _("CROBAT"), + .friendship = 255 + }, + { + .species = SPECIES_HAUNTER, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_DESTINY_BOND, MOVE_HYPNOSIS, MOVE_CONFUSE_RAY, MOVE_TOXIC}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 155, + .speedEV = 100, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x00000091, + .nickname = _("HAUNTER"), + .friendship = 255 + }, + } + }, + }, + .checksum = 0x00014f49 +}; + +static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { + .flags = 0x20, + .floorIdx = 8, + .challengeType = CHALLENGE_TYPE_KNOCKOUT, + .prize = 0x0e, + .trainers = { + { + .name = _("MAURA"), + .facilityClass = FACILITY_CLASS_BEAUTY_2, + .textColor = 2, + .speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_GROUP, EC_WORD_LEADER, EC_WORD_EXCL, 0xFFFF}, + .speechWin = {EC_WORD_WHAT, EC_WORD_AM, EC_WORD_I, EC_WORD_LEADER, EC_WORD_OF, EC_WORD_QUES}, + .speechLose = {EC_WORD_I_AM, EC_WORD_NO, EC_WORD_LEADER, EC_WORD_IT_S, EC_WORD_A_LITTLE, EC_WORD_LIE}, + .speechAfter = {EC_WORD_HEY, EC_WORD_EXCL, EC_WORD_THE, EC_WORD_GROUND, EC_WORD_IS, EC_WORD_SLIMY}, + .mons = { + { + .species = SPECIES_PICHU, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_THUNDER_SHOCK, MOVE_THUNDER_WAVE, MOVE_SWEET_KISS, MOVE_PROTECT}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000005, + .nickname = _("PICHU"), + .friendship = 255 + }, + { + .species = SPECIES_MAREEP, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_THUNDER_SHOCK, MOVE_CHARGE, MOVE_PROTECT, MOVE_RETURN}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000007, + .nickname = _("MAREEP"), + .friendship = 255 + }, + { + .species = SPECIES_IGGLYBUFF, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_SING, MOVE_SWEET_KISS, MOVE_PRESENT, MOVE_PROTECT}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000007, + .nickname = _("IGGLYBUFF"), + .friendship = 255 + }, + { + .species = SPECIES_CLEFFA, + .heldItem = ITEM_LAX_INCENSE, + .moves = {MOVE_SING, MOVE_SWEET_KISS, MOVE_ENCORE, MOVE_METRONOME}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000016, + .nickname = _("CLEFFA"), + .friendship = 255 + }, + { + .species = SPECIES_NIDORAN_F, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_CRUNCH, MOVE_DIG, MOVE_FLATTER, MOVE_ATTRACT}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000016, + .nickname = _("NIDORAN♀"), + .friendship = 255 + }, + { + .species = SPECIES_NIDORAN_M, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_HORN_DRILL, MOVE_SLUDGE_BOMB, MOVE_FLATTER, MOVE_ATTRACT}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 255, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 255, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000007, + .nickname = _("NIDORAN♂"), + .friendship = 255 + }, + } + }, + { + .name = _("MIKAELA"), + .facilityClass = FACILITY_CLASS_LASS_2, + .textColor = 1, + .speechBefore = {EC_WORD_I_AM, EC_WORD_REALLY, EC_WORD_THE, EC_WORD_NO_1, EC_WORD_TRAINER, EC_WORD_HERE}, + .speechWin = {EC_WORD_NEVER, EC_WORD_SAID, EC_WORD_WHAT, EC_WORD_I_AM, EC_WORD_NO_1, EC_WORD_AT}, + .speechLose = {EC_WORD_NEXT, EC_WORD_TIME, EC_WORD_I, EC_WORD_WILL, EC_WORD_BE, EC_WORD_OVERWHELMING}, + .speechAfter = {EC_WORD_YOU, EC_MOVE2(SPIT_UP), EC_WORD_ME, EC_WORD_AS_IF, EC_WORD_I_AM, EC_WORD_NOTHING}, + .mons = { + { + .species = SPECIES_NIDORINO, + .heldItem = ITEM_CHOICE_BAND, + .moves = {MOVE_SHOCK_WAVE, MOVE_HORN_DRILL, MOVE_ICE_BEAM, MOVE_IRON_TAIL}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 155, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000007, + .nickname = _("NIDORINO"), + .friendship = 255 + }, + { + .species = SPECIES_NIDORINA, + .heldItem = ITEM_CHOICE_BAND, + .moves = {MOVE_SHOCK_WAVE, MOVE_CRUNCH, MOVE_BODY_SLAM, MOVE_COUNTER}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 155, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000016, + .nickname = _("NIDORINA"), + .friendship = 255 + }, + { + .species = SPECIES_PIKACHU, + .heldItem = ITEM_LIGHT_BALL, + .moves = {MOVE_SHOCK_WAVE, MOVE_THUNDER_WAVE, MOVE_COUNTER, MOVE_BODY_SLAM}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 200, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 55, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000011, + .nickname = _("PIKACHU"), + .friendship = 255 + }, + { + .species = SPECIES_FLAAFFY, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_SHOCK_WAVE, MOVE_DOUBLE_TEAM, MOVE_SEISMIC_TOSS, MOVE_BODY_SLAM}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 150, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000007, + .nickname = _("FLAAFFY"), + .friendship = 255 + }, + { + .species = SPECIES_JIGGLYPUFF, + .heldItem = ITEM_CHOICE_BAND, + .moves = {MOVE_SHOCK_WAVE, MOVE_SHADOW_BALL, MOVE_FOCUS_PUNCH, MOVE_BODY_SLAM}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 150, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 105, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000016, + .nickname = _("JIGGLYPUFF"), + .friendship = 255 + }, + { + .species = SPECIES_CLEFAIRY, + .heldItem = ITEM_CHOICE_BAND, + .moves = {MOVE_SHOCK_WAVE, MOVE_METEOR_MASH, MOVE_MOONLIGHT, MOVE_BODY_SLAM}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 155, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000007, + .nickname = _("CLEFAIRY"), + .friendship = 255 + }, + } + }, + { + .name = _("FLINT"), + .facilityClass = FACILITY_CLASS_ENGINEER, + .textColor = 4, + .speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_MOVE2(MILK_DRINK), EC_WORD_WORLD, EC_WORD_LEADER, EC_WORD_EXCL}, + .speechWin = {EC_WORD_I_VE, EC_WORD_WON, EC_WORD_THIS, EC_MOVE2(MILK_DRINK), EC_WORD_MATCH, EC_WORD_EXCL}, + .speechLose = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_DRINK, EC_WORD_ANY, EC_WORD_MORE, EC_WORD_DRINKS}, + .speechAfter = {EC_WORD_WHOAH, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_DROOLING, EC_WORD_ALL, EC_WORD_OVER}, + .mons = { + { + .species = SPECIES_WIGGLYTUFF, + .heldItem = ITEM_CHOICE_BAND, + .moves = {MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_WATER_PULSE, MOVE_FLAMETHROWER}, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 155, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x000000CF, + .nickname = _("WIGGLYTUFF"), + .friendship = 255 + }, + { + .species = SPECIES_CLEFABLE, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_THUNDERBOLT, MOVE_SOFT_BOILED, MOVE_METEOR_MASH, MOVE_DOUBLE_EDGE}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 150, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x000000CF, + .nickname = _("CLEFABLE"), + .friendship = 255 + }, + { + .species = SPECIES_NIDOQUEEN, + .heldItem = ITEM_CHOICE_BAND, + .moves = {MOVE_THUNDERBOLT, MOVE_CRUNCH, MOVE_SUPERPOWER, MOVE_SURF}, + .hpEV = 0, + .attackEV = 200, + .defenseEV = 110, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000007, + .nickname = _("NIDOQUEEN"), + .friendship = 255 + }, + { + .species = SPECIES_NIDOKING, + .heldItem = ITEM_CHOICE_BAND, + .moves = {MOVE_THUNDERBOLT, MOVE_HYPER_BEAM, MOVE_MEGAHORN, MOVE_SHADOW_BALL}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 150, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000002, + .nickname = _("NIDOKING"), + .friendship = 255 + }, + { + .species = SPECIES_RAICHU, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_THUNDERBOLT, MOVE_REVERSAL, MOVE_IRON_TAIL, MOVE_DOUBLE_EDGE}, + .hpEV = 0, + .attackEV = 155, + .defenseEV = 150, + .speedEV = 100, + .spAttackEV = 0, + .spDefenseEV = 105, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000080, + .nickname = _("RAICHU"), + .friendship = 255 + }, + { + .species = SPECIES_AMPHAROS, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_THUNDERBOLT, MOVE_REST, MOVE_BODY_SLAM, MOVE_IRON_TAIL}, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 150, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 105, + .otId = 0 | (4096 << 16), + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x00000080, + .nickname = _("AMPHAROS"), + .friendship = 255 + }, + } + }, + }, + .checksum = 0x00016b80 +}; + +const struct EReaderTrainerTowerSetSubstruct gTrainerTowerLocalHeader = { + .numFloors = MAX_TRAINER_TOWER_FLOORS, + .id = 1 +}; + +const struct TrainerTowerFloor *const gTrainerTowerFloors[NUM_TOWER_CHALLENGE_TYPES][MAX_TRAINER_TOWER_FLOORS] = { + [CHALLENGE_TYPE_SINGLE] = { + &sTrainerTowerFloor_Single_1, + &sTrainerTowerFloor_Single_2, + &sTrainerTowerFloor_Single_3, + &sTrainerTowerFloor_Single_4, + &sTrainerTowerFloor_Single_5, + &sTrainerTowerFloor_Single_6, + &sTrainerTowerFloor_Single_7, + &sTrainerTowerFloor_Single_8 + }, + [CHALLENGE_TYPE_DOUBLE] = { + &sTrainerTowerFloor_Double_1, + &sTrainerTowerFloor_Double_2, + &sTrainerTowerFloor_Double_3, + &sTrainerTowerFloor_Double_4, + &sTrainerTowerFloor_Double_5, + &sTrainerTowerFloor_Double_6, + &sTrainerTowerFloor_Double_7, + &sTrainerTowerFloor_Double_8 + }, + [CHALLENGE_TYPE_KNOCKOUT] = { + &sTrainerTowerFloor_Knockout_1, + &sTrainerTowerFloor_Knockout_2, + &sTrainerTowerFloor_Knockout_3, + &sTrainerTowerFloor_Knockout_4, + &sTrainerTowerFloor_Knockout_5, + &sTrainerTowerFloor_Knockout_6, + &sTrainerTowerFloor_Knockout_7, + &sTrainerTowerFloor_Knockout_8 + }, + [CHALLENGE_TYPE_MIXED] = { + &sTrainerTowerFloor_Mixed_1, + &sTrainerTowerFloor_Mixed_2, + &sTrainerTowerFloor_Mixed_3, + &sTrainerTowerFloor_Double_8, + &sTrainerTowerFloor_Mixed_5, + &sTrainerTowerFloor_Knockout_8, + &sTrainerTowerFloor_Double_3, + &sTrainerTowerFloor_Knockout_2 + } +}; -- cgit v1.2.3 From 46a98a8f8dd73586a6ea77670d74a534dca30419 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 28 Apr 2021 18:54:52 -0400 Subject: Modern gcc is just as dumb as agbcc --- src/trainer_tower_sets.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/trainer_tower_sets.c b/src/trainer_tower_sets.c index ceadafa08..b0bf0838a 100644 --- a/src/trainer_tower_sets.c +++ b/src/trainer_tower_sets.c @@ -1,14 +1,16 @@ #include "global.h" #include "cereader_tool.h" #include "trainer_tower.h" +#include "text.h" #include "constants/easy_chat.h" #include "constants/items.h" #include "constants/moves.h" #include "constants/trainer_tower.h" #include "constants/facility_trainer_classes.h" -#define DUMMY_TOWER_MON(iv) ((struct BattleTowerPokemon){.hpIV = iv, .attackIV = iv, .defenseIV = iv, .speedIV = iv, .spAttackIV = iv, .spDefenseIV = iv, .nickname = _("$$$$$$$$$$")}) -#define DUMMY_TOWER_TEAM(iv) ((struct TrainerTowerTrainer){.name = _(), .textColor = 1, .speechBefore = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechWin = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechAfter = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .mons = {DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv)}}) +// Dummy strings must be declared explicitly for the sake of modern gcc +#define DUMMY_TOWER_MON(iv) {.hpIV = iv, .attackIV = iv, .defenseIV = iv, .speedIV = iv, .spAttackIV = iv, .spDefenseIV = iv, .nickname = _("$$$$$$$$$$")} +#define DUMMY_TOWER_TEAM(iv) {.name = _(""), .textColor = 1, .speechBefore = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechWin = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechAfter = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .mons = {DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv)}} static const struct TrainerTowerFloor sTrainerTowerFloor_Single_4 = { .flags = 0x01, -- cgit v1.2.3 From 9a91476b81b559db70c9f9cc4467439b55244beb Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 28 Apr 2021 20:44:15 -0400 Subject: Improve documentation of trainer tower sets --- src/trainer_tower_sets.c | 912 +++++++++++++++++++++++------------------------ 1 file changed, 456 insertions(+), 456 deletions(-) (limited to 'src') diff --git a/src/trainer_tower_sets.c b/src/trainer_tower_sets.c index b0bf0838a..119950d7f 100644 --- a/src/trainer_tower_sets.c +++ b/src/trainer_tower_sets.c @@ -13,10 +13,10 @@ #define DUMMY_TOWER_TEAM(iv) {.name = _(""), .textColor = 1, .speechBefore = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechWin = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechAfter = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .mons = {DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv)}} static const struct TrainerTowerFloor sTrainerTowerFloor_Single_4 = { - .flags = 0x01, - .floorIdx = 8, + .id = 1, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_SINGLE, - .prize = 0x07, + .prize = TTPRIZE_WHITE_HERB, .trainers = { { .name = _("COLE"), @@ -45,7 +45,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_4 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000016, + .personality = 0x16, // FEMALE SASSY .nickname = _("RATICATE"), .friendship = 255 }, @@ -67,7 +67,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_4 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000056, + .personality = 0x56, // MALE HASTY .nickname = _("MAGMAR"), .friendship = 255 }, @@ -89,7 +89,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_4 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000002, + .personality = 0x02, // FEMALE BRAVE .nickname = _("MAGCARGO"), .friendship = 255 }, @@ -111,7 +111,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_4 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000087, + .personality = 0x87, // MALE TIMID .nickname = _("PRIMEAPE"), .friendship = 255 }, @@ -133,7 +133,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_4 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000081, + .personality = 0x81, // MALE NAUGHTY .nickname = _("GOLBAT"), .friendship = 255 }, @@ -155,7 +155,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_4 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000011, + .personality = 0x11, // FEMALE QUIET .nickname = _("SLOWBRO"), .friendship = 255 }, @@ -168,10 +168,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_4 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Single_7 = { - .flags = 0x02, - .floorIdx = 8, + .id = 2, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_SINGLE, - .prize = 0x0d, + .prize = TTPRIZE_DRAGON_SCALE, .trainers = { { .name = _("JAC"), @@ -200,7 +200,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000008A, + .personality = 0x8A, // MALE JOLLY .nickname = _("MEOWTH"), .friendship = 255 }, @@ -222,7 +222,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000007, + .personality = 0x07, // FEMALE RELAXED .nickname = _("FLAREON"), .friendship = 255 }, @@ -244,7 +244,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000007, + .personality = 0x07, // GENDERLESS RELAXED .nickname = _("PORYGON"), .friendship = 255 }, @@ -266,7 +266,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000010, + .personality = 0x10, // FEMALE MILD .nickname = _("CHANSEY"), .friendship = 255 }, @@ -288,7 +288,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000085, + .personality = 0x85, // MALE IMPISH .nickname = _("FARFETCH'D"), .friendship = 255 }, @@ -310,7 +310,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000082, + .personality = 0x82, // MALE BOLD .nickname = _("MR. MIME"), .friendship = 255 }, @@ -323,10 +323,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_7 = { }; static const struct TrainerTowerFloor gUnknown_847B36C = { - .flags = 0x03, - .floorIdx = 8, + .id = 3, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_SINGLE, - .prize = 0x02, + .prize = TTPRIZE_IRON, .trainers = { { .name = _("MILY"), @@ -355,7 +355,7 @@ static const struct TrainerTowerFloor gUnknown_847B36C = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000008, + .personality = 0x08, // FEMALE IMPISH .nickname = _("CHANSEY"), .friendship = 255 }, @@ -377,7 +377,7 @@ static const struct TrainerTowerFloor gUnknown_847B36C = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000016, + .personality = 0x16, // FEMALE SASSY .nickname = _("CLEFABLE"), .friendship = 255 }, @@ -399,7 +399,7 @@ static const struct TrainerTowerFloor gUnknown_847B36C = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000016, + .personality = 0x16, // FEMALE SASSY .nickname = _("TOGETIC"), .friendship = 255 }, @@ -421,7 +421,7 @@ static const struct TrainerTowerFloor gUnknown_847B36C = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000020, + .personality = 0x20, // MALE RELAXED .nickname = _("TOGETIC"), .friendship = 255 }, @@ -443,7 +443,7 @@ static const struct TrainerTowerFloor gUnknown_847B36C = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000005, + .personality = 0x05, // FEMALE BOLD .nickname = _("CHANSEY"), .friendship = 255 }, @@ -465,7 +465,7 @@ static const struct TrainerTowerFloor gUnknown_847B36C = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x000000C0, + .personality = 0xC0, // MALE QUIET .nickname = _("CLEFABLE"), .friendship = 255 }, @@ -478,10 +478,10 @@ static const struct TrainerTowerFloor gUnknown_847B36C = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Double_5 = { - .flags = 0x04, - .floorIdx = 8, + .id = 4, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_DOUBLE, - .prize = 0x09, + .prize = TTPRIZE_CHOICE_BAND, .trainers = { { .name = _("JOS & ANNE"), @@ -510,7 +510,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_5 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 1, - .personality = 0x00000010, + .personality = 0x10, // FEMALE MILD .nickname = _("RAPIDASH"), .friendship = 255 }, @@ -532,7 +532,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_5 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000015, + .personality = 0x15, // FEMALE GENTLE .nickname = _("NINETALES"), .friendship = 255 }, @@ -554,7 +554,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_5 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x0000000A, + .personality = 0x0A, // FEMALE TIMID .nickname = _("MISDREAVUS"), .friendship = 255 }, @@ -576,7 +576,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_5 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x0000000A, + .personality = 0x0A, // FEMALE TIMID .nickname = _("ALAKAZAM"), .friendship = 255 }, @@ -598,7 +598,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_5 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 1, - .personality = 0x00000016, + .personality = 0x16, // FEMALE SASSY .nickname = _("BLISSEY"), .friendship = 255 }, @@ -620,7 +620,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_5 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000017, + .personality = 0x17, // FEMALE CAREFUL .nickname = _("CROBAT"), .friendship = 255 }, @@ -653,7 +653,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_5 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 1, - .personality = 0x00000082, + .personality = 0x82, // MALE BOLD .nickname = _("HOUNDOOM"), .friendship = 255 }, @@ -675,7 +675,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_5 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 1, - .personality = 0x00000033, + .personality = 0x33, // MALE LONELY .nickname = _("AERODACTYL"), .friendship = 255 }, @@ -697,7 +697,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_5 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000056, + .personality = 0x56, // MALE HASTY .nickname = _("ARCANINE"), .friendship = 255 }, @@ -719,7 +719,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_5 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x0000008E, + .personality = 0x8E, // MALE QUIET .nickname = _("WEEZING"), .friendship = 255 }, @@ -741,7 +741,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_5 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000033, + .personality = 0x33, // MALE LONELY .nickname = _("CHARIZARD"), .friendship = 255 }, @@ -763,7 +763,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_5 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000087, + .personality = 0x87, // MALE TIMID .nickname = _("GENGAR"), .friendship = 255 }, @@ -775,10 +775,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_5 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Double_6 = { - .flags = 0x05, - .floorIdx = 8, + .id = 5, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_DOUBLE, - .prize = 0x04, + .prize = TTPRIZE_CALCIUM, .trainers = { { .name = _("EMY & ALEK"), @@ -807,7 +807,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000A, + .personality = 0x0A, // MALE TIMID .nickname = _("TAUROS"), .friendship = 255 }, @@ -829,7 +829,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000002, + .personality = 0x02, // FEMALE BRAVE .nickname = _("KANGASKHAN"), .friendship = 255 }, @@ -851,7 +851,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000094, + .personality = 0x94, // MALE CAREFUL .nickname = _("FEAROW"), .friendship = 255 }, @@ -873,7 +873,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000024, + .personality = 0x24, // MALE HASTY .nickname = _("TOGETIC"), .friendship = 255 }, @@ -895,7 +895,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000D, + .personality = 0x0D, // FEMALE JOLLY .nickname = _("PIDGEOT"), .friendship = 255 }, @@ -917,7 +917,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000008A, + .personality = 0x8A, // MALE JOLLY .nickname = _("URSARING"), .friendship = 255 }, @@ -950,7 +950,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000016, + .personality = 0x16, // FEMALE SASSY .nickname = _("LICKITUNG"), .friendship = 255 }, @@ -972,7 +972,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000B, + .personality = 0x0B, // FEMALE HASTY .nickname = _("NOCTOWL"), .friendship = 255 }, @@ -994,7 +994,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x0000000E, + .personality = 0x0E, // FEMALE NAIVE .nickname = _("FURRET"), .friendship = 255 }, @@ -1016,7 +1016,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x0000008A, + .personality = 0x8A, // MALE JOLLY .nickname = _("RATICATE"), .friendship = 255 }, @@ -1038,7 +1038,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000B, + .personality = 0x0B, // FEMALE HASTY .nickname = _("WIGGLYTUFF"), .friendship = 255 }, @@ -1060,7 +1060,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000A, + .personality = 0x0A, // GENDERLESS TIMID .nickname = _("PORYGON2"), .friendship = 255 }, @@ -1072,10 +1072,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_6 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Double_2 = { - .flags = 0x06, - .floorIdx = 8, + .id = 6, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_DOUBLE, - .prize = 0x00, + .prize = TTPRIZE_HP_UP, .trainers = { { .name = _("JO & HALEY"), @@ -1104,7 +1104,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_2 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x0000000D, + .personality = 0x0D, // FEMALE JOLLY .nickname = _("SNEASEL"), .friendship = 255 }, @@ -1126,7 +1126,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_2 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000005, + .personality = 0x05, // FEMALE BOLD .nickname = _("ALAKAZAM"), .friendship = 255 }, @@ -1148,7 +1148,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_2 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000008, + .personality = 0x08, // MALE IMPISH .nickname = _("HITMONTOP"), .friendship = 255 }, @@ -1170,7 +1170,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_2 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x0000000A, + .personality = 0x0A, // FEMALE TIMID .nickname = _("GIRAFARIG"), .friendship = 255 }, @@ -1192,7 +1192,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_2 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000014, + .personality = 0x14, // FEMALE CALM .nickname = _("XATU"), .friendship = 255 }, @@ -1214,7 +1214,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_2 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000005, + .personality = 0x05, // FEMALE BOLD .nickname = _("MR. MIME"), .friendship = 255 }, @@ -1247,7 +1247,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_2 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000087, + .personality = 0x87, // MALE TIMID .nickname = _("HYPNO"), .friendship = 255 }, @@ -1269,7 +1269,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_2 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000F, + .personality = 0x0F, // MALE MODEST .nickname = _("HITMONCHAN"), .friendship = 255 }, @@ -1291,7 +1291,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_2 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000043, + .personality = 0x43, // MALE QUIET .nickname = _("MACHAMP"), .friendship = 255 }, @@ -1313,7 +1313,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_2 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000087, + .personality = 0x87, // MALE TIMID .nickname = _("HOUNDOOM"), .friendship = 255 }, @@ -1335,7 +1335,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_2 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000008C, + .personality = 0x8C, // MALE MODEST .nickname = _("PRIMEAPE"), .friendship = 255 }, @@ -1357,7 +1357,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_2 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000085, + .personality = 0x85, // MALE IMPISH .nickname = _("HERACROSS"), .friendship = 255 }, @@ -1369,10 +1369,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_2 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { - .flags = 0x07, - .floorIdx = 8, + .id = 7, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_KNOCKOUT, - .prize = 0x0c, + .prize = TTPRIZE_METAL_COAT, .trainers = { { .name = _("JORDY"), @@ -1401,7 +1401,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000043, + .personality = 0x43, // MALE QUIET .nickname = _("MAGBY"), .friendship = 0 }, @@ -1423,7 +1423,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x000000CA, + .personality = 0xCA, // MALE BRAVE .nickname = _("CLEFFA"), .friendship = 255 }, @@ -1445,7 +1445,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x000000D2, + .personality = 0xD2, // MALE TIMID .nickname = _("IGGLYBUFF"), .friendship = 255 }, @@ -1467,7 +1467,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000011, + .personality = 0x11, // FEMALE QUIET .nickname = _("SMOOCHUM"), .friendship = 255 }, @@ -1489,7 +1489,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000034, + .personality = 0x34, // MALE BRAVE .nickname = _("TOGEPI"), .friendship = 0 }, @@ -1511,7 +1511,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000008E, + .personality = 0x8E, // MALE QUIET .nickname = _("PICHU"), .friendship = 0 }, @@ -1544,7 +1544,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x000000CA, + .personality = 0xCA, // MALE BRAVE .nickname = _("CLEFFA"), .friendship = 0 }, @@ -1566,7 +1566,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000004D, + .personality = 0x4D, // MALE BRAVE .nickname = _("MAGBY"), .friendship = 0 }, @@ -1588,7 +1588,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000034, + .personality = 0x34, // MALE BRAVE .nickname = _("TOGEPI"), .friendship = 0 }, @@ -1610,7 +1610,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000016, + .personality = 0x16, // FEMALE SASSY .nickname = _("SMOOCHUM"), .friendship = 0 }, @@ -1632,7 +1632,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000000A, + .personality = 0x0A, // FEMALE TIMID .nickname = _("IGGLYBUFF"), .friendship = 0 }, @@ -1654,7 +1654,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000080, + .personality = 0x80, // MALE ADAMANT .nickname = _("PICHU"), .friendship = 0 }, @@ -1687,7 +1687,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000081, + .personality = 0x81, // MALE NAUGHTY .nickname = _("PICHU"), .friendship = 0 }, @@ -1709,7 +1709,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000033, + .personality = 0x33, // MALE LONELY .nickname = _("TOGEPI"), .friendship = 0 }, @@ -1731,7 +1731,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x000000CF, + .personality = 0xCF, // MALE RELAXED .nickname = _("CLEFFA"), .friendship = 0 }, @@ -1753,7 +1753,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x000000CF, + .personality = 0xCF, // MALE RELAXED .nickname = _("IGGLYBUFF"), .friendship = 0 }, @@ -1775,7 +1775,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000016, + .personality = 0x16, // FEMALE SASSY .nickname = _("SMOOCHUM"), .friendship = 0 }, @@ -1797,7 +1797,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000004D, + .personality = 0x4D, // MALE BRAVE .nickname = _("MAGBY"), .friendship = 0 }, @@ -1808,10 +1808,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { - .flags = 0x08, - .floorIdx = 8, + .id = 8, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_KNOCKOUT, - .prize = 0x0e, + .prize = TTPRIZE_UP_GRADE, .trainers = { { .name = _("MIKE"), @@ -1840,7 +1840,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000080, + .personality = 0x80, // MALE ADAMANT .nickname = _("PINSIR"), .friendship = 255 }, @@ -1862,7 +1862,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000035, + .personality = 0x35, // MALE ADAMANT .nickname = _("CHARIZARD"), .friendship = 255 }, @@ -1884,7 +1884,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000009, + .personality = 0x09, // FEMALE LAX .nickname = _("RHYDON"), .friendship = 255 }, @@ -1906,7 +1906,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x0000003F, + .personality = 0x3F, // MALE JOLLY .nickname = _("ARCANINE"), .friendship = 255 }, @@ -1928,7 +1928,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000002, + .personality = 0x02, // FEMALE BRAVE .nickname = _("GOLEM"), .friendship = 255 }, @@ -1950,7 +1950,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 1, - .personality = 0x00000008, + .personality = 0x08, // FEMALE IMPISH .nickname = _("HOUNDOOM"), .friendship = 255 }, @@ -1983,7 +1983,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x0000000D, + .personality = 0x0D, // FEMALE JOLLY .nickname = _("SANDSLASH"), .friendship = 255 }, @@ -2005,7 +2005,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000003, + .personality = 0x03, // FEMALE ADAMANT .nickname = _("DRAGONAIR"), .friendship = 255 }, @@ -2027,7 +2027,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 1, - .personality = 0x00000094, + .personality = 0x94, // MALE CAREFUL .nickname = _("RAPIDASH"), .friendship = 255 }, @@ -2049,7 +2049,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000021, + .personality = 0x21, // MALE IMPISH .nickname = _("FLAREON"), .friendship = 255 }, @@ -2071,7 +2071,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000017, + .personality = 0x17, // FEMALE CAREFUL .nickname = _("NIDOQUEEN"), .friendship = 255 }, @@ -2093,7 +2093,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000080, + .personality = 0x80, // MALE ADAMANT .nickname = _("PERSIAN"), .friendship = 255 }, @@ -2126,7 +2126,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000008, + .personality = 0x08, // MALE IMPISH .nickname = _("HITMONLEE"), .friendship = 255 }, @@ -2148,7 +2148,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000017, + .personality = 0x17, // FEMALE CAREFUL .nickname = _("SCYTHER"), .friendship = 255 }, @@ -2170,7 +2170,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000053, + .personality = 0x53, // MALE IMPISH .nickname = _("MAGMAR"), .friendship = 255 }, @@ -2192,7 +2192,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x0000003F, + .personality = 0x3F, // MALE JOLLY .nickname = _("MACHAMP"), .friendship = 255 }, @@ -2214,7 +2214,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000008, + .personality = 0x08, // FEMALE IMPISH .nickname = _("PRIMEAPE"), .friendship = 255 }, @@ -2236,7 +2236,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x0000000D, + .personality = 0x0D, // FEMALE JOLLY .nickname = _("POLIWRATH"), .friendship = 255 }, @@ -2247,10 +2247,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Single_5 = { - .flags = 0x09, - .floorIdx = 8, + .id = 9, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_SINGLE, - .prize = 0x00, + .prize = TTPRIZE_HP_UP, .trainers = { { .name = _("JOEY"), @@ -2279,7 +2279,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_5 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000089, + .personality = 0x89, // MALE SERIOUS .nickname = _("MURKROW"), .friendship = 255 }, @@ -2301,7 +2301,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_5 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000C, + .personality = 0x0C, // MALE SERIOUS .nickname = _("TAUROS"), .friendship = 255 }, @@ -2323,7 +2323,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_5 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000089, + .personality = 0x89, // MALE SERIOUS .nickname = _("SLOWBRO"), .friendship = 255 }, @@ -2345,7 +2345,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_5 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000089, + .personality = 0x89, // MALE SERIOUS .nickname = _("ARBOK"), .friendship = 255 }, @@ -2367,7 +2367,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_5 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000C, + .personality = 0x0C, // MALE SERIOUS .nickname = _("NIDOKING"), .friendship = 255 }, @@ -2389,7 +2389,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_5 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000089, + .personality = 0x89, // MALE SERIOUS .nickname = _("RAPIDASH"), .friendship = 255 }, @@ -2402,10 +2402,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_5 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Single_8 = { - .flags = 0x0a, - .floorIdx = 8, + .id = 10, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_SINGLE, - .prize = 0x0c, + .prize = TTPRIZE_METAL_COAT, .trainers = { { .name = _("LILY"), @@ -2434,7 +2434,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_8 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000000C, + .personality = 0x0C, // FEMALE SERIOUS .nickname = _("CLEFAIRY"), .friendship = 255 }, @@ -2456,7 +2456,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_8 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x0000000C, + .personality = 0x0C, // FEMALE SERIOUS .nickname = _("TOGEPI"), .friendship = 255 }, @@ -2478,7 +2478,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_8 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000089, + .personality = 0x89, // MALE SERIOUS .nickname = _("MEOWTH"), .friendship = 255 }, @@ -2500,7 +2500,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_8 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000000C, + .personality = 0x0C, // FEMALE SERIOUS .nickname = _("JIGGLYPUFF"), .friendship = 255 }, @@ -2522,7 +2522,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_8 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000025, + .personality = 0x25, // MALE SERIOUS .nickname = _("SNORLAX"), .friendship = 255 }, @@ -2544,7 +2544,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_8 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000000C, + .personality = 0x0C, // FEMALE SERIOUS .nickname = _("SNUBBULL"), .friendship = 255 }, @@ -2557,10 +2557,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_8 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Single_2 = { - .flags = 0x0b, - .floorIdx = 8, + .id = 11, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_SINGLE, - .prize = 0x0e, + .prize = TTPRIZE_UP_GRADE, .trainers = { { .name = _("BRANDON"), @@ -2589,7 +2589,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x0000008A, + .personality = 0x8A, // MALE JOLLY .nickname = _("BUTTERFREE"), .friendship = 255 }, @@ -2611,7 +2611,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x0000008A, + .personality = 0x8A, // MALE JOLLY .nickname = _("BEEDRILL"), .friendship = 255 }, @@ -2633,7 +2633,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x0000008A, + .personality = 0x8A, // MALE JOLLY .nickname = _("PARASECT"), .friendship = 255 }, @@ -2655,7 +2655,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 1, - .personality = 0x0000008A, + .personality = 0x8A, // MALE JOLLY .nickname = _("YANMA"), .friendship = 255 }, @@ -2677,7 +2677,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x0000008A, + .personality = 0x8A, // MALE JOLLY .nickname = _("SHUCKLE"), .friendship = 255 }, @@ -2699,7 +2699,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x0000008A, + .personality = 0x8A, // MALE JOLLY .nickname = _("FORRETRESS"), .friendship = 255 }, @@ -2712,10 +2712,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_2 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Double_3 = { - .flags = 0x0c, - .floorIdx = 8, + .id = 12, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_DOUBLE, - .prize = 0x02, + .prize = TTPRIZE_IRON, .trainers = { { .name = _("RIC & RENE"), @@ -2744,7 +2744,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000002, + .personality = 0x02, // MALE BRAVE .nickname = _("HITMONLEE"), .friendship = 255 }, @@ -2766,7 +2766,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000007F, + .personality = 0x7F, // MALE BRAVE .nickname = _("RHYDON"), .friendship = 255 }, @@ -2788,7 +2788,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000002, + .personality = 0x02, // FEMALE BRAVE .nickname = _("GOLEM"), .friendship = 255 }, @@ -2810,7 +2810,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000004F, + .personality = 0x4F, // MALE NAUGHTY .nickname = _("MAGMAR"), .friendship = 255 }, @@ -2832,7 +2832,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000007F, + .personality = 0x7F, // MALE BRAVE .nickname = _("HERACROSS"), .friendship = 255 }, @@ -2854,7 +2854,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000097, + .personality = 0x97, // MALE LONELY .nickname = _("POLIWRATH"), .friendship = 255 }, @@ -2887,7 +2887,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000004E, + .personality = 0x4E, // MALE ADAMANT .nickname = _("MACHAMP"), .friendship = 255 }, @@ -2909,7 +2909,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000080, + .personality = 0x80, // MALE ADAMANT .nickname = _("PINSIR"), .friendship = 255 }, @@ -2931,7 +2931,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000003, + .personality = 0x03, // FEMALE ADAMANT .nickname = _("MAROWAK"), .friendship = 255 }, @@ -2953,7 +2953,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000003, + .personality = 0x03, // MALE ADAMANT .nickname = _("HITMONCHAN"), .friendship = 255 }, @@ -2975,7 +2975,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000004F, + .personality = 0x4F, // MALE NAUGHTY .nickname = _("ELECTABUZZ"), .friendship = 255 }, @@ -2997,7 +2997,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000097, + .personality = 0x97, // MALE LONELY .nickname = _("POLIWRATH"), .friendship = 255 }, @@ -3009,10 +3009,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_3 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Double_1 = { - .flags = 0x0d, - .floorIdx = 8, + .id = 13, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_DOUBLE, - .prize = 0x0d, + .prize = TTPRIZE_DRAGON_SCALE, .trainers = { { .name = _("JEN & KIRA"), @@ -3041,7 +3041,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000029, + .personality = 0x29, // MALE MILD .nickname = _("JOLTEON"), .friendship = 255 }, @@ -3063,7 +3063,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000029, + .personality = 0x29, // MALE MILD .nickname = _("ESPEON"), .friendship = 255 }, @@ -3085,7 +3085,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000033, + .personality = 0x33, // MALE LONELY .nickname = _("FLAREON"), .friendship = 255 }, @@ -3107,7 +3107,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000010, + .personality = 0x10, // FEMALE MILD .nickname = _("VAPOREON"), .friendship = 255 }, @@ -3129,7 +3129,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000010, + .personality = 0x10, // FEMALE MILD .nickname = _("EEVEE"), .friendship = 255 }, @@ -3151,7 +3151,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000010, + .personality = 0x10, // FEMALE MILD .nickname = _("UMBREON"), .friendship = 255 }, @@ -3184,7 +3184,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000000A, + .personality = 0x0A, // FEMALE TIMID .nickname = _("JOLTEON"), .friendship = 255 }, @@ -3206,7 +3206,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000000A, + .personality = 0x0A, // FEMALE TIMID .nickname = _("ESPEON"), .friendship = 255 }, @@ -3228,7 +3228,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000000D, + .personality = 0x0D, // FEMALE JOLLY .nickname = _("FLAREON"), .friendship = 255 }, @@ -3250,7 +3250,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000023, + .personality = 0x23, // MALE TIMID .nickname = _("VAPOREON"), .friendship = 255 }, @@ -3272,7 +3272,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000023, + .personality = 0x23, // MALE TIMID .nickname = _("EEVEE"), .friendship = 255 }, @@ -3294,7 +3294,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_1 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000023, + .personality = 0x23, // MALE TIMID .nickname = _("UMBREON"), .friendship = 255 }, @@ -3306,10 +3306,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_1 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Double_4 = { - .flags = 0x0e, - .floorIdx = 8, + .id = 14, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_DOUBLE, - .prize = 0x08, + .prize = TTPRIZE_MENTAL_HERB, .trainers = { { .name = _("ISAC & MAG"), @@ -3338,7 +3338,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_4 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000003, + .personality = 0x03, // MALE ADAMANT .nickname = _("NIDOKING"), .friendship = 255 }, @@ -3360,7 +3360,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_4 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000080, + .personality = 0x80, // MALE ADAMANT .nickname = _("GLIGAR"), .friendship = 255 }, @@ -3382,7 +3382,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_4 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000080, + .personality = 0x80, // MALE ADAMANT .nickname = _("QUAGSIRE"), .friendship = 0 }, @@ -3404,7 +3404,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_4 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000080, + .personality = 0x80, // MALE ADAMANT .nickname = _("PILOSWINE"), .friendship = 255 }, @@ -3426,7 +3426,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_4 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000080, + .personality = 0x80, // MALE ADAMANT .nickname = _("GOLEM"), .friendship = 255 }, @@ -3448,7 +3448,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_4 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000080, + .personality = 0x80, // MALE ADAMANT .nickname = _("STEELIX"), .friendship = 255 }, @@ -3481,7 +3481,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_4 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000B, + .personality = 0x0B, // FEMALE HASTY .nickname = _("SKARMORY"), .friendship = 255 }, @@ -3503,7 +3503,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_4 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x0000000B, + .personality = 0x0B, // FEMALE HASTY .nickname = _("MANTINE"), .friendship = 255 }, @@ -3525,7 +3525,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_4 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000B, + .personality = 0x0B, // FEMALE HASTY .nickname = _("JUMPLUFF"), .friendship = 255 }, @@ -3547,7 +3547,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_4 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000B, + .personality = 0x0B, // FEMALE HASTY .nickname = _("GENGAR"), .friendship = 255 }, @@ -3569,7 +3569,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_4 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000B, + .personality = 0x0B, // FEMALE HASTY .nickname = _("CROBAT"), .friendship = 255 }, @@ -3591,7 +3591,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_4 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000B, + .personality = 0x0B, // FEMALE HASTY .nickname = _("XATU"), .friendship = 255 }, @@ -3603,10 +3603,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_4 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { - .flags = 0x0f, - .floorIdx = 8, + .id = 15, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_KNOCKOUT, - .prize = 0x06, + .prize = TTPRIZE_BRIGHT_POWDER, .trainers = { { .name = _("CHELSEA"), @@ -3635,7 +3635,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000011, + .personality = 0x11, // FEMALE QUIET .nickname = _("VILEPLUME"), .friendship = 255 }, @@ -3657,7 +3657,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 1, - .personality = 0x00000010, + .personality = 0x10, // GENDERLESS MILD .nickname = _("STARMIE"), .friendship = 255 }, @@ -3679,7 +3679,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000001, + .personality = 0x01, // FEMALE LONELY .nickname = _("URSARING"), .friendship = 255 }, @@ -3701,7 +3701,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000001, + .personality = 0x01, // FEMALE LONELY .nickname = _("NOCTOWL"), .friendship = 255 }, @@ -3723,7 +3723,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000010, + .personality = 0x10, // FEMALE MILD .nickname = _("NINETALES"), .friendship = 255 }, @@ -3745,7 +3745,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000001, + .personality = 0x01, // FEMALE LONELY .nickname = _("LEDIAN"), .friendship = 255 }, @@ -3778,7 +3778,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000088, + .personality = 0x88, // MALE HASTY .nickname = _("GYARADOS"), .friendship = 255 }, @@ -3800,7 +3800,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x0000008E, + .personality = 0x8E, // MALE QUIET .nickname = _("VICTREEBEL"), .friendship = 255 }, @@ -3822,7 +3822,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000097, + .personality = 0x97, // MALE LONELY .nickname = _("DONPHAN"), .friendship = 255 }, @@ -3844,7 +3844,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000097, + .personality = 0x97, // MALE LONELY .nickname = _("FEAROW"), .friendship = 255 }, @@ -3866,7 +3866,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x0000004F, + .personality = 0x4F, // MALE NAUGHTY .nickname = _("ARCANINE"), .friendship = 255 }, @@ -3888,7 +3888,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000097, + .personality = 0x97, // MALE LONELY .nickname = _("ARIADOS"), .friendship = 255 }, @@ -3921,7 +3921,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000015, + .personality = 0x15, // FEMALE GENTLE .nickname = _("KINGDRA"), .friendship = 255 }, @@ -3943,7 +3943,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 1, - .personality = 0x0000007F, + .personality = 0x7F, // MALE BRAVE .nickname = _("GOLEM"), .friendship = 255 }, @@ -3965,7 +3965,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000001, + .personality = 0x01, // FEMALE LONELY .nickname = _("DRAGONITE"), .friendship = 255 }, @@ -3987,7 +3987,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000097, + .personality = 0x97, // MALE LONELY .nickname = _("TYRANITAR"), .friendship = 255 }, @@ -4009,7 +4009,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000013, + .personality = 0x13, // FEMALE RASH .nickname = _("AMPHAROS"), .friendship = 255 }, @@ -4031,7 +4031,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x0000002A, + .personality = 0x2A, // MALE QUIET .nickname = _("VENUSAUR"), .friendship = 255 }, @@ -4042,10 +4042,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { - .flags = 0x10, - .floorIdx = 8, + .id = 16, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_KNOCKOUT, - .prize = 0x04, + .prize = TTPRIZE_CALCIUM, .trainers = { { .name = _("CAMRYN"), @@ -4074,7 +4074,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000089, + .personality = 0x89, // MALE SERIOUS .nickname = _("MURKROW"), .friendship = 255 }, @@ -4096,7 +4096,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x0000000C, + .personality = 0x0C, // FEMALE SERIOUS .nickname = _("RAPIDASH"), .friendship = 255 }, @@ -4118,7 +4118,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000C, + .personality = 0x0C, // FEMALE SERIOUS .nickname = _("MILTANK"), .friendship = 255 }, @@ -4140,7 +4140,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000089, + .personality = 0x89, // MALE SERIOUS .nickname = _("GOLDUCK"), .friendship = 255 }, @@ -4162,7 +4162,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000089, + .personality = 0x89, // MALE SERIOUS .nickname = _("SANDSLASH"), .friendship = 255 }, @@ -4184,7 +4184,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000C, + .personality = 0x0C, // FEMALE SERIOUS .nickname = _("NIDOQUEEN"), .friendship = 255 }, @@ -4217,7 +4217,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000C, + .personality = 0x0C, // FEMALE SERIOUS .nickname = _("BELLOSSOM"), .friendship = 255 }, @@ -4239,7 +4239,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000089, + .personality = 0x89, // MALE SERIOUS .nickname = _("VICTREEBEL"), .friendship = 255 }, @@ -4261,7 +4261,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000089, + .personality = 0x89, // MALE SERIOUS .nickname = _("PARASECT"), .friendship = 255 }, @@ -4283,7 +4283,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000C, + .personality = 0x0C, // FEMALE SERIOUS .nickname = _("VILEPLUME"), .friendship = 255 }, @@ -4305,7 +4305,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000C, + .personality = 0x0C, // FEMALE SERIOUS .nickname = _("VENUSAUR"), .friendship = 255 }, @@ -4327,7 +4327,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000025, + .personality = 0x25, // MALE SERIOUS .nickname = _("MEGANIUM"), .friendship = 255 }, @@ -4360,7 +4360,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000089, + .personality = 0x89, // MALE SERIOUS .nickname = _("MAROWAK"), .friendship = 255 }, @@ -4382,7 +4382,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x0000000C, + .personality = 0x0C, // FEMALE SERIOUS .nickname = _("LAPRAS"), .friendship = 255 }, @@ -4404,7 +4404,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000057, + .personality = 0x57, // MALE SERIOUS .nickname = _("ARCANINE"), .friendship = 255 }, @@ -4426,7 +4426,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000089, + .personality = 0x89, // MALE SERIOUS .nickname = _("RAICHU"), .friendship = 255 }, @@ -4448,7 +4448,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x0000000C, + .personality = 0x0C, // FEMALE SERIOUS .nickname = _("TOGETIC"), .friendship = 255 }, @@ -4470,7 +4470,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x0000000C, + .personality = 0x0C, // FEMALE SERIOUS .nickname = _("SNORLAX"), .friendship = 255 }, @@ -4481,10 +4481,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Single_6 = { - .flags = 0x11, - .floorIdx = 8, + .id = 17, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_SINGLE, - .prize = 0x03, + .prize = TTPRIZE_CARBOS, .trainers = { { .name = _("BRADEN"), @@ -4513,7 +4513,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000011, + .personality = 0x11, // FEMALE QUIET .nickname = _("VAPOREON"), .friendship = 255 }, @@ -4535,7 +4535,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000091, + .personality = 0x91, // MALE CALM .nickname = _("SLOWBRO"), .friendship = 255 }, @@ -4557,7 +4557,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000096, + .personality = 0x96, // MALE HARDY .nickname = _("POLITOED"), .friendship = 255 }, @@ -4579,7 +4579,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000000, + .personality = 0x00, // FEMALE HARDY .nickname = _("TENTACRUEL"), .friendship = 255 }, @@ -4601,7 +4601,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000080, + .personality = 0x80, // MALE ADAMANT .nickname = _("RATICATE"), .friendship = 255 }, @@ -4623,7 +4623,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000007F, + .personality = 0x7F, // MALE BRAVE .nickname = _("DUNSPARCE"), .friendship = 255 }, @@ -4636,10 +4636,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_6 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_1 = { - .flags = 0x12, - .floorIdx = 8, + .id = 18, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_SINGLE, - .prize = 0x0a, + .prize = TTPRIZE_KINGS_ROCK, .trainers = { { .name = _("ALLYSON"), @@ -4668,7 +4668,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_1 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 1, - .personality = 0x0000000F, + .personality = 0x0F, // GENDERLESS MODEST .nickname = _("STARMIE"), .friendship = 255 }, @@ -4690,7 +4690,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_1 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000032, + .personality = 0x32, // MALE HARDY .nickname = _("BLASTOISE"), .friendship = 255 }, @@ -4712,7 +4712,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_1 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x0000008C, + .personality = 0x8C, // MALE MODEST .nickname = _("KINGDRA"), .friendship = 255 }, @@ -4734,7 +4734,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_1 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000016, + .personality = 0x16, // FEMALE SASSY .nickname = _("QUAGSIRE"), .friendship = 255 }, @@ -4756,7 +4756,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_1 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 1, - .personality = 0x0000000F, + .personality = 0x0F, // FEMALE MODEST .nickname = _("LAPRAS"), .friendship = 255 }, @@ -4778,7 +4778,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_1 = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000096, + .personality = 0x96, // MALE HARDY .nickname = _("DRAGONITE"), .friendship = 255 }, @@ -4791,10 +4791,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_1 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Single_1 = { - .flags = 0x13, - .floorIdx = 8, + .id = 19, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_SINGLE, - .prize = 0x0e, + .prize = TTPRIZE_UP_GRADE, .trainers = { { .name = _("ALBERTO"), @@ -4823,7 +4823,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_1 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000032, + .personality = 0x32, // MALE HARDY .nickname = _("FERALIGATR"), .friendship = 255 }, @@ -4845,7 +4845,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_1 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 1, - .personality = 0x00000096, + .personality = 0x96, // MALE HARDY .nickname = _("POLIWRATH"), .friendship = 255 }, @@ -4867,7 +4867,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_1 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000003, + .personality = 0x03, // FEMALE ADAMANT .nickname = _("KANGASKHAN"), .friendship = 255 }, @@ -4889,7 +4889,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_1 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000003, + .personality = 0x03, // FEMALE ADAMANT .nickname = _("MILTANK"), .friendship = 255 }, @@ -4911,7 +4911,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_1 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 1, - .personality = 0x00000096, + .personality = 0x96, // MALE HARDY .nickname = _("GOLDUCK"), .friendship = 255 }, @@ -4933,7 +4933,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_1 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x000000CA, + .personality = 0xCA, // MALE BRAVE .nickname = _("GRANBULL"), .friendship = 255 }, @@ -4946,10 +4946,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_1 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_5 = { - .flags = 0x14, - .floorIdx = 8, + .id = 20, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_DOUBLE, - .prize = 0x0c, + .prize = TTPRIZE_METAL_COAT, .trainers = { { .name = _("KAT & KIPP"), @@ -4978,7 +4978,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_5 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x0000000D, + .personality = 0x0D, // FEMALE JOLLY .nickname = _("SNEASEL"), .friendship = 255 }, @@ -5000,7 +5000,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_5 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000002D, + .personality = 0x2D, // MALE CALM .nickname = _("OMASTAR"), .friendship = 255 }, @@ -5022,7 +5022,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_5 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000014, + .personality = 0x14, // FEMALE CALM .nickname = _("DEWGONG"), .friendship = 255 }, @@ -5044,7 +5044,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_5 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000091, + .personality = 0x91, // MALE CALM .nickname = _("QUAGSIRE"), .friendship = 255 }, @@ -5066,7 +5066,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_5 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000017, + .personality = 0x17, // FEMALE CAREFUL .nickname = _("CORSOLA"), .friendship = 255 }, @@ -5088,7 +5088,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_5 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000094, + .personality = 0x94, // MALE CAREFUL .nickname = _("SANDSLASH"), .friendship = 255 }, @@ -5121,7 +5121,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_5 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000080, + .personality = 0x80, // MALE ADAMANT .nickname = _("FURRET"), .friendship = 255 }, @@ -5143,7 +5143,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_5 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000014, + .personality = 0x14, // FEMALE CALM .nickname = _("AZUMARILL"), .friendship = 255 }, @@ -5165,7 +5165,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_5 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000091, + .personality = 0x91, // MALE CALM .nickname = _("KINGLER"), .friendship = 255 }, @@ -5187,7 +5187,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_5 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000014, + .personality = 0x14, // FEMALE CALM .nickname = _("CLOYSTER"), .friendship = 255 }, @@ -5209,7 +5209,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_5 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000094, + .personality = 0x94, // MALE CAREFUL .nickname = _("QUAGSIRE"), .friendship = 255 }, @@ -5231,7 +5231,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_5 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000030, + .personality = 0x30, // MALE CAREFUL .nickname = _("KABUTOPS"), .friendship = 255 }, @@ -5243,10 +5243,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_5 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Double_8 = { - .flags = 0x15, - .floorIdx = 8, + .id = 21, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_DOUBLE, - .prize = 0x08, + .prize = TTPRIZE_MENTAL_HERB, .trainers = { { .name = _("GEB&MEGAN"), @@ -5275,7 +5275,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_8 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x0000008C, + .personality = 0x8C, // MALE MODEST .nickname = _("POLITOED"), .friendship = 255 }, @@ -5297,7 +5297,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_8 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000096, + .personality = 0x96, // MALE HARDY .nickname = _("GYARADOS"), .friendship = 255 }, @@ -5319,7 +5319,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_8 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x0000000F, + .personality = 0x0F, // FEMALE MODEST .nickname = _("LAPRAS"), .friendship = 255 }, @@ -5341,7 +5341,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_8 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000000, + .personality = 0x00, // FEMALE HARDY .nickname = _("NIDOQUEEN"), .friendship = 255 }, @@ -5363,7 +5363,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_8 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000000, + .personality = 0x00, // FEMALE HARDY .nickname = _("JYNX"), .friendship = 255 }, @@ -5385,7 +5385,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_8 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x0000008C, + .personality = 0x8C, // MALE MODEST .nickname = _("GIRAFARIG"), .friendship = 255 }, @@ -5418,7 +5418,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_8 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000094, + .personality = 0x94, // MALE CAREFUL .nickname = _("MAROWAK"), .friendship = 255 }, @@ -5440,7 +5440,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_8 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000080, + .personality = 0x80, // MALE ADAMANT .nickname = _("URSARING"), .friendship = 255 }, @@ -5462,7 +5462,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_8 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000011, + .personality = 0x11, // FEMALE QUIET .nickname = _("SLOWKING"), .friendship = 255 }, @@ -5484,7 +5484,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_8 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000041, + .personality = 0x41, // MALE MODEST .nickname = _("ALAKAZAM"), .friendship = 255 }, @@ -5506,7 +5506,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_8 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000000, + .personality = 0x00, // MALE HARDY .nickname = _("NIDOKING"), .friendship = 255 }, @@ -5528,7 +5528,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_8 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000093, + .personality = 0x93, // MALE SASSY .nickname = _("RHYDON"), .friendship = 255 }, @@ -5540,10 +5540,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_8 = { }; static const struct TrainerTowerFloor gUnknown_847FD0C = { - .flags = 0x16, - .floorIdx = 8, + .id = 22, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_DOUBLE, - .prize = 0x05, + .prize = TTPRIZE_ZINC, .trainers = { { .name = _("LISA&LEAH"), @@ -5572,7 +5572,7 @@ static const struct TrainerTowerFloor gUnknown_847FD0C = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000087, + .personality = 0x87, // MALE TIMID .nickname = _("POLIWAG"), .friendship = 255 }, @@ -5594,7 +5594,7 @@ static const struct TrainerTowerFloor gUnknown_847FD0C = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x0000002D, + .personality = 0x2D, // MALE CALM .nickname = _("SQUIRTLE"), .friendship = 255 }, @@ -5616,7 +5616,7 @@ static const struct TrainerTowerFloor gUnknown_847FD0C = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x0000000F, + .personality = 0x0F, // FEMALE MODEST .nickname = _("CHINCHOU"), .friendship = 255 }, @@ -5638,7 +5638,7 @@ static const struct TrainerTowerFloor gUnknown_847FD0C = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000000, + .personality = 0x00, // FEMALE HARDY .nickname = _("NIDORAN♀"), .friendship = 255 }, @@ -5660,7 +5660,7 @@ static const struct TrainerTowerFloor gUnknown_847FD0C = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x0000000F, + .personality = 0x0F, // FEMALE MODEST .nickname = _("CLEFAIRY"), .friendship = 255 }, @@ -5682,7 +5682,7 @@ static const struct TrainerTowerFloor gUnknown_847FD0C = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x0000002D, + .personality = 0x2D, // MALE CALM .nickname = _("HORSEA"), .friendship = 255 }, @@ -5715,7 +5715,7 @@ static const struct TrainerTowerFloor gUnknown_847FD0C = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000093, + .personality = 0x93, // MALE SASSY .nickname = _("WOOPER"), .friendship = 255 }, @@ -5737,7 +5737,7 @@ static const struct TrainerTowerFloor gUnknown_847FD0C = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 1, - .personality = 0x00000096, + .personality = 0x96, // MALE HARDY .nickname = _("PSYDUCK"), .friendship = 255 }, @@ -5759,7 +5759,7 @@ static const struct TrainerTowerFloor gUnknown_847FD0C = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000000, + .personality = 0x00, // FEMALE HARDY .nickname = _("SNUBBULL"), .friendship = 255 }, @@ -5781,7 +5781,7 @@ static const struct TrainerTowerFloor gUnknown_847FD0C = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x0000000F, + .personality = 0x0F, // FEMALE MODEST .nickname = _("JIGGLYPUFF"), .friendship = 255 }, @@ -5803,7 +5803,7 @@ static const struct TrainerTowerFloor gUnknown_847FD0C = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000000, + .personality = 0x00, // MALE HARDY .nickname = _("NIDORAN♂"), .friendship = 255 }, @@ -5825,7 +5825,7 @@ static const struct TrainerTowerFloor gUnknown_847FD0C = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x0000002D, + .personality = 0x2D, // MALE CALM .nickname = _("TOTODILE"), .friendship = 255 }, @@ -5837,10 +5837,10 @@ static const struct TrainerTowerFloor gUnknown_847FD0C = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { - .flags = 0x17, - .floorIdx = 8, + .id = 23, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_KNOCKOUT, - .prize = 0x01, + .prize = TTPRIZE_PROTEIN, .trainers = { { .name = _("PRISCILLA"), @@ -5869,7 +5869,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000096, + .personality = 0x96, // MALE HARDY .nickname = _("GOLDEEN"), .friendship = 0 }, @@ -5891,7 +5891,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000000, + .personality = 0x00, // FEMALE HARDY .nickname = _("SEAKING"), .friendship = 0 }, @@ -5913,7 +5913,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000008C, + .personality = 0x8C, // MALE MODEST .nickname = _("LANTURN"), .friendship = 0 }, @@ -5935,7 +5935,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000000F, + .personality = 0x0F, // FEMALE MODEST .nickname = _("LANTURN"), .friendship = 0 }, @@ -5957,7 +5957,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000000, + .personality = 0x00, // FEMALE HARDY .nickname = _("GOLDEEN"), .friendship = 0 }, @@ -5979,7 +5979,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000096, + .personality = 0x96, // MALE HARDY .nickname = _("SEAKING"), .friendship = 0 }, @@ -6012,7 +6012,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000000F, + .personality = 0x0F, // FEMALE MODEST .nickname = _("OCTILLERY"), .friendship = 255 }, @@ -6034,7 +6034,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000014, + .personality = 0x14, // FEMALE CALM .nickname = _("QWILFISH"), .friendship = 255 }, @@ -6056,7 +6056,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000096, + .personality = 0x96, // MALE HARDY .nickname = _("REMORAID"), .friendship = 255 }, @@ -6078,7 +6078,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000000, + .personality = 0x00, // FEMALE HARDY .nickname = _("REMORAID"), .friendship = 255 }, @@ -6100,7 +6100,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000093, + .personality = 0x93, // MALE SASSY .nickname = _("OCTILLERY"), .friendship = 255 }, @@ -6122,7 +6122,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000096, + .personality = 0x96, // MALE HARDY .nickname = _("QWILFISH"), .friendship = 255 }, @@ -6155,7 +6155,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000080, + .personality = 0x80, // MALE ADAMANT .nickname = _("MANTINE"), .friendship = 255 }, @@ -6177,7 +6177,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000000D, + .personality = 0x0D, // FEMALE JOLLY .nickname = _("MAGIKARP"), .friendship = 255 }, @@ -6199,7 +6199,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000000F, + .personality = 0x0F, // FEMALE MODEST .nickname = _("MANTINE"), .friendship = 255 }, @@ -6221,7 +6221,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000003, + .personality = 0x03, // FEMALE ADAMANT .nickname = _("GYARADOS"), .friendship = 255 }, @@ -6243,7 +6243,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000094, + .personality = 0x94, // MALE CAREFUL .nickname = _("MAGIKARP"), .friendship = 255 }, @@ -6265,7 +6265,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000080, + .personality = 0x80, // MALE ADAMANT .nickname = _("GYARADOS"), .friendship = 255 }, @@ -6276,10 +6276,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { - .flags = 0x18, - .floorIdx = 8, + .id = 24, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_KNOCKOUT, - .prize = 0x0d, + .prize = TTPRIZE_DRAGON_SCALE, .trainers = { { .name = _("BRENNAN"), @@ -6308,7 +6308,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x0000000F, + .personality = 0x0F, // FEMALE MODEST .nickname = _("LAPRAS"), .friendship = 255 }, @@ -6330,7 +6330,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000008C, + .personality = 0x8C, // MALE MODEST .nickname = _("KINGDRA"), .friendship = 255 }, @@ -6352,7 +6352,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000004E, + .personality = 0x4E, // MALE ADAMANT .nickname = _("MACHAMP"), .friendship = 255 }, @@ -6374,7 +6374,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000005, + .personality = 0x05, // FEMALE BOLD .nickname = _("CHANSEY"), .friendship = 255 }, @@ -6396,7 +6396,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000003, + .personality = 0x03, // MALE ADAMANT .nickname = _("TAUROS"), .friendship = 255 }, @@ -6418,7 +6418,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000021, + .personality = 0x21, // MALE IMPISH .nickname = _("SNORLAX"), .friendship = 255 }, @@ -6451,7 +6451,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000000, + .personality = 0x00, // FEMALE HARDY .nickname = _("CHINCHOU"), .friendship = 255 }, @@ -6473,7 +6473,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000000, + .personality = 0x00, // FEMALE HARDY .nickname = _("DRATINI"), .friendship = 255 }, @@ -6495,7 +6495,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000096, + .personality = 0x96, // MALE HARDY .nickname = _("SLOWPOKE"), .friendship = 255 }, @@ -6517,7 +6517,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000017, + .personality = 0x17, // FEMALE CAREFUL .nickname = _("MAGIKARP"), .friendship = 255 }, @@ -6539,7 +6539,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000017, + .personality = 0x17, // FEMALE CAREFUL .nickname = _("SEAKING"), .friendship = 255 }, @@ -6561,7 +6561,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000096, + .personality = 0x96, // MALE HARDY .nickname = _("TENTACRUEL"), .friendship = 255 }, @@ -6594,7 +6594,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000014, + .personality = 0x14, // FEMALE CALM .nickname = _("VAPOREON"), .friendship = 255 }, @@ -6616,7 +6616,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000000F, + .personality = 0x0F, // FEMALE MODEST .nickname = _("ESPEON"), .friendship = 255 }, @@ -6638,7 +6638,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000005, + .personality = 0x05, // FEMALE BOLD .nickname = _("BLISSEY"), .friendship = 255 }, @@ -6660,7 +6660,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000014, + .personality = 0x14, // GENDERLESS CALM .nickname = _("STARMIE"), .friendship = 255 }, @@ -6682,7 +6682,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000000D, + .personality = 0x0D, // FEMALE JOLLY .nickname = _("PERSIAN"), .friendship = 255 }, @@ -6704,7 +6704,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000000, + .personality = 0x00, // FEMALE HARDY .nickname = _("AZUMARILL"), .friendship = 255 }, @@ -6715,10 +6715,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Single_3 = { - .flags = 0x19, - .floorIdx = 8, + .id = 25, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_SINGLE, - .prize = 0x0c, + .prize = TTPRIZE_METAL_COAT, .trainers = { { .name = _("JARRETT"), @@ -6747,7 +6747,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_3 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x0000000D, + .personality = 0x0D, // GENDERLESS JOLLY .nickname = _("ELECTRODE"), .friendship = 255 }, @@ -6769,7 +6769,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_3 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x0000000D, + .personality = 0x0D, // GENDERLESS JOLLY .nickname = _("VOLTORB"), .friendship = 255 }, @@ -6791,7 +6791,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_3 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000007, + .personality = 0x07, // FEMALE RELAXED .nickname = _("WEEZING"), .friendship = 255 }, @@ -6813,7 +6813,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_3 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000007F, + .personality = 0x7F, // MALE BRAVE .nickname = _("GOLEM"), .friendship = 255 }, @@ -6835,7 +6835,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_3 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000007, + .personality = 0x07, // FEMALE RELAXED .nickname = _("EXEGGCUTE"), .friendship = 255 }, @@ -6857,7 +6857,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_3 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000084, + .personality = 0x84, // MALE RELAXED .nickname = _("FORRETRESS"), .friendship = 255 }, @@ -6870,10 +6870,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_3 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_3 = { - .flags = 0x1a, - .floorIdx = 8, + .id = 26, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_SINGLE, - .prize = 0x0d, + .prize = TTPRIZE_DRAGON_SCALE, .trainers = { { .name = _("OWEN"), @@ -6902,7 +6902,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_3 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x0000000A, + .personality = 0x0A, // GENDERLESS TIMID .nickname = _("MAGNETON"), .friendship = 255 }, @@ -6924,7 +6924,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_3 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000000F, + .personality = 0x0F, // FEMALE MODEST .nickname = _("PIKACHU"), .friendship = 255 }, @@ -6946,7 +6946,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_3 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000037, + .personality = 0x37, // MALE BOLD .nickname = _("JOLTEON"), .friendship = 255 }, @@ -6968,7 +6968,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_3 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000005, + .personality = 0x05, // FEMALE BOLD .nickname = _("BLISSEY"), .friendship = 255 }, @@ -6990,7 +6990,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_3 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000005, + .personality = 0x05, // GENDERLESS BOLD .nickname = _("PORYGON2"), .friendship = 255 }, @@ -7012,7 +7012,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_3 = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000005, + .personality = 0x05, // GENDERLESS BOLD .nickname = _("PORYGON"), .friendship = 255 }, @@ -7025,10 +7025,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_3 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_2 = { - .flags = 0x1b, - .floorIdx = 8, + .id = 27, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_SINGLE, - .prize = 0x01, + .prize = TTPRIZE_PROTEIN, .trainers = { { .name = _("LORENZO"), @@ -7057,7 +7057,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000007, + .personality = 0x07, // FEMALE RELAXED .nickname = _("MR. MIME"), .friendship = 255 }, @@ -7079,7 +7079,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x0000008C, + .personality = 0x8C, // MALE MODEST .nickname = _("HYPNO"), .friendship = 255 }, @@ -7101,7 +7101,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x0000000F, + .personality = 0x0F, // FEMALE MODEST .nickname = _("ALAKAZAM"), .friendship = 255 }, @@ -7123,7 +7123,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000088, + .personality = 0x88, // MALE HASTY .nickname = _("GENGAR"), .friendship = 255 }, @@ -7145,7 +7145,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 1, - .personality = 0x00000003, + .personality = 0x03, // FEMALE ADAMANT .nickname = _("GIRAFARIG"), .friendship = 255 }, @@ -7167,7 +7167,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_2 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x0000000A, + .personality = 0x0A, // GENDERLESS TIMID .nickname = _("STARMIE"), .friendship = 255 }, @@ -7180,10 +7180,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_2 = { }; static const struct TrainerTowerFloor gUnknown_848144C = { - .flags = 0x1c, - .floorIdx = 8, + .id = 28, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_DOUBLE, - .prize = 0x0b, + .prize = TTPRIZE_SCOPE_LENS, .trainers = { { .name = _("NIA & CARL"), @@ -7212,7 +7212,7 @@ static const struct TrainerTowerFloor gUnknown_848144C = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 1, - .personality = 0x00000007, + .personality = 0x07, // FEMALE RELAXED .nickname = _("MUK"), .friendship = 255 }, @@ -7234,7 +7234,7 @@ static const struct TrainerTowerFloor gUnknown_848144C = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000015, + .personality = 0x15, // FEMALE GENTLE .nickname = _("GENGAR"), .friendship = 255 }, @@ -7256,7 +7256,7 @@ static const struct TrainerTowerFloor gUnknown_848144C = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x0000000A, + .personality = 0x0A, // FEMALE TIMID .nickname = _("ALAKAZAM"), .friendship = 255 }, @@ -7278,7 +7278,7 @@ static const struct TrainerTowerFloor gUnknown_848144C = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000005, + .personality = 0x05, // FEMALE BOLD .nickname = _("JOLTEON"), .friendship = 255 }, @@ -7300,7 +7300,7 @@ static const struct TrainerTowerFloor gUnknown_848144C = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000014, + .personality = 0x14, // GENDERLESS CALM .nickname = _("ELECTRODE"), .friendship = 255 }, @@ -7322,7 +7322,7 @@ static const struct TrainerTowerFloor gUnknown_848144C = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000002, + .personality = 0x02, // FEMALE BRAVE .nickname = _("RAICHU"), .friendship = 255 }, @@ -7355,7 +7355,7 @@ static const struct TrainerTowerFloor gUnknown_848144C = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000003, + .personality = 0x03, // FEMALE ADAMANT .nickname = _("KANGASKHAN"), .friendship = 255 }, @@ -7377,7 +7377,7 @@ static const struct TrainerTowerFloor gUnknown_848144C = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000003, + .personality = 0x03, // MALE ADAMANT .nickname = _("TAUROS"), .friendship = 255 }, @@ -7399,7 +7399,7 @@ static const struct TrainerTowerFloor gUnknown_848144C = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000003, + .personality = 0x03, // FEMALE ADAMANT .nickname = _("MILTANK"), .friendship = 255 }, @@ -7421,7 +7421,7 @@ static const struct TrainerTowerFloor gUnknown_848144C = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 1, - .personality = 0x00000080, + .personality = 0x80, // MALE ADAMANT .nickname = _("RHYDON"), .friendship = 255 }, @@ -7443,7 +7443,7 @@ static const struct TrainerTowerFloor gUnknown_848144C = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 0, - .personality = 0x00000091, + .personality = 0x91, // MALE CALM .nickname = _("DRAGONITE"), .friendship = 255 }, @@ -7465,7 +7465,7 @@ static const struct TrainerTowerFloor gUnknown_848144C = { .spAttackIV = 31, .spDefenseIV = 31, .abilityNum = 1, - .personality = 0x00000091, + .personality = 0x91, // MALE CALM .nickname = _("LAPRAS"), .friendship = 255 }, @@ -7477,10 +7477,10 @@ static const struct TrainerTowerFloor gUnknown_848144C = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Double_7 = { - .flags = 0x1d, - .floorIdx = 8, + .id = 29, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_DOUBLE, - .prize = 0x03, + .prize = TTPRIZE_CARBOS, .trainers = { { .name = _("AXE & REN"), @@ -7509,7 +7509,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_7 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000A, + .personality = 0x0A, // FEMALE TIMID .nickname = _("LANTURN"), .friendship = 255 }, @@ -7531,7 +7531,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_7 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000014, + .personality = 0x14, // FEMALE CALM .nickname = _("MANTINE"), .friendship = 255 }, @@ -7553,7 +7553,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_7 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000011, + .personality = 0x11, // FEMALE QUIET .nickname = _("DEWGONG"), .friendship = 255 }, @@ -7575,7 +7575,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_7 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000011, + .personality = 0x11, // FEMALE QUIET .nickname = _("CLOYSTER"), .friendship = 255 }, @@ -7597,7 +7597,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_7 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000A, + .personality = 0x0A, // FEMALE TIMID .nickname = _("TENTACRUEL"), .friendship = 255 }, @@ -7619,7 +7619,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_7 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000003, + .personality = 0x03, // FEMALE ADAMANT .nickname = _("GYARADOS"), .friendship = 255 }, @@ -7652,7 +7652,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_7 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000040, + .personality = 0x40, // MALE NAIVE .nickname = _("ELECTABUZZ"), .friendship = 255 }, @@ -7674,7 +7674,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_7 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x0000000A, + .personality = 0x0A, // GENDERLESS TIMID .nickname = _("MAGNETON"), .friendship = 255 }, @@ -7696,7 +7696,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_7 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000011, + .personality = 0x11, // GENDERLESS QUIET .nickname = _("PORYGON"), .friendship = 255 }, @@ -7718,7 +7718,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_7 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000A, + .personality = 0x0A, // FEMALE TIMID .nickname = _("DRAGONAIR"), .friendship = 255 }, @@ -7740,7 +7740,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_7 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000B, + .personality = 0x0B, // FEMALE HASTY .nickname = _("PERSIAN"), .friendship = 255 }, @@ -7762,7 +7762,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_7 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000005, + .personality = 0x05, // GENDERLESS BOLD .nickname = _("STARMIE"), .friendship = 255 }, @@ -7774,10 +7774,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_7 = { }; static const struct TrainerTowerFloor gUnknown_8481C0C = { - .flags = 0x1e, - .floorIdx = 8, + .id = 30, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_DOUBLE, - .prize = 0x05, + .prize = TTPRIZE_ZINC, .trainers = { { .name = _("KATI & GEB"), @@ -7806,7 +7806,7 @@ static const struct TrainerTowerFloor gUnknown_8481C0C = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000084, + .personality = 0x84, // MALE RELAXED .nickname = _("FLAAFFY"), .friendship = 255 }, @@ -7828,7 +7828,7 @@ static const struct TrainerTowerFloor gUnknown_8481C0C = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000093, + .personality = 0x93, // MALE SASSY .nickname = _("QUAGSIRE"), .friendship = 255 }, @@ -7850,7 +7850,7 @@ static const struct TrainerTowerFloor gUnknown_8481C0C = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x0000008A, + .personality = 0x8A, // MALE JOLLY .nickname = _("PIKACHU"), .friendship = 255 }, @@ -7872,7 +7872,7 @@ static const struct TrainerTowerFloor gUnknown_8481C0C = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000046, + .personality = 0x46, // MALE CALM .nickname = _("ELECTABUZZ"), .friendship = 255 }, @@ -7894,7 +7894,7 @@ static const struct TrainerTowerFloor gUnknown_8481C0C = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x0000002D, + .personality = 0x2D, // MALE CALM .nickname = _("TOGETIC"), .friendship = 255 }, @@ -7916,7 +7916,7 @@ static const struct TrainerTowerFloor gUnknown_8481C0C = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000080, + .personality = 0x80, // MALE ADAMANT .nickname = _("GOLDUCK"), .friendship = 255 }, @@ -7949,7 +7949,7 @@ static const struct TrainerTowerFloor gUnknown_8481C0C = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000003, + .personality = 0x03, // FEMALE ADAMANT .nickname = _("PICHU"), .friendship = 255 }, @@ -7971,7 +7971,7 @@ static const struct TrainerTowerFloor gUnknown_8481C0C = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000002, + .personality = 0x02, // FEMALE BRAVE .nickname = _("ELEKID"), .friendship = 255 }, @@ -7993,7 +7993,7 @@ static const struct TrainerTowerFloor gUnknown_8481C0C = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x0000000F, + .personality = 0x0F, // FEMALE MODEST .nickname = _("TOGEPI"), .friendship = 255 }, @@ -8015,7 +8015,7 @@ static const struct TrainerTowerFloor gUnknown_8481C0C = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000016, + .personality = 0x16, // FEMALE SASSY .nickname = _("PSYDUCK"), .friendship = 255 }, @@ -8037,7 +8037,7 @@ static const struct TrainerTowerFloor gUnknown_8481C0C = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 0, - .personality = 0x00000007, + .personality = 0x07, // FEMALE RELAXED .nickname = _("MAREEP"), .friendship = 255 }, @@ -8059,7 +8059,7 @@ static const struct TrainerTowerFloor gUnknown_8481C0C = { .spAttackIV = 10, .spDefenseIV = 10, .abilityNum = 1, - .personality = 0x00000007, + .personality = 0x07, // FEMALE RELAXED .nickname = _("WOOPER"), .friendship = 255 }, @@ -8071,10 +8071,10 @@ static const struct TrainerTowerFloor gUnknown_8481C0C = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { - .flags = 0x1f, - .floorIdx = 8, + .id = 31, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_KNOCKOUT, - .prize = 0x07, + .prize = TTPRIZE_WHITE_HERB, .trainers = { { .name = _("BEN"), @@ -8103,7 +8103,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000014, + .personality = 0x14, // GENDERLESS CALM .nickname = _("ELECTRODE"), .friendship = 255 }, @@ -8125,7 +8125,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000F, + .personality = 0x0F, // FEMALE MODEST .nickname = _("ELECTABUZZ"), .friendship = 255 }, @@ -8147,7 +8147,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000008E, + .personality = 0x8E, // MALE QUIET .nickname = _("LANTURN"), .friendship = 255 }, @@ -8169,7 +8169,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000014, + .personality = 0x14, // GENDERLESS CALM .nickname = _("MAGNETON"), .friendship = 255 }, @@ -8191,7 +8191,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000008A, + .personality = 0x8A, // MALE JOLLY .nickname = _("RAICHU"), .friendship = 255 }, @@ -8213,7 +8213,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000007, + .personality = 0x07, // FEMALE RELAXED .nickname = _("AMPHAROS"), .friendship = 255 }, @@ -8246,7 +8246,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000002, + .personality = 0x02, // FEMALE BRAVE .nickname = _("GRANBULL"), .friendship = 255 }, @@ -8268,7 +8268,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000080, + .personality = 0x80, // MALE ADAMANT .nickname = _("PERSIAN"), .friendship = 255 }, @@ -8290,7 +8290,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000002, + .personality = 0x02, // FEMALE BRAVE .nickname = _("LICKITUNG"), .friendship = 255 }, @@ -8312,7 +8312,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000094, + .personality = 0x94, // MALE CAREFUL .nickname = _("RATICATE"), .friendship = 255 }, @@ -8334,7 +8334,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000002, + .personality = 0x02, // FEMALE BRAVE .nickname = _("PRIMEAPE"), .friendship = 255 }, @@ -8356,7 +8356,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000011, + .personality = 0x11, // FEMALE QUIET .nickname = _("KANGASKHAN"), .friendship = 255 }, @@ -8389,7 +8389,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000002, + .personality = 0x02, // FEMALE BRAVE .nickname = _("WEEZING"), .friendship = 255 }, @@ -8411,7 +8411,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 1, - .personality = 0x00000084, + .personality = 0x84, // MALE RELAXED .nickname = _("MUK"), .friendship = 255 }, @@ -8433,7 +8433,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000A, + .personality = 0x0A, // FEMALE TIMID .nickname = _("GENGAR"), .friendship = 255 }, @@ -8455,7 +8455,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x0000000A, + .personality = 0x0A, // FEMALE TIMID .nickname = _("MISDREAVUS"), .friendship = 255 }, @@ -8477,7 +8477,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000087, + .personality = 0x87, // MALE TIMID .nickname = _("CROBAT"), .friendship = 255 }, @@ -8499,7 +8499,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { .spAttackIV = 20, .spDefenseIV = 20, .abilityNum = 0, - .personality = 0x00000091, + .personality = 0x91, // MALE CALM .nickname = _("HAUNTER"), .friendship = 255 }, @@ -8510,10 +8510,10 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { }; static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { - .flags = 0x20, - .floorIdx = 8, + .id = 32, + .floorIdx = MAX_TRAINER_TOWER_FLOORS, .challengeType = CHALLENGE_TYPE_KNOCKOUT, - .prize = 0x0e, + .prize = TTPRIZE_UP_GRADE, .trainers = { { .name = _("MAURA"), @@ -8542,7 +8542,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000005, + .personality = 0x05, // FEMALE BOLD .nickname = _("PICHU"), .friendship = 255 }, @@ -8564,7 +8564,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000007, + .personality = 0x07, // FEMALE RELAXED .nickname = _("MAREEP"), .friendship = 255 }, @@ -8586,7 +8586,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000007, + .personality = 0x07, // FEMALE RELAXED .nickname = _("IGGLYBUFF"), .friendship = 255 }, @@ -8608,7 +8608,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000016, + .personality = 0x16, // FEMALE SASSY .nickname = _("CLEFFA"), .friendship = 255 }, @@ -8630,7 +8630,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000016, + .personality = 0x16, // FEMALE SASSY .nickname = _("NIDORAN♀"), .friendship = 255 }, @@ -8652,7 +8652,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000007, + .personality = 0x07, // MALE RELAXED .nickname = _("NIDORAN♂"), .friendship = 255 }, @@ -8685,7 +8685,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000007, + .personality = 0x07, // MALE RELAXED .nickname = _("NIDORINO"), .friendship = 255 }, @@ -8707,7 +8707,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000016, + .personality = 0x16, // FEMALE SASSY .nickname = _("NIDORINA"), .friendship = 255 }, @@ -8729,7 +8729,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000011, + .personality = 0x11, // FEMALE QUIET .nickname = _("PIKACHU"), .friendship = 255 }, @@ -8751,7 +8751,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000007, + .personality = 0x07, // FEMALE RELAXED .nickname = _("FLAAFFY"), .friendship = 255 }, @@ -8773,7 +8773,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000016, + .personality = 0x16, // FEMALE SASSY .nickname = _("JIGGLYPUFF"), .friendship = 255 }, @@ -8795,7 +8795,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000007, + .personality = 0x07, // FEMALE RELAXED .nickname = _("CLEFAIRY"), .friendship = 255 }, @@ -8828,7 +8828,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x000000CF, + .personality = 0xCF, // MALE RELAXED .nickname = _("WIGGLYTUFF"), .friendship = 255 }, @@ -8850,7 +8850,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x000000CF, + .personality = 0xCF, // MALE RELAXED .nickname = _("CLEFABLE"), .friendship = 255 }, @@ -8872,7 +8872,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000007, + .personality = 0x07, // FEMALE RELAXED .nickname = _("NIDOQUEEN"), .friendship = 255 }, @@ -8894,7 +8894,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000002, + .personality = 0x02, // MALE BRAVE .nickname = _("NIDOKING"), .friendship = 255 }, @@ -8916,7 +8916,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000080, + .personality = 0x80, // MALE ADAMANT .nickname = _("RAICHU"), .friendship = 255 }, @@ -8938,7 +8938,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { .spAttackIV = 15, .spDefenseIV = 15, .abilityNum = 0, - .personality = 0x00000080, + .personality = 0x80, // MALE ADAMANT .nickname = _("AMPHAROS"), .friendship = 255 }, -- cgit v1.2.3 From d0f3c277a7bd68e9c2a44efed04d9c0cdbb64355 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 29 Apr 2021 09:56:44 -0400 Subject: Corrections and augmentations to ttower docs --- src/trainer_tower.c | 124 ++++++++++++++++++++++++++--------------------- src/trainer_tower_sets.c | 122 +++++++++++++++++++++++----------------------- 2 files changed, 130 insertions(+), 116 deletions(-) (limited to 'src') diff --git a/src/trainer_tower.c b/src/trainer_tower.c index 38d3f9ab6..fe836dadd 100644 --- a/src/trainer_tower.c +++ b/src/trainer_tower.c @@ -52,8 +52,8 @@ struct DoublesTrainerInfo u8 objGfx1; u8 objGfx2; u8 facilityClass; - bool8 textColor1; - bool8 textColor2; + bool8 gender1; + bool8 gender2; }; struct TrainerEncounterMusicPairs @@ -310,8 +310,15 @@ static const struct TrainerEncounterMusicPairs sTrainerEncounterMusicLUT[105] = }; static const struct WindowTemplate sTimeBoardWindowTemplate[] = { - {0, 3, 1, 27, 18, 15, 0x001}, - DUMMY_WIN_TEMPLATE + { + .bg = 0, + .tilemapLeft = 3, + .tilemapTop = 1, + .width = 27, + .height = 18, + .paletteNum = 15, + .baseBlock = 0x001 + }, DUMMY_WIN_TEMPLATE }; static const u32 sUnused_847A228 = 0x70; @@ -389,37 +396,40 @@ static const u16 sTrainerTowerEncounterMusic[] = { [TRAINER_ENCOUNTER_MUSIC_RICH] = MUS_ENCOUNTER_BOY }; -static const u8 sSingleBattleChallengeMonIdxs[][2] = { - {0x00, 0x02}, - {0x01, 0x03}, - {0x02, 0x04}, - {0x03, 0x05}, - {0x04, 0x01}, - {0x05, 0x02}, - {0x00, 0x03}, - {0x01, 0x04} +// The trainer only uses two Pokemon from the encoded pool, based on the current floor +static const u8 sSingleBattleChallengeMonIdxs[MAX_TRAINER_TOWER_FLOORS][2] = { + {0, 2}, + {1, 3}, + {2, 4}, + {3, 5}, + {4, 1}, + {5, 2}, + {0, 3}, + {1, 4} }; -static const u8 sDoubleBattleChallengeMonIdxs[][2] = { - {0x00, 0x01}, - {0x01, 0x03}, - {0x02, 0x00}, - {0x03, 0x04}, - {0x04, 0x02}, - {0x05, 0x02}, - {0x00, 0x03}, - {0x01, 0x05} +// Each trainer only uses one Pokemon from the encoded pool, based on the current floor +static const u8 sDoubleBattleChallengeMonIdxs[MAX_TRAINER_TOWER_FLOORS][2] = { + {0, 1}, + {1, 3}, + {2, 0}, + {3, 4}, + {4, 2}, + {5, 2}, + {0, 3}, + {1, 5} }; -static const u8 sKnockoutChallengeMonIdxs[][3] = { - {0x00, 0x02, 0x04}, - {0x01, 0x03, 0x05}, - {0x02, 0x03, 0x01}, - {0x03, 0x04, 0x00}, - {0x04, 0x01, 0x02}, - {0x05, 0x00, 0x03}, - {0x00, 0x05, 0x02}, - {0x01, 0x04, 0x05} +// Each trainer only uses one Pokemon from the encoded pool, based on the current floor +static const u8 sKnockoutChallengeMonIdxs[MAX_TRAINER_TOWER_FLOORS][3] = { + {0, 2, 4}, + {1, 3, 5}, + {2, 3, 1}, + {3, 4, 0}, + {4, 1, 2}, + {5, 0, 3}, + {0, 5, 2}, + {1, 4, 5} }; extern const struct EReaderTrainerTowerSetSubstruct gTrainerTowerLocalHeader; @@ -471,7 +481,7 @@ void InitTrainerTowerBattleStruct(void) sTrainerTowerOpponent->battleType = CURR_FLOOR.challengeType; sTrainerTowerOpponent->facilityClass = CURR_FLOOR.trainers[trainerId].facilityClass; - sTrainerTowerOpponent->textColor = CURR_FLOOR.trainers[trainerId].textColor; + sTrainerTowerOpponent->textColor = CURR_FLOOR.trainers[trainerId].unkC; SetVBlankCounter1Ptr(&TRAINER_TOWER.timer); FreeTrainerTowerDataStruct(); } @@ -504,8 +514,8 @@ void GetTrainerTowerOpponentLoseText(u8 *dest, u8 opponentIdx) static void SetUpTrainerTowerDataStruct(void) { u32 challengeType = gSaveBlock1Ptr->towerChallengeId; - s32 r4; - const struct TrainerTowerFloor *const * r7; + s32 i; + const struct TrainerTowerFloor *const * floors_p; sTrainerTowerState = AllocZeroed(sizeof(*sTrainerTowerState)); sTrainerTowerState->floorIdx = gMapHeader.mapLayoutId - LAYOUT_TRAINER_TOWER_1F; @@ -513,13 +523,13 @@ static void SetUpTrainerTowerDataStruct(void) CEReaderTool_LoadTrainerTower(&sTrainerTowerState->data); else { - struct TrainerTowerState * r0_ = sTrainerTowerState; - const struct EReaderTrainerTowerSetSubstruct * r1 = &gTrainerTowerLocalHeader; - memcpy(&r0_->data, r1, sizeof(struct EReaderTrainerTowerSetSubstruct)); - r7 = gTrainerTowerFloors[challengeType]; - for (r4 = 0; r4 < MAX_TRAINER_TOWER_FLOORS; r4++) + struct TrainerTowerState * ttstate_p = sTrainerTowerState; + const struct EReaderTrainerTowerSetSubstruct * header_p = &gTrainerTowerLocalHeader; + memcpy(&ttstate_p->data, header_p, sizeof(struct EReaderTrainerTowerSetSubstruct)); + floors_p = gTrainerTowerFloors[challengeType]; + for (i = 0; i < MAX_TRAINER_TOWER_FLOORS; i++) { - *(sTrainerTowerState->data.floors + r4) = *(r7[r4]); // manual pointer arithmetic needed to match + *(sTrainerTowerState->data.floors + i) = *(floors_p[i]); // manual pointer arithmetic needed to match } sTrainerTowerState->data.checksum = CalcByteArraySum((void *)sTrainerTowerState->data.floors, sizeof(sTrainerTowerState->data.floors)); ValidateOrResetCurTrainerTowerRecord(); @@ -620,17 +630,21 @@ static void SetTrainerTowerNPCGraphics(void) static void TT_ConvertEasyChatMessageToString(u16 *ecWords, u8 *dest) { - s32 r1; + s32 i; ConvertEasyChatWordsToString(dest, ecWords, 3, 2); if ((unsigned)GetStringWidth(2, dest, -1) > 196) { + // Has to be printed 2x3 ConvertEasyChatWordsToString(dest, ecWords, 2, 3); - r1 = 0; - while (dest[r1++] != CHAR_NEWLINE) + // Skip line 1 + i = 0; + while (dest[i++] != CHAR_NEWLINE) ; - while (dest[r1] != CHAR_NEWLINE) - r1++; - dest[r1] = CHAR_PROMPT_SCROLL; + // Skip line 2 + while (dest[i] != CHAR_NEWLINE) + i++; + // Replace \n with \l at the end of line 2 + dest[i] = CHAR_PROMPT_SCROLL; } } @@ -667,7 +681,7 @@ static void BufferTowerOpponentSpeech(void) static void TrainerTowerGetOpponentTextColor(u8 challengeType, u8 facilityClass) { - u16 textColor = MALE; + u16 gender = MALE; int i; switch (challengeType) { @@ -679,7 +693,7 @@ static void TrainerTowerGetOpponentTextColor(u8 challengeType, u8 facilityClass) break; } if (i != NELEMS(sSingleBattleTrainerInfo)) - textColor = sSingleBattleTrainerInfo[i].gender; + gender = sSingleBattleTrainerInfo[i].gender; break; case CHALLENGE_TYPE_DOUBLE: for (i = 0; i < NELEMS(sDoubleBattleTrainerInfo); i++) @@ -690,14 +704,14 @@ static void TrainerTowerGetOpponentTextColor(u8 challengeType, u8 facilityClass) if (i != NELEMS(sDoubleBattleTrainerInfo)) { if (VarGet(VAR_TEMP_3)) - textColor = sDoubleBattleTrainerInfo[i].textColor2; + gender = sDoubleBattleTrainerInfo[i].gender2; else - textColor = sDoubleBattleTrainerInfo[i].textColor1; + gender = sDoubleBattleTrainerInfo[i].gender1; } break; } gSpecialVar_PrevTextColor = gSpecialVar_TextColor; - gSpecialVar_TextColor = textColor; + gSpecialVar_TextColor = gender; } static void CB2_EndTrainerTowerBattle(void) @@ -891,15 +905,15 @@ static void ShowResultsBoard(void) windowId = AddWindow(sTimeBoardWindowTemplate); LoadStdWindowFrameGfx(); DrawStdWindowFrame(windowId, FALSE); - AddTextPrinterParameterized(windowId, 2, gText_TimeBoard, 0x4A, 0, 0xFF, NULL); + AddTextPrinterParameterized(windowId, 2, gText_TimeBoard, 74, 0, TEXT_SPEED_FF, NULL); for (i = 0; i < NUM_TOWER_CHALLENGE_TYPES; i++) { PRINT_TOWER_TIME(GetTrainerTowerRecordTime(&TRAINER_TOWER.bestTime)); StringExpandPlaceholders(gStringVar4, gText_XMinYZSec); - AddTextPrinterParameterized(windowId, 2, gTrainerTowerChallengeTypeTexts[i - 1], 0x18, 0x24 + 0x14 * i, 0xFF, NULL); - AddTextPrinterParameterized(windowId, 2, gStringVar4, 0x60, 0x2E + 0x14 * i, 0xFF, NULL); + AddTextPrinterParameterized(windowId, 2, gTrainerTowerChallengeTypeTexts[i - 1], 24, 36 + 20 * i, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(windowId, 2, gStringVar4, 96, 46 + 20 * i, TEXT_SPEED_FF, NULL); } PutWindowTilemap(windowId); @@ -1043,7 +1057,7 @@ void PrintTrainerTowerRecords(void) u8 windowId = 0; SetUpTrainerTowerDataStruct(); - FillWindowPixelRect(0, 0, 0, 0, 0xd8, 0x90); + FillWindowPixelRect(0, PIXEL_FILL(0), 0, 0, 216, 144); ValidateOrResetCurTrainerTowerRecord(); AddTextPrinterParameterized3(0, 2, 0x4a, 0, sTextColors, 0, gText_TimeBoard); diff --git a/src/trainer_tower_sets.c b/src/trainer_tower_sets.c index 119950d7f..e153bc1bc 100644 --- a/src/trainer_tower_sets.c +++ b/src/trainer_tower_sets.c @@ -10,7 +10,7 @@ // Dummy strings must be declared explicitly for the sake of modern gcc #define DUMMY_TOWER_MON(iv) {.hpIV = iv, .attackIV = iv, .defenseIV = iv, .speedIV = iv, .spAttackIV = iv, .spDefenseIV = iv, .nickname = _("$$$$$$$$$$")} -#define DUMMY_TOWER_TEAM(iv) {.name = _(""), .textColor = 1, .speechBefore = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechWin = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechAfter = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .mons = {DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv)}} +#define DUMMY_TOWER_TEAM(iv) {.name = _(""), .unkC = 1, .speechBefore = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechWin = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechAfter = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .mons = {DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv)}} static const struct TrainerTowerFloor sTrainerTowerFloor_Single_4 = { .id = 1, @@ -21,7 +21,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_4 = { { .name = _("COLE"), .facilityClass = FACILITY_CLASS_YOUNGSTER_2, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_AHAHA, EC_WORD_YOU_RE, EC_WORD_NOT, EC_WORD_GOING, EC_WORD_ANYWHERE, EC_WORD_EXCL}, .speechWin = {EC_WORD_ALL_RIGHT, EC_WORD_EXCL, EC_WORD_BYE_BYE, EC_WORD_EXCL, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_HIYAH, EC_WORD_EXCL_EXCL, EC_WORD_DONE, EC_WORD_IN, EC_WORD_TOTALLY, EC_WORD_EXCL_EXCL}, @@ -176,7 +176,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_7 = { { .name = _("JAC"), .facilityClass = FACILITY_CLASS_BURGLAR, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_I_AM, EC_WORD_A, EC_MOVE2(THIEF), EC_WORD_EXCL, EC_WORD_GIVE_ME, EC_WORD_SOMETHING}, .speechWin = {EC_WORD_YOU_VE, EC_WORD_GOT, EC_WORD_NOTHING, EC_WORD_THAT, EC_WORD_I, EC_WORD_WANT}, .speechLose = {EC_WORD_EEK, EC_WORD_EXCL_EXCL, EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_I, EC_WORD_SURRENDER}, @@ -331,7 +331,7 @@ static const struct TrainerTowerFloor gUnknown_847B36C = { { .name = _("MILY"), .facilityClass = FACILITY_CLASS_PSYCHIC_4, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_WORD_POKEMON, EC_MOVE2(SUPERPOWER), EC_WORD_EXCL}, .speechWin = {EC_WORD_ISN_T, EC_WORD_IT, EC_WORD_INCREDIBLE, EC_WORD_QUES, EC_WORD_POKEMON, EC_WORD_POWER}, .speechLose = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_AN, EC_WORD_AWFUL, EC_MOVE(NIGHTMARE), EC_WORD_ELLIPSIS_EXCL}, @@ -486,7 +486,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_5 = { { .name = _("JOS & ANNE"), .facilityClass = FACILITY_CLASS_COOL_COUPLE, - .textColor = 7, + .unkC = 7, .speechBefore = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_LOSE, EC_WORD_TO, EC_WORD_YOU, EC_WORD_HERE}, .speechWin = {EC_WORD_VERY, EC_WORD_WELL, EC_WORD_DONE, EC_WORD_EXCL, EC_WORD_GOOD, EC_WORD_BATTLE}, .speechLose = {EC_WORD_UNBELIEVABLE, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, @@ -629,7 +629,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_5 = { { .name = _("JOS & ANNE"), .facilityClass = FACILITY_CLASS_COOL_COUPLE, - .textColor = 7, + .unkC = 7, .speechBefore = {EC_WORD_HERE_GOES, EC_WORD_EXCL_EXCL, EC_WORD_GET, EC_WORD_READY, EC_WORD_TO, EC_WORD_LOSE}, .speechWin = {EC_WORD_PERFECT, EC_WORD_EXCL, EC_WORD_WE, EC_WORD_GET, EC_WORD_THE, EC_WORD_WIN}, .speechLose = {EC_WORD_LOST, EC_WORD_QUES_EXCL, EC_WORD_YOU, EC_WORD_MUST_BE, EC_WORD_JOKING, EC_WORD_EXCL}, @@ -783,7 +783,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_6 = { { .name = _("EMY & ALEK"), .facilityClass = FACILITY_CLASS_YOUNG_COUPLE_2, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_LOST, EC_WORD_IN, EC_WORD_LOVEY_DOVEY, EC_WORD_HAPPINESS}, .speechWin = {EC_WORD_OH, EC_WORD_OH, EC_WORD_HE, EC_WORD_IS, EC_WORD_REALLY, EC_WORD_AWESOME}, .speechLose = {EC_WORD_AIYEEH, EC_WORD_EXCL_EXCL, EC_WORD_YOU_RE, EC_WORD_NOT, EC_WORD_SERIOUS, EC_WORD_QUES}, @@ -926,7 +926,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_6 = { { .name = _("EMY & ALEK"), .facilityClass = FACILITY_CLASS_YOUNG_COUPLE_2, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_I_AM, EC_WORD_GIDDY, EC_WORD_WITH, EC_WORD_LOVEY_DOVEY, EC_WORD_JOY, EC_WORD_EXCL_EXCL}, .speechWin = {EC_WORD_SIGH, EC_WORD_ELLIPSIS, EC_WORD_MY, EC_WORD_GIRL, EC_WORD_IS, EC_WORD_CUTE}, .speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL_EXCL, EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_BE, EC_WORD_SERIOUS}, @@ -1080,7 +1080,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_2 = { { .name = _("JO & HALEY"), .facilityClass = FACILITY_CLASS_CRUSH_KIN, - .textColor = 5, + .unkC = 5, .speechBefore = {EC_WORD_WE_RE, EC_WORD_USING, EC_WORD_THAT, EC_WORD_STRATEGY, EC_WORD_OKAY, EC_WORD_QUES}, .speechWin = {EC_WORD_YAY, EC_WORD_WE, EC_WORD_WON, EC_WORD_EXCL, EC_WORD_SORRY, EC_WORD_EXCL}, .speechLose = {EC_WORD_AWW, EC_WORD_EXCL, EC_WORD_THAT_WAS, EC_WORD_REALLY, EC_WORD_TERRIBLE, EC_WORD_EXCL}, @@ -1223,7 +1223,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_2 = { { .name = _("JO & HALEY"), .facilityClass = FACILITY_CLASS_CRUSH_KIN, - .textColor = 5, + .unkC = 5, .speechBefore = {EC_WORD_YOU, EC_WORD_YOU, EC_WORD_YOU, EC_WORD_BETTER, EC_WORD_NOT, EC_WORD_WIN}, .speechWin = {EC_WORD_YOU_RE, EC_WORD_NOT, EC_WORD_JOKING, EC_WORD_QUES, EC_WORD_WE, EC_WORD_WON}, .speechLose = {EC_WORD_WIMPY, EC_WORD_ELLIPSIS, EC_WORD_WE, EC_WORD_WERE, EC_WORD_WEAK, EC_WORD_ELLIPSIS}, @@ -1377,7 +1377,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { { .name = _("JORDY"), .facilityClass = FACILITY_CLASS_BIKER, - .textColor = 3, + .unkC = 3, .speechBefore = {EC_WORD_DON_T, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_GIGGLE, EC_WORD_YOU, EC_WORD_PUSHOVER}, .speechWin = {EC_WORD_WHAT, EC_WORD_A_LITTLE, EC_WORD_PUSHOVER, EC_WORD_YOU, EC_WORD_ARE, EC_WORD_EXCL}, .speechLose = {EC_WORD_YOU, EC_WORD_WERE, EC_WORD_READY, EC_WORD_TO, EC_WORD_ROCK, EC_WORD_EXCL}, @@ -1520,7 +1520,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { { .name = _("ERNEST"), .facilityClass = FACILITY_CLASS_BIKER, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_IT_S, EC_WORD_SLEEP, EC_WORD_TIME, EC_WORD_FOR, EC_WORD_CHILDREN, EC_WORD_EXCL}, .speechWin = {EC_WORD_NOT, EC_WORD_GUTSY, EC_WORD_ENOUGH, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_WHY, EC_WORD_DID, EC_WORD_YOU, EC_WORD_CRUSH, EC_WORD_ME, EC_WORD_QUES}, @@ -1663,7 +1663,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { { .name = _("GABRIEL"), .facilityClass = FACILITY_CLASS_CUE_BALL, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_YAHOO, EC_WORD_EXCL, EC_WORD_HERE_I_COME, EC_WORD_TO, EC_WORD_SWARM, EC_WORD_YOU}, .speechWin = {EC_WORD_I_AM, EC_WORD_INVINCIBLE, EC_WORD_YOU, EC_WORD_GOT, EC_WORD_THAT, EC_WORD_QUES}, .speechLose = {EC_WORD_WHAT, EC_WORD_WAS, EC_WORD_THAT, EC_WORD_QUES, 0xFFFF, 0xFFFF}, @@ -1816,7 +1816,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { { .name = _("MIKE"), .facilityClass = FACILITY_CLASS_HIKER_2, - .textColor = 5, + .unkC = 5, .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_FULL, EC_WORD_OF, EC_WORD_POWER}, .speechWin = {EC_WORD_WHAT_S_UP_QUES, EC_WORD_WHERE, EC_WORD_IS, EC_WORD_YOUR, EC_WORD_POWER, EC_WORD_QUES}, .speechLose = {EC_WORD_YOU, EC_WORD_GOT, EC_WORD_ME, EC_WORD_WITH, EC_WORD_YOUR, EC_MOVE2(FAKE_OUT)}, @@ -1959,7 +1959,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { { .name = _("REBECCA"), .facilityClass = FACILITY_CLASS_CRUSH_GIRL, - .textColor = 5, + .unkC = 5, .speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_WORD_WIN, EC_WORD_EXCL_EXCL, 0xFFFF, 0xFFFF}, .speechWin = {EC_WORD_IT_S, EC_WORD_TOO, EC_WORD_BAD, EC_WORD_BUT, EC_WORD_I_AM, EC_WORD_OVERWHELMING}, .speechLose = {EC_WORD_ARRGH, EC_WORD_EXCL_EXCL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, @@ -2102,7 +2102,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { { .name = _("NICOLAS"), .facilityClass = FACILITY_CLASS_BLACK_BELT_2, - .textColor = 5, + .unkC = 5, .speechBefore = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_WHERE, EC_WORD_YOU, EC_WORD_STOP, EC_WORD_EXCL}, .speechWin = {EC_WORD_YOU_RE, EC_WORD_TOO_WEAK, EC_WORD_TO, EC_WORD_EVER, EC_WORD_BEAT, EC_WORD_ME}, .speechLose = {EC_WORD_WHY, EC_WORD_COULDN_T, EC_WORD_I, EC_WORD_BEAT, EC_WORD_YOU, EC_WORD_QUES}, @@ -2255,7 +2255,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_5 = { { .name = _("JOEY"), .facilityClass = FACILITY_CLASS_CAMPER_2, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_SCARY, EC_WORD_STRONG, EC_WORD_EXCL}, .speechWin = {EC_WORD_WERE, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_QUES}, .speechLose = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_WAY, EC_WORD_TOO_STRONG, EC_WORD_EXCL}, @@ -2410,7 +2410,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_8 = { { .name = _("LILY"), .facilityClass = FACILITY_CLASS_PKMN_BREEDER_3, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_SOMETHING, EC_WORD_IN, EC_MOVE(RETURN), EC_WORD_EXCL}, .speechWin = {EC_WORD_I, EC_WORD_BELIEVE, EC_WORD_IN, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_EXCL}, .speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_SOMETHING, EC_WORD_IN, EC_MOVE(RETURN), EC_WORD_ELLIPSIS}, @@ -2565,7 +2565,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_2 = { { .name = _("BRANDON"), .facilityClass = FACILITY_CLASS_BUG_CATCHER_2, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_POISON, EC_WORD_IS, EC_WORD_JUST, EC_WORD_SO, EC_WORD_AWFUL, EC_WORD_ISN_T_IT_QUES}, .speechWin = {EC_WORD_SEE, EC_WORD_QUES, EC_WORD_ISN_T, EC_WORD_POISON, EC_WORD_TERRIBLE, EC_WORD_QUES}, .speechLose = {EC_WORD_HUH_QUES, EC_WORD_OUR, EC_WORD_POISON, EC_WORD_DIDN_T, EC_WORD_WORK, EC_WORD_QUES}, @@ -2720,7 +2720,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_3 = { { .name = _("RIC & RENE"), .facilityClass = FACILITY_CLASS_CRUSH_KIN, - .textColor = 5, + .unkC = 5, .speechBefore = {EC_WORD_MY, EC_WORD_BIG, EC_WORD_BROTHER, EC_WORD_IS, EC_WORD_REALLY, EC_WORD_AWESOME}, .speechWin = {EC_WORD_MY, EC_WORD_BIG, EC_WORD_BROTHER, EC_WORD_IS, EC_WORD_TOO, EC_WORD_AWESOME}, .speechLose = {EC_WORD_MY, EC_WORD_BIG, EC_WORD_BROTHER, EC_WORD_ISN_T, EC_WORD_AWESOME, EC_WORD_QUES}, @@ -2863,7 +2863,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_3 = { { .name = _("RIC & RENE"), .facilityClass = FACILITY_CLASS_CRUSH_KIN, - .textColor = 5, + .unkC = 5, .speechBefore = {EC_WORD_I_AM, EC_WORD_REALLY, EC_WORD_AWESOME, EC_WORD_EXCL, 0xFFFF, 0xFFFF}, .speechWin = {EC_WORD_I_AM, EC_WORD_TOO, EC_WORD_AWESOME, EC_WORD_EXCL, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_HUH_QUES, 0xFFFF, EC_WORD_I_AM, EC_WORD_NOT_VERY, EC_WORD_AWESOME, EC_WORD_QUES}, @@ -3017,7 +3017,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_1 = { { .name = _("JEN & KIRA"), .facilityClass = FACILITY_CLASS_TWINS_2, - .textColor = 5, + .unkC = 5, .speechBefore = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_TRY, EC_WORD_HARD, EC_WORD_EXCL}, .speechWin = {EC_WORD_EHEHE, EC_WORD_YAY, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, @@ -3160,7 +3160,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_1 = { { .name = _("JEN & KIRA"), .facilityClass = FACILITY_CLASS_TWINS_2, - .textColor = 3, + .unkC = 3, .speechBefore = {EC_WORD_LET_S, EC_WORD_TRY, EC_WORD_HARD, EC_WORD_EXCL, 0xFFFF, 0xFFFF}, .speechWin = {EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, @@ -3314,7 +3314,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_4 = { { .name = _("ISAC & MAG"), .facilityClass = FACILITY_CLASS_COOL_COUPLE, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_OUR, EC_MOVE(EARTHQUAKE), EC_WORD_WILL, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_SHAKY}, .speechWin = {EC_WORD_FEELING, EC_WORD_SHAKY, EC_WORD_HUH_QUES, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_I_AM, EC_WORD_ALL, EC_WORD_SHAKY, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF}, @@ -3457,7 +3457,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_4 = { { .name = _("ISAC & MAG"), .facilityClass = FACILITY_CLASS_COOL_COUPLE, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_DOESN_T, EC_WORD_GET, EC_WORD_ALL, EC_WORD_SHAKY}, .speechWin = {EC_WORD_SEE, EC_WORD_QUES, EC_WORD_I, EC_WORD_DIDN_T, EC_WORD_LIE, EC_WORD_EXCL}, .speechLose = {EC_WORD_HUH_QUES, EC_WORD_YOU, EC_WORD_LEFT, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_SHAKY}, @@ -3611,7 +3611,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { { .name = _("CHELSEA"), .facilityClass = FACILITY_CLASS_PKMN_RANGER_4, - .textColor = 7, + .unkC = 7, .speechBefore = {EC_WORD_THE, EC_WORD_GREEN, EC_WORD_WORLD, EC_WORD_IS, EC_WORD_IMPORTANT, EC_WORD_ISN_T_IT_QUES}, .speechWin = {EC_WORD_YOU, EC_WORD_TAKE, EC_WORD_THE, EC_WORD_LOSS, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_BE, EC_WORD_KIND, EC_WORD_TO, EC_WORD_THE, EC_WORD_GREEN, EC_WORD_WORLD}, @@ -3754,7 +3754,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { { .name = _("TRENTON"), .facilityClass = FACILITY_CLASS_PKMN_RANGER_3, - .textColor = 7, + .unkC = 7, .speechBefore = {EC_WORD_I, EC_MOVE2(PROTECT), EC_WORD_THE, EC_WORD_GREAT, EC_WORD_GREEN, EC_WORD_WORLD}, .speechWin = {EC_WORD_TAKE_THAT, EC_WORD_EXCL, EC_WORD_THE, EC_WORD_LOSS, EC_WORD_IS, EC_WORD_YOURS}, .speechLose = {EC_MOVE2(PROTECT), EC_WORD_THE, EC_WORD_GREEN, EC_WORD_WORLD, 0xFFFF, 0xFFFF}, @@ -3897,7 +3897,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { { .name = _("ALBERT"), .facilityClass = FACILITY_CLASS_COOLTRAINER_3, - .textColor = 7, + .unkC = 7, .speechBefore = {EC_WORD_LET_S, EC_WORD_HAVE, EC_WORD_AN, EC_WORD_EXCITING, EC_WORD_TIME, EC_WORD_HERE}, .speechWin = {EC_WORD_YOU_RE, EC_WORD_TOO_WEAK, EC_WORD_TO, EC_WORD_MAKE, EC_WORD_THINGS, EC_WORD_EXCITING}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_STRONG, EC_WORD_THAT_WAS, EC_WORD_WILD, EC_WORD_AND, EC_WORD_EXCITING}, @@ -4050,7 +4050,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { { .name = _("CAMRYN"), .facilityClass = FACILITY_CLASS_PICNICKER_2, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_LET_S, EC_WORD_BATTLE, EC_WORD_I, EC_WORD_WON_T, EC_WORD_LOSE, EC_WORD_EXCL}, .speechWin = {EC_WORD_I, EC_WORD_SAID, EC_WORD_THAT, EC_WORD_I, EC_WORD_WOULD, EC_WORD_WIN}, .speechLose = {EC_WORD_OH_QUES, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_DID, EC_WORD_I, EC_WORD_LOSE, EC_WORD_QUES}, @@ -4193,7 +4193,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { { .name = _("NATALIA"), .facilityClass = FACILITY_CLASS_AROMA_LADY_2, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_THIS, EC_MOVE(SWEET_SCENT), EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_IT, EC_WORD_QUES}, .speechWin = {EC_WORD_WASN_T, EC_WORD_THAT, EC_WORD_NICE, EC_WORD_QUES, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_THAT, EC_WORD_WASN_T, EC_WORD_GOOD, EC_WORD_QUES, 0xFFFF, 0xFFFF}, @@ -4336,7 +4336,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { { .name = _("KATHLEEN"), .facilityClass = FACILITY_CLASS_COOLTRAINER_4, - .textColor = 7, + .unkC = 7, .speechBefore = {EC_WORD_TOO, EC_WORD_BAD, EC_WORD_IT_S, EC_WORD_OVER, EC_WORD_FOR, EC_WORD_YOU}, .speechWin = {EC_WORD_SORRY, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_HARD, EC_WORD_TO, EC_WORD_BELIEVE, EC_WORD_ELLIPSIS}, @@ -4489,7 +4489,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_6 = { { .name = _("BRADEN"), .facilityClass = FACILITY_CLASS_SWIMMER_MALE_2, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_I_AM, EC_WORD_PRETTY, EC_WORD_HAPPY, EC_WORD_WITH, EC_WORD_MY, EC_WORD_TOUGHNESS}, .speechWin = {EC_WORD_WROOOAAR_EXCL, 0xFFFF, EC_WORD_SERIOUSLY, EC_WORD_I, EC_WORD_WON, EC_WORD_QUES}, .speechLose = {EC_WORD_YOU, EC_WORD_SHOCKED, EC_WORD_ME, EC_WORD_OUT, EC_WORD_OF, EC_WORD_HAPPINESS}, @@ -4644,7 +4644,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_1 = { { .name = _("ALLYSON"), .facilityClass = FACILITY_CLASS_COOLTRAINER_4, - .textColor = 7, + .unkC = 7, .speechBefore = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_ABOUT, EC_WORD_TO, EC_WORD_LOSE, EC_WORD_TODAY}, .speechWin = {EC_WORD_YES, EC_WORD_EXCL_EXCL, EC_WORD_I, EC_WORD_ADORE, EC_WORD_MYSELF, EC_WORD_TODAY}, .speechLose = {EC_WORD_I_WAS, EC_WORD_CONFUSED, EC_WORD_ABOUT, EC_WORD_THINGS, EC_WORD_I, EC_WORD_THINK}, @@ -4799,7 +4799,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_1 = { { .name = _("ALBERTO"), .facilityClass = FACILITY_CLASS_SAILOR_2, - .textColor = 5, + .unkC = 5, .speechBefore = {EC_WORD_LET_S, EC_WORD_GET, EC_WORD_WITH, EC_WORD_IT, EC_WORD_RIGHT, EC_WORD_AWAY}, .speechWin = {EC_WORD_YO, EC_WORD_EXCL_EXCL, EC_WORD_YOU, EC_WORD_GIVE_UP, EC_WORD_NOW, EC_WORD_EH_QUES}, .speechLose = {EC_WORD_IT_S, EC_WORD_ALL, EC_WORD_OVER, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_SURRENDER}, @@ -4954,7 +4954,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_5 = { { .name = _("KAT & KIPP"), .facilityClass = FACILITY_CLASS_SIS_AND_BRO_2, - .textColor = 4, + .unkC = 4, .speechBefore = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_TRY, EC_WORD_MY, EC_WORD_BEST}, .speechWin = {EC_WORD_WAY, EC_WORD_TO, EC_WORD_GO, EC_WORD_MY, EC_WORD_AWESOME, EC_WORD_BROTHER}, .speechLose = {EC_WORD_SIGH, EC_WORD_ELLIPSIS, EC_WORD_THAT_S, EC_WORD_HOW, EC_WORD_IT, EC_WORD_GOES}, @@ -5097,7 +5097,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_5 = { { .name = _("KAT & KIPP"), .facilityClass = FACILITY_CLASS_SIS_AND_BRO_2, - .textColor = 4, + .unkC = 4, .speechBefore = {EC_WORD_FUFUFU, EC_WORD_ELLIPSIS, EC_WORD_WE, EC_WORD_NEVER, EC_WORD_LOSE, EC_WORD_EXCL}, .speechWin = {EC_WORD_FUFUFU, EC_WORD_ELLIPSIS, EC_WORD_WE_RE, EC_WORD_TOO_STRONG, EC_WORD_TO, EC_WORD_LOSE}, .speechLose = {EC_WORD_WHAT, EC_WORD_HUH_QUES, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_JOKING, EC_WORD_QUES}, @@ -5251,7 +5251,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_8 = { { .name = _("GEB&MEGAN"), .facilityClass = FACILITY_CLASS_COOL_COUPLE, - .textColor = 7, + .unkC = 7, .speechBefore = {EC_WORD_YOU_RE, EC_WORD_OUR, EC_WORD_OPPONENT, EC_WORD_QUES, EC_WORD_PUSHOVER, EC_WORD_HAHAHA}, .speechWin = {EC_WORD_HAHAHA, EC_WORD_SORRY, EC_WORD_MY, EC_WORD_FRIEND, EC_WORD_TOUGH, EC_WORD_LOSS}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_SERIOUS, EC_WORD_AREN_T, EC_WORD_YOU, EC_WORD_FRIEND, EC_WORD_QUES}, @@ -5394,7 +5394,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_8 = { { .name = _("GEB&MEGAN"), .facilityClass = FACILITY_CLASS_COOL_COUPLE, - .textColor = 7, + .unkC = 7, .speechBefore = {EC_WORD_YOU_RE, EC_WORD_OUR, EC_WORD_FOE, EC_WORD_QUES, EC_WORD_GIGGLE, EC_WORD_ELLIPSIS}, .speechWin = {EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SORRY, 0xFFFF}, .speechLose = {EC_WORD_MY, EC_WORD_WORD, EC_WORD_THIS, EC_WORD_IS, EC_WORD_JUST, EC_WORD_INCREDIBLE}, @@ -5548,7 +5548,7 @@ static const struct TrainerTowerFloor gUnknown_847FD0C = { { .name = _("LISA&LEAH"), .facilityClass = FACILITY_CLASS_TWINS_2, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_ABSOLUTELY, EC_WORD_WE_RE, EC_WORD_GOING, EC_WORD_TO, EC_WORD_WIN, EC_WORD_EXCL}, .speechWin = {EC_WORD_YEAH_YEAH, EC_WORD_EXCL_EXCL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_AWW, EC_WORD_EXCL, EC_WORD_WAAAH, EC_WORD_EXCL_EXCL, 0xFFFF, 0xFFFF}, @@ -5691,7 +5691,7 @@ static const struct TrainerTowerFloor gUnknown_847FD0C = { { .name = _("LISA&LEAH"), .facilityClass = FACILITY_CLASS_TWINS_2, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_CAN, EC_WORD_WE, EC_WORD_WIN, EC_WORD_QUES, EC_WORD_IT_S, EC_WORD_EXCITING}, .speechWin = {EC_WORD_YEAH_YEAH, EC_WORD_EXCL_EXCL, EC_WORD_YOU, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_HAPPY}, .speechLose = {EC_WORD_AWW, EC_WORD_EXCL, EC_WORD_WAAAH, EC_WORD_EXCL_EXCL, 0xFFFF, 0xFFFF}, @@ -5845,7 +5845,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { { .name = _("PRISCILLA"), .facilityClass = FACILITY_CLASS_TUBER_3, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_I_AM, EC_WORD_A_LITTLE, EC_WORD_POKEMON, EC_WORD_GIRL, EC_WORD_HERE_I_COME, EC_WORD_EXCL}, .speechWin = {EC_WORD_WAAAH, EC_WORD_EXCL, EC_WORD_DID, EC_WORD_I, EC_WORD_WIN, EC_WORD_QUES}, .speechLose = {EC_WORD_OH_DEAR, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_COULDN_T, EC_WORD_WIN, EC_WORD_ELLIPSIS}, @@ -5988,7 +5988,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { { .name = _("CHARLOTTE"), .facilityClass = FACILITY_CLASS_LADY_2, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_HELLO, EC_WORD_THERE, EC_WORD_I_AM, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_LADY}, .speechWin = {EC_WORD_OH, EC_WORD_MY, EC_WORD_MY, EC_WORD_ELLIPSIS, EC_WORD_I_AM, EC_WORD_SORRY}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_BETTER, EC_WORD_THAN, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_LADY}, @@ -6131,7 +6131,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { { .name = _("SHANIA"), .facilityClass = FACILITY_CLASS_SWIMMER_FEMALE_2, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_A, EC_WORD_POKEMON, EC_WORD_HEROINE, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM}, .speechWin = {EC_WORD_AHAHA, EC_WORD_NO, EC_WORD_WAY, EC_WORD_YOU_RE, EC_WORD_TOO_WEAK, EC_WORD_SERIOUSLY}, .speechLose = {EC_WORD_WHY, EC_WORD_QUES_EXCL, EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_LIE}, @@ -6284,7 +6284,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { { .name = _("BRENNAN"), .facilityClass = FACILITY_CLASS_SAILOR_2, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_TAKE, EC_WORD_THINGS, EC_WORD_EASY, EC_WORD_ELLIPSIS, EC_WORD_THAT_S, EC_WORD_IMPORTANT}, .speechWin = {EC_WORD_YOU, EC_WORD_LOSE, EC_WORD_IF, EC_WORD_YOU, EC_WORD_GIVE_UP, EC_WORD_EXCL}, .speechLose = {EC_WORD_OOPS, EC_WORD_YOU, EC_WORD_GOT, EC_WORD_AN, EC_WORD_EASY, EC_WORD_WIN}, @@ -6427,7 +6427,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { { .name = _("KADEN"), .facilityClass = FACILITY_CLASS_FISHERMAN_2, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_MY, EC_WORD_FISHING, EC_WORD_FASHION, EC_WORD_APPEAL, EC_WORD_IS, EC_WORD_FANTASTIC}, .speechWin = {EC_WORD_MY, EC_WORD_FANTASTIC, EC_WORD_FASHION, EC_WORD_APPEAL, EC_WORD_WINS, EC_WORD_OUT}, .speechLose = {EC_WORD_UH_OH, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_SEE, EC_WORD_I, EC_WORD_LOST}, @@ -6570,7 +6570,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { { .name = _("EMANUEL"), .facilityClass = FACILITY_CLASS_GENTLEMAN_2, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_HMM, EC_WORD_QUES, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_SKILLED, EC_WORD_QUES}, .speechWin = {EC_WORD_I, EC_WORD_SEE, EC_WORD_I, EC_WORD_WASN_T, EC_WORD_RIGHT, EC_WORD_ELLIPSIS}, .speechLose = {EC_WORD_YOU, EC_WORD_TRULY, EC_WORD_ARE, EC_WORD_A, EC_WORD_MASTER, EC_WORD_TRAINER}, @@ -6723,7 +6723,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_3 = { { .name = _("JARRETT"), .facilityClass = FACILITY_CLASS_JUGGLER, - .textColor = 2, + .unkC = 2, .speechBefore = {EC_WORD_LET_S, EC_WORD_HAVE, EC_WORD_AN, EC_MOVE2(EXPLOSION), EC_WORD_PARTY, EC_WORD_EXCL}, .speechWin = {EC_WORD_CONGRATS, EC_WORD_FOR, EC_WORD_YOUR, EC_WORD_LOSS, EC_WORD_PARTY, EC_WORD_KID}, .speechLose = {EC_WORD_NICE, EC_MOVE(SELF_DESTRUCT), EC_WORD_THERE, EC_WORD_EXCL, EC_WORD_YOU_RE, EC_WORD_PERFECT}, @@ -6878,7 +6878,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_3 = { { .name = _("OWEN"), .facilityClass = FACILITY_CLASS_SUPER_NERD, - .textColor = 2, + .unkC = 2, .speechBefore = {EC_WORD_HERE_IT_IS, EC_MOVE2(THUNDER_WAVE), EC_WORD_DON_T, EC_MOVE2(WRAP), EC_WORD_ME, EC_WORD_EXCL}, .speechWin = {EC_WORD_ACCEPT, EC_WORD_MY, EC_MOVE2(PRESENT), EC_WORD_OF, EC_MOVE2(THUNDER_WAVE), EC_WORD_EXCL}, .speechLose = {EC_MOVE2(WRAP), EC_MOVE(BIND), EC_WORD_ELECTRIC, EC_MOVE2(WHIRLWIND), EC_WORD_SPIRALING, EC_WORD_AROUND}, @@ -7033,7 +7033,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_2 = { { .name = _("LORENZO"), .facilityClass = FACILITY_CLASS_PSYCHIC_3, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_THIS, EC_WORD_POWER, EC_WORD_IS, EC_WORD_NOW, EC_WORD_COMPLETE, EC_WORD_EXCL}, .speechWin = {EC_WORD_NO, EC_WORD_KEEN_EYE, EC_WORD_CAN, EC_WORD_STOP, EC_WORD_MY, EC_WORD_POWER}, .speechLose = {EC_WORD_HERE_IT_IS, EC_WORD_EXCL, EC_MOVE(KINESIS), EC_WORD_EXCL, EC_WORD_ELLIPSIS, EC_WORD_WHAT}, @@ -7188,7 +7188,7 @@ static const struct TrainerTowerFloor gUnknown_848144C = { { .name = _("NIA & CARL"), .facilityClass = FACILITY_CLASS_COOL_COUPLE, - .textColor = 4, + .unkC = 4, .speechBefore = {EC_WORD_HERE_GOES, EC_WORD_MY, EC_WORD_DIGITAL, EC_WORD_ROMANTIC, EC_WORD_HERO, EC_WORD_STRATEGY}, .speechWin = {EC_WORD_THAT_S, EC_WORD_THE, EC_WORD_DIGITAL, EC_WORD_HYPER, EC_WORD_MODE, EC_WORD_POWER}, .speechLose = {EC_WORD_MY, EC_WORD_PERFECT, EC_WORD_STRATEGY, EC_WORD_WAS, EC_MOVE2(BEAT_UP), EC_WORD_QUES}, @@ -7331,7 +7331,7 @@ static const struct TrainerTowerFloor gUnknown_848144C = { { .name = _("NIA & CARL"), .facilityClass = FACILITY_CLASS_COOL_COUPLE, - .textColor = 4, + .unkC = 4, .speechBefore = {EC_WORD_MASTER, EC_WORD_COMPLETE, EC_WORD_FASHION, EC_WORD_SYSTEM, EC_WORD_START, EC_WORD_EXCL}, .speechWin = {EC_WORD_THAT_S_IT_EXCL, EC_WORD_THE, EC_WORD_POWER, EC_WORD_OF, EC_WORD_OUR, EC_WORD_SYSTEM}, .speechLose = {EC_WORD_OKAY, EC_WORD_EXCL, EC_MOVE(THUNDERBOLT), EC_WORD_RUN_AWAY, EC_WORD_SYSTEM, EC_WORD_START}, @@ -7485,7 +7485,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_7 = { { .name = _("AXE & REN"), .facilityClass = FACILITY_CLASS_SIS_AND_BRO_2, - .textColor = 2, + .unkC = 2, .speechBefore = {EC_WORD_IT_S, EC_WORD_GOING, EC_WORD_TO, EC_WORD_GET, EC_WORD_AWFULLY, EC_WORD_COLD}, .speechWin = {EC_WORD_THAT_S, EC_WORD_THAT, EC_WORD_MAN, EC_WORD_I_AM, EC_WORD_COLD, EC_WORD_EXCL}, .speechLose = {EC_WORD_I, EC_WORD_CAN_T_WIN, EC_WORD_IN, EC_WORD_THIS, EC_MOVE(SHEER_COLD), EC_WORD_ELLIPSIS}, @@ -7628,7 +7628,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_7 = { { .name = _("AXE & REN"), .facilityClass = FACILITY_CLASS_SIS_AND_BRO_2, - .textColor = 2, + .unkC = 2, .speechBefore = {EC_WORD_OUR, EC_WORD_SWIFT_SWIM, EC_WORD_LEFT, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_COLD}, .speechWin = {EC_WORD_I, EC_WORD_WON, EC_WORD_BUT, EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_HOT}, .speechLose = {EC_WORD_I_AM, EC_WORD_HUNGRY, EC_WORD_FOR, EC_WORD_ANY, EC_WORD_HOT, EC_WORD_EATS}, @@ -7782,7 +7782,7 @@ static const struct TrainerTowerFloor gUnknown_8481C0C = { { .name = _("KATI & GEB"), .facilityClass = FACILITY_CLASS_YOUNG_COUPLE_2, - .textColor = 2, + .unkC = 2, .speechBefore = {EC_WORD_WELCOME, EC_WORD_TO, EC_WORD_OUR, EC_WORD_LOVEY_DOVEY, EC_MOVE2(THUNDER_WAVE), EC_MOVE(SANDSTORM)}, .speechWin = {EC_WORD_LALALA, EC_WORD_LALALA, EC_WORD_OUR, EC_WORD_LOVEY_DOVEY, EC_WORD_LALALA, EC_WORD_LIFE}, .speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_LOSE, EC_WORD_MY, EC_MOVE2(FRUSTRATION)}, @@ -7925,7 +7925,7 @@ static const struct TrainerTowerFloor gUnknown_8481C0C = { { .name = _("KATI & GEB"), .facilityClass = FACILITY_CLASS_YOUNG_COUPLE_2, - .textColor = 2, + .unkC = 2, .speechBefore = {EC_WORD_I_AM, EC_WORD_PLUS, EC_WORD_YOU_RE, EC_WORD_MINUS, EC_WORD_LOVEY_DOVEY, EC_WORD_MAGNET_PULL}, .speechWin = {EC_WORD_DON_T, EC_WORD_STOP, EC_WORD_OUR, EC_WORD_LOVEY_DOVEY, EC_WORD_LOCOMOTIVE, EC_WORD_EXCL}, .speechLose = {EC_WORD_HIS, EC_WORD_CRY, EC_WORD_HAS, EC_WORD_CUTE_CHARM, EC_WORD_TOO, EC_WORD_EXCL}, @@ -8079,7 +8079,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { { .name = _("BEN"), .facilityClass = FACILITY_CLASS_ROCKER, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_LALALA, EC_WORD_LET_S, EC_MOVE(SING), EC_WORD_ABOUT, EC_WORD_ELECTRIC, EC_WORD_POWER}, .speechWin = {EC_WORD_STATIC, EC_WORD_IS, EC_WORD_ELECTRIC, EC_WORD_YES, EC_WORD_IT, EC_WORD_IS}, .speechLose = {EC_WORD_ELECTRIC, EC_WORD_ABOUT, EC_WORD_MY, EC_WORD_DIGITAL, EC_WORD_TELEVISION, EC_WORD_I_AM}, @@ -8222,7 +8222,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { { .name = _("CAMDEN"), .facilityClass = FACILITY_CLASS_ENGINEER, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_LALALA, EC_WORD_LET_S, EC_MOVE(SING), EC_WORD_ABOUT, EC_WORD_ELECTRIC, EC_WORD_POWER}, .speechWin = {EC_WORD_A, EC_MOVE(THUNDERBOLT), EC_WORD_IS, EC_WORD_ELECTRIC, EC_WORD_TOO, EC_WORD_EXCL}, .speechLose = {EC_WORD_ELECTRIC, EC_WORD_EXCL, EC_WORD_IT_S, EC_WORD_ABOUT, EC_WORD_WIRELESS, EC_WORD_LINK}, @@ -8365,7 +8365,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { { .name = _("ZACKERY"), .facilityClass = FACILITY_CLASS_SCIENTIST, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_LALALA, EC_WORD_LET_S, EC_MOVE(SING), EC_WORD_ABOUT, EC_WORD_ELECTRIC, EC_WORD_POWER}, .speechWin = {EC_MOVE2(THUNDER_SHOCK), EC_WORD_IS, EC_WORD_ELECTRIC, EC_WORD_YOU, EC_WORD_KNOW, EC_WORD_QUES}, .speechLose = {EC_WORD_ELECTRIC, EC_WORD_EXCL, EC_MOVE2(FLASH), EC_MOVE2(FLASH), EC_MOVE2(FLASH), EC_WORD_EXCL_EXCL}, @@ -8518,7 +8518,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { { .name = _("MAURA"), .facilityClass = FACILITY_CLASS_BEAUTY_2, - .textColor = 2, + .unkC = 2, .speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_GROUP, EC_WORD_LEADER, EC_WORD_EXCL, 0xFFFF}, .speechWin = {EC_WORD_WHAT, EC_WORD_AM, EC_WORD_I, EC_WORD_LEADER, EC_WORD_OF, EC_WORD_QUES}, .speechLose = {EC_WORD_I_AM, EC_WORD_NO, EC_WORD_LEADER, EC_WORD_IT_S, EC_WORD_A_LITTLE, EC_WORD_LIE}, @@ -8661,7 +8661,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { { .name = _("MIKAELA"), .facilityClass = FACILITY_CLASS_LASS_2, - .textColor = 1, + .unkC = 1, .speechBefore = {EC_WORD_I_AM, EC_WORD_REALLY, EC_WORD_THE, EC_WORD_NO_1, EC_WORD_TRAINER, EC_WORD_HERE}, .speechWin = {EC_WORD_NEVER, EC_WORD_SAID, EC_WORD_WHAT, EC_WORD_I_AM, EC_WORD_NO_1, EC_WORD_AT}, .speechLose = {EC_WORD_NEXT, EC_WORD_TIME, EC_WORD_I, EC_WORD_WILL, EC_WORD_BE, EC_WORD_OVERWHELMING}, @@ -8804,7 +8804,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { { .name = _("FLINT"), .facilityClass = FACILITY_CLASS_ENGINEER, - .textColor = 4, + .unkC = 4, .speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_MOVE2(MILK_DRINK), EC_WORD_WORLD, EC_WORD_LEADER, EC_WORD_EXCL}, .speechWin = {EC_WORD_I_VE, EC_WORD_WON, EC_WORD_THIS, EC_MOVE2(MILK_DRINK), EC_WORD_MATCH, EC_WORD_EXCL}, .speechLose = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_DRINK, EC_WORD_ANY, EC_WORD_MORE, EC_WORD_DRINKS}, -- cgit v1.2.3 From b79634e2f34ac0b7034702dd81183af201dd8ed1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 6 May 2021 12:52:05 -0400 Subject: TrainerTowerTrainer.{unkC --> textColor} --- src/trainer_tower.c | 2 +- src/trainer_tower_sets.c | 122 +++++++++++++++++++++++------------------------ 2 files changed, 62 insertions(+), 62 deletions(-) (limited to 'src') diff --git a/src/trainer_tower.c b/src/trainer_tower.c index fe836dadd..fe45a2938 100644 --- a/src/trainer_tower.c +++ b/src/trainer_tower.c @@ -481,7 +481,7 @@ void InitTrainerTowerBattleStruct(void) sTrainerTowerOpponent->battleType = CURR_FLOOR.challengeType; sTrainerTowerOpponent->facilityClass = CURR_FLOOR.trainers[trainerId].facilityClass; - sTrainerTowerOpponent->textColor = CURR_FLOOR.trainers[trainerId].unkC; + sTrainerTowerOpponent->textColor = CURR_FLOOR.trainers[trainerId].textColor; SetVBlankCounter1Ptr(&TRAINER_TOWER.timer); FreeTrainerTowerDataStruct(); } diff --git a/src/trainer_tower_sets.c b/src/trainer_tower_sets.c index e153bc1bc..119950d7f 100644 --- a/src/trainer_tower_sets.c +++ b/src/trainer_tower_sets.c @@ -10,7 +10,7 @@ // Dummy strings must be declared explicitly for the sake of modern gcc #define DUMMY_TOWER_MON(iv) {.hpIV = iv, .attackIV = iv, .defenseIV = iv, .speedIV = iv, .spAttackIV = iv, .spDefenseIV = iv, .nickname = _("$$$$$$$$$$")} -#define DUMMY_TOWER_TEAM(iv) {.name = _(""), .unkC = 1, .speechBefore = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechWin = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechAfter = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .mons = {DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv)}} +#define DUMMY_TOWER_TEAM(iv) {.name = _(""), .textColor = 1, .speechBefore = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechWin = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechAfter = {0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .mons = {DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv), DUMMY_TOWER_MON(iv)}} static const struct TrainerTowerFloor sTrainerTowerFloor_Single_4 = { .id = 1, @@ -21,7 +21,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_4 = { { .name = _("COLE"), .facilityClass = FACILITY_CLASS_YOUNGSTER_2, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_AHAHA, EC_WORD_YOU_RE, EC_WORD_NOT, EC_WORD_GOING, EC_WORD_ANYWHERE, EC_WORD_EXCL}, .speechWin = {EC_WORD_ALL_RIGHT, EC_WORD_EXCL, EC_WORD_BYE_BYE, EC_WORD_EXCL, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_HIYAH, EC_WORD_EXCL_EXCL, EC_WORD_DONE, EC_WORD_IN, EC_WORD_TOTALLY, EC_WORD_EXCL_EXCL}, @@ -176,7 +176,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_7 = { { .name = _("JAC"), .facilityClass = FACILITY_CLASS_BURGLAR, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_I_AM, EC_WORD_A, EC_MOVE2(THIEF), EC_WORD_EXCL, EC_WORD_GIVE_ME, EC_WORD_SOMETHING}, .speechWin = {EC_WORD_YOU_VE, EC_WORD_GOT, EC_WORD_NOTHING, EC_WORD_THAT, EC_WORD_I, EC_WORD_WANT}, .speechLose = {EC_WORD_EEK, EC_WORD_EXCL_EXCL, EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_I, EC_WORD_SURRENDER}, @@ -331,7 +331,7 @@ static const struct TrainerTowerFloor gUnknown_847B36C = { { .name = _("MILY"), .facilityClass = FACILITY_CLASS_PSYCHIC_4, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_WORD_POKEMON, EC_MOVE2(SUPERPOWER), EC_WORD_EXCL}, .speechWin = {EC_WORD_ISN_T, EC_WORD_IT, EC_WORD_INCREDIBLE, EC_WORD_QUES, EC_WORD_POKEMON, EC_WORD_POWER}, .speechLose = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_AN, EC_WORD_AWFUL, EC_MOVE(NIGHTMARE), EC_WORD_ELLIPSIS_EXCL}, @@ -486,7 +486,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_5 = { { .name = _("JOS & ANNE"), .facilityClass = FACILITY_CLASS_COOL_COUPLE, - .unkC = 7, + .textColor = 7, .speechBefore = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_LOSE, EC_WORD_TO, EC_WORD_YOU, EC_WORD_HERE}, .speechWin = {EC_WORD_VERY, EC_WORD_WELL, EC_WORD_DONE, EC_WORD_EXCL, EC_WORD_GOOD, EC_WORD_BATTLE}, .speechLose = {EC_WORD_UNBELIEVABLE, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, @@ -629,7 +629,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_5 = { { .name = _("JOS & ANNE"), .facilityClass = FACILITY_CLASS_COOL_COUPLE, - .unkC = 7, + .textColor = 7, .speechBefore = {EC_WORD_HERE_GOES, EC_WORD_EXCL_EXCL, EC_WORD_GET, EC_WORD_READY, EC_WORD_TO, EC_WORD_LOSE}, .speechWin = {EC_WORD_PERFECT, EC_WORD_EXCL, EC_WORD_WE, EC_WORD_GET, EC_WORD_THE, EC_WORD_WIN}, .speechLose = {EC_WORD_LOST, EC_WORD_QUES_EXCL, EC_WORD_YOU, EC_WORD_MUST_BE, EC_WORD_JOKING, EC_WORD_EXCL}, @@ -783,7 +783,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_6 = { { .name = _("EMY & ALEK"), .facilityClass = FACILITY_CLASS_YOUNG_COUPLE_2, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_LOST, EC_WORD_IN, EC_WORD_LOVEY_DOVEY, EC_WORD_HAPPINESS}, .speechWin = {EC_WORD_OH, EC_WORD_OH, EC_WORD_HE, EC_WORD_IS, EC_WORD_REALLY, EC_WORD_AWESOME}, .speechLose = {EC_WORD_AIYEEH, EC_WORD_EXCL_EXCL, EC_WORD_YOU_RE, EC_WORD_NOT, EC_WORD_SERIOUS, EC_WORD_QUES}, @@ -926,7 +926,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_6 = { { .name = _("EMY & ALEK"), .facilityClass = FACILITY_CLASS_YOUNG_COUPLE_2, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_I_AM, EC_WORD_GIDDY, EC_WORD_WITH, EC_WORD_LOVEY_DOVEY, EC_WORD_JOY, EC_WORD_EXCL_EXCL}, .speechWin = {EC_WORD_SIGH, EC_WORD_ELLIPSIS, EC_WORD_MY, EC_WORD_GIRL, EC_WORD_IS, EC_WORD_CUTE}, .speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL_EXCL, EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_BE, EC_WORD_SERIOUS}, @@ -1080,7 +1080,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_2 = { { .name = _("JO & HALEY"), .facilityClass = FACILITY_CLASS_CRUSH_KIN, - .unkC = 5, + .textColor = 5, .speechBefore = {EC_WORD_WE_RE, EC_WORD_USING, EC_WORD_THAT, EC_WORD_STRATEGY, EC_WORD_OKAY, EC_WORD_QUES}, .speechWin = {EC_WORD_YAY, EC_WORD_WE, EC_WORD_WON, EC_WORD_EXCL, EC_WORD_SORRY, EC_WORD_EXCL}, .speechLose = {EC_WORD_AWW, EC_WORD_EXCL, EC_WORD_THAT_WAS, EC_WORD_REALLY, EC_WORD_TERRIBLE, EC_WORD_EXCL}, @@ -1223,7 +1223,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_2 = { { .name = _("JO & HALEY"), .facilityClass = FACILITY_CLASS_CRUSH_KIN, - .unkC = 5, + .textColor = 5, .speechBefore = {EC_WORD_YOU, EC_WORD_YOU, EC_WORD_YOU, EC_WORD_BETTER, EC_WORD_NOT, EC_WORD_WIN}, .speechWin = {EC_WORD_YOU_RE, EC_WORD_NOT, EC_WORD_JOKING, EC_WORD_QUES, EC_WORD_WE, EC_WORD_WON}, .speechLose = {EC_WORD_WIMPY, EC_WORD_ELLIPSIS, EC_WORD_WE, EC_WORD_WERE, EC_WORD_WEAK, EC_WORD_ELLIPSIS}, @@ -1377,7 +1377,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { { .name = _("JORDY"), .facilityClass = FACILITY_CLASS_BIKER, - .unkC = 3, + .textColor = 3, .speechBefore = {EC_WORD_DON_T, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_GIGGLE, EC_WORD_YOU, EC_WORD_PUSHOVER}, .speechWin = {EC_WORD_WHAT, EC_WORD_A_LITTLE, EC_WORD_PUSHOVER, EC_WORD_YOU, EC_WORD_ARE, EC_WORD_EXCL}, .speechLose = {EC_WORD_YOU, EC_WORD_WERE, EC_WORD_READY, EC_WORD_TO, EC_WORD_ROCK, EC_WORD_EXCL}, @@ -1520,7 +1520,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { { .name = _("ERNEST"), .facilityClass = FACILITY_CLASS_BIKER, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_IT_S, EC_WORD_SLEEP, EC_WORD_TIME, EC_WORD_FOR, EC_WORD_CHILDREN, EC_WORD_EXCL}, .speechWin = {EC_WORD_NOT, EC_WORD_GUTSY, EC_WORD_ENOUGH, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_WHY, EC_WORD_DID, EC_WORD_YOU, EC_WORD_CRUSH, EC_WORD_ME, EC_WORD_QUES}, @@ -1663,7 +1663,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_1 = { { .name = _("GABRIEL"), .facilityClass = FACILITY_CLASS_CUE_BALL, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_YAHOO, EC_WORD_EXCL, EC_WORD_HERE_I_COME, EC_WORD_TO, EC_WORD_SWARM, EC_WORD_YOU}, .speechWin = {EC_WORD_I_AM, EC_WORD_INVINCIBLE, EC_WORD_YOU, EC_WORD_GOT, EC_WORD_THAT, EC_WORD_QUES}, .speechLose = {EC_WORD_WHAT, EC_WORD_WAS, EC_WORD_THAT, EC_WORD_QUES, 0xFFFF, 0xFFFF}, @@ -1816,7 +1816,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { { .name = _("MIKE"), .facilityClass = FACILITY_CLASS_HIKER_2, - .unkC = 5, + .textColor = 5, .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_FULL, EC_WORD_OF, EC_WORD_POWER}, .speechWin = {EC_WORD_WHAT_S_UP_QUES, EC_WORD_WHERE, EC_WORD_IS, EC_WORD_YOUR, EC_WORD_POWER, EC_WORD_QUES}, .speechLose = {EC_WORD_YOU, EC_WORD_GOT, EC_WORD_ME, EC_WORD_WITH, EC_WORD_YOUR, EC_MOVE2(FAKE_OUT)}, @@ -1959,7 +1959,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { { .name = _("REBECCA"), .facilityClass = FACILITY_CLASS_CRUSH_GIRL, - .unkC = 5, + .textColor = 5, .speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_WORD_WIN, EC_WORD_EXCL_EXCL, 0xFFFF, 0xFFFF}, .speechWin = {EC_WORD_IT_S, EC_WORD_TOO, EC_WORD_BAD, EC_WORD_BUT, EC_WORD_I_AM, EC_WORD_OVERWHELMING}, .speechLose = {EC_WORD_ARRGH, EC_WORD_EXCL_EXCL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, @@ -2102,7 +2102,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_2 = { { .name = _("NICOLAS"), .facilityClass = FACILITY_CLASS_BLACK_BELT_2, - .unkC = 5, + .textColor = 5, .speechBefore = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_WHERE, EC_WORD_YOU, EC_WORD_STOP, EC_WORD_EXCL}, .speechWin = {EC_WORD_YOU_RE, EC_WORD_TOO_WEAK, EC_WORD_TO, EC_WORD_EVER, EC_WORD_BEAT, EC_WORD_ME}, .speechLose = {EC_WORD_WHY, EC_WORD_COULDN_T, EC_WORD_I, EC_WORD_BEAT, EC_WORD_YOU, EC_WORD_QUES}, @@ -2255,7 +2255,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_5 = { { .name = _("JOEY"), .facilityClass = FACILITY_CLASS_CAMPER_2, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_SCARY, EC_WORD_STRONG, EC_WORD_EXCL}, .speechWin = {EC_WORD_WERE, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_QUES}, .speechLose = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_WAY, EC_WORD_TOO_STRONG, EC_WORD_EXCL}, @@ -2410,7 +2410,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_8 = { { .name = _("LILY"), .facilityClass = FACILITY_CLASS_PKMN_BREEDER_3, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_SOMETHING, EC_WORD_IN, EC_MOVE(RETURN), EC_WORD_EXCL}, .speechWin = {EC_WORD_I, EC_WORD_BELIEVE, EC_WORD_IN, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_EXCL}, .speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_SOMETHING, EC_WORD_IN, EC_MOVE(RETURN), EC_WORD_ELLIPSIS}, @@ -2565,7 +2565,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_2 = { { .name = _("BRANDON"), .facilityClass = FACILITY_CLASS_BUG_CATCHER_2, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_POISON, EC_WORD_IS, EC_WORD_JUST, EC_WORD_SO, EC_WORD_AWFUL, EC_WORD_ISN_T_IT_QUES}, .speechWin = {EC_WORD_SEE, EC_WORD_QUES, EC_WORD_ISN_T, EC_WORD_POISON, EC_WORD_TERRIBLE, EC_WORD_QUES}, .speechLose = {EC_WORD_HUH_QUES, EC_WORD_OUR, EC_WORD_POISON, EC_WORD_DIDN_T, EC_WORD_WORK, EC_WORD_QUES}, @@ -2720,7 +2720,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_3 = { { .name = _("RIC & RENE"), .facilityClass = FACILITY_CLASS_CRUSH_KIN, - .unkC = 5, + .textColor = 5, .speechBefore = {EC_WORD_MY, EC_WORD_BIG, EC_WORD_BROTHER, EC_WORD_IS, EC_WORD_REALLY, EC_WORD_AWESOME}, .speechWin = {EC_WORD_MY, EC_WORD_BIG, EC_WORD_BROTHER, EC_WORD_IS, EC_WORD_TOO, EC_WORD_AWESOME}, .speechLose = {EC_WORD_MY, EC_WORD_BIG, EC_WORD_BROTHER, EC_WORD_ISN_T, EC_WORD_AWESOME, EC_WORD_QUES}, @@ -2863,7 +2863,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_3 = { { .name = _("RIC & RENE"), .facilityClass = FACILITY_CLASS_CRUSH_KIN, - .unkC = 5, + .textColor = 5, .speechBefore = {EC_WORD_I_AM, EC_WORD_REALLY, EC_WORD_AWESOME, EC_WORD_EXCL, 0xFFFF, 0xFFFF}, .speechWin = {EC_WORD_I_AM, EC_WORD_TOO, EC_WORD_AWESOME, EC_WORD_EXCL, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_HUH_QUES, 0xFFFF, EC_WORD_I_AM, EC_WORD_NOT_VERY, EC_WORD_AWESOME, EC_WORD_QUES}, @@ -3017,7 +3017,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_1 = { { .name = _("JEN & KIRA"), .facilityClass = FACILITY_CLASS_TWINS_2, - .unkC = 5, + .textColor = 5, .speechBefore = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_TRY, EC_WORD_HARD, EC_WORD_EXCL}, .speechWin = {EC_WORD_EHEHE, EC_WORD_YAY, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, @@ -3160,7 +3160,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_1 = { { .name = _("JEN & KIRA"), .facilityClass = FACILITY_CLASS_TWINS_2, - .unkC = 3, + .textColor = 3, .speechBefore = {EC_WORD_LET_S, EC_WORD_TRY, EC_WORD_HARD, EC_WORD_EXCL, 0xFFFF, 0xFFFF}, .speechWin = {EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, @@ -3314,7 +3314,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_4 = { { .name = _("ISAC & MAG"), .facilityClass = FACILITY_CLASS_COOL_COUPLE, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_OUR, EC_MOVE(EARTHQUAKE), EC_WORD_WILL, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_SHAKY}, .speechWin = {EC_WORD_FEELING, EC_WORD_SHAKY, EC_WORD_HUH_QUES, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_I_AM, EC_WORD_ALL, EC_WORD_SHAKY, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF}, @@ -3457,7 +3457,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_4 = { { .name = _("ISAC & MAG"), .facilityClass = FACILITY_CLASS_COOL_COUPLE, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_DOESN_T, EC_WORD_GET, EC_WORD_ALL, EC_WORD_SHAKY}, .speechWin = {EC_WORD_SEE, EC_WORD_QUES, EC_WORD_I, EC_WORD_DIDN_T, EC_WORD_LIE, EC_WORD_EXCL}, .speechLose = {EC_WORD_HUH_QUES, EC_WORD_YOU, EC_WORD_LEFT, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_SHAKY}, @@ -3611,7 +3611,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { { .name = _("CHELSEA"), .facilityClass = FACILITY_CLASS_PKMN_RANGER_4, - .unkC = 7, + .textColor = 7, .speechBefore = {EC_WORD_THE, EC_WORD_GREEN, EC_WORD_WORLD, EC_WORD_IS, EC_WORD_IMPORTANT, EC_WORD_ISN_T_IT_QUES}, .speechWin = {EC_WORD_YOU, EC_WORD_TAKE, EC_WORD_THE, EC_WORD_LOSS, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_BE, EC_WORD_KIND, EC_WORD_TO, EC_WORD_THE, EC_WORD_GREEN, EC_WORD_WORLD}, @@ -3754,7 +3754,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { { .name = _("TRENTON"), .facilityClass = FACILITY_CLASS_PKMN_RANGER_3, - .unkC = 7, + .textColor = 7, .speechBefore = {EC_WORD_I, EC_MOVE2(PROTECT), EC_WORD_THE, EC_WORD_GREAT, EC_WORD_GREEN, EC_WORD_WORLD}, .speechWin = {EC_WORD_TAKE_THAT, EC_WORD_EXCL, EC_WORD_THE, EC_WORD_LOSS, EC_WORD_IS, EC_WORD_YOURS}, .speechLose = {EC_MOVE2(PROTECT), EC_WORD_THE, EC_WORD_GREEN, EC_WORD_WORLD, 0xFFFF, 0xFFFF}, @@ -3897,7 +3897,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_8 = { { .name = _("ALBERT"), .facilityClass = FACILITY_CLASS_COOLTRAINER_3, - .unkC = 7, + .textColor = 7, .speechBefore = {EC_WORD_LET_S, EC_WORD_HAVE, EC_WORD_AN, EC_WORD_EXCITING, EC_WORD_TIME, EC_WORD_HERE}, .speechWin = {EC_WORD_YOU_RE, EC_WORD_TOO_WEAK, EC_WORD_TO, EC_WORD_MAKE, EC_WORD_THINGS, EC_WORD_EXCITING}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_STRONG, EC_WORD_THAT_WAS, EC_WORD_WILD, EC_WORD_AND, EC_WORD_EXCITING}, @@ -4050,7 +4050,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { { .name = _("CAMRYN"), .facilityClass = FACILITY_CLASS_PICNICKER_2, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_LET_S, EC_WORD_BATTLE, EC_WORD_I, EC_WORD_WON_T, EC_WORD_LOSE, EC_WORD_EXCL}, .speechWin = {EC_WORD_I, EC_WORD_SAID, EC_WORD_THAT, EC_WORD_I, EC_WORD_WOULD, EC_WORD_WIN}, .speechLose = {EC_WORD_OH_QUES, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_DID, EC_WORD_I, EC_WORD_LOSE, EC_WORD_QUES}, @@ -4193,7 +4193,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { { .name = _("NATALIA"), .facilityClass = FACILITY_CLASS_AROMA_LADY_2, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_THIS, EC_MOVE(SWEET_SCENT), EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_IT, EC_WORD_QUES}, .speechWin = {EC_WORD_WASN_T, EC_WORD_THAT, EC_WORD_NICE, EC_WORD_QUES, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_THAT, EC_WORD_WASN_T, EC_WORD_GOOD, EC_WORD_QUES, 0xFFFF, 0xFFFF}, @@ -4336,7 +4336,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_3 = { { .name = _("KATHLEEN"), .facilityClass = FACILITY_CLASS_COOLTRAINER_4, - .unkC = 7, + .textColor = 7, .speechBefore = {EC_WORD_TOO, EC_WORD_BAD, EC_WORD_IT_S, EC_WORD_OVER, EC_WORD_FOR, EC_WORD_YOU}, .speechWin = {EC_WORD_SORRY, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_HARD, EC_WORD_TO, EC_WORD_BELIEVE, EC_WORD_ELLIPSIS}, @@ -4489,7 +4489,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_6 = { { .name = _("BRADEN"), .facilityClass = FACILITY_CLASS_SWIMMER_MALE_2, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_I_AM, EC_WORD_PRETTY, EC_WORD_HAPPY, EC_WORD_WITH, EC_WORD_MY, EC_WORD_TOUGHNESS}, .speechWin = {EC_WORD_WROOOAAR_EXCL, 0xFFFF, EC_WORD_SERIOUSLY, EC_WORD_I, EC_WORD_WON, EC_WORD_QUES}, .speechLose = {EC_WORD_YOU, EC_WORD_SHOCKED, EC_WORD_ME, EC_WORD_OUT, EC_WORD_OF, EC_WORD_HAPPINESS}, @@ -4644,7 +4644,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_1 = { { .name = _("ALLYSON"), .facilityClass = FACILITY_CLASS_COOLTRAINER_4, - .unkC = 7, + .textColor = 7, .speechBefore = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_ABOUT, EC_WORD_TO, EC_WORD_LOSE, EC_WORD_TODAY}, .speechWin = {EC_WORD_YES, EC_WORD_EXCL_EXCL, EC_WORD_I, EC_WORD_ADORE, EC_WORD_MYSELF, EC_WORD_TODAY}, .speechLose = {EC_WORD_I_WAS, EC_WORD_CONFUSED, EC_WORD_ABOUT, EC_WORD_THINGS, EC_WORD_I, EC_WORD_THINK}, @@ -4799,7 +4799,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_1 = { { .name = _("ALBERTO"), .facilityClass = FACILITY_CLASS_SAILOR_2, - .unkC = 5, + .textColor = 5, .speechBefore = {EC_WORD_LET_S, EC_WORD_GET, EC_WORD_WITH, EC_WORD_IT, EC_WORD_RIGHT, EC_WORD_AWAY}, .speechWin = {EC_WORD_YO, EC_WORD_EXCL_EXCL, EC_WORD_YOU, EC_WORD_GIVE_UP, EC_WORD_NOW, EC_WORD_EH_QUES}, .speechLose = {EC_WORD_IT_S, EC_WORD_ALL, EC_WORD_OVER, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_SURRENDER}, @@ -4954,7 +4954,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_5 = { { .name = _("KAT & KIPP"), .facilityClass = FACILITY_CLASS_SIS_AND_BRO_2, - .unkC = 4, + .textColor = 4, .speechBefore = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_TRY, EC_WORD_MY, EC_WORD_BEST}, .speechWin = {EC_WORD_WAY, EC_WORD_TO, EC_WORD_GO, EC_WORD_MY, EC_WORD_AWESOME, EC_WORD_BROTHER}, .speechLose = {EC_WORD_SIGH, EC_WORD_ELLIPSIS, EC_WORD_THAT_S, EC_WORD_HOW, EC_WORD_IT, EC_WORD_GOES}, @@ -5097,7 +5097,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_5 = { { .name = _("KAT & KIPP"), .facilityClass = FACILITY_CLASS_SIS_AND_BRO_2, - .unkC = 4, + .textColor = 4, .speechBefore = {EC_WORD_FUFUFU, EC_WORD_ELLIPSIS, EC_WORD_WE, EC_WORD_NEVER, EC_WORD_LOSE, EC_WORD_EXCL}, .speechWin = {EC_WORD_FUFUFU, EC_WORD_ELLIPSIS, EC_WORD_WE_RE, EC_WORD_TOO_STRONG, EC_WORD_TO, EC_WORD_LOSE}, .speechLose = {EC_WORD_WHAT, EC_WORD_HUH_QUES, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_JOKING, EC_WORD_QUES}, @@ -5251,7 +5251,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_8 = { { .name = _("GEB&MEGAN"), .facilityClass = FACILITY_CLASS_COOL_COUPLE, - .unkC = 7, + .textColor = 7, .speechBefore = {EC_WORD_YOU_RE, EC_WORD_OUR, EC_WORD_OPPONENT, EC_WORD_QUES, EC_WORD_PUSHOVER, EC_WORD_HAHAHA}, .speechWin = {EC_WORD_HAHAHA, EC_WORD_SORRY, EC_WORD_MY, EC_WORD_FRIEND, EC_WORD_TOUGH, EC_WORD_LOSS}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_SERIOUS, EC_WORD_AREN_T, EC_WORD_YOU, EC_WORD_FRIEND, EC_WORD_QUES}, @@ -5394,7 +5394,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_8 = { { .name = _("GEB&MEGAN"), .facilityClass = FACILITY_CLASS_COOL_COUPLE, - .unkC = 7, + .textColor = 7, .speechBefore = {EC_WORD_YOU_RE, EC_WORD_OUR, EC_WORD_FOE, EC_WORD_QUES, EC_WORD_GIGGLE, EC_WORD_ELLIPSIS}, .speechWin = {EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SORRY, 0xFFFF}, .speechLose = {EC_WORD_MY, EC_WORD_WORD, EC_WORD_THIS, EC_WORD_IS, EC_WORD_JUST, EC_WORD_INCREDIBLE}, @@ -5548,7 +5548,7 @@ static const struct TrainerTowerFloor gUnknown_847FD0C = { { .name = _("LISA&LEAH"), .facilityClass = FACILITY_CLASS_TWINS_2, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_ABSOLUTELY, EC_WORD_WE_RE, EC_WORD_GOING, EC_WORD_TO, EC_WORD_WIN, EC_WORD_EXCL}, .speechWin = {EC_WORD_YEAH_YEAH, EC_WORD_EXCL_EXCL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_AWW, EC_WORD_EXCL, EC_WORD_WAAAH, EC_WORD_EXCL_EXCL, 0xFFFF, 0xFFFF}, @@ -5691,7 +5691,7 @@ static const struct TrainerTowerFloor gUnknown_847FD0C = { { .name = _("LISA&LEAH"), .facilityClass = FACILITY_CLASS_TWINS_2, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_CAN, EC_WORD_WE, EC_WORD_WIN, EC_WORD_QUES, EC_WORD_IT_S, EC_WORD_EXCITING}, .speechWin = {EC_WORD_YEAH_YEAH, EC_WORD_EXCL_EXCL, EC_WORD_YOU, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_HAPPY}, .speechLose = {EC_WORD_AWW, EC_WORD_EXCL, EC_WORD_WAAAH, EC_WORD_EXCL_EXCL, 0xFFFF, 0xFFFF}, @@ -5845,7 +5845,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { { .name = _("PRISCILLA"), .facilityClass = FACILITY_CLASS_TUBER_3, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_I_AM, EC_WORD_A_LITTLE, EC_WORD_POKEMON, EC_WORD_GIRL, EC_WORD_HERE_I_COME, EC_WORD_EXCL}, .speechWin = {EC_WORD_WAAAH, EC_WORD_EXCL, EC_WORD_DID, EC_WORD_I, EC_WORD_WIN, EC_WORD_QUES}, .speechLose = {EC_WORD_OH_DEAR, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_COULDN_T, EC_WORD_WIN, EC_WORD_ELLIPSIS}, @@ -5988,7 +5988,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { { .name = _("CHARLOTTE"), .facilityClass = FACILITY_CLASS_LADY_2, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_HELLO, EC_WORD_THERE, EC_WORD_I_AM, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_LADY}, .speechWin = {EC_WORD_OH, EC_WORD_MY, EC_WORD_MY, EC_WORD_ELLIPSIS, EC_WORD_I_AM, EC_WORD_SORRY}, .speechLose = {EC_WORD_YOU_RE, EC_WORD_BETTER, EC_WORD_THAN, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_LADY}, @@ -6131,7 +6131,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_7 = { { .name = _("SHANIA"), .facilityClass = FACILITY_CLASS_SWIMMER_FEMALE_2, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_A, EC_WORD_POKEMON, EC_WORD_HEROINE, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM}, .speechWin = {EC_WORD_AHAHA, EC_WORD_NO, EC_WORD_WAY, EC_WORD_YOU_RE, EC_WORD_TOO_WEAK, EC_WORD_SERIOUSLY}, .speechLose = {EC_WORD_WHY, EC_WORD_QUES_EXCL, EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_LIE}, @@ -6284,7 +6284,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { { .name = _("BRENNAN"), .facilityClass = FACILITY_CLASS_SAILOR_2, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_TAKE, EC_WORD_THINGS, EC_WORD_EASY, EC_WORD_ELLIPSIS, EC_WORD_THAT_S, EC_WORD_IMPORTANT}, .speechWin = {EC_WORD_YOU, EC_WORD_LOSE, EC_WORD_IF, EC_WORD_YOU, EC_WORD_GIVE_UP, EC_WORD_EXCL}, .speechLose = {EC_WORD_OOPS, EC_WORD_YOU, EC_WORD_GOT, EC_WORD_AN, EC_WORD_EASY, EC_WORD_WIN}, @@ -6427,7 +6427,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { { .name = _("KADEN"), .facilityClass = FACILITY_CLASS_FISHERMAN_2, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_MY, EC_WORD_FISHING, EC_WORD_FASHION, EC_WORD_APPEAL, EC_WORD_IS, EC_WORD_FANTASTIC}, .speechWin = {EC_WORD_MY, EC_WORD_FANTASTIC, EC_WORD_FASHION, EC_WORD_APPEAL, EC_WORD_WINS, EC_WORD_OUT}, .speechLose = {EC_WORD_UH_OH, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_SEE, EC_WORD_I, EC_WORD_LOST}, @@ -6570,7 +6570,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_4 = { { .name = _("EMANUEL"), .facilityClass = FACILITY_CLASS_GENTLEMAN_2, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_HMM, EC_WORD_QUES, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_SKILLED, EC_WORD_QUES}, .speechWin = {EC_WORD_I, EC_WORD_SEE, EC_WORD_I, EC_WORD_WASN_T, EC_WORD_RIGHT, EC_WORD_ELLIPSIS}, .speechLose = {EC_WORD_YOU, EC_WORD_TRULY, EC_WORD_ARE, EC_WORD_A, EC_WORD_MASTER, EC_WORD_TRAINER}, @@ -6723,7 +6723,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Single_3 = { { .name = _("JARRETT"), .facilityClass = FACILITY_CLASS_JUGGLER, - .unkC = 2, + .textColor = 2, .speechBefore = {EC_WORD_LET_S, EC_WORD_HAVE, EC_WORD_AN, EC_MOVE2(EXPLOSION), EC_WORD_PARTY, EC_WORD_EXCL}, .speechWin = {EC_WORD_CONGRATS, EC_WORD_FOR, EC_WORD_YOUR, EC_WORD_LOSS, EC_WORD_PARTY, EC_WORD_KID}, .speechLose = {EC_WORD_NICE, EC_MOVE(SELF_DESTRUCT), EC_WORD_THERE, EC_WORD_EXCL, EC_WORD_YOU_RE, EC_WORD_PERFECT}, @@ -6878,7 +6878,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_3 = { { .name = _("OWEN"), .facilityClass = FACILITY_CLASS_SUPER_NERD, - .unkC = 2, + .textColor = 2, .speechBefore = {EC_WORD_HERE_IT_IS, EC_MOVE2(THUNDER_WAVE), EC_WORD_DON_T, EC_MOVE2(WRAP), EC_WORD_ME, EC_WORD_EXCL}, .speechWin = {EC_WORD_ACCEPT, EC_WORD_MY, EC_MOVE2(PRESENT), EC_WORD_OF, EC_MOVE2(THUNDER_WAVE), EC_WORD_EXCL}, .speechLose = {EC_MOVE2(WRAP), EC_MOVE(BIND), EC_WORD_ELECTRIC, EC_MOVE2(WHIRLWIND), EC_WORD_SPIRALING, EC_WORD_AROUND}, @@ -7033,7 +7033,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Mixed_2 = { { .name = _("LORENZO"), .facilityClass = FACILITY_CLASS_PSYCHIC_3, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_THIS, EC_WORD_POWER, EC_WORD_IS, EC_WORD_NOW, EC_WORD_COMPLETE, EC_WORD_EXCL}, .speechWin = {EC_WORD_NO, EC_WORD_KEEN_EYE, EC_WORD_CAN, EC_WORD_STOP, EC_WORD_MY, EC_WORD_POWER}, .speechLose = {EC_WORD_HERE_IT_IS, EC_WORD_EXCL, EC_MOVE(KINESIS), EC_WORD_EXCL, EC_WORD_ELLIPSIS, EC_WORD_WHAT}, @@ -7188,7 +7188,7 @@ static const struct TrainerTowerFloor gUnknown_848144C = { { .name = _("NIA & CARL"), .facilityClass = FACILITY_CLASS_COOL_COUPLE, - .unkC = 4, + .textColor = 4, .speechBefore = {EC_WORD_HERE_GOES, EC_WORD_MY, EC_WORD_DIGITAL, EC_WORD_ROMANTIC, EC_WORD_HERO, EC_WORD_STRATEGY}, .speechWin = {EC_WORD_THAT_S, EC_WORD_THE, EC_WORD_DIGITAL, EC_WORD_HYPER, EC_WORD_MODE, EC_WORD_POWER}, .speechLose = {EC_WORD_MY, EC_WORD_PERFECT, EC_WORD_STRATEGY, EC_WORD_WAS, EC_MOVE2(BEAT_UP), EC_WORD_QUES}, @@ -7331,7 +7331,7 @@ static const struct TrainerTowerFloor gUnknown_848144C = { { .name = _("NIA & CARL"), .facilityClass = FACILITY_CLASS_COOL_COUPLE, - .unkC = 4, + .textColor = 4, .speechBefore = {EC_WORD_MASTER, EC_WORD_COMPLETE, EC_WORD_FASHION, EC_WORD_SYSTEM, EC_WORD_START, EC_WORD_EXCL}, .speechWin = {EC_WORD_THAT_S_IT_EXCL, EC_WORD_THE, EC_WORD_POWER, EC_WORD_OF, EC_WORD_OUR, EC_WORD_SYSTEM}, .speechLose = {EC_WORD_OKAY, EC_WORD_EXCL, EC_MOVE(THUNDERBOLT), EC_WORD_RUN_AWAY, EC_WORD_SYSTEM, EC_WORD_START}, @@ -7485,7 +7485,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_7 = { { .name = _("AXE & REN"), .facilityClass = FACILITY_CLASS_SIS_AND_BRO_2, - .unkC = 2, + .textColor = 2, .speechBefore = {EC_WORD_IT_S, EC_WORD_GOING, EC_WORD_TO, EC_WORD_GET, EC_WORD_AWFULLY, EC_WORD_COLD}, .speechWin = {EC_WORD_THAT_S, EC_WORD_THAT, EC_WORD_MAN, EC_WORD_I_AM, EC_WORD_COLD, EC_WORD_EXCL}, .speechLose = {EC_WORD_I, EC_WORD_CAN_T_WIN, EC_WORD_IN, EC_WORD_THIS, EC_MOVE(SHEER_COLD), EC_WORD_ELLIPSIS}, @@ -7628,7 +7628,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Double_7 = { { .name = _("AXE & REN"), .facilityClass = FACILITY_CLASS_SIS_AND_BRO_2, - .unkC = 2, + .textColor = 2, .speechBefore = {EC_WORD_OUR, EC_WORD_SWIFT_SWIM, EC_WORD_LEFT, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_COLD}, .speechWin = {EC_WORD_I, EC_WORD_WON, EC_WORD_BUT, EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_HOT}, .speechLose = {EC_WORD_I_AM, EC_WORD_HUNGRY, EC_WORD_FOR, EC_WORD_ANY, EC_WORD_HOT, EC_WORD_EATS}, @@ -7782,7 +7782,7 @@ static const struct TrainerTowerFloor gUnknown_8481C0C = { { .name = _("KATI & GEB"), .facilityClass = FACILITY_CLASS_YOUNG_COUPLE_2, - .unkC = 2, + .textColor = 2, .speechBefore = {EC_WORD_WELCOME, EC_WORD_TO, EC_WORD_OUR, EC_WORD_LOVEY_DOVEY, EC_MOVE2(THUNDER_WAVE), EC_MOVE(SANDSTORM)}, .speechWin = {EC_WORD_LALALA, EC_WORD_LALALA, EC_WORD_OUR, EC_WORD_LOVEY_DOVEY, EC_WORD_LALALA, EC_WORD_LIFE}, .speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_LOSE, EC_WORD_MY, EC_MOVE2(FRUSTRATION)}, @@ -7925,7 +7925,7 @@ static const struct TrainerTowerFloor gUnknown_8481C0C = { { .name = _("KATI & GEB"), .facilityClass = FACILITY_CLASS_YOUNG_COUPLE_2, - .unkC = 2, + .textColor = 2, .speechBefore = {EC_WORD_I_AM, EC_WORD_PLUS, EC_WORD_YOU_RE, EC_WORD_MINUS, EC_WORD_LOVEY_DOVEY, EC_WORD_MAGNET_PULL}, .speechWin = {EC_WORD_DON_T, EC_WORD_STOP, EC_WORD_OUR, EC_WORD_LOVEY_DOVEY, EC_WORD_LOCOMOTIVE, EC_WORD_EXCL}, .speechLose = {EC_WORD_HIS, EC_WORD_CRY, EC_WORD_HAS, EC_WORD_CUTE_CHARM, EC_WORD_TOO, EC_WORD_EXCL}, @@ -8079,7 +8079,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { { .name = _("BEN"), .facilityClass = FACILITY_CLASS_ROCKER, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_LALALA, EC_WORD_LET_S, EC_MOVE(SING), EC_WORD_ABOUT, EC_WORD_ELECTRIC, EC_WORD_POWER}, .speechWin = {EC_WORD_STATIC, EC_WORD_IS, EC_WORD_ELECTRIC, EC_WORD_YES, EC_WORD_IT, EC_WORD_IS}, .speechLose = {EC_WORD_ELECTRIC, EC_WORD_ABOUT, EC_WORD_MY, EC_WORD_DIGITAL, EC_WORD_TELEVISION, EC_WORD_I_AM}, @@ -8222,7 +8222,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { { .name = _("CAMDEN"), .facilityClass = FACILITY_CLASS_ENGINEER, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_LALALA, EC_WORD_LET_S, EC_MOVE(SING), EC_WORD_ABOUT, EC_WORD_ELECTRIC, EC_WORD_POWER}, .speechWin = {EC_WORD_A, EC_MOVE(THUNDERBOLT), EC_WORD_IS, EC_WORD_ELECTRIC, EC_WORD_TOO, EC_WORD_EXCL}, .speechLose = {EC_WORD_ELECTRIC, EC_WORD_EXCL, EC_WORD_IT_S, EC_WORD_ABOUT, EC_WORD_WIRELESS, EC_WORD_LINK}, @@ -8365,7 +8365,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_6 = { { .name = _("ZACKERY"), .facilityClass = FACILITY_CLASS_SCIENTIST, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_LALALA, EC_WORD_LET_S, EC_MOVE(SING), EC_WORD_ABOUT, EC_WORD_ELECTRIC, EC_WORD_POWER}, .speechWin = {EC_MOVE2(THUNDER_SHOCK), EC_WORD_IS, EC_WORD_ELECTRIC, EC_WORD_YOU, EC_WORD_KNOW, EC_WORD_QUES}, .speechLose = {EC_WORD_ELECTRIC, EC_WORD_EXCL, EC_MOVE2(FLASH), EC_MOVE2(FLASH), EC_MOVE2(FLASH), EC_WORD_EXCL_EXCL}, @@ -8518,7 +8518,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { { .name = _("MAURA"), .facilityClass = FACILITY_CLASS_BEAUTY_2, - .unkC = 2, + .textColor = 2, .speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_GROUP, EC_WORD_LEADER, EC_WORD_EXCL, 0xFFFF}, .speechWin = {EC_WORD_WHAT, EC_WORD_AM, EC_WORD_I, EC_WORD_LEADER, EC_WORD_OF, EC_WORD_QUES}, .speechLose = {EC_WORD_I_AM, EC_WORD_NO, EC_WORD_LEADER, EC_WORD_IT_S, EC_WORD_A_LITTLE, EC_WORD_LIE}, @@ -8661,7 +8661,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { { .name = _("MIKAELA"), .facilityClass = FACILITY_CLASS_LASS_2, - .unkC = 1, + .textColor = 1, .speechBefore = {EC_WORD_I_AM, EC_WORD_REALLY, EC_WORD_THE, EC_WORD_NO_1, EC_WORD_TRAINER, EC_WORD_HERE}, .speechWin = {EC_WORD_NEVER, EC_WORD_SAID, EC_WORD_WHAT, EC_WORD_I_AM, EC_WORD_NO_1, EC_WORD_AT}, .speechLose = {EC_WORD_NEXT, EC_WORD_TIME, EC_WORD_I, EC_WORD_WILL, EC_WORD_BE, EC_WORD_OVERWHELMING}, @@ -8804,7 +8804,7 @@ static const struct TrainerTowerFloor sTrainerTowerFloor_Knockout_5 = { { .name = _("FLINT"), .facilityClass = FACILITY_CLASS_ENGINEER, - .unkC = 4, + .textColor = 4, .speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_MOVE2(MILK_DRINK), EC_WORD_WORLD, EC_WORD_LEADER, EC_WORD_EXCL}, .speechWin = {EC_WORD_I_VE, EC_WORD_WON, EC_WORD_THIS, EC_MOVE2(MILK_DRINK), EC_WORD_MATCH, EC_WORD_EXCL}, .speechLose = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_DRINK, EC_WORD_ANY, EC_WORD_MORE, EC_WORD_DRINKS}, -- cgit v1.2.3