From f980e6258d336fd434df8b8b207b9ca87a2ea66a Mon Sep 17 00:00:00 2001 From: cawtds Date: Sat, 11 May 2024 01:30:30 +0200 Subject: [PATCH] refactored trainers --- include/constants/battle_ai.h | 6 +- include/constants/global.h | 1 + include/constants/opponents.h | 4 +- include/constants/trainers.h | 6 + include/data.h | 178 +- include/pokemon.h | 1 + src/battle_ai_script_commands.c | 6 +- src/battle_main.c | 405 ++- src/battle_message.c | 76 +- src/battle_setup.c | 65 +- src/data.c | 2 +- src/data/battle_partners.h | 2 +- src/data/text/trainer_class_names.h | 109 - src/data/trainer_parties.h | 3848 ++++++++++----------------- src/data/trainers.h | 2978 ++++++++++----------- src/pokemon.c | 7 +- src/union_room.c | 2 +- 17 files changed, 3437 insertions(+), 4259 deletions(-) delete mode 100644 src/data/text/trainer_class_names.h diff --git a/include/constants/battle_ai.h b/include/constants/battle_ai.h index d23648f39..e6301d01b 100644 --- a/include/constants/battle_ai.h +++ b/include/constants/battle_ai.h @@ -34,9 +34,9 @@ #define MOVE_MOST_POWERFUL 2 // script's table id to bit -#define AI_SCRIPT_CHECK_BAD_MOVE (1 << 0) -#define AI_SCRIPT_CHECK_VIABILITY (1 << 1) -#define AI_SCRIPT_TRY_TO_FAINT (1 << 2) +#define AI_FLAG_CHECK_BAD_MOVE (1 << 0) +#define AI_FLAG_CHECK_VIABILITY (1 << 1) +#define AI_FLAG_TRY_TO_FAINT (1 << 2) #define AI_SCRIPT_SETUP_FIRST_TURN (1 << 3) #define AI_SCRIPT_RISKY (1 << 4) #define AI_SCRIPT_PREFER_STRONGEST_MOVE (1 << 5) diff --git a/include/constants/global.h b/include/constants/global.h index 19f0afa9d..328b19193 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -82,6 +82,7 @@ #define WONDER_NEWS_BODY_TEXT_LINES 10 #define TYPE_NAME_LENGTH 6 #define ABILITY_NAME_LENGTH ((B_EXPANDED_ABILITY_NAMES == TRUE) ? 16 : 12) +#define TRAINER_NAME_LENGTH 10 #define MAX_STAMP_CARD_STAMPS 7 diff --git a/include/constants/opponents.h b/include/constants/opponents.h index b5fcc3d56..679037d6b 100644 --- a/include/constants/opponents.h +++ b/include/constants/opponents.h @@ -1,6 +1,8 @@ #ifndef GUARD_CONSTANTS_OPPONENTS_H #define GUARD_CONSTANTS_OPPONENTS_H +#include "constants/battle_partner.h" + #define TRAINER_NONE 0 // Dummy trainers for all the RS trainer classes #define TRAINER_AQUA_LEADER 1 @@ -752,7 +754,7 @@ // only space for 25 additional trainers before trainer flag space overflows. // MAX_TRAINERS_COUNT can be increased but will take up additional saveblock space -#define NUM_TRAINERS 744 +#define TRAINERS_COUNT 744 #define MAX_TRAINERS_COUNT 769 #define TRAINER_PARTNER(partner) (MAX_TRAINERS_COUNT + partner) diff --git a/include/constants/trainers.h b/include/constants/trainers.h index 70e8b4bc7..0e3825b0f 100644 --- a/include/constants/trainers.h +++ b/include/constants/trainers.h @@ -288,6 +288,8 @@ #define TRAINER_CLASS_LADY 105 #define TRAINER_CLASS_PAINTER 106 +#define TRAINER_CLASS_COUNT 107 + #define FACILITY_CLASS_AQUA_LEADER_ARCHIE 0 #define FACILITY_CLASS_AQUA_GRUNT_M 1 #define FACILITY_CLASS_AQUA_GRUNT_F 2 @@ -441,6 +443,10 @@ #define F_TRAINER_FEMALE (1 << 7) +// Trainer party defines +#define TRAINER_MON_MALE 1 +#define TRAINER_MON_FEMALE 2 + // All trainer parties specify the IV, level, and species for each Pokémon in the // party. Some trainer parties also specify held items and custom moves for each // Pokémon. diff --git a/include/data.h b/include/data.h index 01cbb2741..ce53a3fde 100644 --- a/include/data.h +++ b/include/data.h @@ -18,6 +18,8 @@ struct MonCoords #define MON_COORDS_SIZE(width, height)(DIV_ROUND_UP(width, 8) << 4 | DIV_ROUND_UP(height, 8)) #define GET_MON_COORDS_WIDTH(size)((size >> 4) * 8) #define GET_MON_COORDS_HEIGHT(size)((size & 0xF) * 8) +#define TRAINER_PARTY_IVS(hp, atk, def, speed, spatk, spdef) (hp | (atk << 5) | (def << 10) | (speed << 15) | (spatk << 20) | (spdef << 25)) +#define TRAINER_PARTY_EVS(hp, atk, def, speed, spatk, spdef) ((const u8[6]){hp,atk,def,spatk,spdef,speed}) #define MAX_TRAINER_ITEMS 4 @@ -28,76 +30,51 @@ enum { BATTLER_AFFINE_RETURN, }; -struct TrainerMonNoItemDefaultMoves +struct TrainerMon { - u16 iv; - u8 lvl; - u16 species; -}; - -struct TrainerMonItemDefaultMoves -{ - u16 iv; - u8 lvl; + const u8 *nickname; + const u8 *ev; + u32 iv; + u16 moves[4]; u16 species; u16 heldItem; -}; - -struct TrainerMonNoItemCustomMoves -{ - u16 iv; + u16 ability; u8 lvl; - u16 species; - u16 moves[MAX_MON_MOVES]; + u8 ball; + u8 friendship; + u8 nature:5; + bool8 gender:2; + bool8 isShiny:1; + u8 dynamaxLevel:4; + bool8 gigantamaxFactor:1; + bool8 shouldDynamax:1; + bool8 shouldTerastal:1; }; -struct TrainerMonItemCustomMoves -{ - u16 iv; - u8 lvl; - u16 species; - u16 heldItem; - u16 moves[MAX_MON_MOVES]; -}; - -#define NO_ITEM_DEFAULT_MOVES(party) { .NoItemDefaultMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = 0 -#define NO_ITEM_CUSTOM_MOVES(party) { .NoItemCustomMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET -#define ITEM_DEFAULT_MOVES(party) { .ItemDefaultMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = F_TRAINER_PARTY_HELD_ITEM -#define ITEM_CUSTOM_MOVES(party) { .ItemCustomMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM - -union TrainerMonPtr -{ - const struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves; - const struct TrainerMonNoItemCustomMoves *NoItemCustomMoves; - const struct TrainerMonItemDefaultMoves *ItemDefaultMoves; - const struct TrainerMonItemCustomMoves *ItemCustomMoves; -}; +#define TRAINER_PARTY(partyArray) partyArray, .partySize = ARRAY_COUNT(partyArray) struct Trainer { - /*0x00*/ u8 partyFlags; - /*0x01*/ u8 trainerClass; - /*0x02*/ u8 encounterMusic_gender; // last bit is gender - /*0x03*/ u8 trainerPic; - /*0x04*/ u8 trainerName[12]; - /*0x10*/ u16 items[MAX_TRAINER_ITEMS]; - /*0x18*/ bool8 doubleBattle; - /*0x1C*/ u32 aiFlags; + /*0x00*/ u32 aiFlags; + /*0x04*/ const struct TrainerMon *party; + /*0x08*/ u16 items[MAX_TRAINER_ITEMS]; + /*0x10*/ u8 trainerClass; + /*0x11*/ u8 encounterMusic_gender; // last bit is gender + /*0x12*/ u8 trainerPic; + /*0x13*/ u8 trainerName[TRAINER_NAME_LENGTH + 1]; + /*0x1E*/ bool8 doubleBattle:1; + bool8 mugshotEnabled:1; + u8 startingStatus:6; // this trainer starts a battle with a given status. see include/constants/battle.h for values + /*0x1F*/ u8 mugshotColor; /*0x20*/ u8 partySize; - /*0x24*/ const union TrainerMonPtr party; }; -// extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; -// extern const u8 gMoveNames[][MOVE_NAME_LENGTH + 1]; - -extern const u8 gTrainerClassNames[][13]; - -static inline u16 SanitizeTrainerId(u16 trainerId) +struct TrainerClass { - if (trainerId >= NUM_TRAINERS) - return TRAINER_NONE; - return trainerId; -} + u8 name[13]; + u8 money; + u16 ball; +}; struct TypeInfo { @@ -116,12 +93,6 @@ struct TypeInfo //u16 arceusForm; }; -// extern const struct MonCoords gMonFrontPicCoords[]; -// extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -// extern const struct MonCoords gMonBackPicCoords[]; -// extern const struct CompressedSpriteSheet gMonBackPicTable[]; -// extern const struct CompressedSpritePalette gMonPaletteTable[]; -// extern const struct CompressedSpritePalette gMonShinyPaletteTable[]; extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[]; extern const struct MonCoords gTrainerFrontPicCoords[]; extern const struct CompressedSpriteSheet gTrainerFrontPicTable[]; @@ -155,16 +126,85 @@ extern const struct SpriteFrameImage gTrainerBackPicTable_RSMay[]; extern const union AnimCmd sAnim_GeneralFrame0[]; extern const struct Trainer gTrainers[]; +extern const struct Trainer gBattlePartners[]; + +extern const struct TrainerClass gTrainerClasses[TRAINER_CLASS_COUNT]; + + +static inline u16 SanitizeTrainerId(u16 trainerId) +{ + if (trainerId >= TRAINERS_COUNT) + return TRAINER_NONE; + return trainerId; +} + +static inline const struct Trainer *GetTrainerStructFromId(u16 trainerId) +{ + return &gTrainers[SanitizeTrainerId(trainerId)]; +} + +static inline const u8 GetTrainerClassFromId(u16 trainerId) +{ + return gTrainers[SanitizeTrainerId(trainerId)].trainerClass; +} + +static inline const u8 *GetTrainerClassNameFromId(u16 trainerId) +{ + if (trainerId > TRAINER_PARTNER(PARTNER_NONE)) + return gTrainerClasses[gBattlePartners[trainerId - TRAINER_PARTNER(PARTNER_NONE)].trainerClass].name; + return gTrainerClasses[GetTrainerClassFromId(trainerId)].name; +} static inline const u8 *GetTrainerNameFromId(u16 trainerId) { - // if (trainerId > TRAINER_PARTNER(PARTNER_NONE)) - // return gBattlePartners[trainerId - TRAINER_PARTNER(PARTNER_NONE)].trainerName; + if (trainerId > TRAINER_PARTNER(PARTNER_NONE)) + return gBattlePartners[trainerId - TRAINER_PARTNER(PARTNER_NONE)].trainerName; return gTrainers[SanitizeTrainerId(trainerId)].trainerName; } -// static inline const struct TrainerMon *GetTrainerPartyFromId(u16 trainerId) -// { -// return gTrainers[SanitizeTrainerId(trainerId)].party; -// } + +static inline const u8 GetTrainerPicFromId(u16 trainerId) +{ + return gTrainers[SanitizeTrainerId(trainerId)].trainerPic; +} + +static inline const u8 GetTrainerStartingStatusFromId(u16 trainerId) +{ + return gTrainers[SanitizeTrainerId(trainerId)].startingStatus; +} + +static inline const bool32 IsTrainerDoubleBattle(u16 trainerId) +{ + return gTrainers[SanitizeTrainerId(trainerId)].doubleBattle; +} + +static inline const u8 GetTrainerPartySizeFromId(u16 trainerId) +{ + return gTrainers[SanitizeTrainerId(trainerId)].partySize; +} + +static inline const bool32 DoesTrainerHaveMugshot(u16 trainerId) +{ + return gTrainers[SanitizeTrainerId(trainerId)].mugshotEnabled; +} + +static inline const u8 GetTrainerMugshotColorFromId(u16 trainerId) +{ + return gTrainers[SanitizeTrainerId(trainerId)].mugshotColor; +} + +static inline const u16 *GetTrainerItemsFromId(u16 trainerId) +{ + return gTrainers[SanitizeTrainerId(trainerId)].items; +} + +static inline const struct TrainerMon *GetTrainerPartyFromId(u16 trainerId) +{ + return gTrainers[SanitizeTrainerId(trainerId)].party; +} + +static inline const bool32 GetTrainerAIFlagsFromId(u16 trainerId) +{ + return gTrainers[SanitizeTrainerId(trainerId)].aiFlags; +} #endif // GUARD_DATA_H diff --git a/include/pokemon.h b/include/pokemon.h index 6dcb44176..2d22724d2 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -750,6 +750,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov u8 GetItemEffectParamOffset(u32 battler, u16 itemId, u8 effectByte, u8 effectBit); // const u8 *Battle_PrintStatBoosterEffectMessage(u16 itemId); u8 GetNature(struct Pokemon *mon); +u8 GetNatureFromPersonality(u32 personality); u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem, struct Pokemon *tradePartner); u16 NationalPokedexNumToSpecies(u16 nationalNum); u16 SpeciesToNationalPokedexNum(u16 species); diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index d2fbf719b..96506425d 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -379,18 +379,18 @@ void BattleAI_SetupAIData(u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_WILD_SCRIPTED) { - AI_THINKING_STRUCT->aiFlags = AI_SCRIPT_CHECK_BAD_MOVE; + AI_THINKING_STRUCT->aiFlags = AI_FLAG_CHECK_BAD_MOVE; return; } else if (gBattleTypeFlags & BATTLE_TYPE_LEGENDARY_FRLG) { - AI_THINKING_STRUCT->aiFlags = (AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY); + AI_THINKING_STRUCT->aiFlags = (AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY); return; } } else { - AI_THINKING_STRUCT->aiFlags = (AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY); + AI_THINKING_STRUCT->aiFlags = (AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY); return; } AI_THINKING_STRUCT->aiFlags = gTrainers[gTrainerBattleOpponent_A].aiFlags; diff --git a/src/battle_main.c b/src/battle_main.c index 444f914d3..681278221 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -66,7 +66,7 @@ static void HandleEndTurn_FinishBattle(void); static void CB2_InitBattleInternal(void); static void CB2_PreInitMultiBattle(void); static void CB2_HandleStartMultiBattle(void); -static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum); +static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 firstTrainer); static void CB2_HandleStartBattle(void); static void TryCorrectShedinjaLanguage(struct Pokemon *mon); static void BattleMainCB1(void); @@ -593,28 +593,124 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = */ }; +// extra args are money and ball +#define TRAINER_CLASS(trainerClass, trainerName, ...) \ + [TRAINER_CLASS_##trainerClass] = \ + { \ + .name = _(trainerName), \ + .money = DEFAULT(5, __VA_ARGS__), \ + .ball = DEFAULT_2(ITEM_POKE_BALL, __VA_ARGS__), \ + } -static const union AnimCmd sAnim_Unused[] = +const struct TrainerClass gTrainerClasses[TRAINER_CLASS_COUNT] = { - ANIMCMD_FRAME(0, 5), - ANIMCMD_JUMP(0), -}; - -static const union AnimCmd *const sAnims_Unused[] = -{ - sAnim_Unused, -}; - -static const union AffineAnimCmd sAffineAnim_Unused[] = -{ - AFFINEANIMCMD_FRAME(-0x10, 0x0, 0, 4), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 0x3C), - AFFINEANIMCMD_JUMP(1), -}; - -static const union AffineAnimCmd *const sAffineAnims_Unused[] = -{ - sAffineAnim_Unused, + TRAINER_CLASS(NONE, "{PKMN} TRAINER"), + TRAINER_CLASS(PKMN_TRAINER_UNUSED, "{PKMN} TRAINER"), + TRAINER_CLASS(AQUA_LEADER, "AQUA LEADER"), + TRAINER_CLASS(TEAM_AQUA, "TEAM AQUA"), + TRAINER_CLASS(RS_AROMA_LADY, "AROMA LADY"), + TRAINER_CLASS(RS_RUIN_MANIAC, "RUIN MANIAC"), + TRAINER_CLASS(INTERVIEWER, "INTERVIEWER"), + TRAINER_CLASS(RS_TUBER_F, "TUBER"), + TRAINER_CLASS(RS_TUBER_M, "TUBER"), + TRAINER_CLASS(RS_COOLTRAINER, "COOLTRAINER"), + TRAINER_CLASS(HEX_MANIAC, "HEX MANIAC"), + TRAINER_CLASS(RS_LADY, "LADY"), + TRAINER_CLASS(RS_BEAUTY, "BEAUTY"), + TRAINER_CLASS(RICH_BOY, "RICH BOY"), + TRAINER_CLASS(RS_POKEMANIAC, "POKéMANIAC"), + TRAINER_CLASS(RS_SWIMMER_M, "SWIMMER♂"), + TRAINER_CLASS(RS_BLACK_BELT, "BLACK BELT"), + TRAINER_CLASS(GUITARIST, "GUITARIST"), + TRAINER_CLASS(KINDLER, "KINDLER"), + TRAINER_CLASS(RS_CAMPER, "CAMPER"), + TRAINER_CLASS(BUG_MANIAC, "BUG MANIAC"), + TRAINER_CLASS(RS_PSYCHIC, "PSYCHIC"), + TRAINER_CLASS(RS_GENTLEMAN, "GENTLEMAN"), + TRAINER_CLASS(RS_ELITE_FOUR, "ELITE FOUR"), + TRAINER_CLASS(RS_LEADER, "LEADER"), + TRAINER_CLASS(SCHOOL_KID, "SCHOOL KID"), + TRAINER_CLASS(SR_AND_JR, "SR. AND JR."), + TRAINER_CLASS(POKEFAN, "POKéFAN"), + TRAINER_CLASS(EXPERT, "EXPERT"), + TRAINER_CLASS(RS_YOUNGSTER, "YOUNGSTER"), + TRAINER_CLASS(RS_CHAMPION, "CHAMPION"), + TRAINER_CLASS(RS_FISHERMAN, "FISHERMAN"), + TRAINER_CLASS(TRIATHLETE, "TRIATHLETE"), + TRAINER_CLASS(DRAGON_TAMER, "DRAGON TAMER"), + TRAINER_CLASS(RS_BIRD_KEEPER, "BIRD KEEPER"), + TRAINER_CLASS(NINJA_BOY, "NINJA BOY"), + TRAINER_CLASS(BATTLE_GIRL, "BATTLE GIRL"), + TRAINER_CLASS(PARASOL_LADY, "PARASOL LADY"), + TRAINER_CLASS(RS_SWIMMER_F, "SWIMMER♀"), + TRAINER_CLASS(RS_PICNICKER, "PICNICKER"), + TRAINER_CLASS(RS_TWINS, "TWINS"), + TRAINER_CLASS(RS_SAILOR, "SAILOR"), + TRAINER_CLASS(BOARDER, "BOARDER"), + TRAINER_CLASS(COLLECTOR, "COLLECTOR"), + TRAINER_CLASS(PKMN_TRAINER, "{PKMN} TRAINER"), + TRAINER_CLASS(RS_PKMN_BREEDER, "{PKMN} BREEDER"), + TRAINER_CLASS(RS_PKMN_RANGER, "{PKMN} RANGER"), + TRAINER_CLASS(MAGMA_LEADER, "MAGMA LEADER"), + TRAINER_CLASS(TEAM_MAGMA, "TEAM MAGMA"), + TRAINER_CLASS(RS_LASS, "LASS"), + TRAINER_CLASS(RS_BUG_CATCHER, "BUG CATCHER"), + TRAINER_CLASS(RS_HIKER, "HIKER"), + TRAINER_CLASS(RS_YOUNG_COUPLE, "YOUNG COUPLE"), + TRAINER_CLASS(OLD_COUPLE, "OLD COUPLE"), + TRAINER_CLASS(RS_SIS_AND_BRO, "SIS AND BRO"), + TRAINER_CLASS(AQUA_ADMIN, "AQUA ADMIN"), + TRAINER_CLASS(MAGMA_ADMIN, "MAGMA ADMIN"), + TRAINER_CLASS(YOUNGSTER, "YOUNGSTER"), + TRAINER_CLASS(BUG_CATCHER, "BUG CATCHER"), + TRAINER_CLASS(LASS, "LASS"), + TRAINER_CLASS(SAILOR, "SAILOR"), + TRAINER_CLASS(CAMPER, "CAMPER"), + TRAINER_CLASS(PICNICKER, "PICNICKER"), + TRAINER_CLASS(POKEMANIAC, "POKéMANIAC"), + TRAINER_CLASS(SUPER_NERD, "SUPER NERD"), + TRAINER_CLASS(HIKER, "HIKER"), + TRAINER_CLASS(BIKER, "BIKER"), + TRAINER_CLASS(BURGLAR, "BURGLAR"), + TRAINER_CLASS(ENGINEER, "ENGINEER"), + TRAINER_CLASS(FISHERMAN, "FISHERMAN"), + TRAINER_CLASS(SWIMMER_M, "SWIMMER♂"), + TRAINER_CLASS(CUE_BALL, "CUE BALL"), + TRAINER_CLASS(GAMER, "GAMER"), + TRAINER_CLASS(BEAUTY, "BEAUTY"), + TRAINER_CLASS(SWIMMER_F, "SWIMMER♀"), + TRAINER_CLASS(PSYCHIC, "PSYCHIC"), + TRAINER_CLASS(ROCKER, "ROCKER"), + TRAINER_CLASS(JUGGLER, "JUGGLER"), + TRAINER_CLASS(TAMER, "TAMER"), + TRAINER_CLASS(BIRD_KEEPER, "BIRD KEEPER"), + TRAINER_CLASS(BLACK_BELT, "BLACK BELT"), + TRAINER_CLASS(RIVAL_EARLY, "RIVAL"), + TRAINER_CLASS(SCIENTIST, "SCIENTIST"), + TRAINER_CLASS(BOSS, "BOSS"), + TRAINER_CLASS(LEADER, "LEADER"), + TRAINER_CLASS(TEAM_ROCKET, "TEAM ROCKET"), + TRAINER_CLASS(COOLTRAINER, "COOLTRAINER"), + TRAINER_CLASS(ELITE_FOUR, "ELITE FOUR"), + TRAINER_CLASS(GENTLEMAN, "GENTLEMAN"), + TRAINER_CLASS(RIVAL_LATE, "RIVAL"), + TRAINER_CLASS(CHAMPION, "CHAMPION"), + TRAINER_CLASS(CHANNELER, "CHANNELER"), + TRAINER_CLASS(TWINS, "TWINS"), + TRAINER_CLASS(COOL_COUPLE, "COOL COUPLE"), + TRAINER_CLASS(YOUNG_COUPLE, "YOUNG COUPLE"), + TRAINER_CLASS(CRUSH_KIN, "CRUSH KIN"), + TRAINER_CLASS(SIS_AND_BRO, "SIS AND BRO"), + TRAINER_CLASS(PKMN_PROF, "{PKMN} PROF."), + TRAINER_CLASS(PLAYER, "PLAYER"), + TRAINER_CLASS(CRUSH_GIRL, "CRUSH GIRL"), + TRAINER_CLASS(TUBER, "TUBER"), + TRAINER_CLASS(PKMN_BREEDER, "{PKMN} BREEDER"), + TRAINER_CLASS(PKMN_RANGER, "{PKMN} RANGER"), + TRAINER_CLASS(AROMA_LADY, "AROMA LADY"), + TRAINER_CLASS(RUIN_MANIAC, "RUIN MANIAC"), + TRAINER_CLASS(LADY, "LADY"), + TRAINER_CLASS(PAINTER, "PAINTER"), }; static const s8 sPlayerThrowXTranslation[] = { -32, -16, -16, -32, -32, 0, 0, 0 }; @@ -865,6 +961,13 @@ static void CB2_InitBattleInternal(void) gBattleTerrain = BattleSetup_GetTerrainId(); + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && !(gBattleTypeFlags & (BATTLE_TYPE_BATTLE_TOWER + | BATTLE_TYPE_EREADER_TRAINER + | BATTLE_TYPE_TRAINER_TOWER))) + { + gBattleTypeFlags |= (IsTrainerDoubleBattle(gTrainerBattleOpponent_A) ? BATTLE_TYPE_DOUBLE : 0); + } + InitBattleBgsVideo(); LoadBattleTextboxAndBackground(); ResetSpriteData(); @@ -881,7 +984,7 @@ static void CB2_InitBattleInternal(void) SetMainCallback2(CB2_HandleStartBattle); if (!(gBattleTypeFlags & BATTLE_TYPE_LINK)) { - CreateNPCTrainerParty(&gEnemyParty[0], gTrainerBattleOpponent_A); + CreateNPCTrainerParty(&gEnemyParty[0], gTrainerBattleOpponent_A, FALSE); SetWildMonHeldItem(); } @@ -1743,112 +1846,210 @@ static void SpriteCB_UnusedDebugSprite_Step(struct Sprite *sprite) } } -static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum) +static u32 Crc32B (const u8 *data, u32 size) { - u32 nameHash = 0; - u32 personalityValue; - u8 fixedIV; - s32 i, j; + s32 i, j; + u32 byte, crc, mask; - if (trainerNum == TRAINER_SECRET_BASE) - return 0; - - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER - && !(gBattleTypeFlags & (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_TRAINER_TOWER))) - { - ZeroEnemyPartyMons(); - for (i = 0; i < gTrainers[trainerNum].partySize; i++) + i = 0; + crc = 0xFFFFFFFF; + for (i = 0; i < size; ++i) + { + byte = data[i]; + crc = crc ^ byte; + for (j = 7; j >= 0; --j) { + mask = -(crc & 1); + crc = (crc >> 1) ^ (0xEDB88320 & mask); + } + } + return ~crc; +} - if (gTrainers[trainerNum].doubleBattle == TRUE) +static u32 GeneratePartyHash(const struct Trainer *trainer, u32 i) +{ + const u8 *buffer = (const u8 *) &trainer->party[i]; + u32 n = sizeof(*trainer->party); + return Crc32B(buffer, n); +} + +void ModifyPersonalityForNature(u32 *personality, u32 newNature) +{ + u32 nature = GetNatureFromPersonality(*personality); + s32 diff = abs((s32)nature - (s32)newNature); + s32 sign = (nature > newNature) ? 1 : -1; + if (diff > NUM_NATURES / 2) + { + diff = NUM_NATURES - diff; + sign *= -1; + } + *personality -= (diff * sign); +} + +u32 GeneratePersonalityForGender(u32 gender, u32 species) +{ + const struct SpeciesInfo *speciesInfo = &gSpeciesInfo[species]; + if (gender == MON_MALE) + return ((255 - speciesInfo->genderRatio) / 2) + speciesInfo->genderRatio; + else + return speciesInfo->genderRatio / 2; +} + +void CustomTrainerPartyAssignMoves(struct Pokemon *mon, const struct TrainerMon *partyEntry) +{ + bool32 noMoveSet = TRUE; + u32 j; + + for (j = 0; j < MAX_MON_MOVES; ++j) + { + if (partyEntry->moves[j] != MOVE_NONE) + noMoveSet = FALSE; + } + if (noMoveSet) + { + // TODO: Figure out a default strategy when moves are not set, to generate a good moveset + return; + } + + for (j = 0; j < MAX_MON_MOVES; ++j) + { + SetMonData(mon, MON_DATA_MOVE1 + j, &partyEntry->moves[j]); + SetMonData(mon, MON_DATA_PP1 + j, &gMovesInfo[partyEntry->moves[j]].pp); + } +} + +u8 CreateNPCTrainerPartyFromTrainer(struct Pokemon *party, const struct Trainer *trainer, bool32 firstTrainer, u32 battleTypeFlags) +{ + u32 personalityValue; + s32 i; + u8 monsCount; + if (battleTypeFlags & BATTLE_TYPE_TRAINER && !(battleTypeFlags & (BATTLE_TYPE_BATTLE_TOWER + | BATTLE_TYPE_EREADER_TRAINER + | BATTLE_TYPE_TRAINER_TOWER))) + { + if (firstTrainer == TRUE) + ZeroEnemyPartyMons(); + + if (battleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) + { + if (trainer->partySize > PARTY_SIZE / 2) + monsCount = PARTY_SIZE / 2; + else + monsCount = trainer->partySize; + } + else + { + monsCount = trainer->partySize; + } + + for (i = 0; i < monsCount; i++) + { + s32 ball = -1; + u32 personalityHash = GeneratePartyHash(trainer, i); + const struct TrainerMon *partyData = trainer->party; + u32 otIdType = OT_ID_RANDOM_NO_SHINY; + u32 fixedOtId = 0; + u32 ability = 0; + + if (trainer->doubleBattle == TRUE) personalityValue = 0x80; - else if (gTrainers[trainerNum].encounterMusic_gender & F_TRAINER_FEMALE) + else if (trainer->encounterMusic_gender & F_TRAINER_FEMALE) personalityValue = 0x78; // Use personality more likely to result in a female Pokémon else personalityValue = 0x88; // Use personality more likely to result in a male Pokémon - for (j = 0; gTrainers[trainerNum].trainerName[j] != EOS; j++) - nameHash += gTrainers[trainerNum].trainerName[j]; - - switch (gTrainers[trainerNum].partyFlags) + personalityValue += personalityHash << 8; + if (partyData[i].gender == TRAINER_MON_MALE) + personalityValue = (personalityValue & 0xFFFFFF00) | GeneratePersonalityForGender(MON_MALE, partyData[i].species); + else if (partyData[i].gender == TRAINER_MON_FEMALE) + personalityValue = (personalityValue & 0xFFFFFF00) | GeneratePersonalityForGender(MON_FEMALE, partyData[i].species); + ModifyPersonalityForNature(&personalityValue, partyData[i].nature); + if (partyData[i].isShiny) { - case 0: - { - const struct TrainerMonNoItemDefaultMoves *partyData = gTrainers[trainerNum].party.NoItemDefaultMoves; - - for (j = 0; gSpeciesInfo[partyData[i].species].speciesName[j] != EOS; j++) - nameHash += gSpeciesInfo[partyData[i].species].speciesName[j]; - - personalityValue += nameHash << 8; - fixedIV = partyData[i].iv * MAX_PER_STAT_IVS / 255; - CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, OT_ID_RANDOM_NO_SHINY, 0); - break; + otIdType = OT_ID_PRESET; + fixedOtId = HIHALF(personalityValue) ^ LOHALF(personalityValue); } - case F_TRAINER_PARTY_CUSTOM_MOVESET: + CreateMon(&party[i], partyData[i].species, partyData[i].lvl, 0, TRUE, personalityValue, otIdType, fixedOtId); + SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem); + + CustomTrainerPartyAssignMoves(&party[i], &partyData[i]); + SetMonData(&party[i], MON_DATA_IVS, &(partyData[i].iv)); + if (partyData[i].ev != NULL) { - const struct TrainerMonNoItemCustomMoves *partyData = gTrainers[trainerNum].party.NoItemCustomMoves; - - for (j = 0; gSpeciesInfo[partyData[i].species].speciesName[j] != EOS; j++) - nameHash += gSpeciesInfo[partyData[i].species].speciesName[j]; - - personalityValue += nameHash << 8; - fixedIV = partyData[i].iv * MAX_PER_STAT_IVS / 255; - CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, OT_ID_RANDOM_NO_SHINY, 0); - - for (j = 0; j < MAX_MON_MOVES; j++) + SetMonData(&party[i], MON_DATA_HP_EV, &(partyData[i].ev[0])); + SetMonData(&party[i], MON_DATA_ATK_EV, &(partyData[i].ev[1])); + SetMonData(&party[i], MON_DATA_DEF_EV, &(partyData[i].ev[2])); + SetMonData(&party[i], MON_DATA_SPATK_EV, &(partyData[i].ev[3])); + SetMonData(&party[i], MON_DATA_SPDEF_EV, &(partyData[i].ev[4])); + SetMonData(&party[i], MON_DATA_SPEED_EV, &(partyData[i].ev[5])); + } + if (partyData[i].ability != ABILITY_NONE) + { + const struct SpeciesInfo *speciesInfo = &gSpeciesInfo[partyData[i].species]; + u32 maxAbilities = ARRAY_COUNT(speciesInfo->abilities); + for (ability = 0; ability < maxAbilities; ++ability) { - SetMonData(&party[i], MON_DATA_MOVE1 + j, &partyData[i].moves[j]); - SetMonData(&party[i], MON_DATA_PP1 + j, &gMovesInfo[partyData[i].moves[j]].pp); + if (speciesInfo->abilities[ability] == partyData[i].ability) + break; } - break; + if (ability >= maxAbilities) + ability = 0; } - case F_TRAINER_PARTY_HELD_ITEM: + else if (B_TRAINER_MON_RANDOM_ABILITY) { - const struct TrainerMonItemDefaultMoves *partyData = gTrainers[trainerNum].party.ItemDefaultMoves; - - for (j = 0; gSpeciesInfo[partyData[i].species].speciesName[j] != EOS; j++) - nameHash += gSpeciesInfo[partyData[i].species].speciesName[j]; - - personalityValue += nameHash << 8; - fixedIV = partyData[i].iv * MAX_PER_STAT_IVS / 255; - CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, OT_ID_RANDOM_NO_SHINY, 0); - - SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem); - break; - } - case F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM: - { - const struct TrainerMonItemCustomMoves *partyData = gTrainers[trainerNum].party.ItemCustomMoves; - - for (j = 0; gSpeciesInfo[partyData[i].species].speciesName[j] != EOS; j++) - nameHash += gSpeciesInfo[partyData[i].species].speciesName[j]; - - personalityValue += nameHash << 8; - fixedIV = partyData[i].iv * MAX_PER_STAT_IVS / 255; - CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, OT_ID_RANDOM_NO_SHINY, 0); - SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem); - - for (j = 0; j < MAX_MON_MOVES; j++) + const struct SpeciesInfo *speciesInfo = &gSpeciesInfo[partyData[i].species]; + ability = personalityHash % 3; + while (speciesInfo->abilities[ability] == ABILITY_NONE) { - SetMonData(&party[i], MON_DATA_MOVE1 + j, &partyData[i].moves[j]); - SetMonData(&party[i], MON_DATA_PP1 + j, &gMovesInfo[partyData[i].moves[j]].pp); + ability--; } - break; } + SetMonData(&party[i], MON_DATA_ABILITY_NUM, &ability); + SetMonData(&party[i], MON_DATA_FRIENDSHIP, &(partyData[i].friendship)); + if (partyData[i].ball != ITEM_NONE) + { + ball = partyData[i].ball; + SetMonData(&party[i], MON_DATA_POKEBALL, &ball); + } + if (partyData[i].nickname != NULL) + { + SetMonData(&party[i], MON_DATA_NICKNAME, partyData[i].nickname); + } + if (partyData[i].isShiny) + { + u32 data = TRUE; + SetMonData(&party[i], MON_DATA_IS_SHINY, &data); + } + if (partyData[i].dynamaxLevel > 0) + { + u32 data = partyData[i].dynamaxLevel; + SetMonData(&party[i], MON_DATA_DYNAMAX_LEVEL, &data); + } + if (partyData[i].gigantamaxFactor) + { + u32 data = partyData[i].gigantamaxFactor; + SetMonData(&party[i], MON_DATA_GIGANTAMAX_FACTOR, &data); + } + CalculateMonStats(&party[i]); + + if (B_TRAINER_CLASS_POKE_BALLS >= GEN_7 && ball == -1) + { + ball = gTrainerClasses[trainer->trainerClass].ball ?: ITEM_POKE_BALL; + SetMonData(&party[i], MON_DATA_POKEBALL, &ball); } } - - gBattleTypeFlags |= gTrainers[trainerNum].doubleBattle; } - return gTrainers[trainerNum].partySize; + return trainer->partySize; } -// Unused -static void HBlankCB_Battle(void) +static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 firstTrainer) { - if (REG_VCOUNT < DISPLAY_HEIGHT && REG_VCOUNT >= 111) - REG_BG0CNT = BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(24) | BGCNT_16COLOR | BGCNT_TXT256x512; + u8 retVal; + if (trainerNum == TRAINER_SECRET_BASE) + return 0; + retVal = CreateNPCTrainerPartyFromTrainer(party, GetTrainerStructFromId(trainerNum), firstTrainer, gBattleTypeFlags); + return retVal; } void VBlankCB_Battle(void) diff --git a/src/battle_message.c b/src/battle_message.c index f7d98c431..d96517291 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -2827,6 +2827,24 @@ static const u8 *BattleStringGetTrainerName(u8 *text, u8 multiplayerId, u8 battl return BattleStringGetOpponentName(text, multiplayerId, battler); } +static const u8 *BattleStringGetOpponentClassByTrainerId(u16 trainerId) +{ + const u8 *toCpy; + + if (trainerId == TRAINER_UNION_ROOM) + toCpy = gTrainerClasses[GetUnionRoomTrainerClass()].name; + else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) + toCpy = gTrainerClasses[GetBattleTowerTrainerClassNameId()].name; + else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_TOWER) + toCpy = gTrainerClasses[GetTrainerTowerOpponentClass()].name; + else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER) + toCpy = gTrainerClasses[GetEreaderTrainerClassId()].name; + else + toCpy = gTrainerClasses[GetTrainerClassFromId(trainerId)].name; + + return toCpy; +} + u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) { u32 dstId = 0; // if they used dstId, why not use srcId as well? @@ -2876,18 +2894,14 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) toCpy = gBattleTextBuff3; break; case B_TXT_TRAINER2_CLASS: - // TODO: trainer name - // toCpy = BattleStringGetOpponentClassByTrainerId(gTrainerBattleOpponent_B); - toCpy = "TODO"; + toCpy = BattleStringGetOpponentClassByTrainerId(gTrainerBattleOpponent_B); break; case B_TXT_TRAINER2_NAME: - // TODO: trainer name - // toCpy = BattleStringGetOpponentNameByTrainerId(gTrainerBattleOpponent_B, text, multiplayerId, GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT)); - toCpy = "TODO"; + toCpy = BattleStringGetOpponentNameByTrainerId(gTrainerBattleOpponent_B, text, multiplayerId, GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT)); break; case B_TXT_PARTNER_CLASS: // TODO: trainer name - // toCpy = gTrainerClassNames[GetFrontierOpponentClass(gPartnerTrainerId)].name; + // toCpy = gTrainerClasses[GetFrontierOpponentClass(gPartnerTrainerId)].name; toCpy = "TODO"; break; case B_TXT_PARTNER_NAME: @@ -3053,17 +3067,17 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) break; case B_TXT_TRAINER1_CLASS: // trainer class name if (gTrainerBattleOpponent_A == TRAINER_SECRET_BASE) - toCpy = gTrainerClassNames[GetSecretBaseTrainerNameIndex()]; + toCpy = gTrainerClasses[GetSecretBaseTrainerNameIndex()].name; else if (gTrainerBattleOpponent_A == TRAINER_UNION_ROOM) - toCpy = gTrainerClassNames[GetUnionRoomTrainerClass()]; + toCpy = gTrainerClasses[GetUnionRoomTrainerClass()].name; else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) - toCpy = gTrainerClassNames[GetBattleTowerTrainerClassNameId()]; + toCpy = gTrainerClasses[GetBattleTowerTrainerClassNameId()].name; else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_TOWER) - toCpy = gTrainerClassNames[GetTrainerTowerOpponentClass()]; + toCpy = gTrainerClasses[GetTrainerTowerOpponentClass()].name; else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER) - toCpy = gTrainerClassNames[GetEreaderTrainerClassId()]; + toCpy = gTrainerClasses[GetEreaderTrainerClassId()].name; else - toCpy = gTrainerClassNames[gTrainers[gTrainerBattleOpponent_A].trainerClass]; + toCpy = gTrainerClasses[gTrainers[gTrainerBattleOpponent_A].trainerClass].name; break; case B_TXT_TRAINER1_NAME: // trainer1 name if (gTrainerBattleOpponent_A == TRAINER_SECRET_BASE) @@ -3199,24 +3213,24 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) toCpy = BattleStringGetTrainerName(text, multiplayerId, gBattlerAttacker); break; case B_TXT_ATK_TRAINER_CLASS: - // TODO: get trainer name - toCpy = "TODO"; - // switch (GetBattlerPosition(gBattlerAttacker)) - // { - // case B_POSITION_PLAYER_RIGHT: - // if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) - // toCpy = gTrainerClasses[GetFrontierOpponentClass(gPartnerTrainerId)].name; - // break; - // case B_POSITION_OPPONENT_LEFT: - // toCpy = BattleStringGetOpponentClassByTrainerId(gTrainerBattleOpponent_A); - // break; - // case B_POSITION_OPPONENT_RIGHT: - // if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS && !BATTLE_TWO_VS_ONE_OPPONENT) - // toCpy = BattleStringGetOpponentClassByTrainerId(gTrainerBattleOpponent_B); - // else - // toCpy = BattleStringGetOpponentClassByTrainerId(gTrainerBattleOpponent_A); - // break; - // } + switch (GetBattlerPosition(gBattlerAttacker)) + { + case B_POSITION_PLAYER_RIGHT: + // TODO: implement partner trainers? + // if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) + // toCpy = gTrainerClasses[GetFrontierOpponentClass(gPartnerTrainerId)].name; + toCpy = gTrainerClasses[TRAINER_CLASS_NONE].name; + break; + case B_POSITION_OPPONENT_LEFT: + toCpy = BattleStringGetOpponentClassByTrainerId(gTrainerBattleOpponent_A); + break; + case B_POSITION_OPPONENT_RIGHT: + if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS && !BATTLE_TWO_VS_ONE_OPPONENT) + toCpy = BattleStringGetOpponentClassByTrainerId(gTrainerBattleOpponent_B); + else + toCpy = BattleStringGetOpponentClassByTrainerId(gTrainerBattleOpponent_A); + break; + } break; case B_TXT_ATK_TEAM1: if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) diff --git a/src/battle_setup.c b/src/battle_setup.c index 16b593ff3..9093f5346 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -564,49 +564,17 @@ static u8 GetSumOfEnemyPartyLevel(u16 opponentId, u8 numMons) u8 i; u8 sum; u32 count = numMons; + const struct TrainerMon *party; + + if (GetTrainerPartySizeFromId(opponentId) < count) + count = GetTrainerPartySizeFromId(opponentId); - if (gTrainers[opponentId].partySize < count) - count = gTrainers[opponentId].partySize; sum = 0; - switch (gTrainers[opponentId].partyFlags) - { - case 0: - { - const struct TrainerMonNoItemDefaultMoves *party; - party = gTrainers[opponentId].party.NoItemDefaultMoves; - for (i = 0; i < count; ++i) - sum += party[i].lvl; - } - break; - case F_TRAINER_PARTY_CUSTOM_MOVESET: - { - const struct TrainerMonNoItemCustomMoves *party; + party = GetTrainerPartyFromId(opponentId); + for (i = 0; i < count && party != NULL; i++) + sum += party[i].lvl; - party = gTrainers[opponentId].party.NoItemCustomMoves; - for (i = 0; i < count; ++i) - sum += party[i].lvl; - } - break; - case F_TRAINER_PARTY_HELD_ITEM: - { - const struct TrainerMonItemDefaultMoves *party; - - party = gTrainers[opponentId].party.ItemDefaultMoves; - for (i = 0; i < count; ++i) - sum += party[i].lvl; - } - break; - case F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM: - { - const struct TrainerMonItemCustomMoves *party; - - party = gTrainers[opponentId].party.ItemCustomMoves; - for (i = 0; i < count; ++i) - sum += party[i].lvl; - } - break; - } return sum; } @@ -628,29 +596,30 @@ static u8 GetTrainerBattleTransition(void) u8 transitionType; u8 enemyLevel; u8 playerLevel; + u32 trainerId = SanitizeTrainerId(gTrainerBattleOpponent_A); - if (gTrainerBattleOpponent_A == TRAINER_SECRET_BASE) + if (trainerId == TRAINER_SECRET_BASE) return B_TRANSITION_BLUE; - if (gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_ELITE_FOUR) + if (gTrainers[trainerId].trainerClass == TRAINER_CLASS_ELITE_FOUR) { - if (gTrainerBattleOpponent_A == TRAINER_ELITE_FOUR_LORELEI || gTrainerBattleOpponent_A == TRAINER_ELITE_FOUR_LORELEI_2) + if (trainerId == TRAINER_ELITE_FOUR_LORELEI || trainerId == TRAINER_ELITE_FOUR_LORELEI_2) return B_TRANSITION_LORELEI; - if (gTrainerBattleOpponent_A == TRAINER_ELITE_FOUR_BRUNO || gTrainerBattleOpponent_A == TRAINER_ELITE_FOUR_BRUNO_2) + if (trainerId == TRAINER_ELITE_FOUR_BRUNO || trainerId == TRAINER_ELITE_FOUR_BRUNO_2) return B_TRANSITION_BRUNO; - if (gTrainerBattleOpponent_A == TRAINER_ELITE_FOUR_AGATHA || gTrainerBattleOpponent_A == TRAINER_ELITE_FOUR_AGATHA_2) + if (trainerId == TRAINER_ELITE_FOUR_AGATHA || trainerId == TRAINER_ELITE_FOUR_AGATHA_2) return B_TRANSITION_AGATHA; - if (gTrainerBattleOpponent_A == TRAINER_ELITE_FOUR_LANCE || gTrainerBattleOpponent_A == TRAINER_ELITE_FOUR_LANCE_2) + if (trainerId == TRAINER_ELITE_FOUR_LANCE || trainerId == TRAINER_ELITE_FOUR_LANCE_2) return B_TRANSITION_LANCE; return B_TRANSITION_BLUE; } - if (gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_CHAMPION) + if (gTrainers[trainerId].trainerClass == TRAINER_CLASS_CHAMPION) return B_TRANSITION_BLUE; - if (gTrainers[gTrainerBattleOpponent_A].doubleBattle == TRUE) + if (gTrainers[trainerId].doubleBattle == TRUE) minPartyCount = 2; // double battles always at least have 2 pokemon. else minPartyCount = 1; transitionType = GetBattleTransitionTypeByMap(); - enemyLevel = GetSumOfEnemyPartyLevel(gTrainerBattleOpponent_A, minPartyCount); + enemyLevel = GetSumOfEnemyPartyLevel(trainerId, minPartyCount); playerLevel = GetSumOfPlayerPartyLevel(minPartyCount); if (enemyLevel < playerLevel) return sBattleTransitionTable_Trainer[transitionType][0]; diff --git a/src/data.c b/src/data.c index c5489ffd9..f727b57db 100644 --- a/src/data.c +++ b/src/data.c @@ -290,5 +290,5 @@ const union AnimCmd *const gAnims_MonPic[] = #include "data/trainer_graphics/back_pic_tables.h" #include "data/trainer_parties.h" -#include "data/text/trainer_class_names.h" #include "data/trainers.h" +#include "data/battle_partners.h" diff --git a/src/data/battle_partners.h b/src/data/battle_partners.h index f64af2c88..fa2c6cc40 100644 --- a/src/data/battle_partners.h +++ b/src/data/battle_partners.h @@ -2,7 +2,7 @@ const struct Trainer gBattlePartners[] = { [PARTNER_NONE] = { .party = NULL, - .trainerClass = TRAINER_CLASS_PKMN_TRAINER_1, + .trainerClass = TRAINER_CLASS_NONE, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_HIKER, .trainerName = _(""), diff --git a/src/data/text/trainer_class_names.h b/src/data/text/trainer_class_names.h deleted file mode 100644 index cedb48b89..000000000 --- a/src/data/text/trainer_class_names.h +++ /dev/null @@ -1,109 +0,0 @@ -const u8 gTrainerClassNames[][13] = { - [TRAINER_CLASS_NONE] = _("{PKMN} TRAINER"), - [TRAINER_CLASS_PKMN_TRAINER_UNUSED] = _("{PKMN} TRAINER"), - [TRAINER_CLASS_AQUA_LEADER] = _("AQUA LEADER"), - [TRAINER_CLASS_TEAM_AQUA] = _("TEAM AQUA"), - [TRAINER_CLASS_RS_AROMA_LADY] = _("AROMA LADY"), - [TRAINER_CLASS_RS_RUIN_MANIAC] = _("RUIN MANIAC"), - [TRAINER_CLASS_INTERVIEWER] = _("INTERVIEWER"), - [TRAINER_CLASS_RS_TUBER_F] = _("TUBER"), - [TRAINER_CLASS_RS_TUBER_M] = _("TUBER"), - [TRAINER_CLASS_RS_COOLTRAINER] = _("COOLTRAINER"), - [TRAINER_CLASS_HEX_MANIAC] = _("HEX MANIAC"), - [TRAINER_CLASS_RS_LADY] = _("LADY"), - [TRAINER_CLASS_RS_BEAUTY] = _("BEAUTY"), - [TRAINER_CLASS_RICH_BOY] = _("RICH BOY"), - [TRAINER_CLASS_RS_POKEMANIAC] = _("POKéMANIAC"), - [TRAINER_CLASS_RS_SWIMMER_M] = _("SWIMMER♂"), - [TRAINER_CLASS_RS_BLACK_BELT] = _("BLACK BELT"), - [TRAINER_CLASS_GUITARIST] = _("GUITARIST"), - [TRAINER_CLASS_KINDLER] = _("KINDLER"), - [TRAINER_CLASS_RS_CAMPER] = _("CAMPER"), - [TRAINER_CLASS_BUG_MANIAC] = _("BUG MANIAC"), - [TRAINER_CLASS_RS_PSYCHIC] = _("PSYCHIC"), - [TRAINER_CLASS_RS_GENTLEMAN] = _("GENTLEMAN"), - [TRAINER_CLASS_RS_ELITE_FOUR] = _("ELITE FOUR"), - [TRAINER_CLASS_RS_LEADER] = _("LEADER"), - [TRAINER_CLASS_SCHOOL_KID] = _("SCHOOL KID"), - [TRAINER_CLASS_SR_AND_JR] = _("SR. AND JR."), - [TRAINER_CLASS_POKEFAN] = _("POKéFAN"), - [TRAINER_CLASS_EXPERT] = _("EXPERT"), - [TRAINER_CLASS_RS_YOUNGSTER] = _("YOUNGSTER"), - [TRAINER_CLASS_RS_CHAMPION] = _("CHAMPION"), - [TRAINER_CLASS_RS_FISHERMAN] = _("FISHERMAN"), - [TRAINER_CLASS_TRIATHLETE] = _("TRIATHLETE"), - [TRAINER_CLASS_DRAGON_TAMER] = _("DRAGON TAMER"), - [TRAINER_CLASS_RS_BIRD_KEEPER] = _("BIRD KEEPER"), - [TRAINER_CLASS_NINJA_BOY] = _("NINJA BOY"), - [TRAINER_CLASS_BATTLE_GIRL] = _("BATTLE GIRL"), - [TRAINER_CLASS_PARASOL_LADY] = _("PARASOL LADY"), - [TRAINER_CLASS_RS_SWIMMER_F] = _("SWIMMER♀"), - [TRAINER_CLASS_RS_PICNICKER] = _("PICNICKER"), - [TRAINER_CLASS_RS_TWINS] = _("TWINS"), - [TRAINER_CLASS_RS_SAILOR] = _("SAILOR"), - [TRAINER_CLASS_BOARDER] = _("BOARDER"), - [TRAINER_CLASS_COLLECTOR] = _("COLLECTOR"), - [TRAINER_CLASS_PKMN_TRAINER] = _("{PKMN} TRAINER"), - [TRAINER_CLASS_RS_PKMN_BREEDER] = _("{PKMN} BREEDER"), - [TRAINER_CLASS_RS_PKMN_RANGER] = _("{PKMN} RANGER"), - [TRAINER_CLASS_MAGMA_LEADER] = _("MAGMA LEADER"), - [TRAINER_CLASS_TEAM_MAGMA] = _("TEAM MAGMA"), - [TRAINER_CLASS_RS_LASS] = _("LASS"), - [TRAINER_CLASS_RS_BUG_CATCHER] = _("BUG CATCHER"), - [TRAINER_CLASS_RS_HIKER] = _("HIKER"), - [TRAINER_CLASS_RS_YOUNG_COUPLE] = _("YOUNG COUPLE"), - [TRAINER_CLASS_OLD_COUPLE] = _("OLD COUPLE"), - [TRAINER_CLASS_RS_SIS_AND_BRO] = _("SIS AND BRO"), - [TRAINER_CLASS_AQUA_ADMIN] = _("AQUA ADMIN"), - [TRAINER_CLASS_MAGMA_ADMIN] = _("MAGMA ADMIN"), - [TRAINER_CLASS_YOUNGSTER] = _("YOUNGSTER"), - [TRAINER_CLASS_BUG_CATCHER] = _("BUG CATCHER"), - [TRAINER_CLASS_LASS] = _("LASS"), - [TRAINER_CLASS_SAILOR] = _("SAILOR"), - [TRAINER_CLASS_CAMPER] = _("CAMPER"), - [TRAINER_CLASS_PICNICKER] = _("PICNICKER"), - [TRAINER_CLASS_POKEMANIAC] = _("POKéMANIAC"), - [TRAINER_CLASS_SUPER_NERD] = _("SUPER NERD"), - [TRAINER_CLASS_HIKER] = _("HIKER"), - [TRAINER_CLASS_BIKER] = _("BIKER"), - [TRAINER_CLASS_BURGLAR] = _("BURGLAR"), - [TRAINER_CLASS_ENGINEER] = _("ENGINEER"), - [TRAINER_CLASS_FISHERMAN] = _("FISHERMAN"), - [TRAINER_CLASS_SWIMMER_M] = _("SWIMMER♂"), - [TRAINER_CLASS_CUE_BALL] = _("CUE BALL"), - [TRAINER_CLASS_GAMER] = _("GAMER"), - [TRAINER_CLASS_BEAUTY] = _("BEAUTY"), - [TRAINER_CLASS_SWIMMER_F] = _("SWIMMER♀"), - [TRAINER_CLASS_PSYCHIC] = _("PSYCHIC"), - [TRAINER_CLASS_ROCKER] = _("ROCKER"), - [TRAINER_CLASS_JUGGLER] = _("JUGGLER"), - [TRAINER_CLASS_TAMER] = _("TAMER"), - [TRAINER_CLASS_BIRD_KEEPER] = _("BIRD KEEPER"), - [TRAINER_CLASS_BLACK_BELT] = _("BLACK BELT"), - [TRAINER_CLASS_RIVAL_EARLY] = _("RIVAL"), - [TRAINER_CLASS_SCIENTIST] = _("SCIENTIST"), - [TRAINER_CLASS_BOSS] = _("BOSS"), - [TRAINER_CLASS_LEADER] = _("LEADER"), - [TRAINER_CLASS_TEAM_ROCKET] = _("TEAM ROCKET"), - [TRAINER_CLASS_COOLTRAINER] = _("COOLTRAINER"), - [TRAINER_CLASS_ELITE_FOUR] = _("ELITE FOUR"), - [TRAINER_CLASS_GENTLEMAN] = _("GENTLEMAN"), - [TRAINER_CLASS_RIVAL_LATE] = _("RIVAL"), - [TRAINER_CLASS_CHAMPION] = _("CHAMPION"), - [TRAINER_CLASS_CHANNELER] = _("CHANNELER"), - [TRAINER_CLASS_TWINS] = _("TWINS"), - [TRAINER_CLASS_COOL_COUPLE] = _("COOL COUPLE"), - [TRAINER_CLASS_YOUNG_COUPLE] = _("YOUNG COUPLE"), - [TRAINER_CLASS_CRUSH_KIN] = _("CRUSH KIN"), - [TRAINER_CLASS_SIS_AND_BRO] = _("SIS AND BRO"), - [TRAINER_CLASS_PKMN_PROF] = _("{PKMN} PROF."), - [TRAINER_CLASS_PLAYER] = _("PLAYER"), - [TRAINER_CLASS_CRUSH_GIRL] = _("CRUSH GIRL"), - [TRAINER_CLASS_TUBER] = _("TUBER"), - [TRAINER_CLASS_PKMN_BREEDER] = _("{PKMN} BREEDER"), - [TRAINER_CLASS_PKMN_RANGER] = _("{PKMN} RANGER"), - [TRAINER_CLASS_AROMA_LADY] = _("AROMA LADY"), - [TRAINER_CLASS_RUIN_MANIAC] = _("RUIN MANIAC"), - [TRAINER_CLASS_LADY] = _("LADY"), - [TRAINER_CLASS_PAINTER] = _("PAINTER"), -}; diff --git a/src/data/trainer_parties.h b/src/data/trainer_parties.h index e9faf0af1..275a02365 100644 --- a/src/data/trainer_parties.h +++ b/src/data/trainer_parties.h @@ -9,7 +9,7 @@ #define DUMMY_TRAINER_MON_IV \ { \ - .iv = 100, \ + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), \ .lvl = 5, \ .species = SPECIES_EKANS, \ } @@ -21,5465 +21,4813 @@ .species = SPECIES_STARMIE, \ } -static const struct TrainerMonNoItemDefaultMoves sParty_AquaLeader[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_AquaGruntM[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_AquaGruntF[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSAromaLady[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSRuinManiac[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_Interviewer[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSTuberF[] = {DUMMY_TRAINER_STARMIE}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSTuberM[] = {DUMMY_TRAINER_STARMIE}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSCooltrainerM[] = {DUMMY_TRAINER_MON_IV}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSCooltrainerF[] = {DUMMY_TRAINER_MON_IV}; -static const struct TrainerMonNoItemDefaultMoves sParty_HexManiac[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSLady[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSBeauty[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RichBoy[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSPokemaniac[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSSwimmerM[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSBlackBelt[] = {DUMMY_TRAINER_MON_IV}; -static const struct TrainerMonNoItemDefaultMoves sParty_Guitarist[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_Kindler[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSCamper[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_BugManiac[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSPsychicM[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSPsychicF[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSGentleman[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_EliteFourSidney[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_EliteFourPhoebe[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_LeaderRoxanne[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_LeaderBrawly[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_LeaderTateLiza[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_SchoolKidM[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_SchoolKidF[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_SrAndJr[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_PokefanM[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_PokefanF[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_ExpertM[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_ExpertF[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSYoungster[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSChampion[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSFisherman[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_CyclingTriathleteM[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_CyclingTriathleteF[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RunningTriathleteM[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RunningTriathleteF[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmingTriathleteM[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmingTriathleteF[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_DragonTamer[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSBirdKeeper[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_NinjaBoy[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_BattleGirl[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_ParasolLady[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSSwimmerF[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSPicnicker[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSTwins[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSSailor[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_BoarderM[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_BoarderF[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_Collector[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_Wally[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan2[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_Brendan3[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_May[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_May2[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_May3[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSPkmnBreederM[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSPkmnBreederF[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSPkmnRangerM[] = {DUMMY_TRAINER_MON_IV}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSPkmnRangerF[] = {DUMMY_TRAINER_MON_IV}; -static const struct TrainerMonNoItemDefaultMoves sParty_MagmaLeader[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_MagmaGruntM[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_MagmaGruntF[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSLass[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSBugCatcher[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSHiker[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSYoungCouple[] = {DUMMY_TRAINER_MON, DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_OldCouple[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_RSSisAndBro[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_AquaAdminMatt[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_AquaAdminShelly[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_MagmaAdminTabitha[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_MagmaAdminCourtney[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_LeaderWattson[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_LeaderFlannery[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_LeaderNorman[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_LeaderWinona[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_LeaderWallace[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_EliteFourGlacia[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_EliteFourDrake[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_AquaLeader[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_AquaGruntM[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_AquaGruntF[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSAromaLady[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSRuinManiac[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_Interviewer[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSTuberF[] = {DUMMY_TRAINER_STARMIE}; +static const struct TrainerMon sParty_RSTuberM[] = {DUMMY_TRAINER_STARMIE}; +static const struct TrainerMon sParty_RSCooltrainerM[] = {DUMMY_TRAINER_MON_IV}; +static const struct TrainerMon sParty_RSCooltrainerF[] = {DUMMY_TRAINER_MON_IV}; +static const struct TrainerMon sParty_HexManiac[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSLady[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSBeauty[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RichBoy[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSPokemaniac[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSSwimmerM[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSBlackBelt[] = {DUMMY_TRAINER_MON_IV}; +static const struct TrainerMon sParty_Guitarist[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_Kindler[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSCamper[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_BugManiac[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSPsychicM[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSPsychicF[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSGentleman[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_EliteFourSidney[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_EliteFourPhoebe[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_LeaderRoxanne[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_LeaderBrawly[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_LeaderTateLiza[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_SchoolKidM[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_SchoolKidF[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_SrAndJr[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_PokefanM[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_PokefanF[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_ExpertM[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_ExpertF[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSYoungster[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSChampion[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSFisherman[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_CyclingTriathleteM[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_CyclingTriathleteF[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RunningTriathleteM[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RunningTriathleteF[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_SwimmingTriathleteM[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_SwimmingTriathleteF[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_DragonTamer[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSBirdKeeper[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_NinjaBoy[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_BattleGirl[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_ParasolLady[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSSwimmerF[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSPicnicker[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSTwins[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSSailor[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_BoarderM[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_BoarderF[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_Collector[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_Wally[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_Brendan[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_Brendan2[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_Brendan3[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_May[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_May2[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_May3[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSPkmnBreederM[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSPkmnBreederF[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSPkmnRangerM[] = {DUMMY_TRAINER_MON_IV}; +static const struct TrainerMon sParty_RSPkmnRangerF[] = {DUMMY_TRAINER_MON_IV}; +static const struct TrainerMon sParty_MagmaLeader[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_MagmaGruntM[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_MagmaGruntF[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSLass[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSBugCatcher[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSHiker[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSYoungCouple[] = {DUMMY_TRAINER_MON, DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_OldCouple[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_RSSisAndBro[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_AquaAdminMatt[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_AquaAdminShelly[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_MagmaAdminTabitha[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_MagmaAdminCourtney[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_LeaderWattson[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_LeaderFlannery[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_LeaderNorman[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_LeaderWinona[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_LeaderWallace[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_EliteFourGlacia[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_EliteFourDrake[] = {DUMMY_TRAINER_MON}; // Start of actual trainer data -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterBen[] = { +static const struct TrainerMon sParty_YoungsterBen[] = { { - .iv = 0, .lvl = 11, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 11, .species = SPECIES_EKANS, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterCalvin[] = { +static const struct TrainerMon sParty_YoungsterCalvin[] = { { - .iv = 0, .lvl = 14, .species = SPECIES_SPEAROW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterJosh[] = { +static const struct TrainerMon sParty_YoungsterJosh[] = { { - .iv = 0, .lvl = 10, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 10, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 10, .species = SPECIES_ZUBAT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterTimmy[] = { +static const struct TrainerMon sParty_YoungsterTimmy[] = { { - .iv = 0, .lvl = 14, .species = SPECIES_SANDSHREW, }, { - .iv = 0, .lvl = 14, .species = SPECIES_EKANS, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterJoey[] = { +static const struct TrainerMon sParty_YoungsterJoey[] = { { - .iv = 0, .lvl = 15, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 15, .species = SPECIES_SPEAROW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterDan[] = { +static const struct TrainerMon sParty_YoungsterDan[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_SLOWPOKE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterChad[] = { +static const struct TrainerMon sParty_YoungsterChad[] = { { - .iv = 0, .lvl = 14, .species = SPECIES_EKANS, }, { - .iv = 0, .lvl = 14, .species = SPECIES_SANDSHREW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterTyler[] = { +static const struct TrainerMon sParty_YoungsterTyler[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_NIDORAN_M, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterEddie[] = { +static const struct TrainerMon sParty_YoungsterEddie[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_EKANS, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterDillon[] = { +static const struct TrainerMon sParty_YoungsterDillon[] = { { - .iv = 0, .lvl = 19, .species = SPECIES_SANDSHREW, }, { - .iv = 0, .lvl = 19, .species = SPECIES_ZUBAT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterYasu[] = { +static const struct TrainerMon sParty_YoungsterYasu[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 17, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 17, .species = SPECIES_RATICATE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterDave[] = { +static const struct TrainerMon sParty_YoungsterDave[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_NIDORAN_M, }, { - .iv = 0, .lvl = 18, .species = SPECIES_NIDORINO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterBen2[] = { +static const struct TrainerMon sParty_YoungsterBen2[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 17, .species = SPECIES_RATTATA, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 17, .species = SPECIES_EKANS, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcherRick[] = { +static const struct TrainerMon sParty_BugCatcherRick[] = { { - .iv = 0, .lvl = 6, .species = SPECIES_WEEDLE, }, { - .iv = 0, .lvl = 6, .species = SPECIES_CATERPIE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcherDoug[] = { +static const struct TrainerMon sParty_BugCatcherDoug[] = { { - .iv = 0, .lvl = 7, .species = SPECIES_WEEDLE, }, { - .iv = 0, .lvl = 7, .species = SPECIES_KAKUNA, }, { - .iv = 0, .lvl = 7, .species = SPECIES_WEEDLE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcherSammy[] = { +static const struct TrainerMon sParty_BugCatcherSammy[] = { { - .iv = 0, .lvl = 9, .species = SPECIES_WEEDLE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcherColton[] = { +static const struct TrainerMon sParty_BugCatcherColton[] = { { - .iv = 0, .lvl = 10, .species = SPECIES_CATERPIE, }, { - .iv = 0, .lvl = 10, .species = SPECIES_WEEDLE, }, { - .iv = 0, .lvl = 10, .species = SPECIES_CATERPIE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcherGreg[] = { +static const struct TrainerMon sParty_BugCatcherGreg[] = { { - .iv = 0, .lvl = 9, .species = SPECIES_WEEDLE, }, { - .iv = 0, .lvl = 9, .species = SPECIES_KAKUNA, }, { - .iv = 0, .lvl = 9, .species = SPECIES_CATERPIE, }, { - .iv = 0, .lvl = 9, .species = SPECIES_METAPOD, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcherJames[] = { +static const struct TrainerMon sParty_BugCatcherJames[] = { { - .iv = 0, .lvl = 11, .species = SPECIES_CATERPIE, }, { - .iv = 0, .lvl = 11, .species = SPECIES_METAPOD, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcherKent[] = { +static const struct TrainerMon sParty_BugCatcherKent[] = { { - .iv = 0, .lvl = 11, .species = SPECIES_WEEDLE, }, { - .iv = 0, .lvl = 11, .species = SPECIES_KAKUNA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcherRobby[] = { +static const struct TrainerMon sParty_BugCatcherRobby[] = { { - .iv = 0, .lvl = 10, .species = SPECIES_CATERPIE, }, { - .iv = 0, .lvl = 10, .species = SPECIES_METAPOD, }, { - .iv = 0, .lvl = 10, .species = SPECIES_CATERPIE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcherCale[] = { +static const struct TrainerMon sParty_BugCatcherCale[] = { { - .iv = 0, .lvl = 10, .species = SPECIES_CATERPIE, }, { - .iv = 0, .lvl = 10, .species = SPECIES_WEEDLE, }, { - .iv = 0, .lvl = 10, .species = SPECIES_METAPOD, }, { - .iv = 0, .lvl = 10, .species = SPECIES_KAKUNA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcherKeigo[] = { +static const struct TrainerMon sParty_BugCatcherKeigo[] = { { - .iv = 0, .lvl = 16, .species = SPECIES_WEEDLE, }, { - .iv = 0, .lvl = 16, .species = SPECIES_CATERPIE, }, { - .iv = 0, .lvl = 16, .species = SPECIES_WEEDLE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcherElijah[] = { +static const struct TrainerMon sParty_BugCatcherElijah[] = { { - .iv = 0, .lvl = 20, .species = SPECIES_BUTTERFREE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcher2[] = { +static const struct TrainerMon sParty_BugCatcher2[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_METAPOD, }, { - .iv = 0, .lvl = 18, .species = SPECIES_CATERPIE, }, { - .iv = 0, .lvl = 18, .species = SPECIES_VENONAT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcherBrent[] = { +static const struct TrainerMon sParty_BugCatcherBrent[] = { { - .iv = 0, .lvl = 19, .species = SPECIES_BEEDRILL, }, { - .iv = 0, .lvl = 19, .species = SPECIES_BEEDRILL, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcherConner[] = { +static const struct TrainerMon sParty_BugCatcherConner[] = { { - .iv = 0, .lvl = 20, .species = SPECIES_CATERPIE, }, { - .iv = 0, .lvl = 20, .species = SPECIES_WEEDLE, }, { - .iv = 0, .lvl = 20, .species = SPECIES_VENONAT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassJanice[] = { +static const struct TrainerMon sParty_LassJanice[] = { { - .iv = 0, .lvl = 9, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 9, .species = SPECIES_PIDGEY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassSally[] = { +static const struct TrainerMon sParty_LassSally[] = { { - .iv = 0, .lvl = 10, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 10, .species = SPECIES_NIDORAN_F, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassRobin[] = { +static const struct TrainerMon sParty_LassRobin[] = { { - .iv = 0, .lvl = 14, .species = SPECIES_JIGGLYPUFF, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassCrissy[] = { +static const struct TrainerMon sParty_LassCrissy[] = { { - .iv = 0, .lvl = 31, .species = SPECIES_PARAS, }, { - .iv = 0, .lvl = 31, .species = SPECIES_PARAS, }, { - .iv = 0, .lvl = 31, .species = SPECIES_PARASECT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassMiriam[] = { +static const struct TrainerMon sParty_LassMiriam[] = { { - .iv = 0, .lvl = 11, .species = SPECIES_ODDISH, }, { - .iv = 0, .lvl = 11, .species = SPECIES_BELLSPROUT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassIris[] = { +static const struct TrainerMon sParty_LassIris[] = { { - .iv = 0, .lvl = 14, .species = SPECIES_CLEFAIRY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassReli[] = { +static const struct TrainerMon sParty_LassReli[] = { { - .iv = 0, .lvl = 16, .species = SPECIES_NIDORAN_M, }, { - .iv = 0, .lvl = 16, .species = SPECIES_NIDORAN_F, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassAli[] = { +static const struct TrainerMon sParty_LassAli[] = { { - .iv = 0, .lvl = 12, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 12, .species = SPECIES_ODDISH, }, { - .iv = 0, .lvl = 12, .species = SPECIES_BELLSPROUT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_Lass2[] = { +static const struct TrainerMon sParty_Lass2[] = { { - .iv = 0, .lvl = 15, .species = SPECIES_NIDORAN_M, }, { - .iv = 0, .lvl = 15, .species = SPECIES_NIDORAN_F, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassHaley[] = { +static const struct TrainerMon sParty_LassHaley[] = { { - .iv = 0, .lvl = 13, .species = SPECIES_ODDISH, }, { - .iv = 0, .lvl = 13, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 13, .species = SPECIES_ODDISH, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassAnn[] = { +static const struct TrainerMon sParty_LassAnn[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 18, .species = SPECIES_NIDORAN_F, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassDawn[] = { +static const struct TrainerMon sParty_LassDawn[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 18, .species = SPECIES_PIKACHU, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassPaige[] = { +static const struct TrainerMon sParty_LassPaige[] = { { - .iv = 0, .lvl = 23, .species = SPECIES_NIDORAN_F, }, { - .iv = 0, .lvl = 23, .species = SPECIES_NIDORINA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassAndrea[] = { +static const struct TrainerMon sParty_LassAndrea[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_MEOWTH, }, { - .iv = 0, .lvl = 24, .species = SPECIES_MEOWTH, }, { - .iv = 0, .lvl = 24, .species = SPECIES_MEOWTH, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassMegan[] = { +static const struct TrainerMon sParty_LassMegan[] = { { - .iv = 0, .lvl = 19, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 19, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 19, .species = SPECIES_NIDORAN_M, }, { - .iv = 0, .lvl = 19, .species = SPECIES_MEOWTH, }, { - .iv = 0, .lvl = 19, .species = SPECIES_PIKACHU, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassJulia[] = { +static const struct TrainerMon sParty_LassJulia[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_CLEFAIRY, }, { - .iv = 0, .lvl = 22, .species = SPECIES_CLEFAIRY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassKay[] = { +static const struct TrainerMon sParty_LassKay[] = { { - .iv = 0, .lvl = 23, .species = SPECIES_BELLSPROUT, }, { - .iv = 0, .lvl = 23, .species = SPECIES_WEEPINBELL, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassLisa[] = { +static const struct TrainerMon sParty_LassLisa[] = { { - .iv = 0, .lvl = 23, .species = SPECIES_ODDISH, }, { - .iv = 0, .lvl = 23, .species = SPECIES_GLOOM, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SailorEdmond[] = { +static const struct TrainerMon sParty_SailorEdmond[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_MACHOP, }, { - .iv = 0, .lvl = 18, .species = SPECIES_SHELLDER, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SailorTrevor[] = { +static const struct TrainerMon sParty_SailorTrevor[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_MACHOP, }, { - .iv = 0, .lvl = 17, .species = SPECIES_TENTACOOL, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SailorLeonard[] = { +static const struct TrainerMon sParty_SailorLeonard[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_SHELLDER, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SailorDuncan[] = { +static const struct TrainerMon sParty_SailorDuncan[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_HORSEA, }, { - .iv = 0, .lvl = 17, .species = SPECIES_SHELLDER, }, { - .iv = 0, .lvl = 17, .species = SPECIES_TENTACOOL, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SailorHuey[] = { +static const struct TrainerMon sParty_SailorHuey[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 18, .species = SPECIES_STARYU, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SailorDylan[] = { +static const struct TrainerMon sParty_SailorDylan[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_HORSEA, }, { - .iv = 0, .lvl = 17, .species = SPECIES_HORSEA, }, { - .iv = 0, .lvl = 17, .species = SPECIES_HORSEA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SailorPhillip[] = { +static const struct TrainerMon sParty_SailorPhillip[] = { { - .iv = 0, .lvl = 20, .species = SPECIES_MACHOP, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SailorDwayne[] = { +static const struct TrainerMon sParty_SailorDwayne[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_PIKACHU, }, { - .iv = 0, .lvl = 21, .species = SPECIES_PIKACHU, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CamperLiam[] = { +static const struct TrainerMon sParty_CamperLiam[] = { { - .iv = 0, .lvl = 10, .species = SPECIES_GEODUDE, .moves = {MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_NONE, MOVE_NONE}, }, { - .iv = 0, .lvl = 11, .species = SPECIES_SANDSHREW, .moves = {MOVE_SCRATCH, MOVE_DEFENSE_CURL, MOVE_SAND_ATTACK, MOVE_NONE}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CamperShane[] = { +static const struct TrainerMon sParty_CamperShane[] = { { - .iv = 0, .lvl = 14, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 14, .species = SPECIES_EKANS, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CamperEthan[] = { +static const struct TrainerMon sParty_CamperEthan[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_MANKEY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CamperRicky[] = { +static const struct TrainerMon sParty_CamperRicky[] = { { - .iv = 0, .lvl = 20, .species = SPECIES_SQUIRTLE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CamperJeff[] = { +static const struct TrainerMon sParty_CamperJeff[] = { { - .iv = 0, .lvl = 16, .species = SPECIES_SPEAROW, }, { - .iv = 0, .lvl = 16, .species = SPECIES_RATICATE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_Camper2[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_Camper2[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_CamperChris[] = { +static const struct TrainerMon sParty_CamperChris[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_GROWLITHE, }, { - .iv = 0, .lvl = 21, .species = SPECIES_CHARMANDER, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CamperDrew[] = { +static const struct TrainerMon sParty_CamperDrew[] = { { - .iv = 0, .lvl = 19, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 19, .species = SPECIES_SANDSHREW, }, { - .iv = 0, .lvl = 19, .species = SPECIES_EKANS, }, { - .iv = 0, .lvl = 19, .species = SPECIES_SANDSHREW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerDiana[] = { +static const struct TrainerMon sParty_PicnickerDiana[] = { { - .iv = 0, .lvl = 19, .species = SPECIES_GOLDEEN, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerNancy[] = { +static const struct TrainerMon sParty_PicnickerNancy[] = { { - .iv = 0, .lvl = 16, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 16, .species = SPECIES_PIKACHU, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerIsabelle[] = { +static const struct TrainerMon sParty_PicnickerIsabelle[] = { { - .iv = 0, .lvl = 16, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 16, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 16, .species = SPECIES_PIDGEY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerKelsey[] = { +static const struct TrainerMon sParty_PicnickerKelsey[] = { { - .iv = 0, .lvl = 15, .species = SPECIES_NIDORAN_M, }, { - .iv = 0, .lvl = 15, .species = SPECIES_NIDORAN_F, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerAlicia[] = { +static const struct TrainerMon sParty_PicnickerAlicia[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_ODDISH, }, { - .iv = 0, .lvl = 18, .species = SPECIES_BELLSPROUT, }, { - .iv = 0, .lvl = 18, .species = SPECIES_ODDISH, }, { - .iv = 0, .lvl = 18, .species = SPECIES_BELLSPROUT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerCaitlin[] = { +static const struct TrainerMon sParty_PicnickerCaitlin[] = { { - .iv = 0, .lvl = 23, .species = SPECIES_MEOWTH, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerHeidi[] = { +static const struct TrainerMon sParty_PicnickerHeidi[] = { { - .iv = 0, .lvl = 20, .species = SPECIES_PIKACHU, }, { - .iv = 0, .lvl = 20, .species = SPECIES_CLEFAIRY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerCarol[] = { +static const struct TrainerMon sParty_PicnickerCarol[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 21, .species = SPECIES_PIDGEOTTO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerSofia[] = { +static const struct TrainerMon sParty_PicnickerSofia[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_JIGGLYPUFF, }, { - .iv = 0, .lvl = 21, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 21, .species = SPECIES_MEOWTH, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerMartha[] = { +static const struct TrainerMon sParty_PicnickerMartha[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_ODDISH, }, { - .iv = 0, .lvl = 22, .species = SPECIES_BULBASAUR, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerTina[] = { +static const struct TrainerMon sParty_PicnickerTina[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_BULBASAUR, }, { - .iv = 0, .lvl = 24, .species = SPECIES_IVYSAUR, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerHannah[] = { +static const struct TrainerMon sParty_PicnickerHannah[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 24, .species = SPECIES_MEOWTH, }, { - .iv = 0, .lvl = 24, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 24, .species = SPECIES_PIKACHU, }, { - .iv = 0, .lvl = 24, .species = SPECIES_MEOWTH, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PokemaniacMark[] = { +static const struct TrainerMon sParty_PokemaniacMark[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 29, .species = SPECIES_RHYHORN, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 29, .species = SPECIES_LICKITUNG, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PokemaniacHerman[] = { +static const struct TrainerMon sParty_PokemaniacHerman[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 20, .species = SPECIES_CUBONE, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 20, .species = SPECIES_SLOWPOKE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PokemaniacCooper[] = { +static const struct TrainerMon sParty_PokemaniacCooper[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 20, .species = SPECIES_SLOWPOKE, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 20, .species = SPECIES_SLOWPOKE, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 20, .species = SPECIES_SLOWPOKE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PokemaniacSteve[] = { +static const struct TrainerMon sParty_PokemaniacSteve[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 22, .species = SPECIES_CHARMANDER, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 22, .species = SPECIES_CUBONE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PokemaniacWinston[] = { +static const struct TrainerMon sParty_PokemaniacWinston[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 25, .species = SPECIES_SLOWPOKE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PokemaniacDawson[] = { +static const struct TrainerMon sParty_PokemaniacDawson[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 40, .species = SPECIES_CHARMELEON, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 40, .species = SPECIES_LAPRAS, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 40, .species = SPECIES_LICKITUNG, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PokemaniacAshton[] = { +static const struct TrainerMon sParty_PokemaniacAshton[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 23, .species = SPECIES_CUBONE, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 23, .species = SPECIES_SLOWPOKE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SuperNerdJovan[] = { +static const struct TrainerMon sParty_SuperNerdJovan[] = { { - .iv = 0, .lvl = 11, .species = SPECIES_MAGNEMITE, }, { - .iv = 0, .lvl = 11, .species = SPECIES_VOLTORB, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SuperNerdMiguel[] = { +static const struct TrainerMon sParty_SuperNerdMiguel[] = { { - .iv = 0, .lvl = 12, .species = SPECIES_GRIMER, }, { - .iv = 0, .lvl = 12, .species = SPECIES_VOLTORB, }, { - .iv = 0, .lvl = 12, .species = SPECIES_KOFFING, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_SuperNerdAidan[] = { +static const struct TrainerMon sParty_SuperNerdAidan[] = { { - .iv = 0, .lvl = 20, .species = SPECIES_VOLTORB, .moves = {MOVE_SONIC_BOOM, MOVE_SCREECH, MOVE_TACKLE, MOVE_CHARGE}, }, { - .iv = 0, .lvl = 20, .species = SPECIES_KOFFING, .moves = {MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE, MOVE_POISON_GAS}, }, { - .iv = 0, .lvl = 20, .species = SPECIES_VOLTORB, .moves = {MOVE_SONIC_BOOM, MOVE_SCREECH, MOVE_TACKLE, MOVE_CHARGE}, }, { - .iv = 0, .lvl = 20, .species = SPECIES_MAGNEMITE, .moves = {MOVE_SONIC_BOOM, MOVE_SUPERSONIC, MOVE_THUNDER_SHOCK, MOVE_TACKLE}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SuperNerdGlenn[] = { +static const struct TrainerMon sParty_SuperNerdGlenn[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_GRIMER, }, { - .iv = 0, .lvl = 22, .species = SPECIES_MUK, }, { - .iv = 0, .lvl = 22, .species = SPECIES_GRIMER, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_SuperNerdLeslie[] = { +static const struct TrainerMon sParty_SuperNerdLeslie[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_KOFFING, .moves = {MOVE_SLUDGE, MOVE_SMOKESCREEN, MOVE_SMOG, MOVE_SELF_DESTRUCT}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SuperNerd1[] = { +static const struct TrainerMon sParty_SuperNerd1[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_KOFFING, }, { - .iv = 0, .lvl = 22, .species = SPECIES_MAGNEMITE, }, { - .iv = 0, .lvl = 22, .species = SPECIES_WEEZING, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SuperNerd2[] = { +static const struct TrainerMon sParty_SuperNerd2[] = { { - .iv = 0, .lvl = 20, .species = SPECIES_MAGNEMITE, }, { - .iv = 0, .lvl = 20, .species = SPECIES_MAGNEMITE, }, { - .iv = 0, .lvl = 20, .species = SPECIES_KOFFING, }, { - .iv = 0, .lvl = 20, .species = SPECIES_MAGNEMITE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SuperNerd3[] = { +static const struct TrainerMon sParty_SuperNerd3[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_MAGNEMITE, }, { - .iv = 0, .lvl = 24, .species = SPECIES_VOLTORB, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SuperNerdErik[] = { +static const struct TrainerMon sParty_SuperNerdErik[] = { { - .iv = 0, .lvl = 36, .species = SPECIES_VULPIX, }, { - .iv = 0, .lvl = 36, .species = SPECIES_VULPIX, }, { - .iv = 0, .lvl = 36, .species = SPECIES_NINETALES, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SuperNerdAvery[] = { +static const struct TrainerMon sParty_SuperNerdAvery[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_PONYTA, }, { - .iv = 0, .lvl = 34, .species = SPECIES_CHARMANDER, }, { - .iv = 0, .lvl = 34, .species = SPECIES_VULPIX, }, { - .iv = 0, .lvl = 34, .species = SPECIES_GROWLITHE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SuperNerdDerek[] = { +static const struct TrainerMon sParty_SuperNerdDerek[] = { { - .iv = 0, .lvl = 41, .species = SPECIES_RAPIDASH, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SuperNerdZac[] = { +static const struct TrainerMon sParty_SuperNerdZac[] = { { - .iv = 0, .lvl = 37, .species = SPECIES_GROWLITHE, }, { - .iv = 0, .lvl = 37, .species = SPECIES_VULPIX, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_HikerMarcos[] = { +static const struct TrainerMon sParty_HikerMarcos[] = { { - .iv = 0, .lvl = 10, .species = SPECIES_GEODUDE, }, { - .iv = 0, .lvl = 10, .species = SPECIES_GEODUDE, }, { - .iv = 0, .lvl = 10, .species = SPECIES_ONIX, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_HikerFranklin[] = { +static const struct TrainerMon sParty_HikerFranklin[] = { { - .iv = 0, .lvl = 15, .species = SPECIES_MACHOP, }, { - .iv = 0, .lvl = 15, .species = SPECIES_GEODUDE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_HikerNob[] = { +static const struct TrainerMon sParty_HikerNob[] = { { - .iv = 0, .lvl = 13, .species = SPECIES_GEODUDE, }, { - .iv = 0, .lvl = 13, .species = SPECIES_GEODUDE, }, { - .iv = 0, .lvl = 13, .species = SPECIES_MACHOP, }, { - .iv = 0, .lvl = 13, .species = SPECIES_GEODUDE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_HikerWayne[] = { +static const struct TrainerMon sParty_HikerWayne[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_ONIX, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_HikerAlan[] = { +static const struct TrainerMon sParty_HikerAlan[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_GEODUDE, .moves = {MOVE_MAGNITUDE, MOVE_ROCK_THROW, MOVE_MUD_SPORT, MOVE_DEFENSE_CURL}, }, { - .iv = 0, .lvl = 21, .species = SPECIES_ONIX, .moves = {MOVE_HARDEN, MOVE_ROCK_THROW, MOVE_BIND, MOVE_SCREECH}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_HikerBrice[] = { +static const struct TrainerMon sParty_HikerBrice[] = { { - .iv = 0, .lvl = 20, .species = SPECIES_GEODUDE, }, { - .iv = 0, .lvl = 20, .species = SPECIES_MACHOP, }, { - .iv = 0, .lvl = 20, .species = SPECIES_GEODUDE, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_HikerClark[] = { +static const struct TrainerMon sParty_HikerClark[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_GEODUDE, .moves = {MOVE_MAGNITUDE, MOVE_ROCK_THROW, MOVE_MUD_SPORT, MOVE_DEFENSE_CURL}, }, { - .iv = 0, .lvl = 21, .species = SPECIES_ONIX, .moves = {MOVE_HARDEN, MOVE_ROCK_THROW, MOVE_BIND, MOVE_SCREECH}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_HikerTrent[] = { +static const struct TrainerMon sParty_HikerTrent[] = { { - .iv = 0, .lvl = 19, .species = SPECIES_ONIX, }, { - .iv = 0, .lvl = 19, .species = SPECIES_GRAVELER, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_HikerDudley[] = { +static const struct TrainerMon sParty_HikerDudley[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_GEODUDE, .moves = {MOVE_MAGNITUDE, MOVE_ROCK_THROW, MOVE_MUD_SPORT, MOVE_DEFENSE_CURL}, }, { - .iv = 0, .lvl = 21, .species = SPECIES_GEODUDE, .moves = {MOVE_MAGNITUDE, MOVE_ROCK_THROW, MOVE_MUD_SPORT, MOVE_DEFENSE_CURL}, }, { - .iv = 0, .lvl = 21, .species = SPECIES_GRAVELER, .moves = {MOVE_MAGNITUDE, MOVE_ROCK_THROW, MOVE_MUD_SPORT, MOVE_DEFENSE_CURL}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_HikerAllen[] = { +static const struct TrainerMon sParty_HikerAllen[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_GEODUDE, .moves = {MOVE_MAGNITUDE, MOVE_ROCK_THROW, MOVE_MUD_SPORT, MOVE_DEFENSE_CURL}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_HikerEric[] = { +static const struct TrainerMon sParty_HikerEric[] = { { - .iv = 0, .lvl = 20, .species = SPECIES_MACHOP, }, { - .iv = 0, .lvl = 20, .species = SPECIES_ONIX, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_HikerLenny[] = { +static const struct TrainerMon sParty_HikerLenny[] = { { - .iv = 0, .lvl = 19, .species = SPECIES_GEODUDE, }, { - .iv = 0, .lvl = 19, .species = SPECIES_MACHOP, }, { - .iv = 0, .lvl = 19, .species = SPECIES_GEODUDE, }, { - .iv = 0, .lvl = 19, .species = SPECIES_GEODUDE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_HikerOliver[] = { +static const struct TrainerMon sParty_HikerOliver[] = { { - .iv = 0, .lvl = 20, .species = SPECIES_ONIX, }, { - .iv = 0, .lvl = 20, .species = SPECIES_ONIX, }, { - .iv = 0, .lvl = 20, .species = SPECIES_GEODUDE, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_HikerLucas[] = { +static const struct TrainerMon sParty_HikerLucas[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_GEODUDE, .moves = {MOVE_MAGNITUDE, MOVE_ROCK_THROW, MOVE_MUD_SPORT, MOVE_DEFENSE_CURL}, }, { - .iv = 0, .lvl = 21, .species = SPECIES_GRAVELER, .moves = {MOVE_MAGNITUDE, MOVE_ROCK_THROW, MOVE_MUD_SPORT, MOVE_DEFENSE_CURL}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_BikerJared[] = { +static const struct TrainerMon sParty_BikerJared[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_POISON_GAS}, }, { - .iv = 0, .lvl = 28, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 28, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_BikerMalik[] = { +static const struct TrainerMon sParty_BikerMalik[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 29, .species = SPECIES_GRIMER, .moves = {MOVE_SCREECH, MOVE_MINIMIZE, MOVE_SLUDGE, MOVE_DISABLE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_BikerErnest[] = { +static const struct TrainerMon sParty_BikerErnest[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 25, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 25, .species = SPECIES_WEEZING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 25, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 25, .species = SPECIES_GRIMER, .moves = {MOVE_MINIMIZE, MOVE_SLUDGE, MOVE_DISABLE, MOVE_POUND}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_BikerAlex[] = { +static const struct TrainerMon sParty_BikerAlex[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 28, .species = SPECIES_GRIMER, .moves = {MOVE_SCREECH, MOVE_MINIMIZE, MOVE_SLUDGE, MOVE_DISABLE}, }, { - .iv = 0, .lvl = 28, .species = SPECIES_WEEZING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_BikerLao[] = { +static const struct TrainerMon sParty_BikerLao[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_GRIMER, .moves = {MOVE_SCREECH, MOVE_MINIMIZE, MOVE_SLUDGE, MOVE_DISABLE}, }, { - .iv = 0, .lvl = 29, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_Biker1[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_Biker1[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_BikerHideo[] = { +static const struct TrainerMon sParty_BikerHideo[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_WEEZING, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_BikerRuben[] = { +static const struct TrainerMon sParty_BikerRuben[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_WEEZING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 28, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 28, .species = SPECIES_WEEZING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BikerBilly[] = { +static const struct TrainerMon sParty_BikerBilly[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_MUK, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_BikerNikolas[] = { +static const struct TrainerMon sParty_BikerNikolas[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_VOLTORB, .moves = {MOVE_SPARK, MOVE_SONIC_BOOM, MOVE_SCREECH, MOVE_CHARGE}, }, { - .iv = 0, .lvl = 29, .species = SPECIES_VOLTORB, .moves = {MOVE_SPARK, MOVE_SONIC_BOOM, MOVE_SCREECH, MOVE_CHARGE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_BikerJaxon[] = { +static const struct TrainerMon sParty_BikerJaxon[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_WEEZING, .moves = {MOVE_SLUDGE, MOVE_SMOKESCREEN, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 29, .species = SPECIES_MUK, .moves = {MOVE_SCREECH, MOVE_MINIMIZE, MOVE_SLUDGE, MOVE_DISABLE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_BikerWilliam[] = { +static const struct TrainerMon sParty_BikerWilliam[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 25, .species = SPECIES_WEEZING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 25, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 25, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 25, .species = SPECIES_WEEZING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SELF_DESTRUCT, MOVE_TACKLE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_BikerLukas[] = { +static const struct TrainerMon sParty_BikerLukas[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 26, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 26, .species = SPECIES_GRIMER, .moves = {MOVE_SCREECH, MOVE_MINIMIZE, MOVE_SLUDGE, MOVE_DISABLE}, }, { - .iv = 0, .lvl = 26, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_BikerIsaac[] = { +static const struct TrainerMon sParty_BikerIsaac[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_GRIMER, .moves = {MOVE_SCREECH, MOVE_MINIMIZE, MOVE_SLUDGE, MOVE_DISABLE}, }, { - .iv = 0, .lvl = 28, .species = SPECIES_GRIMER, .moves = {MOVE_SCREECH, MOVE_MINIMIZE, MOVE_SLUDGE, MOVE_DISABLE}, }, { - .iv = 0, .lvl = 28, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_BikerGerald[] = { +static const struct TrainerMon sParty_BikerGerald[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 29, .species = SPECIES_MUK, .moves = {MOVE_SCREECH, MOVE_MINIMIZE, MOVE_SLUDGE, MOVE_DISABLE}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_Burglar1[] = { +static const struct TrainerMon sParty_Burglar1[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_GROWLITHE, }, { - .iv = 0, .lvl = 29, .species = SPECIES_VULPIX, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_Burglar2[] = { +static const struct TrainerMon sParty_Burglar2[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_GROWLITHE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_Burglar3[] = { +static const struct TrainerMon sParty_Burglar3[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_VULPIX, }, { - .iv = 0, .lvl = 28, .species = SPECIES_CHARMANDER, }, { - .iv = 0, .lvl = 28, .species = SPECIES_PONYTA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BurglarQuinn[] = { +static const struct TrainerMon sParty_BurglarQuinn[] = { { - .iv = 0, .lvl = 36, .species = SPECIES_GROWLITHE, }, { - .iv = 0, .lvl = 36, .species = SPECIES_VULPIX, }, { - .iv = 0, .lvl = 36, .species = SPECIES_NINETALES, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BurglarRamon[] = { +static const struct TrainerMon sParty_BurglarRamon[] = { { - .iv = 0, .lvl = 41, .species = SPECIES_PONYTA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BurglarDusty[] = { +static const struct TrainerMon sParty_BurglarDusty[] = { { - .iv = 0, .lvl = 37, .species = SPECIES_VULPIX, }, { - .iv = 0, .lvl = 37, .species = SPECIES_GROWLITHE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BurglarArnie[] = { +static const struct TrainerMon sParty_BurglarArnie[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_CHARMANDER, }, { - .iv = 0, .lvl = 34, .species = SPECIES_CHARMELEON, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_Burglar4[] = { +static const struct TrainerMon sParty_Burglar4[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_CHARMANDER, }, { - .iv = 0, .lvl = 34, .species = SPECIES_CHARMELEON, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BurglarSimon[] = { +static const struct TrainerMon sParty_BurglarSimon[] = { { - .iv = 0, .lvl = 38, .species = SPECIES_NINETALES, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BurglarLewis[] = { +static const struct TrainerMon sParty_BurglarLewis[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_GROWLITHE, }, { - .iv = 0, .lvl = 34, .species = SPECIES_PONYTA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_EngineerBaily[] = { +static const struct TrainerMon sParty_EngineerBaily[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_VOLTORB, }, { - .iv = 0, .lvl = 21, .species = SPECIES_MAGNEMITE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_EngineerBraxton[] = { +static const struct TrainerMon sParty_EngineerBraxton[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_MAGNEMITE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_EngineerBernie[] = { +static const struct TrainerMon sParty_EngineerBernie[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_MAGNEMITE, }, { - .iv = 0, .lvl = 18, .species = SPECIES_MAGNEMITE, }, { - .iv = 0, .lvl = 18, .species = SPECIES_MAGNETON, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_FishermanDale[] = { +static const struct TrainerMon sParty_FishermanDale[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_GOLDEEN, }, { - .iv = 0, .lvl = 17, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 17, .species = SPECIES_GOLDEEN, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_FishermanBarny[] = { +static const struct TrainerMon sParty_FishermanBarny[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 17, .species = SPECIES_STARYU, }, { - .iv = 0, .lvl = 17, .species = SPECIES_SHELLDER, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_FishermanNed[] = { +static const struct TrainerMon sParty_FishermanNed[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_GOLDEEN, }, { - .iv = 0, .lvl = 22, .species = SPECIES_POLIWAG, }, { - .iv = 0, .lvl = 22, .species = SPECIES_GOLDEEN, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_FishermanChip[] = { +static const struct TrainerMon sParty_FishermanChip[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 24, .species = SPECIES_GOLDEEN, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_FishermanHank[] = { +static const struct TrainerMon sParty_FishermanHank[] = { { - .iv = 0, .lvl = 27, .species = SPECIES_GOLDEEN, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_FishermanElliot[] = { +static const struct TrainerMon sParty_FishermanElliot[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_POLIWAG, }, { - .iv = 0, .lvl = 21, .species = SPECIES_SHELLDER, }, { - .iv = 0, .lvl = 21, .species = SPECIES_GOLDEEN, }, { - .iv = 0, .lvl = 21, .species = SPECIES_HORSEA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_FishermanRonald[] = { +static const struct TrainerMon sParty_FishermanRonald[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_SEAKING, }, { - .iv = 0, .lvl = 28, .species = SPECIES_GOLDEEN, }, { - .iv = 0, .lvl = 28, .species = SPECIES_SEAKING, }, { - .iv = 0, .lvl = 28, .species = SPECIES_SEAKING, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_FishermanClaude[] = { +static const struct TrainerMon sParty_FishermanClaude[] = { { - .iv = 0, .lvl = 31, .species = SPECIES_SHELLDER, }, { - .iv = 0, .lvl = 31, .species = SPECIES_CLOYSTER, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_FishermanWade[] = { +static const struct TrainerMon sParty_FishermanWade[] = { { - .iv = 0, .lvl = 27, .species = SPECIES_MAGIKARP, }, { - .iv = 0, .lvl = 27, .species = SPECIES_MAGIKARP, }, { - .iv = 0, .lvl = 27, .species = SPECIES_MAGIKARP, }, { - .iv = 0, .lvl = 27, .species = SPECIES_MAGIKARP, }, { - .iv = 0, .lvl = 27, .species = SPECIES_MAGIKARP, }, { - .iv = 0, .lvl = 27, .species = SPECIES_MAGIKARP, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_FishermanNolan[] = { +static const struct TrainerMon sParty_FishermanNolan[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_SEAKING, }, { - .iv = 0, .lvl = 33, .species = SPECIES_GOLDEEN, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_FishermanAndrew[] = { +static const struct TrainerMon sParty_FishermanAndrew[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_MAGIKARP, }, { - .iv = 0, .lvl = 24, .species = SPECIES_MAGIKARP, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleLuis[] = { +static const struct TrainerMon sParty_SwimmerMaleLuis[] = { { - .iv = 0, .lvl = 16, .species = SPECIES_HORSEA, }, { - .iv = 0, .lvl = 16, .species = SPECIES_SHELLDER, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleRichard[] = { +static const struct TrainerMon sParty_SwimmerMaleRichard[] = { { - .iv = 0, .lvl = 30, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 30, .species = SPECIES_SHELLDER, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleReece[] = { +static const struct TrainerMon sParty_SwimmerMaleReece[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_GOLDEEN, }, { - .iv = 0, .lvl = 29, .species = SPECIES_HORSEA, }, { - .iv = 0, .lvl = 29, .species = SPECIES_STARYU, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleMatthew[] = { +static const struct TrainerMon sParty_SwimmerMaleMatthew[] = { { - .iv = 0, .lvl = 30, .species = SPECIES_POLIWAG, }, { - .iv = 0, .lvl = 30, .species = SPECIES_POLIWHIRL, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleDouglas[] = { +static const struct TrainerMon sParty_SwimmerMaleDouglas[] = { { - .iv = 0, .lvl = 27, .species = SPECIES_HORSEA, }, { - .iv = 0, .lvl = 27, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 27, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 27, .species = SPECIES_GOLDEEN, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleDavid[] = { +static const struct TrainerMon sParty_SwimmerMaleDavid[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_GOLDEEN, }, { - .iv = 0, .lvl = 29, .species = SPECIES_SHELLDER, }, { - .iv = 0, .lvl = 29, .species = SPECIES_SEAKING, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleTony[] = { +static const struct TrainerMon sParty_SwimmerMaleTony[] = { { - .iv = 0, .lvl = 30, .species = SPECIES_HORSEA, }, { - .iv = 0, .lvl = 30, .species = SPECIES_HORSEA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleAxle[] = { +static const struct TrainerMon sParty_SwimmerMaleAxle[] = { { - .iv = 0, .lvl = 27, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 27, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 27, .species = SPECIES_STARYU, }, { - .iv = 0, .lvl = 27, .species = SPECIES_HORSEA, }, { - .iv = 0, .lvl = 27, .species = SPECIES_TENTACRUEL, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleBarry[] = { +static const struct TrainerMon sParty_SwimmerMaleBarry[] = { { - .iv = 0, .lvl = 31, .species = SPECIES_SHELLDER, }, { - .iv = 0, .lvl = 31, .species = SPECIES_CLOYSTER, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleDean[] = { +static const struct TrainerMon sParty_SwimmerMaleDean[] = { { - .iv = 0, .lvl = 35, .species = SPECIES_STARYU, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleDarrin[] = { +static const struct TrainerMon sParty_SwimmerMaleDarrin[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_HORSEA, }, { - .iv = 0, .lvl = 28, .species = SPECIES_HORSEA, }, { - .iv = 0, .lvl = 28, .species = SPECIES_SEADRA, }, { - .iv = 0, .lvl = 28, .species = SPECIES_HORSEA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleSpencer[] = { +static const struct TrainerMon sParty_SwimmerMaleSpencer[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_SEADRA, }, { - .iv = 0, .lvl = 33, .species = SPECIES_TENTACRUEL, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleJack[] = { +static const struct TrainerMon sParty_SwimmerMaleJack[] = { { - .iv = 0, .lvl = 37, .species = SPECIES_STARMIE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleJerome[] = { +static const struct TrainerMon sParty_SwimmerMaleJerome[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_STARYU, }, { - .iv = 0, .lvl = 33, .species = SPECIES_WARTORTLE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleRoland[] = { +static const struct TrainerMon sParty_SwimmerMaleRoland[] = { { - .iv = 0, .lvl = 32, .species = SPECIES_POLIWHIRL, }, { - .iv = 0, .lvl = 32, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 32, .species = SPECIES_SEADRA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CueBallKoji[] = { +static const struct TrainerMon sParty_CueBallKoji[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_MACHOP, }, { - .iv = 0, .lvl = 28, .species = SPECIES_MANKEY, }, { - .iv = 0, .lvl = 28, .species = SPECIES_MACHOP, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CueBallLuke[] = { +static const struct TrainerMon sParty_CueBallLuke[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_MANKEY, }, { - .iv = 0, .lvl = 29, .species = SPECIES_MACHOP, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CueBallCamron[] = { +static const struct TrainerMon sParty_CueBallCamron[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_MANKEY, }, { - .iv = 0, .lvl = 29, .species = SPECIES_MACHOP, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CueBallRaul[] = { +static const struct TrainerMon sParty_CueBallRaul[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_MANKEY, }, { - .iv = 0, .lvl = 29, .species = SPECIES_PRIMEAPE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CueBallIsaiah[] = { +static const struct TrainerMon sParty_CueBallIsaiah[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_MACHOP, }, { - .iv = 0, .lvl = 29, .species = SPECIES_MACHAMP, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CueBallZeek[] = { +static const struct TrainerMon sParty_CueBallZeek[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_MACHOKE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CueBallJamal[] = { +static const struct TrainerMon sParty_CueBallJamal[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_MANKEY, }, { - .iv = 0, .lvl = 26, .species = SPECIES_MANKEY, }, { - .iv = 0, .lvl = 26, .species = SPECIES_MACHAMP, }, { - .iv = 0, .lvl = 26, .species = SPECIES_MACHOP, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CueBallCorey[] = { +static const struct TrainerMon sParty_CueBallCorey[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_PRIMEAPE, }, { - .iv = 0, .lvl = 29, .species = SPECIES_MACHOKE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CueBallChase[] = { +static const struct TrainerMon sParty_CueBallChase[] = { { - .iv = 0, .lvl = 31, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 31, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 31, .species = SPECIES_TENTACRUEL, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_GamerHugo[] = { +static const struct TrainerMon sParty_GamerHugo[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_POLIWAG, }, { - .iv = 0, .lvl = 18, .species = SPECIES_HORSEA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_GamerJasper[] = { +static const struct TrainerMon sParty_GamerJasper[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_BELLSPROUT, }, { - .iv = 0, .lvl = 18, .species = SPECIES_ODDISH, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_GamerDirk[] = { +static const struct TrainerMon sParty_GamerDirk[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_VOLTORB, }, { - .iv = 0, .lvl = 18, .species = SPECIES_MAGNEMITE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_GamerDarian[] = { +static const struct TrainerMon sParty_GamerDarian[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_GROWLITHE, }, { - .iv = 0, .lvl = 18, .species = SPECIES_VULPIX, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_GamerStan[] = { +static const struct TrainerMon sParty_GamerStan[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_POLIWAG, }, { - .iv = 0, .lvl = 22, .species = SPECIES_POLIWAG, }, { - .iv = 0, .lvl = 22, .species = SPECIES_POLIWHIRL, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_Gamer1[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_Gamer1[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_GamerRich[] = { +static const struct TrainerMon sParty_GamerRich[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_GROWLITHE, }, { - .iv = 0, .lvl = 24, .species = SPECIES_VULPIX, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BeautyBridget[] = { +static const struct TrainerMon sParty_BeautyBridget[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_ODDISH, }, { - .iv = 0, .lvl = 21, .species = SPECIES_BELLSPROUT, }, { - .iv = 0, .lvl = 21, .species = SPECIES_ODDISH, }, { - .iv = 0, .lvl = 21, .species = SPECIES_BELLSPROUT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BeautyTamia[] = { +static const struct TrainerMon sParty_BeautyTamia[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_BELLSPROUT, }, { - .iv = 0, .lvl = 24, .species = SPECIES_BELLSPROUT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BeautyLori[] = { +static const struct TrainerMon sParty_BeautyLori[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_EXEGGCUTE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BeautyLola[] = { +static const struct TrainerMon sParty_BeautyLola[] = { { - .iv = 0, .lvl = 27, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 27, .species = SPECIES_PIKACHU, }, { - .iv = 0, .lvl = 27, .species = SPECIES_RATTATA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BeautySheila[] = { +static const struct TrainerMon sParty_BeautySheila[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_CLEFAIRY, }, { - .iv = 0, .lvl = 29, .species = SPECIES_MEOWTH, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerFemaleTiffany[] = { +static const struct TrainerMon sParty_SwimmerFemaleTiffany[] = { { - .iv = 0, .lvl = 35, .species = SPECIES_SEAKING, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerFemaleNora[] = { +static const struct TrainerMon sParty_SwimmerFemaleNora[] = { { - .iv = 0, .lvl = 30, .species = SPECIES_SHELLDER, }, { - .iv = 0, .lvl = 30, .species = SPECIES_SHELLDER, }, { - .iv = 0, .lvl = 30, .species = SPECIES_CLOYSTER, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerFemaleMelissa[] = { +static const struct TrainerMon sParty_SwimmerFemaleMelissa[] = { { - .iv = 0, .lvl = 31, .species = SPECIES_POLIWAG, }, { - .iv = 0, .lvl = 31, .species = SPECIES_SEAKING, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BeautyGrace[] = { +static const struct TrainerMon sParty_BeautyGrace[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_PIDGEOTTO, }, { - .iv = 0, .lvl = 29, .species = SPECIES_WIGGLYTUFF, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BeautyOlivia[] = { +static const struct TrainerMon sParty_BeautyOlivia[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_BULBASAUR, }, { - .iv = 0, .lvl = 29, .species = SPECIES_IVYSAUR, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BeautyLauren[] = { +static const struct TrainerMon sParty_BeautyLauren[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_WEEPINBELL, }, { - .iv = 0, .lvl = 33, .species = SPECIES_BELLSPROUT, }, { - .iv = 0, .lvl = 33, .species = SPECIES_WEEPINBELL, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerFemaleAnya[] = { +static const struct TrainerMon sParty_SwimmerFemaleAnya[] = { { - .iv = 0, .lvl = 27, .species = SPECIES_POLIWAG, }, { - .iv = 0, .lvl = 27, .species = SPECIES_GOLDEEN, }, { - .iv = 0, .lvl = 27, .species = SPECIES_SEAKING, }, { - .iv = 0, .lvl = 27, .species = SPECIES_GOLDEEN, }, { - .iv = 0, .lvl = 27, .species = SPECIES_POLIWAG, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerFemaleAlice[] = { +static const struct TrainerMon sParty_SwimmerFemaleAlice[] = { { - .iv = 0, .lvl = 30, .species = SPECIES_GOLDEEN, }, { - .iv = 0, .lvl = 30, .species = SPECIES_SEAKING, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerFemaleConnie[] = { +static const struct TrainerMon sParty_SwimmerFemaleConnie[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_STARYU, }, { - .iv = 0, .lvl = 29, .species = SPECIES_STARYU, }, { - .iv = 0, .lvl = 29, .species = SPECIES_STARYU, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerFemaleShirley[] = { +static const struct TrainerMon sParty_SwimmerFemaleShirley[] = { { - .iv = 0, .lvl = 30, .species = SPECIES_SEADRA, }, { - .iv = 0, .lvl = 30, .species = SPECIES_HORSEA, }, { - .iv = 0, .lvl = 30, .species = SPECIES_SEADRA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PsychicJohan[] = { +static const struct TrainerMon sParty_PsychicJohan[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 31, .species = SPECIES_KADABRA, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 31, .species = SPECIES_SLOWPOKE, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 31, .species = SPECIES_MR_MIME, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 31, .species = SPECIES_KADABRA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PsychicTyron[] = { +static const struct TrainerMon sParty_PsychicTyron[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 34, .species = SPECIES_MR_MIME, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 34, .species = SPECIES_KADABRA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PsychicCameron[] = { +static const struct TrainerMon sParty_PsychicCameron[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 33, .species = SPECIES_SLOWPOKE, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 33, .species = SPECIES_SLOWPOKE, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 33, .species = SPECIES_SLOWBRO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PsychicPreston[] = { +static const struct TrainerMon sParty_PsychicPreston[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 38, .species = SPECIES_SLOWBRO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_RockerRandall[] = { +static const struct TrainerMon sParty_RockerRandall[] = { { - .iv = 0, .lvl = 20, .species = SPECIES_VOLTORB, }, { - .iv = 0, .lvl = 20, .species = SPECIES_MAGNEMITE, }, { - .iv = 0, .lvl = 20, .species = SPECIES_VOLTORB, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_RockerLuca[] = { +static const struct TrainerMon sParty_RockerLuca[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_VOLTORB, }, { - .iv = 0, .lvl = 29, .species = SPECIES_ELECTRODE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_JugglerDalton[] = { +static const struct TrainerMon sParty_JugglerDalton[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_KADABRA, }, { - .iv = 0, .lvl = 29, .species = SPECIES_MR_MIME, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_JugglerNelson[] = { +static const struct TrainerMon sParty_JugglerNelson[] = { { - .iv = 0, .lvl = 41, .species = SPECIES_DROWZEE, }, { - .iv = 0, .lvl = 41, .species = SPECIES_HYPNO, }, { - .iv = 0, .lvl = 41, .species = SPECIES_KADABRA, }, { - .iv = 0, .lvl = 41, .species = SPECIES_KADABRA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_JugglerKirk[] = { +static const struct TrainerMon sParty_JugglerKirk[] = { { - .iv = 0, .lvl = 31, .species = SPECIES_DROWZEE, }, { - .iv = 0, .lvl = 31, .species = SPECIES_DROWZEE, }, { - .iv = 0, .lvl = 31, .species = SPECIES_KADABRA, }, { - .iv = 0, .lvl = 31, .species = SPECIES_DROWZEE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_JugglerShawn[] = { +static const struct TrainerMon sParty_JugglerShawn[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_DROWZEE, }, { - .iv = 0, .lvl = 34, .species = SPECIES_HYPNO, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_JugglerGregory[] = { +static const struct TrainerMon sParty_JugglerGregory[] = { { - .iv = 0, .lvl = 48, .species = SPECIES_MR_MIME, .moves = {MOVE_PSYCHIC, MOVE_ROLE_PLAY, MOVE_DOUBLE_SLAP, MOVE_ENCORE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_JugglerEdward[] = { +static const struct TrainerMon sParty_JugglerEdward[] = { { - .iv = 0, .lvl = 46, .species = SPECIES_VOLTORB, .moves = {MOVE_SWIFT, MOVE_LIGHT_SCREEN, MOVE_SPARK, MOVE_SONIC_BOOM}, }, { - .iv = 0, .lvl = 46, .species = SPECIES_VOLTORB, .moves = {MOVE_SWIFT, MOVE_LIGHT_SCREEN, MOVE_SPARK, MOVE_SONIC_BOOM}, }, { - .iv = 0, .lvl = 47, .species = SPECIES_ELECTRODE, .moves = {MOVE_SWIFT, MOVE_SPARK, MOVE_SELF_DESTRUCT, MOVE_SONIC_BOOM}, }, { - .iv = 0, .lvl = 48, .species = SPECIES_MR_MIME, .moves = {MOVE_PSYCHIC, MOVE_ROLE_PLAY, MOVE_REFLECT, MOVE_ENCORE}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_JugglerKayden[] = { +static const struct TrainerMon sParty_JugglerKayden[] = { { - .iv = 0, .lvl = 38, .species = SPECIES_HYPNO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_JugglerNate[] = { +static const struct TrainerMon sParty_JugglerNate[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_DROWZEE, }, { - .iv = 0, .lvl = 34, .species = SPECIES_KADABRA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TamerPhil[] = { +static const struct TrainerMon sParty_TamerPhil[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 34, .species = SPECIES_SANDSLASH, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 34, .species = SPECIES_ARBOK, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TamerEdgar[] = { +static const struct TrainerMon sParty_TamerEdgar[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, .species = SPECIES_ARBOK, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, .species = SPECIES_SANDSLASH, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, .species = SPECIES_ARBOK, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TamerJason[] = { +static const struct TrainerMon sParty_TamerJason[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 43, .species = SPECIES_RHYHORN, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TamerCole[] = { +static const struct TrainerMon sParty_TamerCole[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 39, .species = SPECIES_ARBOK, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 39, .species = SPECIES_TAUROS, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TamerVincent[] = { +static const struct TrainerMon sParty_TamerVincent[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 44, .species = SPECIES_PERSIAN, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 44, .species = SPECIES_GOLDUCK, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TamerJohn[] = { +static const struct TrainerMon sParty_TamerJohn[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 42, .species = SPECIES_RHYHORN, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 42, .species = SPECIES_PRIMEAPE, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 42, .species = SPECIES_ARBOK, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 42, .species = SPECIES_TAUROS, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperSebastian[] = { +static const struct TrainerMon sParty_BirdKeeperSebastian[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 29, .species = SPECIES_PIDGEOTTO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperPerry[] = { +static const struct TrainerMon sParty_BirdKeeperPerry[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_SPEAROW, }, { - .iv = 0, .lvl = 25, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 25, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 25, .species = SPECIES_SPEAROW, }, { - .iv = 0, .lvl = 25, .species = SPECIES_SPEAROW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperRobert[] = { +static const struct TrainerMon sParty_BirdKeeperRobert[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 26, .species = SPECIES_PIDGEOTTO, }, { - .iv = 0, .lvl = 26, .species = SPECIES_SPEAROW, }, { - .iv = 0, .lvl = 26, .species = SPECIES_FEAROW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperDonald[] = { +static const struct TrainerMon sParty_BirdKeeperDonald[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_FARFETCHD, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperBenny[] = { +static const struct TrainerMon sParty_BirdKeeperBenny[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_SPEAROW, }, { - .iv = 0, .lvl = 29, .species = SPECIES_FEAROW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperEdwin[] = { +static const struct TrainerMon sParty_BirdKeeperEdwin[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_PIDGEOTTO, }, { - .iv = 0, .lvl = 26, .species = SPECIES_FARFETCHD, }, { - .iv = 0, .lvl = 26, .species = SPECIES_DODUO, }, { - .iv = 0, .lvl = 26, .species = SPECIES_PIDGEY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperChester[] = { +static const struct TrainerMon sParty_BirdKeeperChester[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_DODRIO, }, { - .iv = 0, .lvl = 28, .species = SPECIES_DODUO, }, { - .iv = 0, .lvl = 28, .species = SPECIES_DODUO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperWilton[] = { +static const struct TrainerMon sParty_BirdKeeperWilton[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_SPEAROW, }, { - .iv = 0, .lvl = 29, .species = SPECIES_FEAROW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperRamiro[] = { +static const struct TrainerMon sParty_BirdKeeperRamiro[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_DODRIO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperJacob[] = { +static const struct TrainerMon sParty_BirdKeeperJacob[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_SPEAROW, }, { - .iv = 0, .lvl = 26, .species = SPECIES_SPEAROW, }, { - .iv = 0, .lvl = 26, .species = SPECIES_FEAROW, }, { - .iv = 0, .lvl = 26, .species = SPECIES_SPEAROW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperRoger[] = { +static const struct TrainerMon sParty_BirdKeeperRoger[] = { { - .iv = 0, .lvl = 30, .species = SPECIES_FEAROW, }, { - .iv = 0, .lvl = 30, .species = SPECIES_FEAROW, }, { - .iv = 0, .lvl = 30, .species = SPECIES_PIDGEOTTO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperReed[] = { +static const struct TrainerMon sParty_BirdKeeperReed[] = { { - .iv = 0, .lvl = 39, .species = SPECIES_PIDGEOTTO, }, { - .iv = 0, .lvl = 39, .species = SPECIES_PIDGEOTTO, }, { - .iv = 0, .lvl = 39, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 39, .species = SPECIES_PIDGEOTTO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperKeith[] = { +static const struct TrainerMon sParty_BirdKeeperKeith[] = { { - .iv = 0, .lvl = 39, .species = SPECIES_FARFETCHD, }, { - .iv = 0, .lvl = 39, .species = SPECIES_FEAROW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperCarter[] = { +static const struct TrainerMon sParty_BirdKeeperCarter[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 28, .species = SPECIES_DODUO, }, { - .iv = 0, .lvl = 28, .species = SPECIES_PIDGEOTTO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperMitch[] = { +static const struct TrainerMon sParty_BirdKeeperMitch[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 26, .species = SPECIES_SPEAROW, }, { - .iv = 0, .lvl = 26, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 26, .species = SPECIES_FEAROW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperBeck[] = { +static const struct TrainerMon sParty_BirdKeeperBeck[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_PIDGEOTTO, }, { - .iv = 0, .lvl = 29, .species = SPECIES_FEAROW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperMarlon[] = { +static const struct TrainerMon sParty_BirdKeeperMarlon[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_SPEAROW, }, { - .iv = 0, .lvl = 28, .species = SPECIES_DODUO, }, { - .iv = 0, .lvl = 28, .species = SPECIES_FEAROW, }, }; -static const struct TrainerMonItemDefaultMoves sParty_BlackBeltKoichi[] = { +static const struct TrainerMon sParty_BlackBeltKoichi[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 37, .species = SPECIES_HITMONLEE, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 37, .species = SPECIES_HITMONCHAN, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonItemDefaultMoves sParty_BlackBeltMike[] = { +static const struct TrainerMon sParty_BlackBeltMike[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 31, .species = SPECIES_MANKEY, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 31, .species = SPECIES_MANKEY, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 31, .species = SPECIES_PRIMEAPE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonItemDefaultMoves sParty_BlackBeltHideki[] = { +static const struct TrainerMon sParty_BlackBeltHideki[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 32, .species = SPECIES_MACHOP, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 32, .species = SPECIES_MACHOKE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonItemDefaultMoves sParty_BlackBeltAaron[] = { +static const struct TrainerMon sParty_BlackBeltAaron[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 36, .species = SPECIES_PRIMEAPE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonItemDefaultMoves sParty_BlackBeltHitoshi[] = { +static const struct TrainerMon sParty_BlackBeltHitoshi[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 31, .species = SPECIES_MACHOP, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 31, .species = SPECIES_MANKEY, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 31, .species = SPECIES_PRIMEAPE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonItemDefaultMoves sParty_BlackBeltAtsushi[] = { +static const struct TrainerMon sParty_BlackBeltAtsushi[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 40, .species = SPECIES_MACHOP, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 40, .species = SPECIES_MACHOKE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonItemDefaultMoves sParty_BlackBeltKiyo[] = { +static const struct TrainerMon sParty_BlackBeltKiyo[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 43, .species = SPECIES_MACHOKE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonItemDefaultMoves sParty_BlackBeltTakashi[] = { +static const struct TrainerMon sParty_BlackBeltTakashi[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 38, .species = SPECIES_MACHOKE, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 38, .species = SPECIES_MACHOP, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 38, .species = SPECIES_MACHOKE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonItemDefaultMoves sParty_BlackBeltDaisuke[] = { +static const struct TrainerMon sParty_BlackBeltDaisuke[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 43, .species = SPECIES_MACHOKE, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 43, .species = SPECIES_MACHOP, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 43, .species = SPECIES_MACHOKE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_RivalOaksLabSquirtle[] = { +static const struct TrainerMon sParty_RivalOaksLabSquirtle[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_SQUIRTLE, + .moves = {MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_NONE, MOVE_NONE}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_RivalOaksLabBulbasaur[] = { +static const struct TrainerMon sParty_RivalOaksLabBulbasaur[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_BULBASAUR, + .moves = {MOVE_TACKLE, MOVE_GROWL, MOVE_NONE, MOVE_NONE}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_RivalOaksLabCharmander[] = { +static const struct TrainerMon sParty_RivalOaksLabCharmander[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_CHARMANDER, + .moves = {MOVE_SCRATCH, MOVE_GROWL, MOVE_NONE, MOVE_NONE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_RivalRoute22EarlySquirtle[] = { +static const struct TrainerMon sParty_RivalRoute22EarlySquirtle[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 9, .species = SPECIES_PIDGEY, .moves = {MOVE_TACKLE, MOVE_SAND_ATTACK, MOVE_NONE, MOVE_NONE}, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 9, .species = SPECIES_SQUIRTLE, .moves = {MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_NONE, MOVE_NONE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_RivalRoute22EarlyBulbasaur[] = { +static const struct TrainerMon sParty_RivalRoute22EarlyBulbasaur[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 9, .species = SPECIES_PIDGEY, .moves = {MOVE_TACKLE, MOVE_SAND_ATTACK, MOVE_NONE, MOVE_NONE}, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 9, .species = SPECIES_BULBASAUR, .moves = {MOVE_TACKLE, MOVE_GROWL, MOVE_NONE, MOVE_NONE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_RivalRoute22EarlyCharmander[] = { +static const struct TrainerMon sParty_RivalRoute22EarlyCharmander[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 9, .species = SPECIES_PIDGEY, .moves = {MOVE_TACKLE, MOVE_SAND_ATTACK, MOVE_NONE, MOVE_NONE}, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 9, .species = SPECIES_CHARMANDER, .moves = {MOVE_SCRATCH, MOVE_GROWL, MOVE_NONE, MOVE_NONE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_RivalCeruleanSquirtle[] = { +static const struct TrainerMon sParty_RivalCeruleanSquirtle[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 17, .species = SPECIES_PIDGEOTTO, .moves = {MOVE_TACKLE, MOVE_SAND_ATTACK, MOVE_GUST, MOVE_QUICK_ATTACK}, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 16, .species = SPECIES_ABRA, .moves = {MOVE_TELEPORT, MOVE_NONE, MOVE_NONE, MOVE_NONE}, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 15, .species = SPECIES_RATTATA, .moves = {MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_QUICK_ATTACK, MOVE_NONE}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 18, .species = SPECIES_SQUIRTLE, .moves = {MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_WITHDRAW, MOVE_WATER_GUN}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_RivalCeruleanBulbasaur[] = { +static const struct TrainerMon sParty_RivalCeruleanBulbasaur[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 17, .species = SPECIES_PIDGEOTTO, .moves = {MOVE_TACKLE, MOVE_SAND_ATTACK, MOVE_GUST, MOVE_QUICK_ATTACK}, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 16, .species = SPECIES_ABRA, .moves = {MOVE_TELEPORT, MOVE_NONE, MOVE_NONE, MOVE_NONE}, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 15, .species = SPECIES_RATTATA, .moves = {MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_QUICK_ATTACK, MOVE_NONE}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 18, .species = SPECIES_BULBASAUR, .moves = {MOVE_SLEEP_POWDER, MOVE_POISON_POWDER, MOVE_VINE_WHIP, MOVE_LEECH_SEED}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_RivalCeruleanCharmander[] = { +static const struct TrainerMon sParty_RivalCeruleanCharmander[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 17, .species = SPECIES_PIDGEOTTO, .moves = {MOVE_TACKLE, MOVE_SAND_ATTACK, MOVE_GUST, MOVE_QUICK_ATTACK}, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 16, .species = SPECIES_ABRA, .moves = {MOVE_TELEPORT, MOVE_NONE, MOVE_NONE, MOVE_NONE}, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 15, .species = SPECIES_RATTATA, .moves = {MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_QUICK_ATTACK, MOVE_NONE}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 18, .species = SPECIES_CHARMANDER, .moves = {MOVE_METAL_CLAW, MOVE_EMBER, MOVE_GROWL, MOVE_SCRATCH}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ScientistTed[] = { +static const struct TrainerMon sParty_ScientistTed[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_ELECTRODE, }, { - .iv = 0, .lvl = 29, .species = SPECIES_WEEZING, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_ScientistConnor[] = { +static const struct TrainerMon sParty_ScientistConnor[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_GRIMER, .moves = {MOVE_SCREECH, MOVE_MINIMIZE, MOVE_SLUDGE, MOVE_DISABLE}, }, { - .iv = 0, .lvl = 26, .species = SPECIES_WEEZING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 26, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_SELF_DESTRUCT}, }, { - .iv = 0, .lvl = 26, .species = SPECIES_WEEZING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ScientistJerry[] = { +static const struct TrainerMon sParty_ScientistJerry[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_MAGNEMITE, }, { - .iv = 0, .lvl = 28, .species = SPECIES_VOLTORB, }, { - .iv = 0, .lvl = 28, .species = SPECIES_MAGNETON, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_ScientistJose[] = { +static const struct TrainerMon sParty_ScientistJose[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_ELECTRODE, .moves = {MOVE_SPARK, MOVE_SONIC_BOOM, MOVE_SCREECH, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 29, .species = SPECIES_WEEZING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ScientistRodney[] = { +static const struct TrainerMon sParty_ScientistRodney[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_ELECTRODE, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_ScientistBeau[] = { +static const struct TrainerMon sParty_ScientistBeau[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_MAGNETON, .moves = {MOVE_SPARK, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM, MOVE_SUPERSONIC}, }, { - .iv = 0, .lvl = 26, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 26, .species = SPECIES_WEEZING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 26, .species = SPECIES_MAGNEMITE, .moves = {MOVE_SPARK, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM, MOVE_SUPERSONIC}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_ScientistTaylor[] = { +static const struct TrainerMon sParty_ScientistTaylor[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_VOLTORB, .moves = {MOVE_SPARK, MOVE_SONIC_BOOM, MOVE_SCREECH, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 25, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 25, .species = SPECIES_MAGNETON, .moves = {MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM, MOVE_SUPERSONIC, MOVE_THUNDER_SHOCK}, }, { - .iv = 0, .lvl = 25, .species = SPECIES_MAGNEMITE, .moves = {MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM, MOVE_SUPERSONIC, MOVE_THUNDER_SHOCK}, }, { - .iv = 0, .lvl = 25, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_SELF_DESTRUCT}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ScientistJoshua[] = { +static const struct TrainerMon sParty_ScientistJoshua[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_ELECTRODE, }, { - .iv = 0, .lvl = 29, .species = SPECIES_MUK, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ScientistParker[] = { +static const struct TrainerMon sParty_ScientistParker[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_GRIMER, }, { - .iv = 0, .lvl = 29, .species = SPECIES_ELECTRODE, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_ScientistEd[] = { +static const struct TrainerMon sParty_ScientistEd[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_VOLTORB, .moves = {MOVE_SPARK, MOVE_SONIC_BOOM, MOVE_SCREECH, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 28, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_TACKLE, MOVE_SMOG}, }, { - .iv = 0, .lvl = 28, .species = SPECIES_MAGNETON, .moves = {MOVE_SPARK, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM, MOVE_SUPERSONIC}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ScientistTravis[] = { +static const struct TrainerMon sParty_ScientistTravis[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_MAGNEMITE, }, { - .iv = 0, .lvl = 29, .species = SPECIES_KOFFING, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ScientistBraydon[] = { +static const struct TrainerMon sParty_ScientistBraydon[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_MAGNEMITE, }, { - .iv = 0, .lvl = 33, .species = SPECIES_MAGNETON, }, { - .iv = 0, .lvl = 33, .species = SPECIES_VOLTORB, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ScientistIvan[] = { +static const struct TrainerMon sParty_ScientistIvan[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_MAGNEMITE, }, { - .iv = 0, .lvl = 34, .species = SPECIES_ELECTRODE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BossGiovanni[] = { +static const struct TrainerMon sParty_BossGiovanni[] = { { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 25, .species = SPECIES_ONIX, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 24, .species = SPECIES_RHYHORN, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 29, .species = SPECIES_KANGASKHAN, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BossGiovanni2[] = { +static const struct TrainerMon sParty_BossGiovanni2[] = { { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 37, .species = SPECIES_NIDORINO, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 35, .species = SPECIES_KANGASKHAN, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 37, .species = SPECIES_RHYHORN, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 41, .species = SPECIES_NIDOQUEEN, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_LeaderGiovanni[] = { +static const struct TrainerMon sParty_LeaderGiovanni[] = { { - .iv = 0, .lvl = 45, .species = SPECIES_RHYHORN, .moves = {MOVE_TAKE_DOWN, MOVE_ROCK_BLAST, MOVE_SCARY_FACE, MOVE_EARTHQUAKE}, }, { - .iv = 0, .lvl = 42, .species = SPECIES_DUGTRIO, .moves = {MOVE_SLASH, MOVE_SAND_TOMB, MOVE_MUD_SLAP, MOVE_EARTHQUAKE}, }, { - .iv = 0, .lvl = 44, .species = SPECIES_NIDOQUEEN, .moves = {MOVE_BODY_SLAM, MOVE_DOUBLE_KICK, MOVE_POISON_STING, MOVE_EARTHQUAKE}, }, { - .iv = 0, .lvl = 45, .species = SPECIES_NIDOKING, .moves = {MOVE_THRASH, MOVE_DOUBLE_KICK, MOVE_POISON_STING, MOVE_EARTHQUAKE}, }, { - .iv = 0, .lvl = 50, .species = SPECIES_RHYHORN, .moves = {MOVE_TAKE_DOWN, MOVE_ROCK_BLAST, MOVE_SCARY_FACE, MOVE_EARTHQUAKE}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt[] = { +static const struct TrainerMon sParty_TeamRocketGrunt[] = { { - .iv = 0, .lvl = 13, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 13, .species = SPECIES_ZUBAT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt2[] = { +static const struct TrainerMon sParty_TeamRocketGrunt2[] = { { - .iv = 0, .lvl = 11, .species = SPECIES_SANDSHREW, }, { - .iv = 0, .lvl = 11, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 11, .species = SPECIES_ZUBAT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt3[] = { +static const struct TrainerMon sParty_TeamRocketGrunt3[] = { { - .iv = 0, .lvl = 11, .species = SPECIES_ZUBAT, }, { - .iv = 0, .lvl = 11, .species = SPECIES_EKANS, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt4[] = { +static const struct TrainerMon sParty_TeamRocketGrunt4[] = { { - .iv = 0, .lvl = 13, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 13, .species = SPECIES_SANDSHREW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt5[] = { +static const struct TrainerMon sParty_TeamRocketGrunt5[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_MACHOP, }, { - .iv = 0, .lvl = 17, .species = SPECIES_DROWZEE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt6[] = { +static const struct TrainerMon sParty_TeamRocketGrunt6[] = { { - .iv = 0, .lvl = 15, .species = SPECIES_EKANS, }, { - .iv = 0, .lvl = 15, .species = SPECIES_ZUBAT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt7[] = { +static const struct TrainerMon sParty_TeamRocketGrunt7[] = { { - .iv = 0, .lvl = 20, .species = SPECIES_RATICATE, }, { - .iv = 0, .lvl = 20, .species = SPECIES_ZUBAT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt8[] = { +static const struct TrainerMon sParty_TeamRocketGrunt8[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_DROWZEE, }, { - .iv = 0, .lvl = 21, .species = SPECIES_MACHOP, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt9[] = { +static const struct TrainerMon sParty_TeamRocketGrunt9[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_RATICATE, }, { - .iv = 0, .lvl = 21, .species = SPECIES_RATICATE, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_TeamRocketGrunt10[] = { +static const struct TrainerMon sParty_TeamRocketGrunt10[] = { { - .iv = 0, .lvl = 20, .species = SPECIES_GRIMER, .moves = {MOVE_MINIMIZE, MOVE_SLUDGE, MOVE_DISABLE, MOVE_HARDEN}, }, { - .iv = 0, .lvl = 20, .species = SPECIES_KOFFING, .moves = {MOVE_SMOG, MOVE_TACKLE, MOVE_POISON_GAS, MOVE_NONE}, }, { - .iv = 0, .lvl = 20, .species = SPECIES_KOFFING, .moves = {MOVE_SMOG, MOVE_TACKLE, MOVE_POISON_GAS, MOVE_NONE}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt11[] = { +static const struct TrainerMon sParty_TeamRocketGrunt11[] = { { - .iv = 0, .lvl = 19, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 19, .species = SPECIES_RATICATE, }, { - .iv = 0, .lvl = 19, .species = SPECIES_RATICATE, }, { - .iv = 0, .lvl = 19, .species = SPECIES_RATTATA, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_TeamRocketGrunt12[] = { +static const struct TrainerMon sParty_TeamRocketGrunt12[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_GRIMER, .moves = {MOVE_MINIMIZE, MOVE_SLUDGE, MOVE_DISABLE, MOVE_HARDEN}, }, { - .iv = 0, .lvl = 22, .species = SPECIES_KOFFING, .moves = {MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE, MOVE_POISON_GAS}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_TeamRocketGrunt13[] = { +static const struct TrainerMon sParty_TeamRocketGrunt13[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_ZUBAT, .moves = {MOVE_BITE, MOVE_ASTONISH, MOVE_SUPERSONIC, MOVE_LEECH_LIFE}, }, { - .iv = 0, .lvl = 17, .species = SPECIES_KOFFING, .moves = {MOVE_SMOG, MOVE_TACKLE, MOVE_POISON_GAS, MOVE_NONE}, }, { - .iv = 0, .lvl = 17, .species = SPECIES_GRIMER, .moves = {MOVE_SLUDGE, MOVE_DISABLE, MOVE_HARDEN, MOVE_POUND}, }, { - .iv = 0, .lvl = 17, .species = SPECIES_ZUBAT, .moves = {MOVE_BITE, MOVE_ASTONISH, MOVE_SUPERSONIC, MOVE_LEECH_LIFE}, }, { - .iv = 0, .lvl = 17, .species = SPECIES_RATICATE, .moves = {MOVE_HYPER_FANG, MOVE_QUICK_ATTACK, MOVE_TAIL_WHIP, MOVE_TACKLE}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt14[] = { +static const struct TrainerMon sParty_TeamRocketGrunt14[] = { { - .iv = 0, .lvl = 20, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 20, .species = SPECIES_RATICATE, }, { - .iv = 0, .lvl = 20, .species = SPECIES_DROWZEE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt15[] = { +static const struct TrainerMon sParty_TeamRocketGrunt15[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_MACHOP, }, { - .iv = 0, .lvl = 21, .species = SPECIES_MACHOP, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt16[] = { +static const struct TrainerMon sParty_TeamRocketGrunt16[] = { { - .iv = 0, .lvl = 23, .species = SPECIES_SANDSHREW, }, { - .iv = 0, .lvl = 23, .species = SPECIES_EKANS, }, { - .iv = 0, .lvl = 23, .species = SPECIES_SANDSLASH, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt17[] = { +static const struct TrainerMon sParty_TeamRocketGrunt17[] = { { - .iv = 0, .lvl = 23, .species = SPECIES_EKANS, }, { - .iv = 0, .lvl = 23, .species = SPECIES_SANDSHREW, }, { - .iv = 0, .lvl = 23, .species = SPECIES_ARBOK, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt18[] = { +static const struct TrainerMon sParty_TeamRocketGrunt18[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_KOFFING, }, { - .iv = 0, .lvl = 21, .species = SPECIES_ZUBAT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt19[] = { +static const struct TrainerMon sParty_TeamRocketGrunt19[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_ZUBAT, }, { - .iv = 0, .lvl = 25, .species = SPECIES_ZUBAT, }, { - .iv = 0, .lvl = 25, .species = SPECIES_GOLBAT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt20[] = { +static const struct TrainerMon sParty_TeamRocketGrunt20[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_KOFFING, }, { - .iv = 0, .lvl = 26, .species = SPECIES_DROWZEE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt21[] = { +static const struct TrainerMon sParty_TeamRocketGrunt21[] = { { - .iv = 0, .lvl = 23, .species = SPECIES_ZUBAT, }, { - .iv = 0, .lvl = 23, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 23, .species = SPECIES_RATICATE, }, { - .iv = 0, .lvl = 23, .species = SPECIES_ZUBAT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt22[] = { +static const struct TrainerMon sParty_TeamRocketGrunt22[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_DROWZEE, }, { - .iv = 0, .lvl = 26, .species = SPECIES_KOFFING, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt23[] = { +static const struct TrainerMon sParty_TeamRocketGrunt23[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_CUBONE, }, { - .iv = 0, .lvl = 29, .species = SPECIES_ZUBAT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt24[] = { +static const struct TrainerMon sParty_TeamRocketGrunt24[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_GOLBAT, }, { - .iv = 0, .lvl = 25, .species = SPECIES_ZUBAT, }, { - .iv = 0, .lvl = 25, .species = SPECIES_ZUBAT, }, { - .iv = 0, .lvl = 25, .species = SPECIES_RATICATE, }, { - .iv = 0, .lvl = 25, .species = SPECIES_ZUBAT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt25[] = { +static const struct TrainerMon sParty_TeamRocketGrunt25[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_RATICATE, }, { - .iv = 0, .lvl = 28, .species = SPECIES_HYPNO, }, { - .iv = 0, .lvl = 28, .species = SPECIES_RATICATE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt26[] = { +static const struct TrainerMon sParty_TeamRocketGrunt26[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_MACHOP, }, { - .iv = 0, .lvl = 29, .species = SPECIES_DROWZEE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt27[] = { +static const struct TrainerMon sParty_TeamRocketGrunt27[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_EKANS, }, { - .iv = 0, .lvl = 28, .species = SPECIES_ZUBAT, }, { - .iv = 0, .lvl = 28, .species = SPECIES_CUBONE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt28[] = { +static const struct TrainerMon sParty_TeamRocketGrunt28[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_ARBOK, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt29[] = { +static const struct TrainerMon sParty_TeamRocketGrunt29[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_HYPNO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt30[] = { +static const struct TrainerMon sParty_TeamRocketGrunt30[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_MACHOP, }, { - .iv = 0, .lvl = 29, .species = SPECIES_MACHOKE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt31[] = { +static const struct TrainerMon sParty_TeamRocketGrunt31[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_ZUBAT, }, { - .iv = 0, .lvl = 28, .species = SPECIES_ZUBAT, }, { - .iv = 0, .lvl = 28, .species = SPECIES_GOLBAT, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_TeamRocketGrunt32[] = { +static const struct TrainerMon sParty_TeamRocketGrunt32[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_RATICATE, .moves = {MOVE_SCARY_FACE, MOVE_HYPER_FANG, MOVE_QUICK_ATTACK, MOVE_TAIL_WHIP}, }, { - .iv = 0, .lvl = 26, .species = SPECIES_ARBOK, .moves = {MOVE_GLARE, MOVE_BITE, MOVE_POISON_STING, MOVE_LEER}, }, { - .iv = 0, .lvl = 26, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 26, .species = SPECIES_GOLBAT, .moves = {MOVE_WING_ATTACK, MOVE_BITE, MOVE_ASTONISH, MOVE_SUPERSONIC}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt33[] = { +static const struct TrainerMon sParty_TeamRocketGrunt33[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_CUBONE, }, { - .iv = 0, .lvl = 29, .species = SPECIES_CUBONE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt34[] = { +static const struct TrainerMon sParty_TeamRocketGrunt34[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_SANDSHREW, }, { - .iv = 0, .lvl = 29, .species = SPECIES_SANDSLASH, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt35[] = { +static const struct TrainerMon sParty_TeamRocketGrunt35[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_RATICATE, }, { - .iv = 0, .lvl = 26, .species = SPECIES_ZUBAT, }, { - .iv = 0, .lvl = 26, .species = SPECIES_GOLBAT, }, { - .iv = 0, .lvl = 26, .species = SPECIES_RATTATA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt36[] = { +static const struct TrainerMon sParty_TeamRocketGrunt36[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_WEEZING, }, { - .iv = 0, .lvl = 28, .species = SPECIES_GOLBAT, }, { - .iv = 0, .lvl = 28, .species = SPECIES_KOFFING, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt37[] = { +static const struct TrainerMon sParty_TeamRocketGrunt37[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_DROWZEE, }, { - .iv = 0, .lvl = 28, .species = SPECIES_GRIMER, }, { - .iv = 0, .lvl = 28, .species = SPECIES_MACHOP, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt38[] = { +static const struct TrainerMon sParty_TeamRocketGrunt38[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_GOLBAT, }, { - .iv = 0, .lvl = 28, .species = SPECIES_DROWZEE, }, { - .iv = 0, .lvl = 28, .species = SPECIES_HYPNO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt39[] = { +static const struct TrainerMon sParty_TeamRocketGrunt39[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_MACHOKE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt40[] = { +static const struct TrainerMon sParty_TeamRocketGrunt40[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 25, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 25, .species = SPECIES_ZUBAT, }, { - .iv = 0, .lvl = 25, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 25, .species = SPECIES_EKANS, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt41[] = { +static const struct TrainerMon sParty_TeamRocketGrunt41[] = { { - .iv = 0, .lvl = 32, .species = SPECIES_CUBONE, }, { - .iv = 0, .lvl = 32, .species = SPECIES_DROWZEE, }, { - .iv = 0, .lvl = 32, .species = SPECIES_MAROWAK, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CooltrainerSamuel[] = { +static const struct TrainerMon sParty_CooltrainerSamuel[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 37, .species = SPECIES_SANDSLASH, .moves = {MOVE_SLASH, MOVE_SWIFT, MOVE_SAND_ATTACK, MOVE_POISON_STING}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 37, .species = SPECIES_SANDSLASH, .moves = {MOVE_SLASH, MOVE_SWIFT, MOVE_SAND_ATTACK, MOVE_POISON_STING}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 38, .species = SPECIES_RHYHORN, .moves = {MOVE_TAKE_DOWN, MOVE_ROCK_BLAST, MOVE_FURY_ATTACK, MOVE_SCARY_FACE}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 39, .species = SPECIES_NIDORINO, .moves = {MOVE_FURY_ATTACK, MOVE_HORN_ATTACK, MOVE_POISON_STING, MOVE_DOUBLE_KICK}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 39, .species = SPECIES_NIDOKING, .moves = {MOVE_THRASH, MOVE_DOUBLE_KICK, MOVE_POISON_STING, MOVE_FOCUS_ENERGY}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CooltrainerGeorge[] = { +static const struct TrainerMon sParty_CooltrainerGeorge[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_EXEGGUTOR, .moves = {MOVE_EGG_BOMB, MOVE_CONFUSION, MOVE_STUN_SPORE, MOVE_SLEEP_POWDER}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_SANDSLASH, .moves = {MOVE_FURY_SWIPES, MOVE_SWIFT, MOVE_POISON_STING, MOVE_SAND_ATTACK}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_CLOYSTER, .moves = {MOVE_SPIKE_CANNON, MOVE_SPIKES, MOVE_AURORA_BEAM, MOVE_SUPERSONIC}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_ELECTRODE, .moves = {MOVE_SPARK, MOVE_SONIC_BOOM, MOVE_SCREECH, MOVE_LIGHT_SCREEN}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_ARCANINE, .moves = {MOVE_FLAME_WHEEL, MOVE_ROAR, MOVE_BITE, MOVE_TAKE_DOWN}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CooltrainerColby[] = { +static const struct TrainerMon sParty_CooltrainerColby[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 41, .species = SPECIES_KINGLER, .moves = {MOVE_GUILLOTINE, MOVE_STOMP, MOVE_MUD_SHOT, MOVE_BUBBLE}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_POLIWHIRL, .moves = {MOVE_BODY_SLAM, MOVE_DOUBLE_SLAP, MOVE_WATER_GUN, MOVE_HYPNOSIS}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_TENTACRUEL, .moves = {MOVE_BARRIER, MOVE_WRAP, MOVE_BUBBLE_BEAM, MOVE_ACID}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_SEADRA, .moves = {MOVE_WATER_GUN, MOVE_SMOKESCREEN, MOVE_TWISTER, MOVE_LEER}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 43, .species = SPECIES_BLASTOISE, .moves = {MOVE_WATER_GUN, MOVE_BITE, MOVE_RAPID_SPIN, MOVE_RAIN_DANCE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CooltrainerPaul[] = { +static const struct TrainerMon sParty_CooltrainerPaul[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_SLOWPOKE, .moves = {MOVE_HEADBUTT, MOVE_CONFUSION, MOVE_WATER_GUN, MOVE_DISABLE}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_SHELLDER, .moves = {MOVE_AURORA_BEAM, MOVE_CLAMP, MOVE_SUPERSONIC, MOVE_LEER}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_KINGLER, .moves = {MOVE_GUILLOTINE, MOVE_STOMP, MOVE_MUD_SHOT, MOVE_BUBBLE}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_STARMIE, .moves = {MOVE_BUBBLE_BEAM, MOVE_SWIFT, MOVE_RECOVER, MOVE_RAPID_SPIN}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_GOLDUCK, .moves = {MOVE_CONFUSION, MOVE_SCRATCH, MOVE_SCREECH, MOVE_DISABLE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CooltrainerRolando[] = { +static const struct TrainerMon sParty_CooltrainerRolando[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_RATICATE, .moves = {MOVE_SUPER_FANG, MOVE_PURSUIT, MOVE_SCARY_FACE, MOVE_QUICK_ATTACK}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_IVYSAUR, .moves = {MOVE_RAZOR_LEAF, MOVE_SLEEP_POWDER, MOVE_SWEET_SCENT, MOVE_SYNTHESIS}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_WARTORTLE, .moves = {MOVE_WATER_GUN, MOVE_BITE, MOVE_RAPID_SPIN, MOVE_TAIL_WHIP}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_CHARMELEON, .moves = {MOVE_FLAMETHROWER, MOVE_SLASH, MOVE_SMOKESCREEN, MOVE_SCARY_FACE}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_CHARIZARD, .moves = {MOVE_FLAMETHROWER, MOVE_WING_ATTACK, MOVE_SMOKESCREEN, MOVE_SCARY_FACE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CooltrainerGilbert[] = { +static const struct TrainerMon sParty_CooltrainerGilbert[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_PIDGEOTTO, .moves = {MOVE_WING_ATTACK, MOVE_FEATHER_DANCE, MOVE_WHIRLWIND, MOVE_QUICK_ATTACK}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_FEAROW, .moves = {MOVE_DRILL_PECK, MOVE_MIRROR_MOVE, MOVE_PURSUIT, MOVE_LEER}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_PERSIAN, .moves = {MOVE_PAY_DAY, MOVE_FAINT_ATTACK, MOVE_SCREECH, MOVE_BITE}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_LICKITUNG, .moves = {MOVE_SLAM, MOVE_DISABLE, MOVE_WRAP, MOVE_SUPERSONIC}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_TAUROS, .moves = {MOVE_HORN_ATTACK, MOVE_SCARY_FACE, MOVE_SWAGGER, MOVE_TAIL_WHIP}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CooltrainerOwen[] = { +static const struct TrainerMon sParty_CooltrainerOwen[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_NIDORINO, .moves = {MOVE_SCRATCH, MOVE_POISON_STING, MOVE_DOUBLE_KICK, MOVE_BITE}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_NIDORINA, .moves = {MOVE_HORN_ATTACK, MOVE_POISON_STING, MOVE_DOUBLE_KICK, MOVE_LEER}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_RATICATE, .moves = {MOVE_SUPER_FANG, MOVE_PURSUIT, MOVE_SCARY_FACE, MOVE_QUICK_ATTACK}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_SANDSLASH, .moves = {MOVE_FURY_SWIPES, MOVE_SWIFT, MOVE_SLASH, MOVE_POISON_STING}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_RHYHORN, .moves = {MOVE_ROCK_BLAST, MOVE_SCARY_FACE, MOVE_STOMP, MOVE_TAIL_WHIP}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CooltrainerBerke[] = { +static const struct TrainerMon sParty_CooltrainerBerke[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_SEEL, .moves = {MOVE_TAKE_DOWN, MOVE_AURORA_BEAM, MOVE_ICY_WIND, MOVE_GROWL}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_GRAVELER, .moves = {MOVE_ROCK_BLAST, MOVE_MAGNITUDE, MOVE_ROCK_THROW, MOVE_MUD_SPORT}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_KINGLER, .moves = {MOVE_GUILLOTINE, MOVE_STOMP, MOVE_MUD_SHOT, MOVE_BUBBLE}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_ONIX, .moves = {MOVE_SLAM, MOVE_SANDSTORM, MOVE_DRAGON_BREATH, MOVE_ROCK_THROW}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_CLOYSTER, .moves = {MOVE_SPIKE_CANNON, MOVE_AURORA_BEAM, MOVE_SUPERSONIC, MOVE_PROTECT}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CooltrainerYuji[] = { +static const struct TrainerMon sParty_CooltrainerYuji[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 38, .species = SPECIES_SANDSLASH, .moves = {MOVE_SLASH, MOVE_SWIFT, MOVE_SAND_ATTACK, MOVE_POISON_STING}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 38, .species = SPECIES_GRAVELER, .moves = {MOVE_ROCK_BLAST, MOVE_MAGNITUDE, MOVE_MUD_SPORT, MOVE_DEFENSE_CURL}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 38, .species = SPECIES_ONIX, .moves = {MOVE_DRAGON_BREATH, MOVE_SANDSTORM, MOVE_ROCK_THROW, MOVE_BIND}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 38, .species = SPECIES_GRAVELER, .moves = {MOVE_ROCK_BLAST, MOVE_MAGNITUDE, MOVE_ROLLOUT, MOVE_DEFENSE_CURL}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 38, .species = SPECIES_MAROWAK, .moves = {MOVE_BONEMERANG, MOVE_HEADBUTT, MOVE_LEER, MOVE_GROWL}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CooltrainerWarren[] = { +static const struct TrainerMon sParty_CooltrainerWarren[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 37, .species = SPECIES_MAROWAK, .moves = {MOVE_BONEMERANG, MOVE_HEADBUTT, MOVE_LEER, MOVE_GROWL}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 37, .species = SPECIES_MAROWAK, .moves = {MOVE_BONEMERANG, MOVE_HEADBUTT, MOVE_LEER, MOVE_GROWL}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 38, .species = SPECIES_RHYHORN, .moves = {MOVE_TAKE_DOWN, MOVE_ROCK_BLAST, MOVE_FURY_ATTACK, MOVE_SCARY_FACE}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 39, .species = SPECIES_NIDORINA, .moves = {MOVE_FURY_SWIPES, MOVE_BITE, MOVE_POISON_STING, MOVE_DOUBLE_KICK}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 39, .species = SPECIES_NIDOQUEEN, .moves = {MOVE_BODY_SLAM, MOVE_BITE, MOVE_POISON_STING, MOVE_DOUBLE_KICK}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CooltrainerMary[] = { +static const struct TrainerMon sParty_CooltrainerMary[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 22, .species = SPECIES_BELLSPROUT, .moves = {MOVE_WRAP, MOVE_STUN_SPORE, MOVE_POISON_POWDER, MOVE_GROWTH}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 22, .species = SPECIES_ODDISH, .moves = {MOVE_POISON_POWDER, MOVE_STUN_SPORE, MOVE_ABSORB, MOVE_SWEET_SCENT}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 22, .species = SPECIES_WEEPINBELL, .moves = {MOVE_VINE_WHIP, MOVE_STUN_SPORE, MOVE_POISON_POWDER, MOVE_GROWTH}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 22, .species = SPECIES_GLOOM, .moves = {MOVE_ABSORB, MOVE_STUN_SPORE, MOVE_POISON_POWDER, MOVE_SWEET_SCENT}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 22, .species = SPECIES_IVYSAUR, .moves = {MOVE_RAZOR_LEAF, MOVE_SLEEP_POWDER, MOVE_VINE_WHIP, MOVE_LEECH_SEED}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CooltrainerCaroline[] = { +static const struct TrainerMon sParty_CooltrainerCaroline[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_BELLSPROUT, .moves = {MOVE_RAZOR_LEAF, MOVE_ACID, MOVE_STUN_SPORE, MOVE_POISON_POWDER}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_WEEPINBELL, .moves = {MOVE_RAZOR_LEAF, MOVE_ACID, MOVE_SLEEP_POWDER, MOVE_POISON_POWDER}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_VICTREEBEL, .moves = {MOVE_RAZOR_LEAF, MOVE_ACID, MOVE_STUN_SPORE, MOVE_SLEEP_POWDER}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_PARAS, .moves = {MOVE_GROWTH, MOVE_SLASH, MOVE_LEECH_LIFE, MOVE_STUN_SPORE}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_PARASECT, .moves = {MOVE_SPORE, MOVE_SLASH, MOVE_LEECH_LIFE, MOVE_POISON_POWDER}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CooltrainerAlexa[] = { +static const struct TrainerMon sParty_CooltrainerAlexa[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_CLEFAIRY, .moves = {MOVE_LIGHT_SCREEN, MOVE_COSMIC_POWER, MOVE_DOUBLE_SLAP, MOVE_ENCORE}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_JIGGLYPUFF, .moves = {MOVE_SING, MOVE_BODY_SLAM, MOVE_ROLLOUT, MOVE_DISABLE}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_PERSIAN, .moves = {MOVE_PAY_DAY, MOVE_FAINT_ATTACK, MOVE_BITE, MOVE_SCREECH}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_DEWGONG, .moves = {MOVE_SHEER_COLD, MOVE_TAKE_DOWN, MOVE_REST, MOVE_AURORA_BEAM}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_CHANSEY, .moves = {MOVE_SING, MOVE_EGG_BOMB, MOVE_SOFT_BOILED, MOVE_MINIMIZE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CooltrainerShannon[] = { +static const struct TrainerMon sParty_CooltrainerShannon[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_BEEDRILL, .moves = {MOVE_PIN_MISSILE, MOVE_TWINEEDLE, MOVE_AGILITY, MOVE_PURSUIT}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_BUTTERFREE, .moves = {MOVE_SAFEGUARD, MOVE_PSYBEAM, MOVE_GUST, MOVE_SUPERSONIC}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_PARASECT, .moves = {MOVE_SPORE, MOVE_LEECH_LIFE, MOVE_SLASH, MOVE_GROWTH}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_VENONAT, .moves = {MOVE_PSYBEAM, MOVE_STUN_SPORE, MOVE_LEECH_LIFE, MOVE_DISABLE}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_VENOMOTH, .moves = {MOVE_PSYBEAM, MOVE_GUST, MOVE_SUPERSONIC, MOVE_LEECH_LIFE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CooltrainerNaomi[] = { +static const struct TrainerMon sParty_CooltrainerNaomi[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_PERSIAN, .moves = {MOVE_FURY_SWIPES, MOVE_SCREECH, MOVE_FAINT_ATTACK, MOVE_PAY_DAY}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_PONYTA, .moves = {MOVE_AGILITY, MOVE_TAKE_DOWN, MOVE_FIRE_SPIN, MOVE_STOMP}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_RAPIDASH, .moves = {MOVE_FURY_ATTACK, MOVE_FIRE_SPIN, MOVE_STOMP, MOVE_GROWL}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_VULPIX, .moves = {MOVE_FLAMETHROWER, MOVE_CONFUSE_RAY, MOVE_QUICK_ATTACK, MOVE_IMPRISON}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_NINETALES, .moves = {MOVE_SAFEGUARD, MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_FIRE_SPIN}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CooltrainerBrooke[] = { +static const struct TrainerMon sParty_CooltrainerBrooke[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_TANGELA, .moves = {MOVE_SLAM, MOVE_BIND, MOVE_MEGA_DRAIN, MOVE_INGRAIN}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_GLOOM, .moves = {MOVE_ACID, MOVE_MOONLIGHT, MOVE_SLEEP_POWDER, MOVE_STUN_SPORE}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_VILEPLUME, .moves = {MOVE_MEGA_DRAIN, MOVE_ACID, MOVE_STUN_SPORE, MOVE_AROMATHERAPY}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_IVYSAUR, .moves = {MOVE_RAZOR_LEAF, MOVE_SWEET_SCENT, MOVE_GROWL, MOVE_LEECH_SEED}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_VENUSAUR, .moves = {MOVE_RAZOR_LEAF, MOVE_GROWTH, MOVE_SLEEP_POWDER, MOVE_POISON_POWDER}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CooltrainerAustina[] = { +static const struct TrainerMon sParty_CooltrainerAustina[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_RHYHORN, .moves = {MOVE_HORN_DRILL, MOVE_ROCK_BLAST, MOVE_SCARY_FACE, MOVE_STOMP}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_NIDORINA, .moves = {MOVE_DOUBLE_KICK, MOVE_FURY_SWIPES, MOVE_BITE, MOVE_FLATTER}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_NIDOQUEEN, .moves = {MOVE_BODY_SLAM, MOVE_DOUBLE_KICK, MOVE_BITE, MOVE_GROWL}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_NIDORINO, .moves = {MOVE_HORN_ATTACK, MOVE_POISON_STING, MOVE_FOCUS_ENERGY, MOVE_LEER}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_NIDOKING, .moves = {MOVE_THRASH, MOVE_DOUBLE_KICK, MOVE_POISON_STING, MOVE_PECK}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CooltrainerJulie[] = { +static const struct TrainerMon sParty_CooltrainerJulie[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_PERSIAN, .moves = {MOVE_FURY_SWIPES, MOVE_BITE, MOVE_SCREECH, MOVE_FAINT_ATTACK}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_NINETALES, .moves = {MOVE_FLAMETHROWER, MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_GRUDGE}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_RAPIDASH, .moves = {MOVE_FURY_ATTACK, MOVE_FIRE_SPIN, MOVE_TAKE_DOWN, MOVE_AGILITY}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_PIKACHU, .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_DOUBLE_TEAM, MOVE_QUICK_ATTACK}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_RAICHU, .moves = {MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_SLAM, MOVE_DOUBLE_TEAM}, }, }; -static const struct TrainerMonItemCustomMoves sParty_EliteFourLorelei[] = { +static const struct TrainerMon sParty_EliteFourLorelei[] = { { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 52, .species = SPECIES_DEWGONG, .heldItem = ITEM_NONE, .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_HAIL, MOVE_SAFEGUARD}, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 51, .species = SPECIES_CLOYSTER, .heldItem = ITEM_NONE, .moves = {MOVE_SPIKES, MOVE_PROTECT, MOVE_HAIL, MOVE_DIVE}, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 52, .species = SPECIES_SLOWBRO, .heldItem = ITEM_NONE, .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_AMNESIA, MOVE_YAWN}, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 54, .species = SPECIES_JYNX, .heldItem = ITEM_NONE, .moves = {MOVE_ICE_PUNCH, MOVE_DOUBLE_SLAP, MOVE_LOVELY_KISS, MOVE_ATTRACT}, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 54, .species = SPECIES_LAPRAS, .heldItem = ITEM_SITRUS_BERRY, @@ -5487,37 +4835,37 @@ static const struct TrainerMonItemCustomMoves sParty_EliteFourLorelei[] = { }, }; -static const struct TrainerMonItemCustomMoves sParty_EliteFourBruno[] = { +static const struct TrainerMon sParty_EliteFourBruno[] = { { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 51, .species = SPECIES_ONIX, .heldItem = ITEM_NONE, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_IRON_TAIL, MOVE_ROAR}, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 53, .species = SPECIES_HITMONCHAN, .heldItem = ITEM_NONE, .moves = {MOVE_SKY_UPPERCUT, MOVE_MACH_PUNCH, MOVE_ROCK_TOMB, MOVE_COUNTER}, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 53, .species = SPECIES_HITMONLEE, .heldItem = ITEM_NONE, .moves = {MOVE_MEGA_KICK, MOVE_FORESIGHT, MOVE_BRICK_BREAK, MOVE_FACADE}, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 54, .species = SPECIES_ONIX, .heldItem = ITEM_NONE, .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_SAND_TOMB}, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 56, .species = SPECIES_MACHAMP, .heldItem = ITEM_SITRUS_BERRY, @@ -5525,37 +4873,37 @@ static const struct TrainerMonItemCustomMoves sParty_EliteFourBruno[] = { }, }; -static const struct TrainerMonItemCustomMoves sParty_EliteFourAgatha[] = { +static const struct TrainerMon sParty_EliteFourAgatha[] = { { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 54, .species = SPECIES_GENGAR, .heldItem = ITEM_NONE, .moves = {MOVE_SHADOW_PUNCH, MOVE_CONFUSE_RAY, MOVE_TOXIC, MOVE_DOUBLE_TEAM}, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 54, .species = SPECIES_GOLBAT, .heldItem = ITEM_NONE, .moves = {MOVE_CONFUSE_RAY, MOVE_POISON_FANG, MOVE_AIR_CUTTER, MOVE_BITE}, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 53, .species = SPECIES_HAUNTER, .heldItem = ITEM_NONE, .moves = {MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_CURSE, MOVE_MEAN_LOOK}, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 56, .species = SPECIES_ARBOK, .heldItem = ITEM_NONE, .moves = {MOVE_SLUDGE_BOMB, MOVE_SCREECH, MOVE_IRON_TAIL, MOVE_BITE}, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 58, .species = SPECIES_GENGAR, .heldItem = ITEM_SITRUS_BERRY, @@ -5563,37 +4911,37 @@ static const struct TrainerMonItemCustomMoves sParty_EliteFourAgatha[] = { }, }; -static const struct TrainerMonItemCustomMoves sParty_EliteFourLance[] = { +static const struct TrainerMon sParty_EliteFourLance[] = { { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 56, .species = SPECIES_GYARADOS, .heldItem = ITEM_NONE, .moves = {MOVE_HYPER_BEAM, MOVE_DRAGON_RAGE, MOVE_TWISTER, MOVE_BITE}, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 54, .species = SPECIES_DRAGONAIR, .heldItem = ITEM_NONE, .moves = {MOVE_HYPER_BEAM, MOVE_SAFEGUARD, MOVE_DRAGON_RAGE, MOVE_OUTRAGE}, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 54, .species = SPECIES_DRAGONAIR, .heldItem = ITEM_NONE, .moves = {MOVE_HYPER_BEAM, MOVE_SAFEGUARD, MOVE_THUNDER_WAVE, MOVE_OUTRAGE}, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 58, .species = SPECIES_AERODACTYL, .heldItem = ITEM_NONE, .moves = {MOVE_HYPER_BEAM, MOVE_ANCIENT_POWER, MOVE_WING_ATTACK, MOVE_SCARY_FACE}, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 60, .species = SPECIES_DRAGONITE, .heldItem = ITEM_SITRUS_BERRY, @@ -5601,606 +4949,576 @@ static const struct TrainerMonItemCustomMoves sParty_EliteFourLance[] = { }, }; -static const struct TrainerMonNoItemCustomMoves sParty_LeaderBrock[] = { +static const struct TrainerMon sParty_LeaderBrock[] = { { - .iv = 0, .lvl = 12, .species = SPECIES_GEODUDE, .moves = {MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_NONE, MOVE_NONE}, }, { - .iv = 0, .lvl = 14, .species = SPECIES_ONIX, .moves = {MOVE_TACKLE, MOVE_BIND, MOVE_ROCK_TOMB, MOVE_NONE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_LeaderMisty[] = { +static const struct TrainerMon sParty_LeaderMisty[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_STARYU, .moves = {MOVE_TACKLE, MOVE_HARDEN, MOVE_RECOVER, MOVE_WATER_PULSE}, }, { - .iv = 0, .lvl = 21, .species = SPECIES_STARMIE, .moves = {MOVE_SWIFT, MOVE_RECOVER, MOVE_RAPID_SPIN, MOVE_WATER_PULSE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_LeaderLtSurge[] = { +static const struct TrainerMon sParty_LeaderLtSurge[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_VOLTORB, .moves = {MOVE_SONIC_BOOM, MOVE_TACKLE, MOVE_SCREECH, MOVE_SHOCK_WAVE}, }, { - .iv = 0, .lvl = 18, .species = SPECIES_PIKACHU, .moves = {MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_DOUBLE_TEAM, MOVE_SHOCK_WAVE}, }, { - .iv = 0, .lvl = 24, .species = SPECIES_RAICHU, .moves = {MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_DOUBLE_TEAM, MOVE_SHOCK_WAVE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_LeaderErika[] = { +static const struct TrainerMon sParty_LeaderErika[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_VICTREEBEL, .moves = {MOVE_STUN_SPORE, MOVE_ACID, MOVE_POISON_POWDER, MOVE_GIGA_DRAIN}, }, { - .iv = 0, .lvl = 24, .species = SPECIES_TANGELA, .moves = {MOVE_POISON_POWDER, MOVE_CONSTRICT, MOVE_INGRAIN, MOVE_GIGA_DRAIN}, }, { - .iv = 0, .lvl = 29, .species = SPECIES_VILEPLUME, .moves = {MOVE_SLEEP_POWDER, MOVE_ACID, MOVE_STUN_SPORE, MOVE_GIGA_DRAIN}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_LeaderKoga[] = { +static const struct TrainerMon sParty_LeaderKoga[] = { { - .iv = 0, .lvl = 37, .species = SPECIES_KOFFING, .moves = {MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN, MOVE_TOXIC}, }, { - .iv = 0, .lvl = 39, .species = SPECIES_MUK, .moves = {MOVE_MINIMIZE, MOVE_SLUDGE, MOVE_ACID_ARMOR, MOVE_TOXIC}, }, { - .iv = 0, .lvl = 37, .species = SPECIES_KOFFING, .moves = {MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN, MOVE_TOXIC}, }, { - .iv = 0, .lvl = 43, .species = SPECIES_WEEZING, .moves = {MOVE_TACKLE, MOVE_SLUDGE, MOVE_SMOKESCREEN, MOVE_TOXIC}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_LeaderBlaine[] = { +static const struct TrainerMon sParty_LeaderBlaine[] = { { - .iv = 0, .lvl = 42, .species = SPECIES_GROWLITHE, .moves = {MOVE_BITE, MOVE_ROAR, MOVE_TAKE_DOWN, MOVE_FIRE_BLAST}, }, { - .iv = 0, .lvl = 40, .species = SPECIES_PONYTA, .moves = {MOVE_STOMP, MOVE_BOUNCE, MOVE_FIRE_SPIN, MOVE_FIRE_BLAST}, }, { - .iv = 0, .lvl = 42, .species = SPECIES_RAPIDASH, .moves = {MOVE_STOMP, MOVE_BOUNCE, MOVE_FIRE_SPIN, MOVE_FIRE_BLAST}, }, { - .iv = 0, .lvl = 47, .species = SPECIES_ARCANINE, .moves = {MOVE_BITE, MOVE_ROAR, MOVE_TAKE_DOWN, MOVE_FIRE_BLAST}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_LeaderSabrina[] = { +static const struct TrainerMon sParty_LeaderSabrina[] = { { - .iv = 0, .lvl = 38, .species = SPECIES_KADABRA, .moves = {MOVE_PSYBEAM, MOVE_REFLECT, MOVE_FUTURE_SIGHT, MOVE_CALM_MIND}, }, { - .iv = 0, .lvl = 37, .species = SPECIES_MR_MIME, .moves = {MOVE_BARRIER, MOVE_PSYBEAM, MOVE_BATON_PASS, MOVE_CALM_MIND}, }, { - .iv = 0, .lvl = 38, .species = SPECIES_VENOMOTH, .moves = {MOVE_PSYBEAM, MOVE_GUST, MOVE_LEECH_LIFE, MOVE_SUPERSONIC}, }, { - .iv = 0, .lvl = 43, .species = SPECIES_ALAKAZAM, .moves = {MOVE_PSYCHIC, MOVE_RECOVER, MOVE_FUTURE_SIGHT, MOVE_CALM_MIND}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_GentlemanThomas[] = { +static const struct TrainerMon sParty_GentlemanThomas[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_GROWLITHE, }, { - .iv = 0, .lvl = 18, .species = SPECIES_GROWLITHE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_GentlemanArthur[] = { +static const struct TrainerMon sParty_GentlemanArthur[] = { { - .iv = 0, .lvl = 19, .species = SPECIES_NIDORAN_M, }, { - .iv = 0, .lvl = 19, .species = SPECIES_NIDORAN_F, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_GentlemanTucker[] = { +static const struct TrainerMon sParty_GentlemanTucker[] = { { - .iv = 0, .lvl = 23, .species = SPECIES_PIKACHU, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_GentlemanNorton[] = { +static const struct TrainerMon sParty_GentlemanNorton[] = { { - .iv = 0, .lvl = 48, .species = SPECIES_PERSIAN, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_GentlemanWalter[] = { +static const struct TrainerMon sParty_GentlemanWalter[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_GROWLITHE, }, { - .iv = 0, .lvl = 17, .species = SPECIES_PONYTA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_RivalSsAnneSquirtle[] = { +static const struct TrainerMon sParty_RivalSsAnneSquirtle[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 19, .species = SPECIES_PIDGEOTTO, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 16, .species = SPECIES_RATICATE, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, .species = SPECIES_KADABRA, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 20, .species = SPECIES_WARTORTLE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_RivalSsAnneBulbasaur[] = { +static const struct TrainerMon sParty_RivalSsAnneBulbasaur[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 19, .species = SPECIES_PIDGEOTTO, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 16, .species = SPECIES_RATICATE, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, .species = SPECIES_KADABRA, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 20, .species = SPECIES_IVYSAUR, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_RivalSsAnneCharmander[] = { +static const struct TrainerMon sParty_RivalSsAnneCharmander[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 19, .species = SPECIES_PIDGEOTTO, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 16, .species = SPECIES_RATICATE, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, .species = SPECIES_KADABRA, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 20, .species = SPECIES_CHARMELEON, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_RivalPokemonTowerSquirtle[] = { +static const struct TrainerMon sParty_RivalPokemonTowerSquirtle[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 25, .species = SPECIES_PIDGEOTTO, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 23, .species = SPECIES_GROWLITHE, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 22, .species = SPECIES_EXEGGCUTE, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 20, .species = SPECIES_KADABRA, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 25, .species = SPECIES_WARTORTLE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_RivalPokemonTowerBulbasaur[] = { +static const struct TrainerMon sParty_RivalPokemonTowerBulbasaur[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 25, .species = SPECIES_PIDGEOTTO, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 23, .species = SPECIES_GYARADOS, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 22, .species = SPECIES_GROWLITHE, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 20, .species = SPECIES_KADABRA, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 25, .species = SPECIES_IVYSAUR, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_RivalPokemonTowerCharmander[] = { +static const struct TrainerMon sParty_RivalPokemonTowerCharmander[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 25, .species = SPECIES_PIDGEOTTO, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 23, .species = SPECIES_EXEGGCUTE, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 22, .species = SPECIES_GYARADOS, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 20, .species = SPECIES_KADABRA, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 25, .species = SPECIES_CHARMELEON, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_RivalSilphSquirtle[] = { +static const struct TrainerMon sParty_RivalSilphSquirtle[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 37, .species = SPECIES_PIDGEOT, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 38, .species = SPECIES_GROWLITHE, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 35, .species = SPECIES_EXEGGCUTE, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 35, .species = SPECIES_ALAKAZAM, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 40, .species = SPECIES_BLASTOISE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_RivalSilphBulbasaur[] = { +static const struct TrainerMon sParty_RivalSilphBulbasaur[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 37, .species = SPECIES_PIDGEOT, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 38, .species = SPECIES_GYARADOS, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 35, .species = SPECIES_GROWLITHE, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 35, .species = SPECIES_ALAKAZAM, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 40, .species = SPECIES_VENUSAUR, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_RivalSilphCharmander[] = { +static const struct TrainerMon sParty_RivalSilphCharmander[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 37, .species = SPECIES_PIDGEOT, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 38, .species = SPECIES_EXEGGCUTE, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 35, .species = SPECIES_GYARADOS, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 35, .species = SPECIES_ALAKAZAM, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 40, .species = SPECIES_CHARIZARD, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_RivalRoute22LateSquirtle[] = { +static const struct TrainerMon sParty_RivalRoute22LateSquirtle[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 47, .species = SPECIES_PIDGEOT, .moves = {MOVE_FEATHER_DANCE, MOVE_WING_ATTACK, MOVE_GUST, MOVE_QUICK_ATTACK}, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 45, .species = SPECIES_RHYHORN, .moves = {MOVE_TAKE_DOWN, MOVE_HORN_DRILL, MOVE_ROCK_BLAST, MOVE_FURY_ATTACK}, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 45, .species = SPECIES_GROWLITHE, .moves = {MOVE_FLAME_WHEEL, MOVE_TAKE_DOWN, MOVE_LEER, MOVE_AGILITY}, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 45, .species = SPECIES_EXEGGCUTE, .moves = {MOVE_SOLAR_BEAM, MOVE_SLEEP_POWDER, MOVE_POISON_POWDER, MOVE_STUN_SPORE}, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 47, .species = SPECIES_ALAKAZAM, .moves = {MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_FUTURE_SIGHT, MOVE_DISABLE}, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 53, .species = SPECIES_BLASTOISE, .moves = {MOVE_WATER_GUN, MOVE_RAIN_DANCE, MOVE_BITE, MOVE_RAPID_SPIN}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_RivalRoute22LateBulbasaur[] = { +static const struct TrainerMon sParty_RivalRoute22LateBulbasaur[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 47, .species = SPECIES_PIDGEOT, .moves = {MOVE_FEATHER_DANCE, MOVE_WING_ATTACK, MOVE_GUST, MOVE_QUICK_ATTACK}, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 45, .species = SPECIES_RHYHORN, .moves = {MOVE_TAKE_DOWN, MOVE_HORN_DRILL, MOVE_ROCK_BLAST, MOVE_FURY_ATTACK}, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 45, .species = SPECIES_GYARADOS, .moves = {MOVE_HYDRO_PUMP, MOVE_TWISTER, MOVE_LEER, MOVE_RAIN_DANCE}, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 45, .species = SPECIES_GROWLITHE, .moves = {MOVE_FLAME_WHEEL, MOVE_TAKE_DOWN, MOVE_LEER, MOVE_AGILITY}, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 47, .species = SPECIES_ALAKAZAM, .moves = {MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_FUTURE_SIGHT, MOVE_DISABLE}, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 53, .species = SPECIES_VENUSAUR, .moves = {MOVE_RAZOR_LEAF, MOVE_SWEET_SCENT, MOVE_GROWTH, MOVE_SYNTHESIS}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_RivalRoute22LateCharmander[] = { +static const struct TrainerMon sParty_RivalRoute22LateCharmander[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 47, .species = SPECIES_PIDGEOT, .moves = {MOVE_FEATHER_DANCE, MOVE_WING_ATTACK, MOVE_GUST, MOVE_QUICK_ATTACK}, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 45, .species = SPECIES_RHYHORN, .moves = {MOVE_TAKE_DOWN, MOVE_HORN_DRILL, MOVE_ROCK_BLAST, MOVE_FURY_ATTACK}, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 45, .species = SPECIES_EXEGGCUTE, .moves = {MOVE_SOLAR_BEAM, MOVE_SLEEP_POWDER, MOVE_POISON_POWDER, MOVE_STUN_SPORE}, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 45, .species = SPECIES_GYARADOS, .moves = {MOVE_HYDRO_PUMP, MOVE_TWISTER, MOVE_LEER, MOVE_RAIN_DANCE}, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 47, .species = SPECIES_ALAKAZAM, .moves = {MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_FUTURE_SIGHT, MOVE_DISABLE}, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 53, .species = SPECIES_CHARIZARD, .moves = {MOVE_FLAMETHROWER, MOVE_WING_ATTACK, MOVE_SLASH, MOVE_SCARY_FACE}, }, }; -static const struct TrainerMonItemCustomMoves sParty_ChampionFirstSquirtle[] = { +static const struct TrainerMon sParty_ChampionFirstSquirtle[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 59, .species = SPECIES_PIDGEOT, .heldItem = ITEM_NONE, .moves = {MOVE_AERIAL_ACE, MOVE_FEATHER_DANCE, MOVE_SAND_ATTACK, MOVE_WHIRLWIND}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 57, .species = SPECIES_ALAKAZAM, .heldItem = ITEM_NONE, .moves = {MOVE_PSYCHIC, MOVE_FUTURE_SIGHT, MOVE_RECOVER, MOVE_REFLECT}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 59, .species = SPECIES_RHYDON, .heldItem = ITEM_NONE, .moves = {MOVE_TAKE_DOWN, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_SCARY_FACE}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 59, .species = SPECIES_ARCANINE, .heldItem = ITEM_NONE, .moves = {MOVE_EXTREME_SPEED, MOVE_FLAMETHROWER, MOVE_ROAR, MOVE_BITE}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 61, .species = SPECIES_EXEGGUTOR, .heldItem = ITEM_NONE, .moves = {MOVE_GIGA_DRAIN, MOVE_EGG_BOMB, MOVE_SLEEP_POWDER, MOVE_LIGHT_SCREEN}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 63, .species = SPECIES_BLASTOISE, .heldItem = ITEM_SITRUS_BERRY, @@ -6208,44 +5526,44 @@ static const struct TrainerMonItemCustomMoves sParty_ChampionFirstSquirtle[] = { }, }; -static const struct TrainerMonItemCustomMoves sParty_ChampionFirstBulbasaur[] = { +static const struct TrainerMon sParty_ChampionFirstBulbasaur[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 59, .species = SPECIES_PIDGEOT, .heldItem = ITEM_NONE, .moves = {MOVE_AERIAL_ACE, MOVE_FEATHER_DANCE, MOVE_SAND_ATTACK, MOVE_WHIRLWIND}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 57, .species = SPECIES_ALAKAZAM, .heldItem = ITEM_NONE, .moves = {MOVE_PSYCHIC, MOVE_FUTURE_SIGHT, MOVE_RECOVER, MOVE_REFLECT}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 59, .species = SPECIES_RHYDON, .heldItem = ITEM_NONE, .moves = {MOVE_TAKE_DOWN, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_SCARY_FACE}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 59, .species = SPECIES_GYARADOS, .heldItem = ITEM_NONE, .moves = {MOVE_HYDRO_PUMP, MOVE_DRAGON_RAGE, MOVE_BITE, MOVE_THRASH}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 61, .species = SPECIES_ARCANINE, .heldItem = ITEM_NONE, .moves = {MOVE_EXTREME_SPEED, MOVE_FLAMETHROWER, MOVE_ROAR, MOVE_BITE}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 63, .species = SPECIES_VENUSAUR, .heldItem = ITEM_SITRUS_BERRY, @@ -6253,44 +5571,44 @@ static const struct TrainerMonItemCustomMoves sParty_ChampionFirstBulbasaur[] = }, }; -static const struct TrainerMonItemCustomMoves sParty_ChampionFirstCharmander[] = { +static const struct TrainerMon sParty_ChampionFirstCharmander[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 59, .species = SPECIES_PIDGEOT, .heldItem = ITEM_NONE, .moves = {MOVE_AERIAL_ACE, MOVE_FEATHER_DANCE, MOVE_SAND_ATTACK, MOVE_WHIRLWIND}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 57, .species = SPECIES_ALAKAZAM, .heldItem = ITEM_NONE, .moves = {MOVE_PSYCHIC, MOVE_FUTURE_SIGHT, MOVE_RECOVER, MOVE_REFLECT}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 59, .species = SPECIES_RHYDON, .heldItem = ITEM_NONE, .moves = {MOVE_TAKE_DOWN, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_SCARY_FACE}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 59, .species = SPECIES_EXEGGUTOR, .heldItem = ITEM_NONE, .moves = {MOVE_GIGA_DRAIN, MOVE_EGG_BOMB, MOVE_SLEEP_POWDER, MOVE_LIGHT_SCREEN}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 61, .species = SPECIES_GYARADOS, .heldItem = ITEM_NONE, .moves = {MOVE_HYDRO_PUMP, MOVE_DRAGON_RAGE, MOVE_BITE, MOVE_THRASH}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 63, .species = SPECIES_CHARIZARD, .heldItem = ITEM_SITRUS_BERRY, @@ -6298,2256 +5616,2023 @@ static const struct TrainerMonItemCustomMoves sParty_ChampionFirstCharmander[] = }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ChannelerPatricia[] = { +static const struct TrainerMon sParty_ChannelerPatricia[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_GASTLY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ChannelerCarly[] = { +static const struct TrainerMon sParty_ChannelerCarly[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_GASTLY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ChannelerHope[] = { +static const struct TrainerMon sParty_ChannelerHope[] = { { - .iv = 0, .lvl = 23, .species = SPECIES_GASTLY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ChannelerPaula[] = { +static const struct TrainerMon sParty_ChannelerPaula[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_GASTLY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ChannelerLaurel[] = { +static const struct TrainerMon sParty_ChannelerLaurel[] = { { - .iv = 0, .lvl = 23, .species = SPECIES_GASTLY, }, { - .iv = 0, .lvl = 23, .species = SPECIES_GASTLY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ChannelerJody[] = { +static const struct TrainerMon sParty_ChannelerJody[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_GASTLY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ChannelerTammy[] = { +static const struct TrainerMon sParty_ChannelerTammy[] = { { - .iv = 0, .lvl = 23, .species = SPECIES_HAUNTER, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ChannelerRuth[] = { +static const struct TrainerMon sParty_ChannelerRuth[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_GASTLY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ChannelerKarina[] = { +static const struct TrainerMon sParty_ChannelerKarina[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_GASTLY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ChannelerJanae[] = { +static const struct TrainerMon sParty_ChannelerJanae[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_GASTLY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ChannelerAngelica[] = { +static const struct TrainerMon sParty_ChannelerAngelica[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_GASTLY, }, { - .iv = 0, .lvl = 22, .species = SPECIES_GASTLY, }, { - .iv = 0, .lvl = 22, .species = SPECIES_GASTLY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ChannelerEmilia[] = { +static const struct TrainerMon sParty_ChannelerEmilia[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_GASTLY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ChannelerJennifer[] = { +static const struct TrainerMon sParty_ChannelerJennifer[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_GASTLY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_Channeler1[] = { +static const struct TrainerMon sParty_Channeler1[] = { { - .iv = 0, .lvl = 23, .species = SPECIES_HAUNTER, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_Channeler2[] = { +static const struct TrainerMon sParty_Channeler2[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_GASTLY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_Channeler3[] = { +static const struct TrainerMon sParty_Channeler3[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_GASTLY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_Channeler4[] = { +static const struct TrainerMon sParty_Channeler4[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_GASTLY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_Channeler5[] = { +static const struct TrainerMon sParty_Channeler5[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_HAUNTER, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_Channeler6[] = { +static const struct TrainerMon sParty_Channeler6[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_GASTLY, }, { - .iv = 0, .lvl = 22, .species = SPECIES_GASTLY, }, { - .iv = 0, .lvl = 22, .species = SPECIES_GASTLY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_Channeler7[] = { +static const struct TrainerMon sParty_Channeler7[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_GASTLY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_Channeler8[] = { +static const struct TrainerMon sParty_Channeler8[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_GASTLY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ChannelerAmanda[] = { +static const struct TrainerMon sParty_ChannelerAmanda[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_GASTLY, }, { - .iv = 0, .lvl = 34, .species = SPECIES_HAUNTER, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ChannelerStacy[] = { +static const struct TrainerMon sParty_ChannelerStacy[] = { { - .iv = 0, .lvl = 38, .species = SPECIES_HAUNTER, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_ChannelerTasha[] = { +static const struct TrainerMon sParty_ChannelerTasha[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_GASTLY, }, { - .iv = 0, .lvl = 33, .species = SPECIES_GASTLY, }, { - .iv = 0, .lvl = 33, .species = SPECIES_HAUNTER, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_HikerJeremy[] = { +static const struct TrainerMon sParty_HikerJeremy[] = { { - .iv = 0, .lvl = 20, .species = SPECIES_MACHOP, }, { - .iv = 0, .lvl = 20, .species = SPECIES_ONIX, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerAlma[] = { +static const struct TrainerMon sParty_PicnickerAlma[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_GOLDEEN, }, { - .iv = 0, .lvl = 28, .species = SPECIES_POLIWAG, }, { - .iv = 0, .lvl = 28, .species = SPECIES_HORSEA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerSusie[] = { +static const struct TrainerMon sParty_PicnickerSusie[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 24, .species = SPECIES_MEOWTH, }, { - .iv = 0, .lvl = 24, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 24, .species = SPECIES_PIKACHU, }, { - .iv = 0, .lvl = 24, .species = SPECIES_MEOWTH, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerValerie[] = { +static const struct TrainerMon sParty_PicnickerValerie[] = { { - .iv = 0, .lvl = 30, .species = SPECIES_POLIWAG, }, { - .iv = 0, .lvl = 30, .species = SPECIES_POLIWAG, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerGwen[] = { +static const struct TrainerMon sParty_PicnickerGwen[] = { { - .iv = 0, .lvl = 27, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 27, .species = SPECIES_MEOWTH, }, { - .iv = 0, .lvl = 27, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 27, .species = SPECIES_PIDGEOTTO, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_BikerVirgil[] = { +static const struct TrainerMon sParty_BikerVirgil[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_WEEZING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 28, .species = SPECIES_KOFFING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 28, .species = SPECIES_WEEZING, .moves = {MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CamperFlint[] = { +static const struct TrainerMon sParty_CamperFlint[] = { { - .iv = 0, .lvl = 14, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 14, .species = SPECIES_EKANS, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerMissy[] = { +static const struct TrainerMon sParty_PicnickerMissy[] = { { - .iv = 0, .lvl = 31, .species = SPECIES_GOLDEEN, }, { - .iv = 0, .lvl = 31, .species = SPECIES_SEAKING, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerIrene[] = { +static const struct TrainerMon sParty_PicnickerIrene[] = { { - .iv = 0, .lvl = 30, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 30, .species = SPECIES_HORSEA, }, { - .iv = 0, .lvl = 30, .species = SPECIES_SEEL, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerDana[] = { +static const struct TrainerMon sParty_PicnickerDana[] = { { - .iv = 0, .lvl = 20, .species = SPECIES_MEOWTH, }, { - .iv = 0, .lvl = 20, .species = SPECIES_ODDISH, }, { - .iv = 0, .lvl = 20, .species = SPECIES_PIDGEY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerAriana[] = { +static const struct TrainerMon sParty_PicnickerAriana[] = { { - .iv = 0, .lvl = 19, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 19, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 19, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 19, .species = SPECIES_BELLSPROUT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerLeah[] = { +static const struct TrainerMon sParty_PicnickerLeah[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_BELLSPROUT, }, { - .iv = 0, .lvl = 22, .species = SPECIES_CLEFAIRY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CamperJustin[] = { +static const struct TrainerMon sParty_CamperJustin[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_NIDORAN_M, }, { - .iv = 0, .lvl = 29, .species = SPECIES_NIDORINO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerYazmin[] = { +static const struct TrainerMon sParty_PicnickerYazmin[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_BELLSPROUT, }, { - .iv = 0, .lvl = 29, .species = SPECIES_ODDISH, }, { - .iv = 0, .lvl = 29, .species = SPECIES_TANGELA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerKindra[] = { +static const struct TrainerMon sParty_PicnickerKindra[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_GLOOM, }, { - .iv = 0, .lvl = 28, .species = SPECIES_ODDISH, }, { - .iv = 0, .lvl = 28, .species = SPECIES_ODDISH, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerBecky[] = { +static const struct TrainerMon sParty_PicnickerBecky[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_PIKACHU, }, { - .iv = 0, .lvl = 29, .species = SPECIES_RAICHU, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerCelia[] = { +static const struct TrainerMon sParty_PicnickerCelia[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_CLEFAIRY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_GentlemanBrooks[] = { +static const struct TrainerMon sParty_GentlemanBrooks[] = { { - .iv = 0, .lvl = 23, .species = SPECIES_PIKACHU, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_GentlemanLamar[] = { +static const struct TrainerMon sParty_GentlemanLamar[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_GROWLITHE, }, { - .iv = 0, .lvl = 17, .species = SPECIES_PONYTA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TwinsEliAnne[] = { +static const struct TrainerMon sParty_TwinsEliAnne[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_CLEFAIRY, }, { - .iv = 0, .lvl = 22, .species = SPECIES_JIGGLYPUFF, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CoolCoupleRayTyra[] = { +static const struct TrainerMon sParty_CoolCoupleRayTyra[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 45, .species = SPECIES_NIDOQUEEN, .moves = {MOVE_SUPERPOWER, MOVE_BODY_SLAM, MOVE_DOUBLE_KICK, MOVE_POISON_STING}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 45, .species = SPECIES_NIDOKING, .moves = {MOVE_MEGAHORN, MOVE_THRASH, MOVE_DOUBLE_KICK, MOVE_POISON_STING}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungCoupleGiaJes[] = { +static const struct TrainerMon sParty_YoungCoupleGiaJes[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_NIDORAN_M, }, { - .iv = 0, .lvl = 24, .species = SPECIES_NIDORAN_F, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TwinsKiriJan[] = { +static const struct TrainerMon sParty_TwinsKiriJan[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_CHARMANDER, }, { - .iv = 0, .lvl = 29, .species = SPECIES_SQUIRTLE, }, }; -static const struct TrainerMonItemDefaultMoves sParty_CrushKinRonMya[] = { +static const struct TrainerMon sParty_CrushKinRonMya[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 29, .species = SPECIES_HITMONCHAN, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 29, .species = SPECIES_HITMONLEE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungCoupleLeaJed[] = { +static const struct TrainerMon sParty_YoungCoupleLeaJed[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_RAPIDASH, }, { - .iv = 0, .lvl = 29, .species = SPECIES_NINETALES, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SisAndBroLiaLuc[] = { +static const struct TrainerMon sParty_SisAndBroLiaLuc[] = { { - .iv = 0, .lvl = 30, .species = SPECIES_GOLDEEN, }, { - .iv = 0, .lvl = 30, .species = SPECIES_SEAKING, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SisAndBroLilIan[] = { +static const struct TrainerMon sParty_SisAndBroLilIan[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_SEADRA, }, { - .iv = 0, .lvl = 33, .species = SPECIES_STARMIE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcher3[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcher4[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcher5[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcher6[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcher7[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcher8[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_BugCatcher3[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_BugCatcher4[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_BugCatcher5[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_BugCatcher6[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_BugCatcher7[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_BugCatcher8[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterBen3[] = { +static const struct TrainerMon sParty_YoungsterBen3[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_RATICATE, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_EKANS, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterBen4[] = { +static const struct TrainerMon sParty_YoungsterBen4[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 48, .species = SPECIES_RATICATE, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 48, .species = SPECIES_ARBOK, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterChad2[] = { +static const struct TrainerMon sParty_YoungsterChad2[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 20, .species = SPECIES_EKANS, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 20, .species = SPECIES_SANDSHREW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassReli2[] = { +static const struct TrainerMon sParty_LassReli2[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 20, .species = SPECIES_PIDGEY, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 20, .species = SPECIES_NIDORAN_F, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassReli3[] = { +static const struct TrainerMon sParty_LassReli3[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_PIDGEOTTO, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_NIDORINA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterTimmy2[] = { +static const struct TrainerMon sParty_YoungsterTimmy2[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 19, .species = SPECIES_RATICATE, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 19, .species = SPECIES_EKANS, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 19, .species = SPECIES_ZUBAT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterTimmy3[] = { +static const struct TrainerMon sParty_YoungsterTimmy3[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 27, .species = SPECIES_RATICATE, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 27, .species = SPECIES_EKANS, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 27, .species = SPECIES_GOLBAT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterTimmy4[] = { +static const struct TrainerMon sParty_YoungsterTimmy4[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 52, .species = SPECIES_RATICATE, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 52, .species = SPECIES_ARBOK, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 52, .species = SPECIES_GOLBAT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterChad3[] = { +static const struct TrainerMon sParty_YoungsterChad3[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_ARBOK, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_SANDSHREW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassJanice2[] = { +static const struct TrainerMon sParty_LassJanice2[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 20, .species = SPECIES_PIDGEOTTO, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 20, .species = SPECIES_PIDGEOTTO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassJanice3[] = { +static const struct TrainerMon sParty_LassJanice3[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_PIDGEOTTO, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_PIDGEOTTO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterChad4[] = { +static const struct TrainerMon sParty_YoungsterChad4[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 48, .species = SPECIES_ARBOK, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 48, .species = SPECIES_SANDSLASH, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_HikerFranklin2[] = { +static const struct TrainerMon sParty_HikerFranklin2[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 25, .species = SPECIES_MACHOKE, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 25, .species = SPECIES_GRAVELER, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PkmnProfProfOak[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_PlayerBrendan[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_PlayerMay[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_PlayerRed[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_PlayerLeaf[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_PkmnProfProfOak[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_PlayerBrendan[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_PlayerMay[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_PlayerRed[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_PlayerLeaf[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt42[] = { +static const struct TrainerMon sParty_TeamRocketGrunt42[] = { { - .iv = 0, .lvl = 49, .species = SPECIES_HOUNDOUR, }, { - .iv = 0, .lvl = 49, .species = SPECIES_HOUNDOUR, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_PsychicJaclyn[] = { +static const struct TrainerMon sParty_PsychicJaclyn[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 48, .species = SPECIES_NATU, .moves = {MOVE_NIGHT_SHADE, MOVE_CONFUSE_RAY, MOVE_FUTURE_SIGHT, MOVE_WISH}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 48, .species = SPECIES_SLOWBRO, .moves = {MOVE_PSYCHIC, MOVE_HEADBUTT, MOVE_AMNESIA, MOVE_YAWN}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 49, .species = SPECIES_KADABRA, .moves = {MOVE_PSYCHIC, MOVE_FUTURE_SIGHT, MOVE_RECOVER, MOVE_REFLECT}, }, }; -static const struct TrainerMonItemDefaultMoves sParty_CrushGirlSharon[] = { +static const struct TrainerMon sParty_CrushGirlSharon[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 37, .species = SPECIES_MANKEY, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 37, .species = SPECIES_PRIMEAPE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TuberAmira[] = { +static const struct TrainerMon sParty_TuberAmira[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_POLIWAG, }, { - .iv = 0, .lvl = 35, .species = SPECIES_POLIWHIRL, }, { - .iv = 0, .lvl = 34, .species = SPECIES_POLIWAG, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PkmnBreederAlize[] = { +static const struct TrainerMon sParty_PkmnBreederAlize[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 48, .species = SPECIES_PIKACHU, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 48, .species = SPECIES_CLEFAIRY, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 48, .species = SPECIES_MARILL, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_PkmnRangerNicolas[] = { +static const struct TrainerMon sParty_PkmnRangerNicolas[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 51, .species = SPECIES_WEEPINBELL, .moves = {MOVE_RAZOR_LEAF, MOVE_ACID, MOVE_SWEET_SCENT, MOVE_WRAP}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 51, .species = SPECIES_VICTREEBEL, .moves = {MOVE_RAZOR_LEAF, MOVE_ACID, MOVE_SLEEP_POWDER, MOVE_STUN_SPORE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_PkmnRangerMadeline[] = { +static const struct TrainerMon sParty_PkmnRangerMadeline[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 51, .species = SPECIES_GLOOM, .moves = {MOVE_PETAL_DANCE, MOVE_ACID, MOVE_SWEET_SCENT, MOVE_POISON_POWDER}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 51, .species = SPECIES_VILEPLUME, .moves = {MOVE_PETAL_DANCE, MOVE_MOONLIGHT, MOVE_ACID, MOVE_STUN_SPORE}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_AromaLadyNikki[] = { +static const struct TrainerMon sParty_AromaLadyNikki[] = { { - .iv = 0, .lvl = 37, .species = SPECIES_BELLSPROUT, }, { - .iv = 0, .lvl = 37, .species = SPECIES_WEEPINBELL, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_RuinManiacStanly[] = { +static const struct TrainerMon sParty_RuinManiacStanly[] = { { - .iv = 0, .lvl = 48, .species = SPECIES_GRAVELER, }, { - .iv = 0, .lvl = 48, .species = SPECIES_ONIX, }, { - .iv = 0, .lvl = 48, .species = SPECIES_GRAVELER, }, }; -static const struct TrainerMonItemDefaultMoves sParty_LadyJacki[] = { +static const struct TrainerMon sParty_LadyJacki[] = { { - .iv = 0, .lvl = 48, .species = SPECIES_HOPPIP, .heldItem = ITEM_STARDUST, }, { - .iv = 0, .lvl = 50, .species = SPECIES_SKIPLOOM, .heldItem = ITEM_STARDUST, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_PainterDaisy[] = { +static const struct TrainerMon sParty_PainterDaisy[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 50, .species = SPECIES_SMEARGLE, .moves = {MOVE_DYNAMIC_PUNCH, MOVE_DIZZY_PUNCH, MOVE_FOCUS_PUNCH, MOVE_MEGA_PUNCH}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_BikerGoon[] = { +static const struct TrainerMon sParty_BikerGoon[] = { { - .iv = 0, .lvl = 37, .species = SPECIES_KOFFING, .moves = {MOVE_HAZE, MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_TACKLE}, }, { - .iv = 0, .lvl = 37, .species = SPECIES_GRIMER, .moves = {MOVE_ACID_ARMOR, MOVE_SCREECH, MOVE_MINIMIZE, MOVE_SLUDGE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_BikerGoon2[] = { +static const struct TrainerMon sParty_BikerGoon2[] = { { - .iv = 0, .lvl = 38, .species = SPECIES_KOFFING, .moves = {MOVE_HAZE, MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_TACKLE}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BikerGoon3[] = { +static const struct TrainerMon sParty_BikerGoon3[] = { { - .iv = 0, .lvl = 38, .species = SPECIES_GRIMER, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_Biker2[] = {DUMMY_TRAINER_MON}; +static const struct TrainerMon sParty_Biker2[] = {DUMMY_TRAINER_MON}; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcherAnthony[] = { +static const struct TrainerMon sParty_BugCatcherAnthony[] = { { - .iv = 0, .lvl = 7, .species = SPECIES_CATERPIE, }, { - .iv = 0, .lvl = 8, .species = SPECIES_CATERPIE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcherCharlie[] = { +static const struct TrainerMon sParty_BugCatcherCharlie[] = { { - .iv = 0, .lvl = 7, .species = SPECIES_METAPOD, }, { - .iv = 0, .lvl = 7, .species = SPECIES_CATERPIE, }, { - .iv = 0, .lvl = 7, .species = SPECIES_METAPOD, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TwinsEliAnne2[] = { +static const struct TrainerMon sParty_TwinsEliAnne2[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_CLEFAIRY, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_JIGGLYPUFF, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterJohnson[] = { +static const struct TrainerMon sParty_YoungsterJohnson[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_EKANS, }, { - .iv = 0, .lvl = 33, .species = SPECIES_EKANS, }, { - .iv = 0, .lvl = 34, .species = SPECIES_RATICATE, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_BikerRicardo[] = { +static const struct TrainerMon sParty_BikerRicardo[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_KOFFING, .moves = {MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE, MOVE_POISON_GAS}, }, { - .iv = 0, .lvl = 22, .species = SPECIES_KOFFING, .moves = {MOVE_SLUDGE, MOVE_SMOG, MOVE_TACKLE, MOVE_POISON_GAS}, }, { - .iv = 0, .lvl = 23, .species = SPECIES_GRIMER, .moves = {MOVE_MINIMIZE, MOVE_SLUDGE, MOVE_DISABLE, MOVE_POUND}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BikerJaren[] = { +static const struct TrainerMon sParty_BikerJaren[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_GRIMER, }, { - .iv = 0, .lvl = 24, .species = SPECIES_GRIMER, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt43[] = { +static const struct TrainerMon sParty_TeamRocketGrunt43[] = { { - .iv = 0, .lvl = 37, .species = SPECIES_CUBONE, }, { - .iv = 0, .lvl = 37, .species = SPECIES_MAROWAK, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt44[] = { +static const struct TrainerMon sParty_TeamRocketGrunt44[] = { { - .iv = 0, .lvl = 35, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 35, .species = SPECIES_RATICATE, }, { - .iv = 0, .lvl = 35, .species = SPECIES_SANDSHREW, }, { - .iv = 0, .lvl = 35, .species = SPECIES_SANDSLASH, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt45[] = { +static const struct TrainerMon sParty_TeamRocketGrunt45[] = { { - .iv = 0, .lvl = 38, .species = SPECIES_ZUBAT, }, { - .iv = 0, .lvl = 38, .species = SPECIES_ZUBAT, }, { - .iv = 0, .lvl = 38, .species = SPECIES_GOLBAT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt46[] = { +static const struct TrainerMon sParty_TeamRocketGrunt46[] = { { - .iv = 0, .lvl = 48, .species = SPECIES_MUK, }, { - .iv = 0, .lvl = 48, .species = SPECIES_GOLBAT, }, { - .iv = 0, .lvl = 48, .species = SPECIES_RATICATE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt47[] = { +static const struct TrainerMon sParty_TeamRocketGrunt47[] = { { - .iv = 0, .lvl = 48, .species = SPECIES_MACHOP, }, { - .iv = 0, .lvl = 48, .species = SPECIES_MACHOP, }, { - .iv = 0, .lvl = 48, .species = SPECIES_MACHOKE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt48[] = { +static const struct TrainerMon sParty_TeamRocketGrunt48[] = { { - .iv = 0, .lvl = 49, .species = SPECIES_HYPNO, }, { - .iv = 0, .lvl = 49, .species = SPECIES_HYPNO, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_TeamRocketAdmin[] = { +static const struct TrainerMon sParty_TeamRocketAdmin[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 52, .species = SPECIES_MUK, .moves = {MOVE_SLUDGE_BOMB, MOVE_SCREECH, MOVE_MINIMIZE, MOVE_ROCK_TOMB}, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 53, .species = SPECIES_ARBOK, .moves = {MOVE_SLUDGE_BOMB, MOVE_BITE, MOVE_EARTHQUAKE, MOVE_IRON_TAIL}, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 54, .species = SPECIES_VILEPLUME, .moves = {MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_SLEEP_POWDER, MOVE_STUN_SPORE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_TeamRocketAdmin2[] = { +static const struct TrainerMon sParty_TeamRocketAdmin2[] = { { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 53, .species = SPECIES_GOLBAT, .moves = {MOVE_CONFUSE_RAY, MOVE_SLUDGE_BOMB, MOVE_AIR_CUTTER, MOVE_SHADOW_BALL}, }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 54, .species = SPECIES_WEEZING, .moves = {MOVE_SLUDGE_BOMB, MOVE_THUNDERBOLT, MOVE_EXPLOSION, MOVE_SHADOW_BALL}, }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 55, .species = SPECIES_HOUNDOOM, .moves = {MOVE_FLAMETHROWER, MOVE_CRUNCH, MOVE_IRON_TAIL, MOVE_SHADOW_BALL}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_ScientistGideon[] = { +static const struct TrainerMon sParty_ScientistGideon[] = { { - .iv = 0, .lvl = 46, .species = SPECIES_VOLTORB, .moves = {MOVE_SWIFT, MOVE_SCREECH, MOVE_SPARK, MOVE_SONIC_BOOM}, }, { - .iv = 0, .lvl = 46, .species = SPECIES_ELECTRODE, .moves = {MOVE_SPARK, MOVE_SONIC_BOOM, MOVE_SCREECH, MOVE_CHARGE}, }, { - .iv = 0, .lvl = 46, .species = SPECIES_MAGNEMITE, .moves = {MOVE_SCREECH, MOVE_SWIFT, MOVE_SPARK, MOVE_THUNDER_WAVE}, }, { - .iv = 0, .lvl = 46, .species = SPECIES_MAGNETON, .moves = {MOVE_TRI_ATTACK, MOVE_SPARK, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM}, }, { - .iv = 0, .lvl = 46, .species = SPECIES_PORYGON, .moves = {MOVE_TRI_ATTACK, MOVE_CONVERSION, MOVE_RECOVER, MOVE_PSYBEAM}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerFemaleAmara[] = { +static const struct TrainerMon sParty_SwimmerFemaleAmara[] = { { - .iv = 0, .lvl = 36, .species = SPECIES_SEEL, }, { - .iv = 0, .lvl = 36, .species = SPECIES_SEEL, }, { - .iv = 0, .lvl = 36, .species = SPECIES_DEWGONG, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerFemaleMaria[] = { +static const struct TrainerMon sParty_SwimmerFemaleMaria[] = { { - .iv = 0, .lvl = 37, .species = SPECIES_SEADRA, }, { - .iv = 0, .lvl = 37, .species = SPECIES_SEADRA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerFemaleAbigail[] = { +static const struct TrainerMon sParty_SwimmerFemaleAbigail[] = { { - .iv = 0, .lvl = 35, .species = SPECIES_PSYDUCK, }, { - .iv = 0, .lvl = 36, .species = SPECIES_PSYDUCK, }, { - .iv = 0, .lvl = 37, .species = SPECIES_GOLDUCK, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleFinn[] = { +static const struct TrainerMon sParty_SwimmerMaleFinn[] = { { - .iv = 0, .lvl = 38, .species = SPECIES_STARMIE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleGarrett[] = { +static const struct TrainerMon sParty_SwimmerMaleGarrett[] = { { - .iv = 0, .lvl = 35, .species = SPECIES_SHELLDER, }, { - .iv = 0, .lvl = 35, .species = SPECIES_CLOYSTER, }, { - .iv = 0, .lvl = 38, .species = SPECIES_WARTORTLE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_FishermanTommy[] = { +static const struct TrainerMon sParty_FishermanTommy[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_GOLDEEN, }, { - .iv = 0, .lvl = 33, .species = SPECIES_GOLDEEN, }, { - .iv = 0, .lvl = 35, .species = SPECIES_SEAKING, }, { - .iv = 0, .lvl = 35, .species = SPECIES_SEAKING, }, { - .iv = 0, .lvl = 35, .species = SPECIES_SEAKING, }, }; -static const struct TrainerMonItemDefaultMoves sParty_CrushGirlTanya[] = { +static const struct TrainerMon sParty_CrushGirlTanya[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 38, .species = SPECIES_HITMONLEE, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 38, .species = SPECIES_HITMONCHAN, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonItemDefaultMoves sParty_BlackBeltShea[] = { +static const struct TrainerMon sParty_BlackBeltShea[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 38, .species = SPECIES_MACHOP, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 38, .species = SPECIES_MACHOKE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonItemDefaultMoves sParty_BlackBeltHugh[] = { +static const struct TrainerMon sParty_BlackBeltHugh[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 37, .species = SPECIES_MACHOP, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 37, .species = SPECIES_MACHOKE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CamperBryce[] = { +static const struct TrainerMon sParty_CamperBryce[] = { { - .iv = 0, .lvl = 36, .species = SPECIES_NIDORINO, }, { - .iv = 0, .lvl = 36, .species = SPECIES_RATICATE, }, { - .iv = 0, .lvl = 36, .species = SPECIES_SANDSLASH, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerClaire[] = { +static const struct TrainerMon sParty_PicnickerClaire[] = { { - .iv = 0, .lvl = 35, .species = SPECIES_MEOWTH, }, { - .iv = 0, .lvl = 35, .species = SPECIES_MEOWTH, }, { - .iv = 0, .lvl = 35, .species = SPECIES_PIKACHU, }, { - .iv = 0, .lvl = 35, .species = SPECIES_CLEFAIRY, }, }; -static const struct TrainerMonItemDefaultMoves sParty_CrushKinMikKia[] = { +static const struct TrainerMon sParty_CrushKinMikKia[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 39, .species = SPECIES_MACHOKE, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 39, .species = SPECIES_PRIMEAPE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_AromaLadyViolet[] = { +static const struct TrainerMon sParty_AromaLadyViolet[] = { { - .iv = 0, .lvl = 36, .species = SPECIES_BULBASAUR, }, { - .iv = 0, .lvl = 36, .species = SPECIES_IVYSAUR, }, { - .iv = 0, .lvl = 36, .species = SPECIES_IVYSAUR, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TuberAlexis[] = { +static const struct TrainerMon sParty_TuberAlexis[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_STARYU, }, { - .iv = 0, .lvl = 34, .species = SPECIES_STARYU, }, { - .iv = 0, .lvl = 34, .species = SPECIES_KRABBY, }, { - .iv = 0, .lvl = 34, .species = SPECIES_KRABBY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TwinsJoyMeg[] = { +static const struct TrainerMon sParty_TwinsJoyMeg[] = { { - .iv = 0, .lvl = 37, .species = SPECIES_CLEFAIRY, }, { - .iv = 0, .lvl = 37, .species = SPECIES_CLEFAIRY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerFemaleTisha[] = { +static const struct TrainerMon sParty_SwimmerFemaleTisha[] = { { - .iv = 0, .lvl = 38, .species = SPECIES_KINGLER, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_PainterCelina[] = { +static const struct TrainerMon sParty_PainterCelina[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 50, .species = SPECIES_SMEARGLE, .moves = {MOVE_FLY, MOVE_DIG, MOVE_DIVE, MOVE_BOUNCE}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_PainterRayna[] = { +static const struct TrainerMon sParty_PainterRayna[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 50, .species = SPECIES_SMEARGLE, .moves = {MOVE_CROSS_CHOP, MOVE_MEGAHORN, MOVE_DOUBLE_EDGE, MOVE_SELF_DESTRUCT}, }, }; -static const struct TrainerMonItemDefaultMoves sParty_LadyGillian[] = { +static const struct TrainerMon sParty_LadyGillian[] = { { - .iv = 0, .lvl = 47, .species = SPECIES_MAREEP, .heldItem = ITEM_STARDUST, }, { - .iv = 0, .lvl = 48, .species = SPECIES_MAREEP, .heldItem = ITEM_STARDUST, }, { - .iv = 0, .lvl = 49, .species = SPECIES_FLAAFFY, .heldItem = ITEM_NUGGET, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterDestin[] = { +static const struct TrainerMon sParty_YoungsterDestin[] = { { - .iv = 0, .lvl = 48, .species = SPECIES_RATICATE, }, { - .iv = 0, .lvl = 48, .species = SPECIES_PIDGEOTTO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleToby[] = { +static const struct TrainerMon sParty_SwimmerMaleToby[] = { { - .iv = 0, .lvl = 48, .species = SPECIES_POLIWHIRL, }, { - .iv = 0, .lvl = 48, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 48, .species = SPECIES_TENTACRUEL, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt49[] = { +static const struct TrainerMon sParty_TeamRocketGrunt49[] = { { - .iv = 0, .lvl = 48, .species = SPECIES_RATTATA, }, { - .iv = 0, .lvl = 48, .species = SPECIES_GRIMER, }, { - .iv = 0, .lvl = 48, .species = SPECIES_MUK, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_TeamRocketGrunt50[] = { +static const struct TrainerMon sParty_TeamRocketGrunt50[] = { { - .iv = 0, .lvl = 49, .species = SPECIES_KOFFING, .moves = {MOVE_MEMENTO, MOVE_HAZE, MOVE_SMOKESCREEN, MOVE_SLUDGE}, }, { - .iv = 0, .lvl = 49, .species = SPECIES_WEEZING, .moves = {MOVE_HAZE, MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_SELF_DESTRUCT}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TeamRocketGrunt51[] = { +static const struct TrainerMon sParty_TeamRocketGrunt51[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 48, .species = SPECIES_EKANS, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 48, .species = SPECIES_GLOOM, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 48, .species = SPECIES_GLOOM, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperMilo[] = { +static const struct TrainerMon sParty_BirdKeeperMilo[] = { { - .iv = 0, .lvl = 47, .species = SPECIES_PIDGEY, }, { - .iv = 0, .lvl = 49, .species = SPECIES_PIDGEOTTO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperChaz[] = { +static const struct TrainerMon sParty_BirdKeeperChaz[] = { { - .iv = 0, .lvl = 47, .species = SPECIES_SPEAROW, }, { - .iv = 0, .lvl = 49, .species = SPECIES_FEAROW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperHarold[] = { +static const struct TrainerMon sParty_BirdKeeperHarold[] = { { - .iv = 0, .lvl = 47, .species = SPECIES_HOOTHOOT, }, { - .iv = 0, .lvl = 49, .species = SPECIES_NOCTOWL, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_FishermanTylor[] = { +static const struct TrainerMon sParty_FishermanTylor[] = { { - .iv = 0, .lvl = 49, .species = SPECIES_QWILFISH, }, { - .iv = 0, .lvl = 49, .species = SPECIES_QWILFISH, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleMymo[] = { +static const struct TrainerMon sParty_SwimmerMaleMymo[] = { { - .iv = 0, .lvl = 49, .species = SPECIES_KINGLER, }, { - .iv = 0, .lvl = 49, .species = SPECIES_WARTORTLE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerFemaleNicole[] = { +static const struct TrainerMon sParty_SwimmerFemaleNicole[] = { { - .iv = 0, .lvl = 50, .species = SPECIES_MARILL, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SisAndBroAvaGeb[] = { +static const struct TrainerMon sParty_SisAndBroAvaGeb[] = { { - .iv = 0, .lvl = 50, .species = SPECIES_POLIWHIRL, }, { - .iv = 0, .lvl = 50, .species = SPECIES_STARMIE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_AromaLadyRose[] = { +static const struct TrainerMon sParty_AromaLadyRose[] = { { - .iv = 0, .lvl = 49, .species = SPECIES_SUNKERN, }, { - .iv = 0, .lvl = 49, .species = SPECIES_SUNFLORA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleSamir[] = { +static const struct TrainerMon sParty_SwimmerMaleSamir[] = { { - .iv = 0, .lvl = 50, .species = SPECIES_GYARADOS, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerFemaleDenise[] = { +static const struct TrainerMon sParty_SwimmerFemaleDenise[] = { { - .iv = 0, .lvl = 49, .species = SPECIES_CHINCHOU, }, { - .iv = 0, .lvl = 49, .species = SPECIES_LANTURN, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TwinsMiuMia[] = { +static const struct TrainerMon sParty_TwinsMiuMia[] = { { - .iv = 0, .lvl = 50, .species = SPECIES_PIKACHU, }, { - .iv = 0, .lvl = 50, .species = SPECIES_PIKACHU, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_HikerEarl[] = { +static const struct TrainerMon sParty_HikerEarl[] = { { - .iv = 0, .lvl = 49, .species = SPECIES_ONIX, }, { - .iv = 0, .lvl = 49, .species = SPECIES_MACHOKE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_RuinManiacFoster[] = { +static const struct TrainerMon sParty_RuinManiacFoster[] = { { - .iv = 0, .lvl = 50, .species = SPECIES_GOLEM, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_RuinManiacLarry[] = { +static const struct TrainerMon sParty_RuinManiacLarry[] = { { - .iv = 0, .lvl = 49, .species = SPECIES_MACHOKE, }, { - .iv = 0, .lvl = 49, .species = SPECIES_MACHOKE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_HikerDaryl[] = { +static const struct TrainerMon sParty_HikerDaryl[] = { { - .iv = 0, .lvl = 50, .species = SPECIES_SUDOWOODO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PokemaniacHector[] = { +static const struct TrainerMon sParty_PokemaniacHector[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 49, .species = SPECIES_RHYHORN, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 49, .species = SPECIES_KANGASKHAN, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_PsychicDario[] = { +static const struct TrainerMon sParty_PsychicDario[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 52, .species = SPECIES_GIRAFARIG, .moves = {MOVE_CRUNCH, MOVE_PSYBEAM, MOVE_ODOR_SLEUTH, MOVE_AGILITY}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_PsychicRodette[] = { +static const struct TrainerMon sParty_PsychicRodette[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 48, .species = SPECIES_NATU, .moves = {MOVE_NIGHT_SHADE, MOVE_CONFUSE_RAY, MOVE_WISH, MOVE_FUTURE_SIGHT}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 48, .species = SPECIES_DROWZEE, .moves = {MOVE_PSYCHIC, MOVE_DISABLE, MOVE_PSYCH_UP, MOVE_FUTURE_SIGHT}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 50, .species = SPECIES_HYPNO, .moves = {MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_PSYCH_UP, MOVE_FUTURE_SIGHT}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_AromaLadyMiah[] = { +static const struct TrainerMon sParty_AromaLadyMiah[] = { { - .iv = 0, .lvl = 50, .species = SPECIES_BELLOSSOM, }, { - .iv = 0, .lvl = 50, .species = SPECIES_BELLOSSOM, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungCoupleEveJon[] = { +static const struct TrainerMon sParty_YoungCoupleEveJon[] = { { - .iv = 0, .lvl = 50, .species = SPECIES_GOLDUCK, }, { - .iv = 0, .lvl = 50, .species = SPECIES_PSYDUCK, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_JugglerMason[] = { +static const struct TrainerMon sParty_JugglerMason[] = { { - .iv = 0, .lvl = 47, .species = SPECIES_VOLTORB, .moves = {MOVE_SWIFT, MOVE_LIGHT_SCREEN, MOVE_SPARK, MOVE_SONIC_BOOM}, }, { - .iv = 0, .lvl = 47, .species = SPECIES_PINECO, .moves = {MOVE_SPIKES, MOVE_BIDE, MOVE_RAPID_SPIN, MOVE_TAKE_DOWN}, }, { - .iv = 0, .lvl = 47, .species = SPECIES_VOLTORB, .moves = {MOVE_SWIFT, MOVE_LIGHT_SCREEN, MOVE_SPARK, MOVE_SONIC_BOOM}, }, { - .iv = 0, .lvl = 47, .species = SPECIES_PINECO, .moves = {MOVE_SPIKES, MOVE_BIDE, MOVE_RAPID_SPIN, MOVE_EXPLOSION}, }, }; -static const struct TrainerMonItemDefaultMoves sParty_CrushGirlCyndy[] = { +static const struct TrainerMon sParty_CrushGirlCyndy[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 48, .species = SPECIES_PRIMEAPE, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 48, .species = SPECIES_HITMONTOP, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 48, .species = SPECIES_MACHOKE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonItemDefaultMoves sParty_CrushGirlJocelyn[] = { +static const struct TrainerMon sParty_CrushGirlJocelyn[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 38, .species = SPECIES_HITMONCHAN, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 38, .species = SPECIES_HITMONCHAN, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TamerEvan[] = { +static const struct TrainerMon sParty_TamerEvan[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 48, .species = SPECIES_SANDSLASH, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 48, .species = SPECIES_LICKITUNG, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 49, .species = SPECIES_URSARING, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PokemaniacMark2[] = { +static const struct TrainerMon sParty_PokemaniacMark2[] = { { - .iv = 90, + .iv = TRAINER_PARTY_IVS(10, 10, 10, 10, 10, 10), .lvl = 33, .species = SPECIES_RHYHORN, }, { - .iv = 90, + .iv = TRAINER_PARTY_IVS(10, 10, 10, 10, 10, 10), .lvl = 33, .species = SPECIES_LICKITUNG, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_PkmnRangerLogan[] = { +static const struct TrainerMon sParty_PkmnRangerLogan[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 37, .species = SPECIES_EXEGGCUTE, .moves = {MOVE_SLEEP_POWDER, MOVE_POISON_POWDER, MOVE_STUN_SPORE, MOVE_CONFUSION}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 40, .species = SPECIES_EXEGGUTOR, .moves = {MOVE_EGG_BOMB, MOVE_STOMP, MOVE_CONFUSION, MOVE_HYPNOSIS}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_PkmnRangerJackson[] = { +static const struct TrainerMon sParty_PkmnRangerJackson[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 49, .species = SPECIES_TANGELA, .moves = {MOVE_SLAM, MOVE_MEGA_DRAIN, MOVE_BIND, MOVE_INGRAIN}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 49, .species = SPECIES_EXEGGCUTE, .moves = {MOVE_CONFUSION, MOVE_POISON_POWDER, MOVE_BARRAGE, MOVE_REFLECT}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 49, .species = SPECIES_EXEGGUTOR, .moves = {MOVE_CONFUSION, MOVE_EGG_BOMB, MOVE_SLEEP_POWDER, MOVE_STOMP}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PkmnRangerBeth[] = { +static const struct TrainerMon sParty_PkmnRangerBeth[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 38, .species = SPECIES_BELLSPROUT, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 38, .species = SPECIES_GLOOM, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 38, .species = SPECIES_GLOOM, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_PkmnRangerKatelyn[] = { +static const struct TrainerMon sParty_PkmnRangerKatelyn[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 52, .species = SPECIES_CHANSEY, .moves = {MOVE_EGG_BOMB, MOVE_DEFENSE_CURL, MOVE_MINIMIZE, MOVE_SOFT_BOILED}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CooltrainerLeroy[] = { +static const struct TrainerMon sParty_CooltrainerLeroy[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 47, .species = SPECIES_RHYDON, .moves = {MOVE_TAKE_DOWN, MOVE_HORN_DRILL, MOVE_ROCK_BLAST, MOVE_SCARY_FACE}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 48, .species = SPECIES_SLOWBRO, .moves = {MOVE_PSYCHIC, MOVE_HEADBUTT, MOVE_AMNESIA, MOVE_DISABLE}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 47, .species = SPECIES_KANGASKHAN, .moves = {MOVE_DIZZY_PUNCH, MOVE_BITE, MOVE_ENDURE, MOVE_REVERSAL}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 48, .species = SPECIES_MACHOKE, .moves = {MOVE_CROSS_CHOP, MOVE_VITAL_THROW, MOVE_REVENGE, MOVE_SEISMIC_TOSS}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 50, .species = SPECIES_URSARING, .moves = {MOVE_SLASH, MOVE_FAINT_ATTACK, MOVE_SNORE, MOVE_REST}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CooltrainerMichelle[] = { +static const struct TrainerMon sParty_CooltrainerMichelle[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 47, .species = SPECIES_PERSIAN, .moves = {MOVE_SLASH, MOVE_SCREECH, MOVE_FAINT_ATTACK, MOVE_BITE}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 47, .species = SPECIES_DEWGONG, .moves = {MOVE_ICE_BEAM, MOVE_TAKE_DOWN, MOVE_ICY_WIND, MOVE_GROWL}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 48, .species = SPECIES_NINETALES, .moves = {MOVE_FLAMETHROWER, MOVE_CONFUSE_RAY, MOVE_WILL_O_WISP, MOVE_GRUDGE}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 48, .species = SPECIES_RAPIDASH, .moves = {MOVE_BOUNCE, MOVE_AGILITY, MOVE_FIRE_SPIN, MOVE_TAKE_DOWN}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 50, .species = SPECIES_GIRAFARIG, .moves = {MOVE_CRUNCH, MOVE_PSYBEAM, MOVE_STOMP, MOVE_ODOR_SLEUTH}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CoolCoupleLexNya[] = { +static const struct TrainerMon sParty_CoolCoupleLexNya[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 52, .species = SPECIES_MILTANK, .moves = {MOVE_BODY_SLAM, MOVE_MILK_DRINK, MOVE_GROWL, MOVE_DEFENSE_CURL}, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 52, .species = SPECIES_TAUROS, .moves = {MOVE_THRASH, MOVE_HORN_ATTACK, MOVE_PURSUIT, MOVE_SWAGGER}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_RuinManiacBrandon[] = { +static const struct TrainerMon sParty_RuinManiacBrandon[] = { { - .iv = 0, .lvl = 50, .species = SPECIES_ONIX, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_RuinManiacBenjamin[] = { +static const struct TrainerMon sParty_RuinManiacBenjamin[] = { { - .iv = 0, .lvl = 48, .species = SPECIES_GEODUDE, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_BLAST, MOVE_ROLLOUT, MOVE_SELF_DESTRUCT}, }, { - .iv = 0, .lvl = 48, .species = SPECIES_GRAVELER, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_BLAST, MOVE_ROCK_THROW, MOVE_SELF_DESTRUCT}, }, { - .iv = 0, .lvl = 48, .species = SPECIES_GRAVELER, .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_BLAST, MOVE_ROCK_THROW, MOVE_SELF_DESTRUCT}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_PainterEdna[] = { +static const struct TrainerMon sParty_PainterEdna[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 50, .species = SPECIES_SMEARGLE, .moves = {MOVE_FAKE_OUT, MOVE_EXTREME_SPEED, MOVE_PROTECT, MOVE_QUICK_ATTACK}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_GentlemanClifford[] = { +static const struct TrainerMon sParty_GentlemanClifford[] = { { - .iv = 0, .lvl = 49, .species = SPECIES_MAROWAK, }, { - .iv = 0, .lvl = 49, .species = SPECIES_GOLDUCK, }, }; -static const struct TrainerMonItemCustomMoves sParty_LadySelphy[] = { +static const struct TrainerMon sParty_LadySelphy[] = { { - .iv = 0, .lvl = 49, .species = SPECIES_PERSIAN, .heldItem = ITEM_NUGGET, .moves = {MOVE_PAY_DAY, MOVE_BITE, MOVE_TAUNT, MOVE_TORMENT}, }, { - .iv = 0, .lvl = 49, .species = SPECIES_PERSIAN, .heldItem = ITEM_NUGGET, @@ -8555,2043 +7640,2015 @@ static const struct TrainerMonItemCustomMoves sParty_LadySelphy[] = { }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_RuinManiacLawson[] = { +static const struct TrainerMon sParty_RuinManiacLawson[] = { { - .iv = 0, .lvl = 47, .species = SPECIES_ONIX, }, { - .iv = 0, .lvl = 48, .species = SPECIES_GRAVELER, }, { - .iv = 0, .lvl = 49, .species = SPECIES_MAROWAK, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PsychicLaura[] = { +static const struct TrainerMon sParty_PsychicLaura[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 48, .species = SPECIES_NATU, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 48, .species = SPECIES_NATU, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 49, .species = SPECIES_XATU, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PkmnBreederBethany[] = { +static const struct TrainerMon sParty_PkmnBreederBethany[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 50, .species = SPECIES_CHANSEY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PkmnBreederAllison[] = { +static const struct TrainerMon sParty_PkmnBreederAllison[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 48, .species = SPECIES_CLEFAIRY, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 48, .species = SPECIES_CLEFAIRY, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 48, .species = SPECIES_CLEFABLE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcherGarret[] = { +static const struct TrainerMon sParty_BugCatcherGarret[] = { { - .iv = 0, .lvl = 49, .species = SPECIES_HERACROSS, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcherJonah[] = { +static const struct TrainerMon sParty_BugCatcherJonah[] = { { - .iv = 0, .lvl = 45, .species = SPECIES_YANMA, }, { - .iv = 0, .lvl = 45, .species = SPECIES_BEEDRILL, }, { - .iv = 0, .lvl = 46, .species = SPECIES_YANMA, }, { - .iv = 0, .lvl = 47, .species = SPECIES_BEEDRILL, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcherVance[] = { +static const struct TrainerMon sParty_BugCatcherVance[] = { { - .iv = 0, .lvl = 48, .species = SPECIES_VENONAT, }, { - .iv = 0, .lvl = 48, .species = SPECIES_VENOMOTH, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterNash[] = { +static const struct TrainerMon sParty_YoungsterNash[] = { { - .iv = 0, .lvl = 47, .species = SPECIES_WEEPINBELL, }, { - .iv = 0, .lvl = 47, .species = SPECIES_WEEPINBELL, }, { - .iv = 0, .lvl = 49, .species = SPECIES_VICTREEBEL, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterCordell[] = { +static const struct TrainerMon sParty_YoungsterCordell[] = { { - .iv = 0, .lvl = 48, .species = SPECIES_FARFETCHD, }, { - .iv = 0, .lvl = 48, .species = SPECIES_FARFETCHD, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassDalia[] = { +static const struct TrainerMon sParty_LassDalia[] = { { - .iv = 0, .lvl = 46, .species = SPECIES_HOPPIP, }, { - .iv = 0, .lvl = 47, .species = SPECIES_HOPPIP, }, { - .iv = 0, .lvl = 47, .species = SPECIES_SKIPLOOM, }, { - .iv = 0, .lvl = 48, .species = SPECIES_SKIPLOOM, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassJoana[] = { +static const struct TrainerMon sParty_LassJoana[] = { { - .iv = 0, .lvl = 49, .species = SPECIES_SNUBBULL, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CamperRiley[] = { +static const struct TrainerMon sParty_CamperRiley[] = { { - .iv = 0, .lvl = 49, .species = SPECIES_PINSIR, }, { - .iv = 0, .lvl = 50, .species = SPECIES_HERACROSS, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerMarcy[] = { +static const struct TrainerMon sParty_PicnickerMarcy[] = { { - .iv = 0, .lvl = 48, .species = SPECIES_PARAS, }, { - .iv = 0, .lvl = 48, .species = SPECIES_PARAS, }, { - .iv = 0, .lvl = 49, .species = SPECIES_PARASECT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_RuinManiacLayton[] = { +static const struct TrainerMon sParty_RuinManiacLayton[] = { { - .iv = 0, .lvl = 48, .species = SPECIES_SANDSLASH, }, { - .iv = 0, .lvl = 48, .species = SPECIES_ONIX, }, { - .iv = 0, .lvl = 48, .species = SPECIES_SANDSLASH, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerKelsey2[] = { +static const struct TrainerMon sParty_PicnickerKelsey2[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 21, .species = SPECIES_NIDORAN_M, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 21, .species = SPECIES_NIDORAN_F, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerKelsey3[] = { +static const struct TrainerMon sParty_PicnickerKelsey3[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 29, .species = SPECIES_NIDORINO, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 29, .species = SPECIES_NIDORINA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerKelsey4[] = { +static const struct TrainerMon sParty_PicnickerKelsey4[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_NIDORINO, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_NIDORINA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CamperRicky2[] = { +static const struct TrainerMon sParty_CamperRicky2[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 22, .species = SPECIES_SQUIRTLE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CamperRicky3[] = { +static const struct TrainerMon sParty_CamperRicky3[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 30, .species = SPECIES_WARTORTLE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CamperRicky4[] = { +static const struct TrainerMon sParty_CamperRicky4[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 55, .species = SPECIES_WARTORTLE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CamperJeff2[] = { +static const struct TrainerMon sParty_CamperJeff2[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 21, .species = SPECIES_SPEAROW, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 21, .species = SPECIES_RATICATE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CamperJeff3[] = { +static const struct TrainerMon sParty_CamperJeff3[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 29, .species = SPECIES_FEAROW, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 29, .species = SPECIES_RATICATE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CamperJeff4[] = { +static const struct TrainerMon sParty_CamperJeff4[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 54, .species = SPECIES_FEAROW, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 54, .species = SPECIES_RATICATE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerIsabelle2[] = { +static const struct TrainerMon sParty_PicnickerIsabelle2[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 21, .species = SPECIES_PIDGEOTTO, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 21, .species = SPECIES_PIDGEOTTO, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 18, .species = SPECIES_PIDGEY, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerIsabelle3[] = { +static const struct TrainerMon sParty_PicnickerIsabelle3[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 29, .species = SPECIES_PIDGEOTTO, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 29, .species = SPECIES_PIDGEOTTO, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 26, .species = SPECIES_PIDGEOTTO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerIsabelle4[] = { +static const struct TrainerMon sParty_PicnickerIsabelle4[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_PIDGEOTTO, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_PIDGEOTTO, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 50, .species = SPECIES_PIDGEOT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterYasu2[] = { +static const struct TrainerMon sParty_YoungsterYasu2[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 22, .species = SPECIES_RATTATA, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 22, .species = SPECIES_RATICATE, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 22, .species = SPECIES_RATICATE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterYasu3[] = { +static const struct TrainerMon sParty_YoungsterYasu3[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_RATICATE, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_RATICATE, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_RATICATE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_EngineerBernie2[] = { +static const struct TrainerMon sParty_EngineerBernie2[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_MAGNETON, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_MAGNETON, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_MAGNETON, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_GamerDarian2[] = { +static const struct TrainerMon sParty_GamerDarian2[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 29, .species = SPECIES_GROWLITHE, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 29, .species = SPECIES_VULPIX, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CamperChris2[] = { +static const struct TrainerMon sParty_CamperChris2[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 24, .species = SPECIES_GROWLITHE, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 24, .species = SPECIES_CHARMANDER, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CamperChris3[] = { +static const struct TrainerMon sParty_CamperChris3[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 29, .species = SPECIES_GROWLITHE, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 29, .species = SPECIES_CHARMELEON, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CamperChris4[] = { +static const struct TrainerMon sParty_CamperChris4[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 54, .species = SPECIES_ARCANINE, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 54, .species = SPECIES_CHARMELEON, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerAlicia2[] = { +static const struct TrainerMon sParty_PicnickerAlicia2[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 25, .species = SPECIES_MEOWTH, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerAlicia3[] = { +static const struct TrainerMon sParty_PicnickerAlicia3[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 30, .species = SPECIES_PERSIAN, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerAlicia4[] = { +static const struct TrainerMon sParty_PicnickerAlicia4[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 55, .species = SPECIES_PERSIAN, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_HikerJeremy2[] = { +static const struct TrainerMon sParty_HikerJeremy2[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 30, .species = SPECIES_MACHOKE, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_ONIX, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PokemaniacMark3[] = { +static const struct TrainerMon sParty_PokemaniacMark3[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 54, .species = SPECIES_RHYDON, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 54, .species = SPECIES_LICKITUNG, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PokemaniacHerman2[] = { +static const struct TrainerMon sParty_PokemaniacHerman2[] = { { - .iv = 90, + .iv = TRAINER_PARTY_IVS(10, 10, 10, 10, 10, 10), .lvl = 29, .species = SPECIES_MAROWAK, }, { - .iv = 90, + .iv = TRAINER_PARTY_IVS(10, 10, 10, 10, 10, 10), .lvl = 29, .species = SPECIES_SLOWBRO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PokemaniacHerman3[] = { +static const struct TrainerMon sParty_PokemaniacHerman3[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 54, .species = SPECIES_MAROWAK, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 54, .species = SPECIES_SLOWBRO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_HikerTrent2[] = { +static const struct TrainerMon sParty_HikerTrent2[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 31, .species = SPECIES_ONIX, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 31, .species = SPECIES_GRAVELER, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassMegan2[] = { +static const struct TrainerMon sParty_LassMegan2[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 22, .species = SPECIES_PIDGEOTTO, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 22, .species = SPECIES_RATICATE, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 23, .species = SPECIES_NIDORAN_M, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 21, .species = SPECIES_MEOWTH, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 22, .species = SPECIES_PIKACHU, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_LassMegan3[] = { +static const struct TrainerMon sParty_LassMegan3[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 46, .species = SPECIES_PIDGEOT, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_RATICATE, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_NIDORINO, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_PERSIAN, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 48, .species = SPECIES_RAICHU, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SuperNerdGlenn2[] = { +static const struct TrainerMon sParty_SuperNerdGlenn2[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_MUK, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_MUK, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_MUK, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_GamerRich2[] = { +static const struct TrainerMon sParty_GamerRich2[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 30, .species = SPECIES_GROWLITHE, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 30, .species = SPECIES_VULPIX, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BikerJaren2[] = { +static const struct TrainerMon sParty_BikerJaren2[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_MUK, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 30, .species = SPECIES_MUK, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_FishermanElliot2[] = { +static const struct TrainerMon sParty_FishermanElliot2[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_POLIWHIRL, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_CLOYSTER, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_SEAKING, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_SEADRA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_RockerLuca2[] = { +static const struct TrainerMon sParty_RockerLuca2[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 33, .species = SPECIES_ELECTRODE, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 33, .species = SPECIES_ELECTRODE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BeautySheila2[] = { +static const struct TrainerMon sParty_BeautySheila2[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_CLEFAIRY, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_PERSIAN, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperRobert2[] = { +static const struct TrainerMon sParty_BirdKeeperRobert2[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_PIDGEOTTO, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_PIDGEOTTO, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_FEAROW, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_FEAROW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperRobert3[] = { +static const struct TrainerMon sParty_BirdKeeperRobert3[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_PIDGEOT, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_PIDGEOT, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_FEAROW, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_FEAROW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerSusie2[] = { +static const struct TrainerMon sParty_PicnickerSusie2[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 27, .species = SPECIES_PIDGEOTTO, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 27, .species = SPECIES_MEOWTH, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 27, .species = SPECIES_RATICATE, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 27, .species = SPECIES_PIKACHU, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 27, .species = SPECIES_MEOWTH, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerSusie3[] = { +static const struct TrainerMon sParty_PicnickerSusie3[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_PIDGEOTTO, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_PERSIAN, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_RATICATE, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_PIKACHU, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_PERSIAN, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerSusie4[] = { +static const struct TrainerMon sParty_PicnickerSusie4[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 52, .species = SPECIES_PIDGEOT, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 52, .species = SPECIES_PERSIAN, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 52, .species = SPECIES_RATICATE, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 52, .species = SPECIES_RAICHU, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 52, .species = SPECIES_PERSIAN, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BikerLukas2[] = { +static const struct TrainerMon sParty_BikerLukas2[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_KOFFING, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_KOFFING, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_MUK, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_WEEZING, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperBenny2[] = { +static const struct TrainerMon sParty_BirdKeeperBenny2[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 32, .species = SPECIES_FEAROW, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 32, .species = SPECIES_FEAROW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperBenny3[] = { +static const struct TrainerMon sParty_BirdKeeperBenny3[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_FEAROW, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_FEAROW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperMarlon2[] = { +static const struct TrainerMon sParty_BirdKeeperMarlon2[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 30, .species = SPECIES_FEAROW, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 30, .species = SPECIES_DODUO, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 30, .species = SPECIES_FEAROW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperMarlon3[] = { +static const struct TrainerMon sParty_BirdKeeperMarlon3[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 48, .species = SPECIES_FEAROW, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 48, .species = SPECIES_DODRIO, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 48, .species = SPECIES_FEAROW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BeautyGrace2[] = { +static const struct TrainerMon sParty_BeautyGrace2[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_PIDGEOT, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_WIGGLYTUFF, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperChester2[] = { +static const struct TrainerMon sParty_BirdKeeperChester2[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 30, .species = SPECIES_DODRIO, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 30, .species = SPECIES_DODRIO, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 30, .species = SPECIES_DODUO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperChester3[] = { +static const struct TrainerMon sParty_BirdKeeperChester3[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 48, .species = SPECIES_DODRIO, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 48, .species = SPECIES_DODRIO, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 48, .species = SPECIES_DODRIO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerBecky2[] = { +static const struct TrainerMon sParty_PicnickerBecky2[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 32, .species = SPECIES_PIKACHU, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 32, .species = SPECIES_RAICHU, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerBecky3[] = { +static const struct TrainerMon sParty_PicnickerBecky3[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_PIKACHU, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_RAICHU, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerBecky4[] = { +static const struct TrainerMon sParty_PicnickerBecky4[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 54, .species = SPECIES_RAICHU, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 54, .species = SPECIES_RAICHU, }, }; -static const struct TrainerMonItemDefaultMoves sParty_CrushKinRonMya2[] = { +static const struct TrainerMon sParty_CrushKinRonMya2[] = { { - .iv = 110, + .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 33, .species = SPECIES_HITMONCHAN, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 110, + .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 33, .species = SPECIES_HITMONLEE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonItemDefaultMoves sParty_CrushKinRonMya3[] = { +static const struct TrainerMon sParty_CrushKinRonMya3[] = { { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 51, .species = SPECIES_HITMONCHAN, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 51, .species = SPECIES_HITMONLEE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonItemDefaultMoves sParty_CrushKinRonMya4[] = { +static const struct TrainerMon sParty_CrushKinRonMya4[] = { { - .iv = 170, + .iv = TRAINER_PARTY_IVS(20, 20, 20, 20, 20, 20), .lvl = 56, .species = SPECIES_HITMONCHAN, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 170, + .iv = TRAINER_PARTY_IVS(20, 20, 20, 20, 20, 20), .lvl = 56, .species = SPECIES_HITMONLEE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BikerRuben2[] = { +static const struct TrainerMon sParty_BikerRuben2[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 48, .species = SPECIES_WEEZING, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 48, .species = SPECIES_WEEZING, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 48, .species = SPECIES_WEEZING, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CueBallCamron2[] = { +static const struct TrainerMon sParty_CueBallCamron2[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_PRIMEAPE, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_MACHOKE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BikerJaxon2[] = { +static const struct TrainerMon sParty_BikerJaxon2[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_WEEZING, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_MUK, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CueBallIsaiah2[] = { +static const struct TrainerMon sParty_CueBallIsaiah2[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_MACHOKE, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_MACHAMP, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CueBallCorey2[] = { +static const struct TrainerMon sParty_CueBallCorey2[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_PRIMEAPE, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_MACHAMP, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperJacob2[] = { +static const struct TrainerMon sParty_BirdKeeperJacob2[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_FEAROW, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_SPEAROW, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_FEAROW, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 28, .species = SPECIES_SPEAROW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperJacob3[] = { +static const struct TrainerMon sParty_BirdKeeperJacob3[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_FEAROW, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_FEAROW, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_FEAROW, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_FEAROW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerFemaleAlice2[] = { +static const struct TrainerMon sParty_SwimmerFemaleAlice2[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_SEAKING, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_SEAKING, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleDarrin2[] = { +static const struct TrainerMon sParty_SwimmerMaleDarrin2[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 52, .species = SPECIES_SEADRA, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 52, .species = SPECIES_SEADRA, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 52, .species = SPECIES_SEADRA, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 52, .species = SPECIES_SEADRA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerMissy2[] = { +static const struct TrainerMon sParty_PicnickerMissy2[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_SEAKING, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_SEAKING, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PicnickerMissy3[] = { +static const struct TrainerMon sParty_PicnickerMissy3[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 54, .species = SPECIES_SEAKING, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 54, .species = SPECIES_SEAKING, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_FishermanWade2[] = { +static const struct TrainerMon sParty_FishermanWade2[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_MAGIKARP, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_MAGIKARP, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_MAGIKARP, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_MAGIKARP, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_MAGIKARP, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_MAGIKARP, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleJack2[] = { +static const struct TrainerMon sParty_SwimmerMaleJack2[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 50, .species = SPECIES_STARMIE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SisAndBroLilIan2[] = { +static const struct TrainerMon sParty_SisAndBroLilIan2[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 50, .species = SPECIES_SEADRA, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 50, .species = SPECIES_STARMIE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SisAndBroLilIan3[] = { +static const struct TrainerMon sParty_SisAndBroLilIan3[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 55, .species = SPECIES_SEADRA, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 55, .species = SPECIES_STARMIE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleFinn2[] = { +static const struct TrainerMon sParty_SwimmerMaleFinn2[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 50, .species = SPECIES_STARMIE, }, }; -static const struct TrainerMonItemDefaultMoves sParty_CrushGirlSharon2[] = { +static const struct TrainerMon sParty_CrushGirlSharon2[] = { { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 50, .species = SPECIES_MANKEY, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 50, .species = SPECIES_PRIMEAPE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonItemDefaultMoves sParty_CrushGirlSharon3[] = { +static const struct TrainerMon sParty_CrushGirlSharon3[] = { { - .iv = 170, + .iv = TRAINER_PARTY_IVS(20, 20, 20, 20, 20, 20), .lvl = 55, .species = SPECIES_PRIMEAPE, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 170, + .iv = TRAINER_PARTY_IVS(20, 20, 20, 20, 20, 20), .lvl = 55, .species = SPECIES_PRIMEAPE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonItemDefaultMoves sParty_CrushGirlTanya2[] = { +static const struct TrainerMon sParty_CrushGirlTanya2[] = { { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 50, .species = SPECIES_HITMONLEE, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 50, .species = SPECIES_HITMONCHAN, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonItemDefaultMoves sParty_CrushGirlTanya3[] = { +static const struct TrainerMon sParty_CrushGirlTanya3[] = { { - .iv = 170, + .iv = TRAINER_PARTY_IVS(20, 20, 20, 20, 20, 20), .lvl = 55, .species = SPECIES_HITMONLEE, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 170, + .iv = TRAINER_PARTY_IVS(20, 20, 20, 20, 20, 20), .lvl = 55, .species = SPECIES_HITMONCHAN, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonItemDefaultMoves sParty_BlackBeltShea2[] = { +static const struct TrainerMon sParty_BlackBeltShea2[] = { { - .iv = 180, + .iv = TRAINER_PARTY_IVS(21, 21, 21, 21, 21, 21), .lvl = 50, .species = SPECIES_MACHOKE, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 180, + .iv = TRAINER_PARTY_IVS(21, 21, 21, 21, 21, 21), .lvl = 50, .species = SPECIES_MACHOKE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonItemDefaultMoves sParty_BlackBeltShea3[] = { +static const struct TrainerMon sParty_BlackBeltShea3[] = { { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 55, .species = SPECIES_MACHOKE, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 55, .species = SPECIES_MACHAMP, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonItemDefaultMoves sParty_BlackBeltHugh2[] = { +static const struct TrainerMon sParty_BlackBeltHugh2[] = { { - .iv = 180, + .iv = TRAINER_PARTY_IVS(21, 21, 21, 21, 21, 21), .lvl = 50, .species = SPECIES_MACHOKE, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 180, + .iv = TRAINER_PARTY_IVS(21, 21, 21, 21, 21, 21), .lvl = 50, .species = SPECIES_MACHOKE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonItemDefaultMoves sParty_BlackBeltHugh3[] = { +static const struct TrainerMon sParty_BlackBeltHugh3[] = { { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 55, .species = SPECIES_MACHOKE, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 55, .species = SPECIES_MACHAMP, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonItemDefaultMoves sParty_CrushKinMikKia2[] = { +static const struct TrainerMon sParty_CrushKinMikKia2[] = { { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 51, .species = SPECIES_MACHOKE, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 51, .species = SPECIES_PRIMEAPE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonItemDefaultMoves sParty_CrushKinMikKia3[] = { +static const struct TrainerMon sParty_CrushKinMikKia3[] = { { - .iv = 170, + .iv = TRAINER_PARTY_IVS(20, 20, 20, 20, 20, 20), .lvl = 56, .species = SPECIES_MACHAMP, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 170, + .iv = TRAINER_PARTY_IVS(20, 20, 20, 20, 20, 20), .lvl = 56, .species = SPECIES_PRIMEAPE, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TuberAmira2[] = { +static const struct TrainerMon sParty_TuberAmira2[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_POLIWHIRL, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_POLIWHIRL, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 47, .species = SPECIES_POLIWHIRL, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TwinsJoyMeg2[] = { +static const struct TrainerMon sParty_TwinsJoyMeg2[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_CLEFAIRY, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_CLEFAIRY, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_PainterRayna2[] = { +static const struct TrainerMon sParty_PainterRayna2[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 54, .species = SPECIES_SMEARGLE, .moves = {MOVE_CROSS_CHOP, MOVE_MEGAHORN, MOVE_DOUBLE_EDGE, MOVE_SELF_DESTRUCT}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungsterDestin2[] = { +static const struct TrainerMon sParty_YoungsterDestin2[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 53, .species = SPECIES_RATICATE, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 53, .species = SPECIES_PIDGEOT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PkmnBreederAlize2[] = { +static const struct TrainerMon sParty_PkmnBreederAlize2[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 53, .species = SPECIES_PIKACHU, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 53, .species = SPECIES_CLEFAIRY, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 53, .species = SPECIES_MARILL, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungCoupleGiaJes2[] = { +static const struct TrainerMon sParty_YoungCoupleGiaJes2[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 30, .species = SPECIES_NIDORINA, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 30, .species = SPECIES_NIDORINO, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_YoungCoupleGiaJes3[] = { +static const struct TrainerMon sParty_YoungCoupleGiaJes3[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 55, .species = SPECIES_NIDOKING, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 55, .species = SPECIES_NIDOQUEEN, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperMilo2[] = { +static const struct TrainerMon sParty_BirdKeeperMilo2[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 53, .species = SPECIES_PIDGEOTTO, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 55, .species = SPECIES_PIDGEOT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperChaz2[] = { +static const struct TrainerMon sParty_BirdKeeperChaz2[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 53, .species = SPECIES_FEAROW, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 55, .species = SPECIES_FEAROW, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BirdKeeperHarold2[] = { +static const struct TrainerMon sParty_BirdKeeperHarold2[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 53, .species = SPECIES_NOCTOWL, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 55, .species = SPECIES_NOCTOWL, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerFemaleNicole2[] = { +static const struct TrainerMon sParty_SwimmerFemaleNicole2[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 54, .species = SPECIES_MARILL, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_PsychicJaclyn2[] = { +static const struct TrainerMon sParty_PsychicJaclyn2[] = { { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 52, .species = SPECIES_NATU, .moves = {MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_FUTURE_SIGHT, MOVE_WISH}, }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 52, .species = SPECIES_SLOWBRO, .moves = {MOVE_PSYCHIC, MOVE_HEADBUTT, MOVE_AMNESIA, MOVE_YAWN}, }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 54, .species = SPECIES_KADABRA, .moves = {MOVE_PSYCHIC, MOVE_FUTURE_SIGHT, MOVE_RECOVER, MOVE_REFLECT}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleSamir2[] = { +static const struct TrainerMon sParty_SwimmerMaleSamir2[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 55, .species = SPECIES_GYARADOS, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_HikerEarl2[] = { +static const struct TrainerMon sParty_HikerEarl2[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 54, .species = SPECIES_ONIX, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 54, .species = SPECIES_MACHAMP, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_RuinManiacLarry2[] = { +static const struct TrainerMon sParty_RuinManiacLarry2[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 54, .species = SPECIES_MACHOKE, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 54, .species = SPECIES_MACHOKE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_PokemaniacHector2[] = { +static const struct TrainerMon sParty_PokemaniacHector2[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 55, .species = SPECIES_RHYDON, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 55, .species = SPECIES_KANGASKHAN, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_PsychicDario2[] = { +static const struct TrainerMon sParty_PsychicDario2[] = { { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 56, .species = SPECIES_GIRAFARIG, .moves = {MOVE_CRUNCH, MOVE_PSYBEAM, MOVE_ODOR_SLEUTH, MOVE_AGILITY}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_PsychicRodette2[] = { +static const struct TrainerMon sParty_PsychicRodette2[] = { { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 53, .species = SPECIES_NATU, .moves = {MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_WISH, MOVE_FUTURE_SIGHT}, }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 53, .species = SPECIES_HYPNO, .moves = {MOVE_PSYCHIC, MOVE_DISABLE, MOVE_PSYCH_UP, MOVE_FUTURE_SIGHT}, }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 53, .species = SPECIES_HYPNO, .moves = {MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_PSYCH_UP, MOVE_FUTURE_SIGHT}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_JugglerMason2[] = { +static const struct TrainerMon sParty_JugglerMason2[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 52, .species = SPECIES_ELECTRODE, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 52, .species = SPECIES_PINECO, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 52, .species = SPECIES_ELECTRODE, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 52, .species = SPECIES_PINECO, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_PkmnRangerNicolas2[] = { +static const struct TrainerMon sParty_PkmnRangerNicolas2[] = { { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 55, .species = SPECIES_VICTREEBEL, .moves = {MOVE_RAZOR_LEAF, MOVE_ACID, MOVE_STUN_SPORE, MOVE_WRAP}, }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 55, .species = SPECIES_VICTREEBEL, .moves = {MOVE_RAZOR_LEAF, MOVE_ACID, MOVE_SLEEP_POWDER, MOVE_SLAM}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_PkmnRangerMadeline2[] = { +static const struct TrainerMon sParty_PkmnRangerMadeline2[] = { { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 55, .species = SPECIES_VILEPLUME, .moves = {MOVE_PETAL_DANCE, MOVE_MOONLIGHT, MOVE_ACID, MOVE_SLEEP_POWDER}, }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 55, .species = SPECIES_VILEPLUME, .moves = {MOVE_PETAL_DANCE, MOVE_MOONLIGHT, MOVE_ACID, MOVE_STUN_SPORE}, }, }; -static const struct TrainerMonItemDefaultMoves sParty_CrushGirlCyndy2[] = { +static const struct TrainerMon sParty_CrushGirlCyndy2[] = { { - .iv = 170, + .iv = TRAINER_PARTY_IVS(20, 20, 20, 20, 20, 20), .lvl = 54, .species = SPECIES_PRIMEAPE, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 170, + .iv = TRAINER_PARTY_IVS(20, 20, 20, 20, 20, 20), .lvl = 54, .species = SPECIES_HITMONTOP, .heldItem = ITEM_BLACK_BELT, }, { - .iv = 170, + .iv = TRAINER_PARTY_IVS(20, 20, 20, 20, 20, 20), .lvl = 54, .species = SPECIES_MACHAMP, .heldItem = ITEM_BLACK_BELT, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TamerEvan2[] = { +static const struct TrainerMon sParty_TamerEvan2[] = { { - .iv = 160, + .iv = TRAINER_PARTY_IVS(19, 19, 19, 19, 19, 19), .lvl = 52, .species = SPECIES_SANDSLASH, }, { - .iv = 160, + .iv = TRAINER_PARTY_IVS(19, 19, 19, 19, 19, 19), .lvl = 52, .species = SPECIES_LICKITUNG, }, { - .iv = 160, + .iv = TRAINER_PARTY_IVS(19, 19, 19, 19, 19, 19), .lvl = 55, .species = SPECIES_URSARING, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_PkmnRangerJackson2[] = { +static const struct TrainerMon sParty_PkmnRangerJackson2[] = { { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 53, .species = SPECIES_TANGELA, .moves = {MOVE_SLAM, MOVE_MEGA_DRAIN, MOVE_BIND, MOVE_INGRAIN}, }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 54, .species = SPECIES_EXEGGUTOR, .moves = {MOVE_CONFUSION, MOVE_EGG_BOMB, MOVE_STUN_SPORE, MOVE_REFLECT}, }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 55, .species = SPECIES_EXEGGUTOR, .moves = {MOVE_CONFUSION, MOVE_EGG_BOMB, MOVE_SLEEP_POWDER, MOVE_STOMP}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_PkmnRangerKatelyn2[] = { +static const struct TrainerMon sParty_PkmnRangerKatelyn2[] = { { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 56, .species = SPECIES_CHANSEY, .moves = {MOVE_EGG_BOMB, MOVE_DEFENSE_CURL, MOVE_MINIMIZE, MOVE_SOFT_BOILED}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CooltrainerLeroy2[] = { +static const struct TrainerMon sParty_CooltrainerLeroy2[] = { { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 52, .species = SPECIES_RHYDON, .moves = {MOVE_EARTHQUAKE, MOVE_HORN_DRILL, MOVE_ROCK_BLAST, MOVE_SCARY_FACE}, }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 54, .species = SPECIES_SLOWBRO, .moves = {MOVE_PSYCHIC, MOVE_HEADBUTT, MOVE_AMNESIA, MOVE_DISABLE}, }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 52, .species = SPECIES_KANGASKHAN, .moves = {MOVE_DIZZY_PUNCH, MOVE_BITE, MOVE_ENDURE, MOVE_REVERSAL}, }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 52, .species = SPECIES_MACHAMP, .moves = {MOVE_CROSS_CHOP, MOVE_VITAL_THROW, MOVE_REVENGE, MOVE_SEISMIC_TOSS}, }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 55, .species = SPECIES_URSARING, .moves = {MOVE_SLASH, MOVE_FAINT_ATTACK, MOVE_SNORE, MOVE_REST}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CooltrainerMichelle2[] = { +static const struct TrainerMon sParty_CooltrainerMichelle2[] = { { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 53, .species = SPECIES_PERSIAN, .moves = {MOVE_SLASH, MOVE_SCREECH, MOVE_FAINT_ATTACK, MOVE_BITE}, }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 53, .species = SPECIES_DEWGONG, .moves = {MOVE_ICE_BEAM, MOVE_TAKE_DOWN, MOVE_ICY_WIND, MOVE_SHEER_COLD}, }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 54, .species = SPECIES_NINETALES, .moves = {MOVE_FLAMETHROWER, MOVE_CONFUSE_RAY, MOVE_WILL_O_WISP, MOVE_GRUDGE}, }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 54, .species = SPECIES_RAPIDASH, .moves = {MOVE_BOUNCE, MOVE_AGILITY, MOVE_FIRE_SPIN, MOVE_TAKE_DOWN}, }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 56, .species = SPECIES_GIRAFARIG, .moves = {MOVE_CRUNCH, MOVE_PSYBEAM, MOVE_STOMP, MOVE_ODOR_SLEUTH}, }, }; -static const struct TrainerMonNoItemCustomMoves sParty_CoolCoupleLexNya2[] = { +static const struct TrainerMon sParty_CoolCoupleLexNya2[] = { { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 57, .species = SPECIES_MILTANK, .moves = {MOVE_BODY_SLAM, MOVE_MILK_DRINK, MOVE_GROWL, MOVE_DEFENSE_CURL}, }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 57, .species = SPECIES_TAUROS, .moves = {MOVE_TAKE_DOWN, MOVE_SCARY_FACE, MOVE_PURSUIT, MOVE_SWAGGER}, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcherColton2[] = { +static const struct TrainerMon sParty_BugCatcherColton2[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 19, .species = SPECIES_METAPOD, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 19, .species = SPECIES_WEEDLE, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 19, .species = SPECIES_METAPOD, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcherColton3[] = { +static const struct TrainerMon sParty_BugCatcherColton3[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 27, .species = SPECIES_BUTTERFREE, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 27, .species = SPECIES_KAKUNA, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 27, .species = SPECIES_BUTTERFREE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_BugCatcherColton4[] = { +static const struct TrainerMon sParty_BugCatcherColton4[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 51, .species = SPECIES_BUTTERFREE, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 54, .species = SPECIES_BEEDRILL, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 51, .species = SPECIES_BUTTERFREE, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleMatthew2[] = { +static const struct TrainerMon sParty_SwimmerMaleMatthew2[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_POLIWHIRL, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_POLIWRATH, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerMaleTony2[] = { +static const struct TrainerMon sParty_SwimmerMaleTony2[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_SEADRA, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_SEADRA, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_SwimmerFemaleMelissa2[] = { +static const struct TrainerMon sParty_SwimmerFemaleMelissa2[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_POLIWHIRL, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 49, .species = SPECIES_SEAKING, }, }; -static const struct TrainerMonItemCustomMoves sParty_EliteFourLorelei2[] = { +static const struct TrainerMon sParty_EliteFourLorelei2[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 64, .species = SPECIES_DEWGONG, .heldItem = ITEM_NONE, .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_SIGNAL_BEAM, MOVE_DOUBLE_TEAM}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 63, .species = SPECIES_CLOYSTER, .heldItem = ITEM_NONE, .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_SUPERSONIC, MOVE_RAIN_DANCE}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 63, .species = SPECIES_PILOSWINE, .heldItem = ITEM_NONE, .moves = {MOVE_BLIZZARD, MOVE_EARTHQUAKE, MOVE_DOUBLE_EDGE, MOVE_ROCK_SLIDE}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 66, .species = SPECIES_JYNX, .heldItem = ITEM_NONE, .moves = {MOVE_ICE_BEAM, MOVE_PSYCHIC, MOVE_LOVELY_KISS, MOVE_ATTRACT}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 66, .species = SPECIES_LAPRAS, .heldItem = ITEM_CHERI_BERRY, @@ -10599,37 +9656,37 @@ static const struct TrainerMonItemCustomMoves sParty_EliteFourLorelei2[] = { }, }; -static const struct TrainerMonItemCustomMoves sParty_EliteFourBruno2[] = { +static const struct TrainerMon sParty_EliteFourBruno2[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 65, .species = SPECIES_STEELIX, .heldItem = ITEM_NONE, .moves = {MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_CRUNCH, MOVE_ROCK_TOMB}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 65, .species = SPECIES_HITMONCHAN, .heldItem = ITEM_NONE, .moves = {MOVE_SKY_UPPERCUT, MOVE_MACH_PUNCH, MOVE_ROCK_SLIDE, MOVE_COUNTER}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 65, .species = SPECIES_HITMONLEE, .heldItem = ITEM_NONE, .moves = {MOVE_MEGA_KICK, MOVE_FORESIGHT, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 66, .species = SPECIES_STEELIX, .heldItem = ITEM_NONE, .moves = {MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_CRUNCH, MOVE_DRAGON_BREATH}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 68, .species = SPECIES_MACHAMP, .heldItem = ITEM_PERSIM_BERRY, @@ -10637,37 +9694,37 @@ static const struct TrainerMonItemCustomMoves sParty_EliteFourBruno2[] = { }, }; -static const struct TrainerMonItemCustomMoves sParty_EliteFourAgatha2[] = { +static const struct TrainerMon sParty_EliteFourAgatha2[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 66, .species = SPECIES_GENGAR, .heldItem = ITEM_NONE, .moves = {MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_HYPNOSIS}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 66, .species = SPECIES_CROBAT, .heldItem = ITEM_NONE, .moves = {MOVE_SLUDGE_BOMB, MOVE_AIR_CUTTER, MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 65, .species = SPECIES_MISDREAVUS, .heldItem = ITEM_NONE, .moves = {MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ATTRACT}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 68, .species = SPECIES_ARBOK, .heldItem = ITEM_NONE, .moves = {MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_DOUBLE_TEAM}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 70, .species = SPECIES_GENGAR, .heldItem = ITEM_CHESTO_BERRY, @@ -10675,37 +9732,37 @@ static const struct TrainerMonItemCustomMoves sParty_EliteFourAgatha2[] = { }, }; -static const struct TrainerMonItemCustomMoves sParty_EliteFourLance2[] = { +static const struct TrainerMon sParty_EliteFourLance2[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 68, .species = SPECIES_GYARADOS, .heldItem = ITEM_NONE, .moves = {MOVE_HYPER_BEAM, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE, MOVE_THUNDER_WAVE}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 66, .species = SPECIES_DRAGONITE, .heldItem = ITEM_NONE, .moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_FLAMETHROWER}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 66, .species = SPECIES_KINGDRA, .heldItem = ITEM_NONE, .moves = {MOVE_HYPER_BEAM, MOVE_DRAGON_DANCE, MOVE_SURF, MOVE_ICE_BEAM}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 70, .species = SPECIES_AERODACTYL, .heldItem = ITEM_NONE, .moves = {MOVE_HYPER_BEAM, MOVE_ANCIENT_POWER, MOVE_AERIAL_ACE, MOVE_EARTHQUAKE}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 72, .species = SPECIES_DRAGONITE, .heldItem = ITEM_PERSIM_BERRY, @@ -10713,44 +9770,44 @@ static const struct TrainerMonItemCustomMoves sParty_EliteFourLance2[] = { }, }; -static const struct TrainerMonItemCustomMoves sParty_ChampionRematchSquirtle[] = { +static const struct TrainerMon sParty_ChampionRematchSquirtle[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 72, .species = SPECIES_HERACROSS, .heldItem = ITEM_NONE, .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_ROCK_TOMB}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 73, .species = SPECIES_ALAKAZAM, .heldItem = ITEM_NONE, .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_CALM_MIND, MOVE_REFLECT}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 72, .species = SPECIES_TYRANITAR, .heldItem = ITEM_NONE, .moves = {MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_THUNDERBOLT, MOVE_AERIAL_ACE}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 73, .species = SPECIES_ARCANINE, .heldItem = ITEM_NONE, .moves = {MOVE_EXTREME_SPEED, MOVE_OVERHEAT, MOVE_AERIAL_ACE, MOVE_IRON_TAIL}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 73, .species = SPECIES_EXEGGUTOR, .heldItem = ITEM_NONE, .moves = {MOVE_GIGA_DRAIN, MOVE_PSYCHIC, MOVE_SLEEP_POWDER, MOVE_LIGHT_SCREEN}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 75, .species = SPECIES_BLASTOISE, .heldItem = ITEM_SITRUS_BERRY, @@ -10758,44 +9815,44 @@ static const struct TrainerMonItemCustomMoves sParty_ChampionRematchSquirtle[] = }, }; -static const struct TrainerMonItemCustomMoves sParty_ChampionRematchBulbasaur[] = { +static const struct TrainerMon sParty_ChampionRematchBulbasaur[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 72, .species = SPECIES_HERACROSS, .heldItem = ITEM_NONE, .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_ROCK_TOMB}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 73, .species = SPECIES_ALAKAZAM, .heldItem = ITEM_NONE, .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_CALM_MIND, MOVE_REFLECT}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 72, .species = SPECIES_TYRANITAR, .heldItem = ITEM_NONE, .moves = {MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_THUNDERBOLT, MOVE_AERIAL_ACE}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 73, .species = SPECIES_GYARADOS, .heldItem = ITEM_NONE, .moves = {MOVE_HYDRO_PUMP, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 73, .species = SPECIES_ARCANINE, .heldItem = ITEM_NONE, .moves = {MOVE_EXTREME_SPEED, MOVE_OVERHEAT, MOVE_AERIAL_ACE, MOVE_IRON_TAIL}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 75, .species = SPECIES_VENUSAUR, .heldItem = ITEM_SITRUS_BERRY, @@ -10803,44 +9860,44 @@ static const struct TrainerMonItemCustomMoves sParty_ChampionRematchBulbasaur[] }, }; -static const struct TrainerMonItemCustomMoves sParty_ChampionRematchCharmander[] = { +static const struct TrainerMon sParty_ChampionRematchCharmander[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 72, .species = SPECIES_HERACROSS, .heldItem = ITEM_NONE, .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_ROCK_TOMB}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 73, .species = SPECIES_ALAKAZAM, .heldItem = ITEM_NONE, .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_CALM_MIND, MOVE_REFLECT}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 72, .species = SPECIES_TYRANITAR, .heldItem = ITEM_NONE, .moves = {MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_THUNDERBOLT, MOVE_AERIAL_ACE}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 73, .species = SPECIES_EXEGGUTOR, .heldItem = ITEM_NONE, .moves = {MOVE_GIGA_DRAIN, MOVE_PSYCHIC, MOVE_SLEEP_POWDER, MOVE_LIGHT_SCREEN}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 73, .species = SPECIES_GYARADOS, .heldItem = ITEM_NONE, .moves = {MOVE_HYDRO_PUMP, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM}, }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 75, .species = SPECIES_CHARIZARD, .heldItem = ITEM_SITRUS_BERRY, @@ -10848,32 +9905,29 @@ static const struct TrainerMonItemCustomMoves sParty_ChampionRematchCharmander[] }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_CueBallPaxton[] = { +static const struct TrainerMon sParty_CueBallPaxton[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 39, .species = SPECIES_WEEZING, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 39, .species = SPECIES_MUK, }, }; -static const struct TrainerMonNoItemDefaultMoves sParty_TestBattle[] = { +static const struct TrainerMon sParty_TestBattle[] = { { - .iv = 0, .lvl = 14, .species = SPECIES_VENUSAUR, }, { - .iv = 0, .lvl = 14, .species = SPECIES_CHARIZARD, }, { - .iv = 0, .lvl = 14, .species = SPECIES_BLASTOISE, }, diff --git a/src/data/trainers.h b/src/data/trainers.h index 1fe2bb969..66aca8088 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -9,8 +9,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_AquaLeader), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_AquaLeader), }, [TRAINER_AQUA_GRUNT_M] = { .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -19,8 +19,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_AquaGruntM), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_AquaGruntM), }, [TRAINER_AQUA_GRUNT_F] = { .trainerClass = TRAINER_CLASS_TEAM_AQUA, @@ -29,8 +29,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_AquaGruntF), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_AquaGruntF), }, [TRAINER_RS_AROMA_LADY] = { .trainerClass = TRAINER_CLASS_RS_AROMA_LADY, @@ -39,8 +39,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSAromaLady), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSAromaLady), }, [TRAINER_RS_RUIN_MANIAC] = { .trainerClass = TRAINER_CLASS_RS_RUIN_MANIAC, @@ -49,8 +49,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSRuinManiac), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSRuinManiac), }, [TRAINER_INTERVIEWER] = { .trainerClass = TRAINER_CLASS_INTERVIEWER, @@ -59,8 +59,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Interviewer), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Interviewer), }, [TRAINER_RS_TUBER_F] = { .trainerClass = TRAINER_CLASS_RS_TUBER_F, @@ -69,8 +69,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSTuberF), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSTuberF), }, [TRAINER_RS_TUBER_M] = { .trainerClass = TRAINER_CLASS_RS_TUBER_M, @@ -79,8 +79,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSTuberM), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSTuberM), }, [TRAINER_RS_COOLTRAINER_M] = { .trainerClass = TRAINER_CLASS_RS_COOLTRAINER, @@ -89,8 +89,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSCooltrainerM), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RSCooltrainerM), }, [TRAINER_RS_COOLTRAINER_F] = { .trainerClass = TRAINER_CLASS_RS_COOLTRAINER, @@ -99,8 +99,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSCooltrainerF), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RSCooltrainerF), }, [TRAINER_HEX_MANIAC] = { .trainerClass = TRAINER_CLASS_HEX_MANIAC, @@ -109,8 +109,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_HexManiac), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_HexManiac), }, [TRAINER_RS_LADY] = { .trainerClass = TRAINER_CLASS_RS_LADY, @@ -119,8 +119,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSLady), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSLady), }, [TRAINER_RS_BEAUTY] = { .trainerClass = TRAINER_CLASS_RS_BEAUTY, @@ -129,8 +129,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSBeauty), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSBeauty), }, [TRAINER_RICH_BOY] = { .trainerClass = TRAINER_CLASS_RICH_BOY, @@ -139,8 +139,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RichBoy), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RichBoy), }, [TRAINER_RS_POKEMANIAC] = { .trainerClass = TRAINER_CLASS_RS_POKEMANIAC, @@ -149,8 +149,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSPokemaniac), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSPokemaniac), }, [TRAINER_RS_SWIMMER_M] = { .trainerClass = TRAINER_CLASS_RS_SWIMMER_M, @@ -159,8 +159,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSSwimmerM), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSSwimmerM), }, [TRAINER_RS_BLACK_BELT] = { .trainerClass = TRAINER_CLASS_RS_BLACK_BELT, @@ -169,8 +169,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSBlackBelt), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSBlackBelt), }, [TRAINER_GUITARIST] = { .trainerClass = TRAINER_CLASS_GUITARIST, @@ -179,8 +179,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Guitarist), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Guitarist), }, [TRAINER_KINDLER] = { .trainerClass = TRAINER_CLASS_KINDLER, @@ -189,8 +189,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Kindler), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Kindler), }, [TRAINER_RS_CAMPER] = { .trainerClass = TRAINER_CLASS_RS_CAMPER, @@ -199,8 +199,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSCamper), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSCamper), }, [TRAINER_BUG_MANIAC] = { .trainerClass = TRAINER_CLASS_BUG_MANIAC, @@ -209,8 +209,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugManiac), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugManiac), }, [TRAINER_RS_PSYCHIC_M] = { .trainerClass = TRAINER_CLASS_RS_PSYCHIC, @@ -219,8 +219,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSPsychicM), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSPsychicM), }, [TRAINER_RS_PSYCHIC_F] = { .trainerClass = TRAINER_CLASS_RS_PSYCHIC, @@ -229,8 +229,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSPsychicF), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSPsychicF), }, [TRAINER_RS_GENTLEMAN] = { .trainerClass = TRAINER_CLASS_RS_GENTLEMAN, @@ -239,8 +239,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSGentleman), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSGentleman), }, [TRAINER_ELITE_FOUR_SIDNEY] = { .trainerClass = TRAINER_CLASS_RS_ELITE_FOUR, @@ -249,8 +249,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SIDNEY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_EliteFourSidney), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_EliteFourSidney), }, [TRAINER_ELITE_FOUR_PHOEBE] = { .trainerClass = TRAINER_CLASS_RS_ELITE_FOUR, @@ -259,8 +259,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("PHOEBE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_EliteFourPhoebe), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_EliteFourPhoebe), }, [TRAINER_LEADER_ROXANNE] = { .trainerClass = TRAINER_CLASS_RS_LEADER, @@ -269,8 +269,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ROXANNE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LeaderRoxanne), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LeaderRoxanne), }, [TRAINER_LEADER_BRAWLY] = { .trainerClass = TRAINER_CLASS_RS_LEADER, @@ -279,8 +279,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BRAWLY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LeaderBrawly), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LeaderBrawly), }, [TRAINER_LEADER_TATE_LIZA] = { .trainerClass = TRAINER_CLASS_RS_LEADER, @@ -289,8 +289,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TATE&LIZA"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LeaderTateLiza), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LeaderTateLiza), }, [TRAINER_SCHOOL_KID_M] = { .trainerClass = TRAINER_CLASS_SCHOOL_KID, @@ -299,8 +299,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SchoolKidM), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SchoolKidM), }, [TRAINER_SCHOOL_KID_F] = { .trainerClass = TRAINER_CLASS_SCHOOL_KID, @@ -309,8 +309,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SchoolKidF), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SchoolKidF), }, [TRAINER_SR_AND_JR] = { .trainerClass = TRAINER_CLASS_SR_AND_JR, @@ -319,8 +319,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SrAndJr), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SrAndJr), }, [TRAINER_POKEFAN_M] = { .trainerClass = TRAINER_CLASS_POKEFAN, @@ -329,8 +329,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PokefanM), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PokefanM), }, [TRAINER_POKEFAN_F] = { .trainerClass = TRAINER_CLASS_POKEFAN, @@ -339,8 +339,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PokefanF), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PokefanF), }, [TRAINER_EXPERT_M] = { .trainerClass = TRAINER_CLASS_EXPERT, @@ -349,8 +349,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ExpertM), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ExpertM), }, [TRAINER_EXPERT_F] = { .trainerClass = TRAINER_CLASS_EXPERT, @@ -359,8 +359,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ExpertF), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ExpertF), }, [TRAINER_RS_YOUNGSTER] = { .trainerClass = TRAINER_CLASS_RS_YOUNGSTER, @@ -369,8 +369,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSYoungster), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSYoungster), }, [TRAINER_RS_CHAMPION] = { .trainerClass = TRAINER_CLASS_RS_CHAMPION, @@ -379,8 +379,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSChampion), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RSChampion), }, [TRAINER_RS_FISHERMAN] = { .trainerClass = TRAINER_CLASS_RS_FISHERMAN, @@ -389,8 +389,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSFisherman), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSFisherman), }, [TRAINER_CYCLING_TRIATHLETE_M] = { .trainerClass = TRAINER_CLASS_TRIATHLETE, @@ -399,8 +399,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CyclingTriathleteM), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CyclingTriathleteM), }, [TRAINER_CYCLING_TRIATHLETE_F] = { .trainerClass = TRAINER_CLASS_TRIATHLETE, @@ -409,8 +409,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CyclingTriathleteF), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CyclingTriathleteF), }, [TRAINER_RUNNING_TRIATHLETE_M] = { .trainerClass = TRAINER_CLASS_TRIATHLETE, @@ -419,8 +419,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RunningTriathleteM), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RunningTriathleteM), }, [TRAINER_RUNNING_TRIATHLETE_F] = { .trainerClass = TRAINER_CLASS_TRIATHLETE, @@ -429,8 +429,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RunningTriathleteF), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RunningTriathleteF), }, [TRAINER_SWIMMING_TRIATHLETE_M] = { .trainerClass = TRAINER_CLASS_TRIATHLETE, @@ -439,8 +439,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmingTriathleteM), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmingTriathleteM), }, [TRAINER_SWIMMING_TRIATHLETE_F] = { .trainerClass = TRAINER_CLASS_TRIATHLETE, @@ -449,8 +449,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmingTriathleteF), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmingTriathleteF), }, [TRAINER_DRAGON_TAMER] = { .trainerClass = TRAINER_CLASS_DRAGON_TAMER, @@ -459,8 +459,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_DragonTamer), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_DragonTamer), }, [TRAINER_RS_BIRD_KEEPER] = { .trainerClass = TRAINER_CLASS_RS_BIRD_KEEPER, @@ -469,8 +469,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSBirdKeeper), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSBirdKeeper), }, [TRAINER_NINJA_BOY] = { .trainerClass = TRAINER_CLASS_NINJA_BOY, @@ -479,8 +479,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_NinjaBoy), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_NinjaBoy), }, [TRAINER_BATTLE_GIRL] = { .trainerClass = TRAINER_CLASS_BATTLE_GIRL, @@ -489,8 +489,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BattleGirl), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BattleGirl), }, [TRAINER_PARASOL_LADY] = { .trainerClass = TRAINER_CLASS_PARASOL_LADY, @@ -499,8 +499,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ParasolLady), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ParasolLady), }, [TRAINER_RS_SWIMMER_F] = { .trainerClass = TRAINER_CLASS_RS_SWIMMER_F, @@ -509,8 +509,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSSwimmerF), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSSwimmerF), }, [TRAINER_RS_PICNICKER] = { .trainerClass = TRAINER_CLASS_RS_PICNICKER, @@ -519,8 +519,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSPicnicker), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSPicnicker), }, [TRAINER_RS_TWINS] = { .trainerClass = TRAINER_CLASS_RS_TWINS, @@ -529,8 +529,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSTwins), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSTwins), }, [TRAINER_RS_SAILOR] = { .trainerClass = TRAINER_CLASS_RS_SAILOR, @@ -539,8 +539,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSSailor), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSSailor), }, [TRAINER_BOARDER_M] = { .trainerClass = TRAINER_CLASS_BOARDER, @@ -549,8 +549,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BoarderM), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BoarderM), }, [TRAINER_BOARDER_F] = { .trainerClass = TRAINER_CLASS_BOARDER, @@ -559,8 +559,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BoarderF), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BoarderF), }, [TRAINER_COLLECTOR] = { .trainerClass = TRAINER_CLASS_COLLECTOR, @@ -569,8 +569,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Collector), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Collector), }, [TRAINER_WALLY] = { .trainerClass = TRAINER_CLASS_PKMN_TRAINER, @@ -579,8 +579,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Wally), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Wally), }, [TRAINER_BRENDAN] = { .trainerClass = TRAINER_CLASS_PKMN_TRAINER, @@ -589,8 +589,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Brendan), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Brendan), }, [TRAINER_BRENDAN_2] = { .trainerClass = TRAINER_CLASS_PKMN_TRAINER, @@ -599,8 +599,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Brendan2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Brendan2), }, [TRAINER_BRENDAN_3] = { .trainerClass = TRAINER_CLASS_PKMN_TRAINER, @@ -609,8 +609,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Brendan3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Brendan3), }, [TRAINER_MAY] = { .trainerClass = TRAINER_CLASS_PKMN_TRAINER, @@ -619,8 +619,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_May), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_May), }, [TRAINER_MAY_2] = { .trainerClass = TRAINER_CLASS_PKMN_TRAINER, @@ -629,8 +629,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_May2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_May2), }, [TRAINER_MAY_3] = { .trainerClass = TRAINER_CLASS_PKMN_TRAINER, @@ -639,8 +639,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_May3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_May3), }, [TRAINER_RS_PKMN_BREEDER_M] = { .trainerClass = TRAINER_CLASS_RS_PKMN_BREEDER, @@ -649,8 +649,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSPkmnBreederM), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSPkmnBreederM), }, [TRAINER_RS_PKMN_BREEDER_F] = { .trainerClass = TRAINER_CLASS_RS_PKMN_BREEDER, @@ -659,8 +659,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSPkmnBreederF), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSPkmnBreederF), }, [TRAINER_RS_PKMN_RANGER_M] = { .trainerClass = TRAINER_CLASS_RS_PKMN_RANGER, @@ -669,8 +669,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSPkmnRangerM), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RSPkmnRangerM), }, [TRAINER_RS_PKMN_RANGER_F] = { .trainerClass = TRAINER_CLASS_RS_PKMN_RANGER, @@ -679,8 +679,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSPkmnRangerF), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RSPkmnRangerF), }, [TRAINER_MAGMA_LEADER] = { .trainerClass = TRAINER_CLASS_MAGMA_LEADER, @@ -689,8 +689,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MagmaLeader), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_MagmaLeader), }, [TRAINER_MAGMA_GRUNT_M] = { .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -699,8 +699,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MagmaGruntM), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_MagmaGruntM), }, [TRAINER_MAMGA_GRUNT_F] = { .trainerClass = TRAINER_CLASS_TEAM_MAGMA, @@ -709,8 +709,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MagmaGruntF), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_MagmaGruntF), }, [TRAINER_RS_LASS] = { .trainerClass = TRAINER_CLASS_RS_LASS, @@ -719,8 +719,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSLass), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSLass), }, [TRAINER_RS_BUG_CATCHER] = { .trainerClass = TRAINER_CLASS_RS_BUG_CATCHER, @@ -729,8 +729,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSBugCatcher), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSBugCatcher), }, [TRAINER_RS_HIKER] = { .trainerClass = TRAINER_CLASS_RS_HIKER, @@ -739,8 +739,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSHiker), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSHiker), }, [TRAINER_RS_YOUNG_COUPLE] = { .trainerClass = TRAINER_CLASS_RS_YOUNG_COUPLE, @@ -749,8 +749,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSYoungCouple), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSYoungCouple), }, [TRAINER_OLD_COUPLE] = { .trainerClass = TRAINER_CLASS_OLD_COUPLE, @@ -759,8 +759,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_OldCouple), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_OldCouple), }, [TRAINER_RS_SIS_AND_BRO] = { .trainerClass = TRAINER_CLASS_RS_SIS_AND_BRO, @@ -769,8 +769,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RSSisAndBro), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RSSisAndBro), }, [TRAINER_AQUA_ADMIN_MATT] = { .trainerClass = TRAINER_CLASS_AQUA_ADMIN, @@ -779,8 +779,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MATT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_AquaAdminMatt), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_AquaAdminMatt), }, [TRAINER_AQUA_ADMIN_SHELLY] = { .trainerClass = TRAINER_CLASS_AQUA_ADMIN, @@ -789,8 +789,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SHELLY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_AquaAdminShelly), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_AquaAdminShelly), }, [TRAINER_MAGMA_ADMIN_TABITHA] = { .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, @@ -799,8 +799,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TABITHA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MagmaAdminTabitha), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_MagmaAdminTabitha), }, [TRAINER_MAGMA_ADMIN_COURTNEY] = { .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, @@ -809,8 +809,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("COURTNEY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MagmaAdminCourtney), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_MagmaAdminCourtney), }, [TRAINER_LEADER_WATTSON] = { .trainerClass = TRAINER_CLASS_RS_LEADER, @@ -819,8 +819,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("WATTSON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LeaderWattson), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LeaderWattson), }, [TRAINER_LEADER_FLANNERY] = { .trainerClass = TRAINER_CLASS_RS_LEADER, @@ -829,8 +829,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("FLANNERY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LeaderFlannery), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LeaderFlannery), }, [TRAINER_LEADER_NORMAN] = { .trainerClass = TRAINER_CLASS_RS_LEADER, @@ -839,8 +839,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("NORMAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LeaderNorman), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LeaderNorman), }, [TRAINER_LEADER_WINONA] = { .trainerClass = TRAINER_CLASS_RS_LEADER, @@ -849,8 +849,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("WINONA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LeaderWinona), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LeaderWinona), }, [TRAINER_LEADER_WALLACE] = { .trainerClass = TRAINER_CLASS_RS_LEADER, @@ -859,8 +859,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("WALLACE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LeaderWallace), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LeaderWallace), }, [TRAINER_ELITE_FOUR_GLACIA] = { .trainerClass = TRAINER_CLASS_RS_ELITE_FOUR, @@ -869,8 +869,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GLACIA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_EliteFourGlacia), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_EliteFourGlacia), }, [TRAINER_ELITE_FOUR_DRAKE] = { .trainerClass = TRAINER_CLASS_RS_ELITE_FOUR, @@ -879,8 +879,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DRAKE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_EliteFourDrake), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_EliteFourDrake), }, [TRAINER_YOUNGSTER_BEN] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -889,8 +889,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BEN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterBen), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterBen), }, [TRAINER_YOUNGSTER_CALVIN] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -899,8 +899,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CALVIN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterCalvin), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterCalvin), }, [TRAINER_YOUNGSTER_JOSH] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -909,8 +909,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JOSH"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterJosh), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterJosh), }, [TRAINER_YOUNGSTER_TIMMY] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -919,8 +919,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TIMMY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterTimmy), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterTimmy), }, [TRAINER_YOUNGSTER_JOEY] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -929,8 +929,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JOEY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterJoey), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterJoey), }, [TRAINER_YOUNGSTER_DAN] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -939,8 +939,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterDan), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterDan), }, [TRAINER_YOUNGSTER_CHAD] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -949,8 +949,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CHAD"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterChad), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterChad), }, [TRAINER_YOUNGSTER_TYLER] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -959,8 +959,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TYLER"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterTyler), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterTyler), }, [TRAINER_YOUNGSTER_EDDIE] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -969,8 +969,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("EDDIE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterEddie), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterEddie), }, [TRAINER_YOUNGSTER_DILLON] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -979,8 +979,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DILLON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterDillon), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterDillon), }, [TRAINER_YOUNGSTER_YASU] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -989,8 +989,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("YASU"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterYasu), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterYasu), }, [TRAINER_YOUNGSTER_DAVE] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -999,8 +999,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DAVE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterDave), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterDave), }, [TRAINER_YOUNGSTER_BEN_2] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -1009,8 +1009,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BEN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterBen2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterBen2), }, [TRAINER_BUG_CATCHER_RICK] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -1019,8 +1019,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RICK"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcherRick), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcherRick), }, [TRAINER_BUG_CATCHER_DOUG] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -1029,8 +1029,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DOUG"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcherDoug), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcherDoug), }, [TRAINER_BUG_CATCHER_SAMMY] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -1039,8 +1039,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SAMMY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcherSammy), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcherSammy), }, [TRAINER_BUG_CATCHER_COLTON] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -1049,8 +1049,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("COLTON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcherColton), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcherColton), }, [TRAINER_BUG_CATCHER_GREG] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -1059,8 +1059,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GREG"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcherGreg), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcherGreg), }, [TRAINER_BUG_CATCHER_JAMES] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -1069,8 +1069,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JAMES"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcherJames), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcherJames), }, [TRAINER_BUG_CATCHER_KENT] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -1079,8 +1079,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("KENT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcherKent), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcherKent), }, [TRAINER_BUG_CATCHER_ROBBY] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -1089,8 +1089,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ROBBY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcherRobby), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcherRobby), }, [TRAINER_BUG_CATCHER_CALE] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -1099,8 +1099,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CALE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcherCale), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcherCale), }, [TRAINER_BUG_CATCHER_KEIGO] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -1109,8 +1109,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("KEIGO"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcherKeigo), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcherKeigo), }, [TRAINER_BUG_CATCHER_ELIJAH] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -1119,8 +1119,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ELIJAH"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcherElijah), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcherElijah), }, [TRAINER_BUG_CATCHER_2] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -1129,8 +1129,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcher2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcher2), }, [TRAINER_BUG_CATCHER_BRENT] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -1139,8 +1139,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BRENT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcherBrent), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcherBrent), }, [TRAINER_BUG_CATCHER_CONNER] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -1149,8 +1149,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CONNER"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcherConner), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcherConner), }, [TRAINER_LASS_JANICE] = { .trainerClass = TRAINER_CLASS_LASS, @@ -1159,8 +1159,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JANICE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassJanice), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassJanice), }, [TRAINER_LASS_SALLY] = { .trainerClass = TRAINER_CLASS_LASS, @@ -1169,8 +1169,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SALLY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassSally), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassSally), }, [TRAINER_LASS_ROBIN] = { .trainerClass = TRAINER_CLASS_LASS, @@ -1179,8 +1179,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ROBIN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassRobin), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassRobin), }, [TRAINER_LASS_CRISSY] = { .trainerClass = TRAINER_CLASS_LASS, @@ -1189,8 +1189,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CRISSY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassCrissy), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassCrissy), }, [TRAINER_LASS_MIRIAM] = { .trainerClass = TRAINER_CLASS_LASS, @@ -1199,8 +1199,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MIRIAM"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassMiriam), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassMiriam), }, [TRAINER_LASS_IRIS] = { .trainerClass = TRAINER_CLASS_LASS, @@ -1209,8 +1209,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("IRIS"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassIris), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassIris), }, [TRAINER_LASS_RELI] = { .trainerClass = TRAINER_CLASS_LASS, @@ -1219,8 +1219,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RELI"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassReli), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassReli), }, [TRAINER_LASS_ALI] = { .trainerClass = TRAINER_CLASS_LASS, @@ -1229,8 +1229,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ALI"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassAli), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassAli), }, [TRAINER_LASS_2] = { .trainerClass = TRAINER_CLASS_LASS, @@ -1239,8 +1239,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Lass2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Lass2), }, [TRAINER_LASS_HALEY] = { .trainerClass = TRAINER_CLASS_LASS, @@ -1249,8 +1249,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("HALEY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassHaley), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassHaley), }, [TRAINER_LASS_ANN] = { .trainerClass = TRAINER_CLASS_LASS, @@ -1259,8 +1259,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ANN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassAnn), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassAnn), }, [TRAINER_LASS_DAWN] = { .trainerClass = TRAINER_CLASS_LASS, @@ -1269,8 +1269,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DAWN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassDawn), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassDawn), }, [TRAINER_LASS_PAIGE] = { .trainerClass = TRAINER_CLASS_LASS, @@ -1279,8 +1279,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("PAIGE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassPaige), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassPaige), }, [TRAINER_LASS_ANDREA] = { .trainerClass = TRAINER_CLASS_LASS, @@ -1289,8 +1289,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ANDREA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassAndrea), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassAndrea), }, [TRAINER_LASS_MEGAN] = { .trainerClass = TRAINER_CLASS_LASS, @@ -1299,8 +1299,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MEGAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassMegan), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassMegan), }, [TRAINER_LASS_JULIA] = { .trainerClass = TRAINER_CLASS_LASS, @@ -1309,8 +1309,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JULIA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassJulia), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassJulia), }, [TRAINER_LASS_KAY] = { .trainerClass = TRAINER_CLASS_LASS, @@ -1319,8 +1319,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("KAY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassKay), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassKay), }, [TRAINER_LASS_LISA] = { .trainerClass = TRAINER_CLASS_LASS, @@ -1329,8 +1329,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LISA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassLisa), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassLisa), }, [TRAINER_SAILOR_EDMOND] = { .trainerClass = TRAINER_CLASS_SAILOR, @@ -1339,8 +1339,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("EDMOND"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SailorEdmond), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SailorEdmond), }, [TRAINER_SAILOR_TREVOR] = { .trainerClass = TRAINER_CLASS_SAILOR, @@ -1349,8 +1349,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TREVOR"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SailorTrevor), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SailorTrevor), }, [TRAINER_SAILOR_LEONARD] = { .trainerClass = TRAINER_CLASS_SAILOR, @@ -1359,8 +1359,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LEONARD"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SailorLeonard), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SailorLeonard), }, [TRAINER_SAILOR_DUNCAN] = { .trainerClass = TRAINER_CLASS_SAILOR, @@ -1369,8 +1369,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DUNCAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SailorDuncan), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SailorDuncan), }, [TRAINER_SAILOR_HUEY] = { .trainerClass = TRAINER_CLASS_SAILOR, @@ -1379,8 +1379,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("HUEY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SailorHuey), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SailorHuey), }, [TRAINER_SAILOR_DYLAN] = { .trainerClass = TRAINER_CLASS_SAILOR, @@ -1389,8 +1389,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DYLAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SailorDylan), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SailorDylan), }, [TRAINER_SAILOR_PHILLIP] = { .trainerClass = TRAINER_CLASS_SAILOR, @@ -1399,8 +1399,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("PHILLIP"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SailorPhillip), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SailorPhillip), }, [TRAINER_SAILOR_DWAYNE] = { .trainerClass = TRAINER_CLASS_SAILOR, @@ -1409,8 +1409,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DWAYNE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SailorDwayne), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SailorDwayne), }, [TRAINER_CAMPER_LIAM] = { .trainerClass = TRAINER_CLASS_CAMPER, @@ -1419,8 +1419,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LIAM"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CamperLiam), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CamperLiam), }, [TRAINER_CAMPER_SHANE] = { .trainerClass = TRAINER_CLASS_CAMPER, @@ -1429,8 +1429,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SHANE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CamperShane), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CamperShane), }, [TRAINER_CAMPER_ETHAN] = { .trainerClass = TRAINER_CLASS_CAMPER, @@ -1439,8 +1439,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ETHAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CamperEthan), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CamperEthan), }, [TRAINER_CAMPER_RICKY] = { .trainerClass = TRAINER_CLASS_CAMPER, @@ -1449,8 +1449,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RICKY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CamperRicky), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CamperRicky), }, [TRAINER_CAMPER_JEFF] = { .trainerClass = TRAINER_CLASS_CAMPER, @@ -1459,8 +1459,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JEFF"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CamperJeff), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CamperJeff), }, [TRAINER_CAMPER_2] = { .trainerClass = TRAINER_CLASS_CAMPER, @@ -1469,8 +1469,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Camper2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Camper2), }, [TRAINER_CAMPER_CHRIS] = { .trainerClass = TRAINER_CLASS_CAMPER, @@ -1479,8 +1479,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CHRIS"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CamperChris), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CamperChris), }, [TRAINER_CAMPER_DREW] = { .trainerClass = TRAINER_CLASS_CAMPER, @@ -1489,8 +1489,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DREW"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CamperDrew), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CamperDrew), }, [TRAINER_PICNICKER_DIANA] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -1499,8 +1499,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DIANA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerDiana), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerDiana), }, [TRAINER_PICNICKER_NANCY] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -1509,8 +1509,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("NANCY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerNancy), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerNancy), }, [TRAINER_PICNICKER_ISABELLE] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -1519,8 +1519,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ISABELLE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerIsabelle), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerIsabelle), }, [TRAINER_PICNICKER_KELSEY] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -1529,8 +1529,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("KELSEY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerKelsey), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerKelsey), }, [TRAINER_PICNICKER_ALICIA] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -1539,8 +1539,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ALICIA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerAlicia), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerAlicia), }, [TRAINER_PICNICKER_CAITLIN] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -1549,8 +1549,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CAITLIN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerCaitlin), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerCaitlin), }, [TRAINER_PICNICKER_HEIDI] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -1559,8 +1559,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("HEIDI"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerHeidi), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerHeidi), }, [TRAINER_PICNICKER_CAROL] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -1569,8 +1569,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CAROL"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerCarol), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerCarol), }, [TRAINER_PICNICKER_SOFIA] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -1579,8 +1579,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SOFIA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerSofia), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerSofia), }, [TRAINER_PICNICKER_MARTHA] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -1589,8 +1589,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MARTHA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerMartha), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerMartha), }, [TRAINER_PICNICKER_TINA] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -1599,8 +1599,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TINA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerTina), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerTina), }, [TRAINER_PICNICKER_HANNAH] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -1609,8 +1609,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("HANNAH"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerHannah), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerHannah), }, [TRAINER_POKEMANIAC_MARK] = { .trainerClass = TRAINER_CLASS_POKEMANIAC, @@ -1619,8 +1619,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MARK"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PokemaniacMark), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PokemaniacMark), }, [TRAINER_POKEMANIAC_HERMAN] = { .trainerClass = TRAINER_CLASS_POKEMANIAC, @@ -1629,8 +1629,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("HERMAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PokemaniacHerman), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PokemaniacHerman), }, [TRAINER_POKEMANIAC_COOPER] = { .trainerClass = TRAINER_CLASS_POKEMANIAC, @@ -1639,8 +1639,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("COOPER"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PokemaniacCooper), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PokemaniacCooper), }, [TRAINER_POKEMANIAC_STEVE] = { .trainerClass = TRAINER_CLASS_POKEMANIAC, @@ -1649,8 +1649,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("STEVE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PokemaniacSteve), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PokemaniacSteve), }, [TRAINER_POKEMANIAC_WINSTON] = { .trainerClass = TRAINER_CLASS_POKEMANIAC, @@ -1659,8 +1659,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("WINSTON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PokemaniacWinston), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PokemaniacWinston), }, [TRAINER_POKEMANIAC_DAWSON] = { .trainerClass = TRAINER_CLASS_POKEMANIAC, @@ -1669,8 +1669,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DAWSON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PokemaniacDawson), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PokemaniacDawson), }, [TRAINER_POKEMANIAC_ASHTON] = { .trainerClass = TRAINER_CLASS_POKEMANIAC, @@ -1679,8 +1679,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ASHTON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PokemaniacAshton), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PokemaniacAshton), }, [TRAINER_SUPER_NERD_JOVAN] = { .trainerClass = TRAINER_CLASS_SUPER_NERD, @@ -1689,8 +1689,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JOVAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SuperNerdJovan), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SuperNerdJovan), }, [TRAINER_SUPER_NERD_MIGUEL] = { .trainerClass = TRAINER_CLASS_SUPER_NERD, @@ -1699,8 +1699,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MIGUEL"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SuperNerdMiguel), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SuperNerdMiguel), }, [TRAINER_SUPER_NERD_AIDAN] = { .trainerClass = TRAINER_CLASS_SUPER_NERD, @@ -1709,8 +1709,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("AIDAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_SuperNerdAidan), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SuperNerdAidan), }, [TRAINER_SUPER_NERD_GLENN] = { .trainerClass = TRAINER_CLASS_SUPER_NERD, @@ -1719,8 +1719,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GLENN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SuperNerdGlenn), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SuperNerdGlenn), }, [TRAINER_SUPER_NERD_LESLIE] = { .trainerClass = TRAINER_CLASS_SUPER_NERD, @@ -1729,8 +1729,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LESLIE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_SuperNerdLeslie), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SuperNerdLeslie), }, [TRAINER_SUPER_NERD_1] = { .trainerClass = TRAINER_CLASS_SUPER_NERD, @@ -1739,8 +1739,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SuperNerd1), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SuperNerd1), }, [TRAINER_SUPER_NERD_2] = { .trainerClass = TRAINER_CLASS_SUPER_NERD, @@ -1749,8 +1749,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SuperNerd2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SuperNerd2), }, [TRAINER_SUPER_NERD_3] = { .trainerClass = TRAINER_CLASS_SUPER_NERD, @@ -1759,8 +1759,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SuperNerd3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SuperNerd3), }, [TRAINER_SUPER_NERD_ERIK] = { .trainerClass = TRAINER_CLASS_SUPER_NERD, @@ -1769,8 +1769,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ERIK"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SuperNerdErik), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SuperNerdErik), }, [TRAINER_SUPER_NERD_AVERY] = { .trainerClass = TRAINER_CLASS_SUPER_NERD, @@ -1779,8 +1779,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("AVERY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SuperNerdAvery), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SuperNerdAvery), }, [TRAINER_SUPER_NERD_DEREK] = { .trainerClass = TRAINER_CLASS_SUPER_NERD, @@ -1789,8 +1789,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DEREK"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SuperNerdDerek), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SuperNerdDerek), }, [TRAINER_SUPER_NERD_ZAC] = { .trainerClass = TRAINER_CLASS_SUPER_NERD, @@ -1799,8 +1799,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ZAC"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SuperNerdZac), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SuperNerdZac), }, [TRAINER_HIKER_MARCOS] = { .trainerClass = TRAINER_CLASS_HIKER, @@ -1809,8 +1809,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MARCOS"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_HikerMarcos), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_HikerMarcos), }, [TRAINER_HIKER_FRANKLIN] = { .trainerClass = TRAINER_CLASS_HIKER, @@ -1819,8 +1819,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("FRANKLIN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_HikerFranklin), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_HikerFranklin), }, [TRAINER_HIKER_NOB] = { .trainerClass = TRAINER_CLASS_HIKER, @@ -1829,8 +1829,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("NOB"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_HikerNob), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_HikerNob), }, [TRAINER_HIKER_WAYNE] = { .trainerClass = TRAINER_CLASS_HIKER, @@ -1839,8 +1839,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("WAYNE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_HikerWayne), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_HikerWayne), }, [TRAINER_HIKER_ALAN] = { .trainerClass = TRAINER_CLASS_HIKER, @@ -1849,8 +1849,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ALAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_HikerAlan), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_HikerAlan), }, [TRAINER_HIKER_BRICE] = { .trainerClass = TRAINER_CLASS_HIKER, @@ -1859,8 +1859,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BRICE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_HikerBrice), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_HikerBrice), }, [TRAINER_HIKER_CLARK] = { .trainerClass = TRAINER_CLASS_HIKER, @@ -1869,8 +1869,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CLARK"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_HikerClark), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_HikerClark), }, [TRAINER_HIKER_TRENT] = { .trainerClass = TRAINER_CLASS_HIKER, @@ -1879,8 +1879,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TRENT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_HikerTrent), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_HikerTrent), }, [TRAINER_HIKER_DUDLEY] = { .trainerClass = TRAINER_CLASS_HIKER, @@ -1889,8 +1889,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DUDLEY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_HikerDudley), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_HikerDudley), }, [TRAINER_HIKER_ALLEN] = { .trainerClass = TRAINER_CLASS_HIKER, @@ -1899,8 +1899,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ALLEN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_HikerAllen), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_HikerAllen), }, [TRAINER_HIKER_ERIC] = { .trainerClass = TRAINER_CLASS_HIKER, @@ -1909,8 +1909,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ERIC"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_HikerEric), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_HikerEric), }, [TRAINER_HIKER_LENNY] = { .trainerClass = TRAINER_CLASS_HIKER, @@ -1919,8 +1919,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LENNY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_HikerLenny), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_HikerLenny), }, [TRAINER_HIKER_OLIVER] = { .trainerClass = TRAINER_CLASS_HIKER, @@ -1929,8 +1929,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("OLIVER"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_HikerOliver), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_HikerOliver), }, [TRAINER_HIKER_LUCAS] = { .trainerClass = TRAINER_CLASS_HIKER, @@ -1939,8 +1939,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LUCAS"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_HikerLucas), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_HikerLucas), }, [TRAINER_BIKER_JARED] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -1949,8 +1949,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JARED"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_BikerJared), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerJared), }, [TRAINER_BIKER_MALIK] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -1959,8 +1959,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MALIK"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_BikerMalik), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerMalik), }, [TRAINER_BIKER_ERNEST] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -1969,8 +1969,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ERNEST"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_BikerErnest), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerErnest), }, [TRAINER_BIKER_ALEX] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -1979,8 +1979,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ALEX"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_BikerAlex), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerAlex), }, [TRAINER_BIKER_LAO] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -1989,8 +1989,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LAO"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_BikerLao), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerLao), }, [TRAINER_BIKER_1] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -1999,8 +1999,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Biker1), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Biker1), }, [TRAINER_BIKER_HIDEO] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -2009,8 +2009,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("HIDEO"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BikerHideo), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerHideo), }, [TRAINER_BIKER_RUBEN] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -2019,8 +2019,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RUBEN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_BikerRuben), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerRuben), }, [TRAINER_BIKER_BILLY] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -2029,8 +2029,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BILLY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BikerBilly), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerBilly), }, [TRAINER_BIKER_NIKOLAS] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -2039,8 +2039,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("NIKOLAS"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_BikerNikolas), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerNikolas), }, [TRAINER_BIKER_JAXON] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -2049,8 +2049,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JAXON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_BikerJaxon), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerJaxon), }, [TRAINER_BIKER_WILLIAM] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -2059,8 +2059,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("WILLIAM"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_BikerWilliam), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerWilliam), }, [TRAINER_BIKER_LUKAS] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -2069,8 +2069,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LUKAS"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_BikerLukas), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerLukas), }, [TRAINER_BIKER_ISAAC] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -2079,8 +2079,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ISAAC"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_BikerIsaac), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerIsaac), }, [TRAINER_BIKER_GERALD] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -2089,8 +2089,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GERALD"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_BikerGerald), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerGerald), }, [TRAINER_BURGLAR_1] = { .trainerClass = TRAINER_CLASS_BURGLAR, @@ -2099,8 +2099,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Burglar1), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Burglar1), }, [TRAINER_BURGLAR_2] = { .trainerClass = TRAINER_CLASS_BURGLAR, @@ -2109,8 +2109,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Burglar2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Burglar2), }, [TRAINER_BURGLAR_3] = { .trainerClass = TRAINER_CLASS_BURGLAR, @@ -2119,8 +2119,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Burglar3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Burglar3), }, [TRAINER_BURGLAR_QUINN] = { .trainerClass = TRAINER_CLASS_BURGLAR, @@ -2129,8 +2129,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("QUINN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BurglarQuinn), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BurglarQuinn), }, [TRAINER_BURGLAR_RAMON] = { .trainerClass = TRAINER_CLASS_BURGLAR, @@ -2139,8 +2139,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RAMON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BurglarRamon), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BurglarRamon), }, [TRAINER_BURGLAR_DUSTY] = { .trainerClass = TRAINER_CLASS_BURGLAR, @@ -2149,8 +2149,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DUSTY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BurglarDusty), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BurglarDusty), }, [TRAINER_BURGLAR_ARNIE] = { .trainerClass = TRAINER_CLASS_BURGLAR, @@ -2159,8 +2159,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ARNIE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BurglarArnie), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BurglarArnie), }, [TRAINER_BURGLAR_4] = { .trainerClass = TRAINER_CLASS_BURGLAR, @@ -2169,8 +2169,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Burglar4), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Burglar4), }, [TRAINER_BURGLAR_SIMON] = { .trainerClass = TRAINER_CLASS_BURGLAR, @@ -2179,8 +2179,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SIMON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BurglarSimon), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BurglarSimon), }, [TRAINER_BURGLAR_LEWIS] = { .trainerClass = TRAINER_CLASS_BURGLAR, @@ -2189,8 +2189,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LEWIS"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BurglarLewis), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BurglarLewis), }, [TRAINER_ENGINEER_BAILY] = { .trainerClass = TRAINER_CLASS_ENGINEER, @@ -2199,8 +2199,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BAILY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_EngineerBaily), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_EngineerBaily), }, [TRAINER_ENGINEER_BRAXTON] = { .trainerClass = TRAINER_CLASS_ENGINEER, @@ -2209,8 +2209,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BRAXTON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_EngineerBraxton), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_EngineerBraxton), }, [TRAINER_ENGINEER_BERNIE] = { .trainerClass = TRAINER_CLASS_ENGINEER, @@ -2219,8 +2219,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BERNIE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_EngineerBernie), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_EngineerBernie), }, [TRAINER_FISHERMAN_DALE] = { .trainerClass = TRAINER_CLASS_FISHERMAN, @@ -2229,8 +2229,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DALE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_FishermanDale), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_FishermanDale), }, [TRAINER_FISHERMAN_BARNY] = { .trainerClass = TRAINER_CLASS_FISHERMAN, @@ -2239,8 +2239,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BARNY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_FishermanBarny), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_FishermanBarny), }, [TRAINER_FISHERMAN_NED] = { .trainerClass = TRAINER_CLASS_FISHERMAN, @@ -2249,8 +2249,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("NED"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_FishermanNed), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_FishermanNed), }, [TRAINER_FISHERMAN_CHIP] = { .trainerClass = TRAINER_CLASS_FISHERMAN, @@ -2259,8 +2259,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CHIP"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_FishermanChip), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_FishermanChip), }, [TRAINER_FISHERMAN_HANK] = { .trainerClass = TRAINER_CLASS_FISHERMAN, @@ -2269,8 +2269,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("HANK"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_FishermanHank), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_FishermanHank), }, [TRAINER_FISHERMAN_ELLIOT] = { .trainerClass = TRAINER_CLASS_FISHERMAN, @@ -2279,8 +2279,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ELLIOT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_FishermanElliot), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_FishermanElliot), }, [TRAINER_FISHERMAN_RONALD] = { .trainerClass = TRAINER_CLASS_FISHERMAN, @@ -2289,8 +2289,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RONALD"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_FishermanRonald), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_FishermanRonald), }, [TRAINER_FISHERMAN_CLAUDE] = { .trainerClass = TRAINER_CLASS_FISHERMAN, @@ -2299,8 +2299,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CLAUDE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_FishermanClaude), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_FishermanClaude), }, [TRAINER_FISHERMAN_WADE] = { .trainerClass = TRAINER_CLASS_FISHERMAN, @@ -2309,8 +2309,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("WADE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_FishermanWade), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_FishermanWade), }, [TRAINER_FISHERMAN_NOLAN] = { .trainerClass = TRAINER_CLASS_FISHERMAN, @@ -2319,8 +2319,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("NOLAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_FishermanNolan), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_FishermanNolan), }, [TRAINER_FISHERMAN_ANDREW] = { .trainerClass = TRAINER_CLASS_FISHERMAN, @@ -2329,8 +2329,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ANDREW"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_FishermanAndrew), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_FishermanAndrew), }, [TRAINER_SWIMMER_MALE_LUIS] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -2339,8 +2339,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LUIS"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleLuis), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleLuis), }, [TRAINER_SWIMMER_MALE_RICHARD] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -2349,8 +2349,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RICHARD"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleRichard), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleRichard), }, [TRAINER_SWIMMER_MALE_REECE] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -2359,8 +2359,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("REECE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleReece), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleReece), }, [TRAINER_SWIMMER_MALE_MATTHEW] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -2369,8 +2369,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MATTHEW"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleMatthew), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleMatthew), }, [TRAINER_SWIMMER_MALE_DOUGLAS] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -2379,8 +2379,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DOUGLAS"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleDouglas), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleDouglas), }, [TRAINER_SWIMMER_MALE_DAVID] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -2389,8 +2389,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DAVID"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleDavid), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleDavid), }, [TRAINER_SWIMMER_MALE_TONY] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -2399,8 +2399,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TONY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleTony), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleTony), }, [TRAINER_SWIMMER_MALE_AXLE] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -2409,8 +2409,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("AXLE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleAxle), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleAxle), }, [TRAINER_SWIMMER_MALE_BARRY] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -2419,8 +2419,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BARRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleBarry), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleBarry), }, [TRAINER_SWIMMER_MALE_DEAN] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -2429,8 +2429,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DEAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleDean), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleDean), }, [TRAINER_SWIMMER_MALE_DARRIN] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -2439,8 +2439,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DARRIN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleDarrin), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleDarrin), }, [TRAINER_SWIMMER_MALE_SPENCER] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -2449,8 +2449,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SPENCER"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleSpencer), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleSpencer), }, [TRAINER_SWIMMER_MALE_JACK] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -2459,8 +2459,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JACK"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleJack), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleJack), }, [TRAINER_SWIMMER_MALE_JEROME] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -2469,8 +2469,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JEROME"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleJerome), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleJerome), }, [TRAINER_SWIMMER_MALE_ROLAND] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -2479,8 +2479,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ROLAND"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleRoland), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleRoland), }, [TRAINER_CUE_BALL_KOJI] = { .trainerClass = TRAINER_CLASS_CUE_BALL, @@ -2489,8 +2489,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("KOJI"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CueBallKoji), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CueBallKoji), }, [TRAINER_CUE_BALL_LUKE] = { .trainerClass = TRAINER_CLASS_CUE_BALL, @@ -2499,8 +2499,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LUKE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CueBallLuke), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CueBallLuke), }, [TRAINER_CUE_BALL_CAMRON] = { .trainerClass = TRAINER_CLASS_CUE_BALL, @@ -2509,8 +2509,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CAMRON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CueBallCamron), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CueBallCamron), }, [TRAINER_CUE_BALL_RAUL] = { .trainerClass = TRAINER_CLASS_CUE_BALL, @@ -2519,8 +2519,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RAUL"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CueBallRaul), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CueBallRaul), }, [TRAINER_CUE_BALL_ISAIAH] = { .trainerClass = TRAINER_CLASS_CUE_BALL, @@ -2529,8 +2529,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ISAIAH"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CueBallIsaiah), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CueBallIsaiah), }, [TRAINER_CUE_BALL_ZEEK] = { .trainerClass = TRAINER_CLASS_CUE_BALL, @@ -2539,8 +2539,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ZEEK"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CueBallZeek), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CueBallZeek), }, [TRAINER_CUE_BALL_JAMAL] = { .trainerClass = TRAINER_CLASS_CUE_BALL, @@ -2549,8 +2549,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JAMAL"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CueBallJamal), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CueBallJamal), }, [TRAINER_CUE_BALL_COREY] = { .trainerClass = TRAINER_CLASS_CUE_BALL, @@ -2559,8 +2559,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("COREY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CueBallCorey), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CueBallCorey), }, [TRAINER_CUE_BALL_CHASE] = { .trainerClass = TRAINER_CLASS_CUE_BALL, @@ -2569,8 +2569,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CHASE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CueBallChase), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CueBallChase), }, [TRAINER_GAMER_HUGO] = { .trainerClass = TRAINER_CLASS_GAMER, @@ -2579,8 +2579,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("HUGO"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GamerHugo), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_GamerHugo), }, [TRAINER_GAMER_JASPER] = { .trainerClass = TRAINER_CLASS_GAMER, @@ -2589,8 +2589,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JASPER"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GamerJasper), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_GamerJasper), }, [TRAINER_GAMER_DIRK] = { .trainerClass = TRAINER_CLASS_GAMER, @@ -2599,8 +2599,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DIRK"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GamerDirk), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_GamerDirk), }, [TRAINER_GAMER_DARIAN] = { .trainerClass = TRAINER_CLASS_GAMER, @@ -2609,8 +2609,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DARIAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GamerDarian), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_GamerDarian), }, [TRAINER_GAMER_STAN] = { .trainerClass = TRAINER_CLASS_GAMER, @@ -2619,8 +2619,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("STAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GamerStan), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_GamerStan), }, [TRAINER_GAMER_1] = { .trainerClass = TRAINER_CLASS_GAMER, @@ -2629,8 +2629,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Gamer1), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Gamer1), }, [TRAINER_GAMER_RICH] = { .trainerClass = TRAINER_CLASS_GAMER, @@ -2639,8 +2639,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RICH"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GamerRich), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_GamerRich), }, [TRAINER_BEAUTY_BRIDGET] = { .trainerClass = TRAINER_CLASS_BEAUTY, @@ -2649,8 +2649,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BRIDGET"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BeautyBridget), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BeautyBridget), }, [TRAINER_BEAUTY_TAMIA] = { .trainerClass = TRAINER_CLASS_BEAUTY, @@ -2659,8 +2659,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TAMIA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BeautyTamia), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BeautyTamia), }, [TRAINER_BEAUTY_LORI] = { .trainerClass = TRAINER_CLASS_BEAUTY, @@ -2669,8 +2669,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LORI"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BeautyLori), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BeautyLori), }, [TRAINER_BEAUTY_LOLA] = { .trainerClass = TRAINER_CLASS_BEAUTY, @@ -2679,8 +2679,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LOLA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BeautyLola), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BeautyLola), }, [TRAINER_BEAUTY_SHEILA] = { .trainerClass = TRAINER_CLASS_BEAUTY, @@ -2689,8 +2689,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SHEILA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BeautySheila), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BeautySheila), }, [TRAINER_SWIMMER_FEMALE_TIFFANY] = { .trainerClass = TRAINER_CLASS_SWIMMER_F, @@ -2699,8 +2699,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TIFFANY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerFemaleTiffany), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerFemaleTiffany), }, [TRAINER_SWIMMER_FEMALE_NORA] = { .trainerClass = TRAINER_CLASS_SWIMMER_F, @@ -2709,8 +2709,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("NORA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerFemaleNora), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerFemaleNora), }, [TRAINER_SWIMMER_FEMALE_MELISSA] = { .trainerClass = TRAINER_CLASS_SWIMMER_F, @@ -2719,8 +2719,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MELISSA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerFemaleMelissa), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerFemaleMelissa), }, [TRAINER_BEAUTY_GRACE] = { .trainerClass = TRAINER_CLASS_BEAUTY, @@ -2729,8 +2729,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRACE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BeautyGrace), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BeautyGrace), }, [TRAINER_BEAUTY_OLIVIA] = { .trainerClass = TRAINER_CLASS_BEAUTY, @@ -2739,8 +2739,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("OLIVIA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BeautyOlivia), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BeautyOlivia), }, [TRAINER_BEAUTY_LAUREN] = { .trainerClass = TRAINER_CLASS_BEAUTY, @@ -2749,8 +2749,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LAUREN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BeautyLauren), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BeautyLauren), }, [TRAINER_SWIMMER_FEMALE_ANYA] = { .trainerClass = TRAINER_CLASS_SWIMMER_F, @@ -2759,8 +2759,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ANYA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerFemaleAnya), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerFemaleAnya), }, [TRAINER_SWIMMER_FEMALE_ALICE] = { .trainerClass = TRAINER_CLASS_SWIMMER_F, @@ -2769,8 +2769,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ALICE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerFemaleAlice), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerFemaleAlice), }, [TRAINER_SWIMMER_FEMALE_CONNIE] = { .trainerClass = TRAINER_CLASS_SWIMMER_F, @@ -2779,8 +2779,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CONNIE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerFemaleConnie), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerFemaleConnie), }, [TRAINER_SWIMMER_FEMALE_SHIRLEY] = { .trainerClass = TRAINER_CLASS_SWIMMER_F, @@ -2789,8 +2789,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SHIRLEY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerFemaleShirley), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerFemaleShirley), }, [TRAINER_PSYCHIC_JOHAN] = { .trainerClass = TRAINER_CLASS_PSYCHIC, @@ -2799,8 +2799,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JOHAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PsychicJohan), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PsychicJohan), }, [TRAINER_PSYCHIC_TYRON] = { .trainerClass = TRAINER_CLASS_PSYCHIC, @@ -2809,8 +2809,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TYRON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PsychicTyron), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PsychicTyron), }, [TRAINER_PSYCHIC_CAMERON] = { .trainerClass = TRAINER_CLASS_PSYCHIC, @@ -2819,8 +2819,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CAMERON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PsychicCameron), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PsychicCameron), }, [TRAINER_PSYCHIC_PRESTON] = { .trainerClass = TRAINER_CLASS_PSYCHIC, @@ -2829,8 +2829,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("PRESTON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PsychicPreston), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PsychicPreston), }, [TRAINER_ROCKER_RANDALL] = { .trainerClass = TRAINER_CLASS_ROCKER, @@ -2839,8 +2839,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RANDALL"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RockerRandall), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RockerRandall), }, [TRAINER_ROCKER_LUCA] = { .trainerClass = TRAINER_CLASS_ROCKER, @@ -2849,8 +2849,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LUCA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RockerLuca), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RockerLuca), }, [TRAINER_JUGGLER_DALTON] = { .trainerClass = TRAINER_CLASS_JUGGLER, @@ -2859,8 +2859,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DALTON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_JugglerDalton), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_JugglerDalton), }, [TRAINER_JUGGLER_NELSON] = { .trainerClass = TRAINER_CLASS_JUGGLER, @@ -2869,8 +2869,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("NELSON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_JugglerNelson), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_JugglerNelson), }, [TRAINER_JUGGLER_KIRK] = { .trainerClass = TRAINER_CLASS_JUGGLER, @@ -2879,8 +2879,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("KIRK"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_JugglerKirk), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_JugglerKirk), }, [TRAINER_JUGGLER_SHAWN] = { .trainerClass = TRAINER_CLASS_JUGGLER, @@ -2889,8 +2889,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SHAWN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_JugglerShawn), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_JugglerShawn), }, [TRAINER_JUGGLER_GREGORY] = { .trainerClass = TRAINER_CLASS_JUGGLER, @@ -2899,8 +2899,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GREGORY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_JugglerGregory), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_JugglerGregory), }, [TRAINER_JUGGLER_EDWARD] = { .trainerClass = TRAINER_CLASS_JUGGLER, @@ -2909,8 +2909,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("EDWARD"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_JugglerEdward), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_JugglerEdward), }, [TRAINER_JUGGLER_KAYDEN] = { .trainerClass = TRAINER_CLASS_JUGGLER, @@ -2919,8 +2919,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("KAYDEN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_JugglerKayden), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_JugglerKayden), }, [TRAINER_JUGGLER_NATE] = { .trainerClass = TRAINER_CLASS_JUGGLER, @@ -2929,8 +2929,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("NATE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_JugglerNate), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_JugglerNate), }, [TRAINER_TAMER_PHIL] = { .trainerClass = TRAINER_CLASS_TAMER, @@ -2939,8 +2939,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("PHIL"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TamerPhil), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TamerPhil), }, [TRAINER_TAMER_EDGAR] = { .trainerClass = TRAINER_CLASS_TAMER, @@ -2949,8 +2949,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("EDGAR"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TamerEdgar), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TamerEdgar), }, [TRAINER_TAMER_JASON] = { .trainerClass = TRAINER_CLASS_TAMER, @@ -2959,8 +2959,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JASON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TamerJason), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TamerJason), }, [TRAINER_TAMER_COLE] = { .trainerClass = TRAINER_CLASS_TAMER, @@ -2969,8 +2969,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("COLE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TamerCole), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TamerCole), }, [TRAINER_TAMER_VINCENT] = { .trainerClass = TRAINER_CLASS_TAMER, @@ -2979,8 +2979,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("VINCENT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TamerVincent), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TamerVincent), }, [TRAINER_TAMER_JOHN] = { .trainerClass = TRAINER_CLASS_TAMER, @@ -2989,8 +2989,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JOHN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TamerJohn), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TamerJohn), }, [TRAINER_BIRD_KEEPER_SEBASTIAN] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -2999,8 +2999,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SEBASTIAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperSebastian), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperSebastian), }, [TRAINER_BIRD_KEEPER_PERRY] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -3009,8 +3009,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("PERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperPerry), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperPerry), }, [TRAINER_BIRD_KEEPER_ROBERT] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -3019,8 +3019,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ROBERT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperRobert), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperRobert), }, [TRAINER_BIRD_KEEPER_DONALD] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -3029,8 +3029,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DONALD"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperDonald), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperDonald), }, [TRAINER_BIRD_KEEPER_BENNY] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -3039,8 +3039,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BENNY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperBenny), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperBenny), }, [TRAINER_BIRD_KEEPER_EDWIN] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -3049,8 +3049,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("EDWIN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperEdwin), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperEdwin), }, [TRAINER_BIRD_KEEPER_CHESTER] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -3059,8 +3059,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CHESTER"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperChester), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperChester), }, [TRAINER_BIRD_KEEPER_WILTON] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -3069,8 +3069,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("WILTON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperWilton), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperWilton), }, [TRAINER_BIRD_KEEPER_RAMIRO] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -3079,8 +3079,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RAMIRO"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperRamiro), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperRamiro), }, [TRAINER_BIRD_KEEPER_JACOB] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -3089,8 +3089,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JACOB"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperJacob), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperJacob), }, [TRAINER_BIRD_KEEPER_ROGER] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -3099,8 +3099,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ROGER"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperRoger), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperRoger), }, [TRAINER_BIRD_KEEPER_REED] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -3109,8 +3109,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("REED"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperReed), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperReed), }, [TRAINER_BIRD_KEEPER_KEITH] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -3119,8 +3119,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("KEITH"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperKeith), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperKeith), }, [TRAINER_BIRD_KEEPER_CARTER] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -3129,8 +3129,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CARTER"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperCarter), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperCarter), }, [TRAINER_BIRD_KEEPER_MITCH] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -3139,8 +3139,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MITCH"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperMitch), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperMitch), }, [TRAINER_BIRD_KEEPER_BECK] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -3149,8 +3149,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BECK"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperBeck), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperBeck), }, [TRAINER_BIRD_KEEPER_MARLON] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -3159,8 +3159,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MARLON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperMarlon), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperMarlon), }, [TRAINER_BLACK_BELT_KOICHI] = { .trainerClass = TRAINER_CLASS_BLACK_BELT, @@ -3169,8 +3169,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("KOICHI"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_BlackBeltKoichi), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BlackBeltKoichi), }, [TRAINER_BLACK_BELT_MIKE] = { .trainerClass = TRAINER_CLASS_BLACK_BELT, @@ -3179,8 +3179,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MIKE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_BlackBeltMike), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BlackBeltMike), }, [TRAINER_BLACK_BELT_HIDEKI] = { .trainerClass = TRAINER_CLASS_BLACK_BELT, @@ -3189,8 +3189,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("HIDEKI"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_BlackBeltHideki), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BlackBeltHideki), }, [TRAINER_BLACK_BELT_AARON] = { .trainerClass = TRAINER_CLASS_BLACK_BELT, @@ -3199,8 +3199,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("AARON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_BlackBeltAaron), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BlackBeltAaron), }, [TRAINER_BLACK_BELT_HITOSHI] = { .trainerClass = TRAINER_CLASS_BLACK_BELT, @@ -3209,8 +3209,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("HITOSHI"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_BlackBeltHitoshi), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BlackBeltHitoshi), }, [TRAINER_BLACK_BELT_ATSUSHI] = { .trainerClass = TRAINER_CLASS_BLACK_BELT, @@ -3219,8 +3219,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ATSUSHI"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_BlackBeltAtsushi), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BlackBeltAtsushi), }, [TRAINER_BLACK_BELT_KIYO] = { .trainerClass = TRAINER_CLASS_BLACK_BELT, @@ -3229,8 +3229,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("KIYO"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_BlackBeltKiyo), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BlackBeltKiyo), }, [TRAINER_BLACK_BELT_TAKASHI] = { .trainerClass = TRAINER_CLASS_BLACK_BELT, @@ -3239,8 +3239,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TAKASHI"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_BlackBeltTakashi), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BlackBeltTakashi), }, [TRAINER_BLACK_BELT_DAISUKE] = { .trainerClass = TRAINER_CLASS_BLACK_BELT, @@ -3249,8 +3249,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DAISUKE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_BlackBeltDaisuke), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BlackBeltDaisuke), }, [TRAINER_RIVAL_OAKS_LAB_SQUIRTLE] = { .trainerClass = TRAINER_CLASS_RIVAL_EARLY, @@ -3259,8 +3259,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RivalOaksLabSquirtle), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RivalOaksLabSquirtle), }, [TRAINER_RIVAL_OAKS_LAB_BULBASAUR] = { .trainerClass = TRAINER_CLASS_RIVAL_EARLY, @@ -3269,8 +3269,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RivalOaksLabBulbasaur), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RivalOaksLabBulbasaur), }, [TRAINER_RIVAL_OAKS_LAB_CHARMANDER] = { .trainerClass = TRAINER_CLASS_RIVAL_EARLY, @@ -3279,8 +3279,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RivalOaksLabCharmander), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RivalOaksLabCharmander), }, [TRAINER_RIVAL_ROUTE22_EARLY_SQUIRTLE] = { .trainerClass = TRAINER_CLASS_RIVAL_EARLY, @@ -3289,8 +3289,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_RivalRoute22EarlySquirtle), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RivalRoute22EarlySquirtle), }, [TRAINER_RIVAL_ROUTE22_EARLY_BULBASAUR] = { .trainerClass = TRAINER_CLASS_RIVAL_EARLY, @@ -3299,8 +3299,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_RivalRoute22EarlyBulbasaur), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RivalRoute22EarlyBulbasaur), }, [TRAINER_RIVAL_ROUTE22_EARLY_CHARMANDER] = { .trainerClass = TRAINER_CLASS_RIVAL_EARLY, @@ -3309,8 +3309,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_RivalRoute22EarlyCharmander), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RivalRoute22EarlyCharmander), }, [TRAINER_RIVAL_CERULEAN_SQUIRTLE] = { .trainerClass = TRAINER_CLASS_RIVAL_EARLY, @@ -3319,8 +3319,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_RivalCeruleanSquirtle), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RivalCeruleanSquirtle), }, [TRAINER_RIVAL_CERULEAN_BULBASAUR] = { .trainerClass = TRAINER_CLASS_RIVAL_EARLY, @@ -3329,8 +3329,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_RivalCeruleanBulbasaur), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RivalCeruleanBulbasaur), }, [TRAINER_RIVAL_CERULEAN_CHARMANDER] = { .trainerClass = TRAINER_CLASS_RIVAL_EARLY, @@ -3339,8 +3339,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_RivalCeruleanCharmander), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RivalCeruleanCharmander), }, [TRAINER_SCIENTIST_TED] = { .trainerClass = TRAINER_CLASS_SCIENTIST, @@ -3349,8 +3349,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TED"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ScientistTed), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ScientistTed), }, [TRAINER_SCIENTIST_CONNOR] = { .trainerClass = TRAINER_CLASS_SCIENTIST, @@ -3359,8 +3359,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CONNOR"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_ScientistConnor), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ScientistConnor), }, [TRAINER_SCIENTIST_JERRY] = { .trainerClass = TRAINER_CLASS_SCIENTIST, @@ -3369,8 +3369,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ScientistJerry), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ScientistJerry), }, [TRAINER_SCIENTIST_JOSE] = { .trainerClass = TRAINER_CLASS_SCIENTIST, @@ -3379,8 +3379,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JOSE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_ScientistJose), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ScientistJose), }, [TRAINER_SCIENTIST_RODNEY] = { .trainerClass = TRAINER_CLASS_SCIENTIST, @@ -3389,8 +3389,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RODNEY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ScientistRodney), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ScientistRodney), }, [TRAINER_SCIENTIST_BEAU] = { .trainerClass = TRAINER_CLASS_SCIENTIST, @@ -3399,8 +3399,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BEAU"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_ScientistBeau), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ScientistBeau), }, [TRAINER_SCIENTIST_TAYLOR] = { .trainerClass = TRAINER_CLASS_SCIENTIST, @@ -3409,8 +3409,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TAYLOR"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_ScientistTaylor), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ScientistTaylor), }, [TRAINER_SCIENTIST_JOSHUA] = { .trainerClass = TRAINER_CLASS_SCIENTIST, @@ -3419,8 +3419,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JOSHUA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ScientistJoshua), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ScientistJoshua), }, [TRAINER_SCIENTIST_PARKER] = { .trainerClass = TRAINER_CLASS_SCIENTIST, @@ -3429,8 +3429,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("PARKER"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ScientistParker), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ScientistParker), }, [TRAINER_SCIENTIST_ED] = { .trainerClass = TRAINER_CLASS_SCIENTIST, @@ -3439,8 +3439,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ED"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_ScientistEd), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ScientistEd), }, [TRAINER_SCIENTIST_TRAVIS] = { .trainerClass = TRAINER_CLASS_SCIENTIST, @@ -3449,8 +3449,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TRAVIS"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ScientistTravis), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ScientistTravis), }, [TRAINER_SCIENTIST_BRAYDON] = { .trainerClass = TRAINER_CLASS_SCIENTIST, @@ -3459,8 +3459,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BRAYDON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ScientistBraydon), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ScientistBraydon), }, [TRAINER_SCIENTIST_IVAN] = { .trainerClass = TRAINER_CLASS_SCIENTIST, @@ -3469,8 +3469,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("IVAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ScientistIvan), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ScientistIvan), }, [TRAINER_BOSS_GIOVANNI] = { .trainerClass = TRAINER_CLASS_BOSS, @@ -3479,8 +3479,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GIOVANNI"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BossGiovanni), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BossGiovanni), }, [TRAINER_BOSS_GIOVANNI_2] = { .trainerClass = TRAINER_CLASS_BOSS, @@ -3489,8 +3489,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GIOVANNI"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BossGiovanni2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BossGiovanni2), }, [TRAINER_LEADER_GIOVANNI] = { .trainerClass = TRAINER_CLASS_LEADER, @@ -3499,8 +3499,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GIOVANNI"), .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_FULL_HEAL}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_LeaderGiovanni), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_LeaderGiovanni), }, [TRAINER_TEAM_ROCKET_GRUNT] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3509,8 +3509,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt), }, [TRAINER_TEAM_ROCKET_GRUNT_2] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3519,8 +3519,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt2), }, [TRAINER_TEAM_ROCKET_GRUNT_3] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3529,8 +3529,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt3), }, [TRAINER_TEAM_ROCKET_GRUNT_4] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3539,8 +3539,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt4), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt4), }, [TRAINER_TEAM_ROCKET_GRUNT_5] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3549,8 +3549,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt5), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt5), }, [TRAINER_TEAM_ROCKET_GRUNT_6] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3559,8 +3559,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt6), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt6), }, [TRAINER_TEAM_ROCKET_GRUNT_7] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3569,8 +3569,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt7), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt7), }, [TRAINER_TEAM_ROCKET_GRUNT_8] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3579,8 +3579,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt8), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt8), }, [TRAINER_TEAM_ROCKET_GRUNT_9] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3589,8 +3589,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt9), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt9), }, [TRAINER_TEAM_ROCKET_GRUNT_10] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3599,8 +3599,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_TeamRocketGrunt10), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt10), }, [TRAINER_TEAM_ROCKET_GRUNT_11] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3609,8 +3609,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt11), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt11), }, [TRAINER_TEAM_ROCKET_GRUNT_12] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3619,8 +3619,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_TeamRocketGrunt12), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt12), }, [TRAINER_TEAM_ROCKET_GRUNT_13] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3629,8 +3629,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_TeamRocketGrunt13), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt13), }, [TRAINER_TEAM_ROCKET_GRUNT_14] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3639,8 +3639,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt14), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt14), }, [TRAINER_TEAM_ROCKET_GRUNT_15] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3649,8 +3649,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt15), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt15), }, [TRAINER_TEAM_ROCKET_GRUNT_16] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3659,8 +3659,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt16), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt16), }, [TRAINER_TEAM_ROCKET_GRUNT_17] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3669,8 +3669,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt17), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt17), }, [TRAINER_TEAM_ROCKET_GRUNT_18] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3679,8 +3679,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt18), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt18), }, [TRAINER_TEAM_ROCKET_GRUNT_19] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3689,8 +3689,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt19), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt19), }, [TRAINER_TEAM_ROCKET_GRUNT_20] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3699,8 +3699,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt20), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt20), }, [TRAINER_TEAM_ROCKET_GRUNT_21] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3709,8 +3709,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt21), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt21), }, [TRAINER_TEAM_ROCKET_GRUNT_22] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3719,8 +3719,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt22), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt22), }, [TRAINER_TEAM_ROCKET_GRUNT_23] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3729,8 +3729,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt23), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt23), }, [TRAINER_TEAM_ROCKET_GRUNT_24] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3739,8 +3739,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt24), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt24), }, [TRAINER_TEAM_ROCKET_GRUNT_25] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3749,8 +3749,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt25), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt25), }, [TRAINER_TEAM_ROCKET_GRUNT_26] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3759,8 +3759,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt26), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt26), }, [TRAINER_TEAM_ROCKET_GRUNT_27] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3769,8 +3769,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt27), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt27), }, [TRAINER_TEAM_ROCKET_GRUNT_28] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3779,8 +3779,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt28), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt28), }, [TRAINER_TEAM_ROCKET_GRUNT_29] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3789,8 +3789,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt29), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt29), }, [TRAINER_TEAM_ROCKET_GRUNT_30] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3799,8 +3799,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt30), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt30), }, [TRAINER_TEAM_ROCKET_GRUNT_31] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3809,8 +3809,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt31), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt31), }, [TRAINER_TEAM_ROCKET_GRUNT_32] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3819,8 +3819,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_TeamRocketGrunt32), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt32), }, [TRAINER_TEAM_ROCKET_GRUNT_33] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3829,8 +3829,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt33), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt33), }, [TRAINER_TEAM_ROCKET_GRUNT_34] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3839,8 +3839,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt34), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt34), }, [TRAINER_TEAM_ROCKET_GRUNT_35] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3849,8 +3849,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt35), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt35), }, [TRAINER_TEAM_ROCKET_GRUNT_36] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3859,8 +3859,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt36), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt36), }, [TRAINER_TEAM_ROCKET_GRUNT_37] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3869,8 +3869,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt37), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt37), }, [TRAINER_TEAM_ROCKET_GRUNT_38] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3879,8 +3879,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt38), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt38), }, [TRAINER_TEAM_ROCKET_GRUNT_39] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3889,8 +3889,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt39), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt39), }, [TRAINER_TEAM_ROCKET_GRUNT_40] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3899,8 +3899,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt40), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt40), }, [TRAINER_TEAM_ROCKET_GRUNT_41] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -3909,8 +3909,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt41), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt41), }, [TRAINER_COOLTRAINER_SAMUEL] = { .trainerClass = TRAINER_CLASS_COOLTRAINER, @@ -3919,8 +3919,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SAMUEL"), .items = {ITEM_SUPER_POTION}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CooltrainerSamuel), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CooltrainerSamuel), }, [TRAINER_COOLTRAINER_GEORGE] = { .trainerClass = TRAINER_CLASS_COOLTRAINER, @@ -3929,8 +3929,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GEORGE"), .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CooltrainerGeorge), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CooltrainerGeorge), }, [TRAINER_COOLTRAINER_COLBY] = { .trainerClass = TRAINER_CLASS_COOLTRAINER, @@ -3939,8 +3939,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("COLBY"), .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CooltrainerColby), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CooltrainerColby), }, [TRAINER_COOLTRAINER_PAUL] = { .trainerClass = TRAINER_CLASS_COOLTRAINER, @@ -3949,8 +3949,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("PAUL"), .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CooltrainerPaul), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CooltrainerPaul), }, [TRAINER_COOLTRAINER_ROLANDO] = { .trainerClass = TRAINER_CLASS_COOLTRAINER, @@ -3959,8 +3959,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ROLANDO"), .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CooltrainerRolando), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CooltrainerRolando), }, [TRAINER_COOLTRAINER_GILBERT] = { .trainerClass = TRAINER_CLASS_COOLTRAINER, @@ -3969,8 +3969,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GILBERT"), .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CooltrainerGilbert), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CooltrainerGilbert), }, [TRAINER_COOLTRAINER_OWEN] = { .trainerClass = TRAINER_CLASS_COOLTRAINER, @@ -3979,8 +3979,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("OWEN"), .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CooltrainerOwen), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CooltrainerOwen), }, [TRAINER_COOLTRAINER_BERKE] = { .trainerClass = TRAINER_CLASS_COOLTRAINER, @@ -3989,8 +3989,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BERKE"), .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CooltrainerBerke), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CooltrainerBerke), }, [TRAINER_COOLTRAINER_YUJI] = { .trainerClass = TRAINER_CLASS_COOLTRAINER, @@ -3999,8 +3999,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("YUJI"), .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CooltrainerYuji), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CooltrainerYuji), }, [TRAINER_COOLTRAINER_WARREN] = { .trainerClass = TRAINER_CLASS_COOLTRAINER, @@ -4009,8 +4009,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("WARREN"), .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CooltrainerWarren), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CooltrainerWarren), }, [TRAINER_COOLTRAINER_MARY] = { .trainerClass = TRAINER_CLASS_COOLTRAINER, @@ -4019,8 +4019,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MARY"), .items = {ITEM_SUPER_POTION}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CooltrainerMary), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CooltrainerMary), }, [TRAINER_COOLTRAINER_CAROLINE] = { .trainerClass = TRAINER_CLASS_COOLTRAINER, @@ -4029,8 +4029,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CAROLINE"), .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CooltrainerCaroline), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CooltrainerCaroline), }, [TRAINER_COOLTRAINER_ALEXA] = { .trainerClass = TRAINER_CLASS_COOLTRAINER, @@ -4039,8 +4039,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ALEXA"), .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CooltrainerAlexa), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CooltrainerAlexa), }, [TRAINER_COOLTRAINER_SHANNON] = { .trainerClass = TRAINER_CLASS_COOLTRAINER, @@ -4049,8 +4049,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SHANNON"), .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CooltrainerShannon), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CooltrainerShannon), }, [TRAINER_COOLTRAINER_NAOMI] = { .trainerClass = TRAINER_CLASS_COOLTRAINER, @@ -4059,8 +4059,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("NAOMI"), .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CooltrainerNaomi), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CooltrainerNaomi), }, [TRAINER_COOLTRAINER_BROOKE] = { .trainerClass = TRAINER_CLASS_COOLTRAINER, @@ -4069,8 +4069,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BROOKE"), .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CooltrainerBrooke), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CooltrainerBrooke), }, [TRAINER_COOLTRAINER_AUSTINA] = { .trainerClass = TRAINER_CLASS_COOLTRAINER, @@ -4079,8 +4079,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("AUSTINA"), .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CooltrainerAustina), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CooltrainerAustina), }, [TRAINER_COOLTRAINER_JULIE] = { .trainerClass = TRAINER_CLASS_COOLTRAINER, @@ -4089,8 +4089,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JULIE"), .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CooltrainerJulie), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CooltrainerJulie), }, [TRAINER_ELITE_FOUR_LORELEI] = { .trainerClass = TRAINER_CLASS_ELITE_FOUR, @@ -4099,8 +4099,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LORELEI"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_EliteFourLorelei), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_EliteFourLorelei), }, [TRAINER_ELITE_FOUR_BRUNO] = { .trainerClass = TRAINER_CLASS_ELITE_FOUR, @@ -4109,8 +4109,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BRUNO"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_EliteFourBruno), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_EliteFourBruno), }, [TRAINER_ELITE_FOUR_AGATHA] = { .trainerClass = TRAINER_CLASS_ELITE_FOUR, @@ -4119,8 +4119,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("AGATHA"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_EliteFourAgatha), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_EliteFourAgatha), }, [TRAINER_ELITE_FOUR_LANCE] = { .trainerClass = TRAINER_CLASS_ELITE_FOUR, @@ -4129,8 +4129,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LANCE"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_EliteFourLance), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_EliteFourLance), }, [TRAINER_LEADER_BROCK] = { .trainerClass = TRAINER_CLASS_LEADER, @@ -4139,8 +4139,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BROCK"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_LeaderBrock), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_LeaderBrock), }, [TRAINER_LEADER_MISTY] = { .trainerClass = TRAINER_CLASS_LEADER, @@ -4149,8 +4149,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MISTY"), .items = {ITEM_SUPER_POTION}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_LeaderMisty), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_LeaderMisty), }, [TRAINER_LEADER_LT_SURGE] = { .trainerClass = TRAINER_CLASS_LEADER, @@ -4159,8 +4159,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LT. SURGE"), .items = {ITEM_SUPER_POTION, ITEM_FULL_HEAL}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_LeaderLtSurge), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_LeaderLtSurge), }, [TRAINER_LEADER_ERIKA] = { .trainerClass = TRAINER_CLASS_LEADER, @@ -4169,8 +4169,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ERIKA"), .items = {ITEM_HYPER_POTION, ITEM_FULL_HEAL}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_LeaderErika), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_LeaderErika), }, [TRAINER_LEADER_KOGA] = { .trainerClass = TRAINER_CLASS_LEADER, @@ -4179,8 +4179,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("KOGA"), .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_FULL_HEAL}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_LeaderKoga), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_LeaderKoga), }, [TRAINER_LEADER_BLAINE] = { .trainerClass = TRAINER_CLASS_LEADER, @@ -4189,8 +4189,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BLAINE"), .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_FULL_HEAL}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_LeaderBlaine), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_LeaderBlaine), }, [TRAINER_LEADER_SABRINA] = { .trainerClass = TRAINER_CLASS_LEADER, @@ -4199,8 +4199,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SABRINA"), .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_FULL_HEAL}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_LeaderSabrina), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_LeaderSabrina), }, [TRAINER_GENTLEMAN_THOMAS] = { .trainerClass = TRAINER_CLASS_GENTLEMAN, @@ -4209,8 +4209,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("THOMAS"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GentlemanThomas), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_GentlemanThomas), }, [TRAINER_GENTLEMAN_ARTHUR] = { .trainerClass = TRAINER_CLASS_GENTLEMAN, @@ -4219,8 +4219,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ARTHUR"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GentlemanArthur), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_GentlemanArthur), }, [TRAINER_GENTLEMAN_TUCKER] = { .trainerClass = TRAINER_CLASS_GENTLEMAN, @@ -4229,8 +4229,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TUCKER"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GentlemanTucker), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_GentlemanTucker), }, [TRAINER_GENTLEMAN_NORTON] = { .trainerClass = TRAINER_CLASS_GENTLEMAN, @@ -4239,8 +4239,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("NORTON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GentlemanNorton), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_GentlemanNorton), }, [TRAINER_GENTLEMAN_WALTER] = { .trainerClass = TRAINER_CLASS_GENTLEMAN, @@ -4249,8 +4249,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("WALTER"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GentlemanWalter), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_GentlemanWalter), }, [TRAINER_RIVAL_SS_ANNE_SQUIRTLE] = { .trainerClass = TRAINER_CLASS_RIVAL_LATE, @@ -4259,8 +4259,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RivalSsAnneSquirtle), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RivalSsAnneSquirtle), }, [TRAINER_RIVAL_SS_ANNE_BULBASAUR] = { .trainerClass = TRAINER_CLASS_RIVAL_LATE, @@ -4269,8 +4269,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RivalSsAnneBulbasaur), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RivalSsAnneBulbasaur), }, [TRAINER_RIVAL_SS_ANNE_CHARMANDER] = { .trainerClass = TRAINER_CLASS_RIVAL_LATE, @@ -4279,8 +4279,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RivalSsAnneCharmander), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RivalSsAnneCharmander), }, [TRAINER_RIVAL_POKEMON_TOWER_SQUIRTLE] = { .trainerClass = TRAINER_CLASS_RIVAL_LATE, @@ -4289,8 +4289,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RivalPokemonTowerSquirtle), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RivalPokemonTowerSquirtle), }, [TRAINER_RIVAL_POKEMON_TOWER_BULBASAUR] = { .trainerClass = TRAINER_CLASS_RIVAL_LATE, @@ -4299,8 +4299,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RivalPokemonTowerBulbasaur), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RivalPokemonTowerBulbasaur), }, [TRAINER_RIVAL_POKEMON_TOWER_CHARMANDER] = { .trainerClass = TRAINER_CLASS_RIVAL_LATE, @@ -4309,8 +4309,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RivalPokemonTowerCharmander), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RivalPokemonTowerCharmander), }, [TRAINER_RIVAL_SILPH_SQUIRTLE] = { .trainerClass = TRAINER_CLASS_RIVAL_LATE, @@ -4319,8 +4319,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RivalSilphSquirtle), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RivalSilphSquirtle), }, [TRAINER_RIVAL_SILPH_BULBASAUR] = { .trainerClass = TRAINER_CLASS_RIVAL_LATE, @@ -4329,8 +4329,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RivalSilphBulbasaur), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RivalSilphBulbasaur), }, [TRAINER_RIVAL_SILPH_CHARMANDER] = { .trainerClass = TRAINER_CLASS_RIVAL_LATE, @@ -4339,8 +4339,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RivalSilphCharmander), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RivalSilphCharmander), }, [TRAINER_RIVAL_ROUTE22_LATE_SQUIRTLE] = { .trainerClass = TRAINER_CLASS_RIVAL_LATE, @@ -4349,8 +4349,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_RivalRoute22LateSquirtle), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RivalRoute22LateSquirtle), }, [TRAINER_RIVAL_ROUTE22_LATE_BULBASAUR] = { .trainerClass = TRAINER_CLASS_RIVAL_LATE, @@ -4359,8 +4359,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_RivalRoute22LateBulbasaur), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RivalRoute22LateBulbasaur), }, [TRAINER_RIVAL_ROUTE22_LATE_CHARMANDER] = { .trainerClass = TRAINER_CLASS_RIVAL_LATE, @@ -4369,8 +4369,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_RivalRoute22LateCharmander), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_RivalRoute22LateCharmander), }, [TRAINER_CHAMPION_FIRST_SQUIRTLE] = { .trainerClass = TRAINER_CLASS_CHAMPION, @@ -4379,8 +4379,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_ChampionFirstSquirtle), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_ChampionFirstSquirtle), }, [TRAINER_CHAMPION_FIRST_BULBASAUR] = { .trainerClass = TRAINER_CLASS_CHAMPION, @@ -4389,8 +4389,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_ChampionFirstBulbasaur), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_ChampionFirstBulbasaur), }, [TRAINER_CHAMPION_FIRST_CHARMANDER] = { .trainerClass = TRAINER_CLASS_CHAMPION, @@ -4399,8 +4399,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_ChampionFirstCharmander), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_ChampionFirstCharmander), }, [TRAINER_CHANNELER_PATRICIA] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4409,8 +4409,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("PATRICIA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ChannelerPatricia), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ChannelerPatricia), }, [TRAINER_CHANNELER_CARLY] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4419,8 +4419,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CARLY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ChannelerCarly), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ChannelerCarly), }, [TRAINER_CHANNELER_HOPE] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4429,8 +4429,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("HOPE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ChannelerHope), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ChannelerHope), }, [TRAINER_CHANNELER_PAULA] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4439,8 +4439,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("PAULA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ChannelerPaula), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ChannelerPaula), }, [TRAINER_CHANNELER_LAUREL] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4449,8 +4449,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LAUREL"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ChannelerLaurel), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ChannelerLaurel), }, [TRAINER_CHANNELER_JODY] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4459,8 +4459,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JODY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ChannelerJody), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ChannelerJody), }, [TRAINER_CHANNELER_TAMMY] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4469,8 +4469,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TAMMY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ChannelerTammy), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ChannelerTammy), }, [TRAINER_CHANNELER_RUTH] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4479,8 +4479,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RUTH"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ChannelerRuth), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ChannelerRuth), }, [TRAINER_CHANNELER_KARINA] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4489,8 +4489,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("KARINA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ChannelerKarina), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ChannelerKarina), }, [TRAINER_CHANNELER_JANAE] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4499,8 +4499,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JANAE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ChannelerJanae), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ChannelerJanae), }, [TRAINER_CHANNELER_ANGELICA] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4509,8 +4509,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ANGELICA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ChannelerAngelica), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ChannelerAngelica), }, [TRAINER_CHANNELER_EMILIA] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4519,8 +4519,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("EMILIA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ChannelerEmilia), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ChannelerEmilia), }, [TRAINER_CHANNELER_JENNIFER] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4529,8 +4529,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JENNIFER"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ChannelerJennifer), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ChannelerJennifer), }, [TRAINER_CHANNELER_1] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4539,8 +4539,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Channeler1), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Channeler1), }, [TRAINER_CHANNELER_2] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4549,8 +4549,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Channeler2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Channeler2), }, [TRAINER_CHANNELER_3] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4559,8 +4559,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Channeler3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Channeler3), }, [TRAINER_CHANNELER_4] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4569,8 +4569,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Channeler4), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Channeler4), }, [TRAINER_CHANNELER_5] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4579,8 +4579,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Channeler5), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Channeler5), }, [TRAINER_CHANNELER_6] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4589,8 +4589,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Channeler6), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Channeler6), }, [TRAINER_CHANNELER_7] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4599,8 +4599,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Channeler7), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Channeler7), }, [TRAINER_CHANNELER_8] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4609,8 +4609,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Channeler8), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Channeler8), }, [TRAINER_CHANNELER_AMANDA] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4619,8 +4619,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("AMANDA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ChannelerAmanda), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ChannelerAmanda), }, [TRAINER_CHANNELER_STACY] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4629,8 +4629,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("STACY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ChannelerStacy), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ChannelerStacy), }, [TRAINER_CHANNELER_TASHA] = { .trainerClass = TRAINER_CLASS_CHANNELER, @@ -4639,8 +4639,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TASHA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ChannelerTasha), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ChannelerTasha), }, [TRAINER_HIKER_JEREMY] = { .trainerClass = TRAINER_CLASS_HIKER, @@ -4649,8 +4649,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JEREMY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_HikerJeremy), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_HikerJeremy), }, [TRAINER_PICNICKER_ALMA] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -4659,8 +4659,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ALMA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerAlma), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerAlma), }, [TRAINER_PICNICKER_SUSIE] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -4669,8 +4669,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SUSIE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerSusie), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerSusie), }, [TRAINER_PICNICKER_VALERIE] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -4679,8 +4679,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("VALERIE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerValerie), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerValerie), }, [TRAINER_PICNICKER_GWEN] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -4689,8 +4689,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GWEN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerGwen), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerGwen), }, [TRAINER_BIKER_VIRGIL] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -4699,8 +4699,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("VIRGIL"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_BikerVirgil), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerVirgil), }, [TRAINER_CAMPER_FLINT] = { .trainerClass = TRAINER_CLASS_CAMPER, @@ -4709,8 +4709,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("FLINT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CamperFlint), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CamperFlint), }, [TRAINER_PICNICKER_MISSY] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -4719,8 +4719,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MISSY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerMissy), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerMissy), }, [TRAINER_PICNICKER_IRENE] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -4729,8 +4729,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("IRENE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerIrene), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerIrene), }, [TRAINER_PICNICKER_DANA] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -4739,8 +4739,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DANA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerDana), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerDana), }, [TRAINER_PICNICKER_ARIANA] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -4749,8 +4749,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ARIANA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerAriana), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerAriana), }, [TRAINER_PICNICKER_LEAH] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -4759,8 +4759,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LEAH"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerLeah), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerLeah), }, [TRAINER_CAMPER_JUSTIN] = { .trainerClass = TRAINER_CLASS_CAMPER, @@ -4769,8 +4769,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JUSTIN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CamperJustin), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CamperJustin), }, [TRAINER_PICNICKER_YAZMIN] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -4779,8 +4779,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("YAZMIN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerYazmin), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerYazmin), }, [TRAINER_PICNICKER_KINDRA] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -4789,8 +4789,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("KINDRA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerKindra), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerKindra), }, [TRAINER_PICNICKER_BECKY] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -4799,8 +4799,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BECKY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerBecky), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerBecky), }, [TRAINER_PICNICKER_CELIA] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -4809,8 +4809,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CELIA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerCelia), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerCelia), }, [TRAINER_GENTLEMAN_BROOKS] = { .trainerClass = TRAINER_CLASS_GENTLEMAN, @@ -4819,8 +4819,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BROOKS"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GentlemanBrooks), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_GentlemanBrooks), }, [TRAINER_GENTLEMAN_LAMAR] = { .trainerClass = TRAINER_CLASS_GENTLEMAN, @@ -4829,8 +4829,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LAMAR"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GentlemanLamar), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_GentlemanLamar), }, [TRAINER_TWINS_ELI_ANNE] = { .trainerClass = TRAINER_CLASS_TWINS, @@ -4839,8 +4839,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ELI & ANNE"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TwinsEliAnne), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TwinsEliAnne), }, [TRAINER_COOL_COUPLE_RAY_TYRA] = { .trainerClass = TRAINER_CLASS_COOL_COUPLE, @@ -4849,8 +4849,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RAY & TYRA"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CoolCoupleRayTyra), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CoolCoupleRayTyra), }, [TRAINER_YOUNG_COUPLE_GIA_JES] = { .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, @@ -4859,8 +4859,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GIA & JES"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungCoupleGiaJes), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungCoupleGiaJes), }, [TRAINER_TWINS_KIRI_JAN] = { .trainerClass = TRAINER_CLASS_TWINS, @@ -4869,8 +4869,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("KIRI & JAN"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TwinsKiriJan), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TwinsKiriJan), }, [TRAINER_CRUSH_KIN_RON_MYA] = { .trainerClass = TRAINER_CLASS_CRUSH_KIN, @@ -4879,8 +4879,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RON & MYA"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_CrushKinRonMya), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CrushKinRonMya), }, [TRAINER_YOUNG_COUPLE_LEA_JED] = { .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, @@ -4889,8 +4889,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LEA & JED"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungCoupleLeaJed), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungCoupleLeaJed), }, [TRAINER_SIS_AND_BRO_LIA_LUC] = { .trainerClass = TRAINER_CLASS_SIS_AND_BRO, @@ -4899,8 +4899,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LIA & LUC"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SisAndBroLiaLuc), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SisAndBroLiaLuc), }, [TRAINER_SIS_AND_BRO_LIL_IAN] = { .trainerClass = TRAINER_CLASS_SIS_AND_BRO, @@ -4909,8 +4909,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LIL & IAN"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SisAndBroLilIan), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SisAndBroLilIan), }, [TRAINER_BUG_CATCHER_3] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -4919,8 +4919,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcher3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcher3), }, [TRAINER_BUG_CATCHER_4] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -4929,8 +4929,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcher4), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcher4), }, [TRAINER_BUG_CATCHER_5] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -4939,8 +4939,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcher5), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcher5), }, [TRAINER_BUG_CATCHER_6] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -4949,8 +4949,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcher6), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcher6), }, [TRAINER_BUG_CATCHER_7] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -4959,8 +4959,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcher7), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcher7), }, [TRAINER_BUG_CATCHER_8] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -4969,8 +4969,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcher8), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcher8), }, [TRAINER_YOUNGSTER_BEN_3] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -4979,8 +4979,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BEN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterBen3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterBen3), }, [TRAINER_YOUNGSTER_BEN_4] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -4989,8 +4989,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BEN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterBen4), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterBen4), }, [TRAINER_YOUNGSTER_CHAD_2] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -4999,8 +4999,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CHAD"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterChad2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterChad2), }, [TRAINER_LASS_RELI_2] = { .trainerClass = TRAINER_CLASS_LASS, @@ -5009,8 +5009,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RELI"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassReli2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassReli2), }, [TRAINER_LASS_RELI_3] = { .trainerClass = TRAINER_CLASS_LASS, @@ -5019,8 +5019,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RELI"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassReli3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassReli3), }, [TRAINER_YOUNGSTER_TIMMY_2] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -5029,8 +5029,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TIMMY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterTimmy2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterTimmy2), }, [TRAINER_YOUNGSTER_TIMMY_3] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -5039,8 +5039,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TIMMY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterTimmy3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterTimmy3), }, [TRAINER_YOUNGSTER_TIMMY_4] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -5049,8 +5049,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TIMMY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterTimmy4), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterTimmy4), }, [TRAINER_YOUNGSTER_CHAD_3] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -5059,8 +5059,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CHAD"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterChad3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterChad3), }, [TRAINER_LASS_JANICE_2] = { .trainerClass = TRAINER_CLASS_LASS, @@ -5069,8 +5069,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JANICE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassJanice2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassJanice2), }, [TRAINER_LASS_JANICE_3] = { .trainerClass = TRAINER_CLASS_LASS, @@ -5079,8 +5079,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JANICE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassJanice3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassJanice3), }, [TRAINER_YOUNGSTER_CHAD_4] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -5089,8 +5089,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CHAD"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterChad4), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterChad4), }, [TRAINER_HIKER_FRANKLIN_2] = { .trainerClass = TRAINER_CLASS_HIKER, @@ -5099,8 +5099,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("FRANKLIN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_HikerFranklin2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_HikerFranklin2), }, [TRAINER_PKMN_PROF_PROF_OAK] = { .trainerClass = TRAINER_CLASS_PKMN_PROF, @@ -5109,8 +5109,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("PROF. OAK"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PkmnProfProfOak), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PkmnProfProfOak), }, [TRAINER_PLAYER_BRENDAN] = { .trainerClass = TRAINER_CLASS_PLAYER, @@ -5119,8 +5119,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BRENDAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PlayerBrendan), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PlayerBrendan), }, [TRAINER_PLAYER_MAY] = { .trainerClass = TRAINER_CLASS_PLAYER, @@ -5129,8 +5129,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MAY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PlayerMay), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PlayerMay), }, [TRAINER_PLAYER_RED] = { .trainerClass = TRAINER_CLASS_PLAYER, @@ -5139,8 +5139,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RED"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PlayerRed), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PlayerRed), }, [TRAINER_PLAYER_LEAF] = { .trainerClass = TRAINER_CLASS_PLAYER, @@ -5149,8 +5149,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LEAF"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PlayerLeaf), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PlayerLeaf), }, [TRAINER_TEAM_ROCKET_GRUNT_42] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -5159,8 +5159,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt42), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt42), }, [TRAINER_PSYCHIC_JACLYN] = { .trainerClass = TRAINER_CLASS_PSYCHIC, @@ -5169,8 +5169,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JACLYN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_PsychicJaclyn), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PsychicJaclyn), }, [TRAINER_CRUSH_GIRL_SHARON] = { .trainerClass = TRAINER_CLASS_CRUSH_GIRL, @@ -5179,8 +5179,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SHARON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_CrushGirlSharon), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CrushGirlSharon), }, [TRAINER_TUBER_AMIRA] = { .trainerClass = TRAINER_CLASS_TUBER, @@ -5189,8 +5189,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("AMIRA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TuberAmira), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TuberAmira), }, [TRAINER_PKMN_BREEDER_ALIZE] = { .trainerClass = TRAINER_CLASS_PKMN_BREEDER, @@ -5199,8 +5199,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ALIZE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PkmnBreederAlize), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PkmnBreederAlize), }, [TRAINER_PKMN_RANGER_NICOLAS] = { .trainerClass = TRAINER_CLASS_PKMN_RANGER, @@ -5209,8 +5209,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("NICOLAS"), .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_PkmnRangerNicolas), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_PkmnRangerNicolas), }, [TRAINER_PKMN_RANGER_MADELINE] = { .trainerClass = TRAINER_CLASS_PKMN_RANGER, @@ -5219,8 +5219,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MADELINE"), .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_PkmnRangerMadeline), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_PkmnRangerMadeline), }, [TRAINER_AROMA_LADY_NIKKI] = { .trainerClass = TRAINER_CLASS_AROMA_LADY, @@ -5229,8 +5229,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("NIKKI"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_AromaLadyNikki), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_AromaLadyNikki), }, [TRAINER_RUIN_MANIAC_STANLY] = { .trainerClass = TRAINER_CLASS_RUIN_MANIAC, @@ -5239,8 +5239,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("STANLY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RuinManiacStanly), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RuinManiacStanly), }, [TRAINER_LADY_JACKI] = { .trainerClass = TRAINER_CLASS_LADY, @@ -5249,8 +5249,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JACKI"), .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_LadyJacki), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LadyJacki), }, [TRAINER_PAINTER_DAISY] = { .trainerClass = TRAINER_CLASS_PAINTER, @@ -5259,8 +5259,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DAISY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_PainterDaisy), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PainterDaisy), }, [TRAINER_BIKER_GOON] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -5269,8 +5269,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GOON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_BikerGoon), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerGoon), }, [TRAINER_BIKER_GOON_2] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -5279,8 +5279,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GOON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_BikerGoon2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerGoon2), }, [TRAINER_BIKER_GOON_3] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -5289,8 +5289,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GOON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BikerGoon3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerGoon3), }, [TRAINER_BIKER_2] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -5299,8 +5299,8 @@ const struct Trainer gTrainers[] = { .trainerName = _(""), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Biker2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_Biker2), }, [TRAINER_BUG_CATCHER_ANTHONY] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -5309,8 +5309,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ANTHONY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcherAnthony), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcherAnthony), }, [TRAINER_BUG_CATCHER_CHARLIE] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -5319,8 +5319,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CHARLIE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcherCharlie), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcherCharlie), }, [TRAINER_TWINS_ELI_ANNE_2] = { .trainerClass = TRAINER_CLASS_TWINS, @@ -5329,8 +5329,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ELI & ANNE"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TwinsEliAnne2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TwinsEliAnne2), }, [TRAINER_YOUNGSTER_JOHNSON] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -5339,8 +5339,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JOHNSON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterJohnson), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterJohnson), }, [TRAINER_BIKER_RICARDO] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -5349,8 +5349,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RICARDO"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_BikerRicardo), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerRicardo), }, [TRAINER_BIKER_JAREN] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -5359,8 +5359,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JAREN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BikerJaren), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerJaren), }, [TRAINER_TEAM_ROCKET_GRUNT_43] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -5369,8 +5369,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt43), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt43), }, [TRAINER_TEAM_ROCKET_GRUNT_44] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -5379,8 +5379,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt44), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt44), }, [TRAINER_TEAM_ROCKET_GRUNT_45] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -5389,8 +5389,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt45), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt45), }, [TRAINER_TEAM_ROCKET_GRUNT_46] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -5399,8 +5399,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt46), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt46), }, [TRAINER_TEAM_ROCKET_GRUNT_47] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -5409,8 +5409,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt47), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt47), }, [TRAINER_TEAM_ROCKET_GRUNT_48] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -5419,8 +5419,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt48), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt48), }, [TRAINER_TEAM_ROCKET_ADMIN] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -5429,8 +5429,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ADMIN"), .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_TeamRocketAdmin), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_TeamRocketAdmin), }, [TRAINER_TEAM_ROCKET_ADMIN_2] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -5439,8 +5439,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ADMIN"), .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_TeamRocketAdmin2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_TeamRocketAdmin2), }, [TRAINER_SCIENTIST_GIDEON] = { .trainerClass = TRAINER_CLASS_SCIENTIST, @@ -5449,8 +5449,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GIDEON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_ScientistGideon), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_ScientistGideon), }, [TRAINER_SWIMMER_FEMALE_AMARA] = { .trainerClass = TRAINER_CLASS_SWIMMER_F, @@ -5459,8 +5459,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("AMARA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerFemaleAmara), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerFemaleAmara), }, [TRAINER_SWIMMER_FEMALE_MARIA] = { .trainerClass = TRAINER_CLASS_SWIMMER_F, @@ -5469,8 +5469,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MARIA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerFemaleMaria), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerFemaleMaria), }, [TRAINER_SWIMMER_FEMALE_ABIGAIL] = { .trainerClass = TRAINER_CLASS_SWIMMER_F, @@ -5479,8 +5479,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ABIGAIL"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerFemaleAbigail), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerFemaleAbigail), }, [TRAINER_SWIMMER_MALE_FINN] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -5489,8 +5489,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("FINN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleFinn), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleFinn), }, [TRAINER_SWIMMER_MALE_GARRETT] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -5499,8 +5499,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GARRETT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleGarrett), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleGarrett), }, [TRAINER_FISHERMAN_TOMMY] = { .trainerClass = TRAINER_CLASS_FISHERMAN, @@ -5509,8 +5509,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TOMMY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_FishermanTommy), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_FishermanTommy), }, [TRAINER_CRUSH_GIRL_TANYA] = { .trainerClass = TRAINER_CLASS_CRUSH_GIRL, @@ -5519,8 +5519,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TANYA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_CrushGirlTanya), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CrushGirlTanya), }, [TRAINER_BLACK_BELT_SHEA] = { .trainerClass = TRAINER_CLASS_BLACK_BELT, @@ -5529,8 +5529,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SHEA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_BlackBeltShea), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BlackBeltShea), }, [TRAINER_BLACK_BELT_HUGH] = { .trainerClass = TRAINER_CLASS_BLACK_BELT, @@ -5539,8 +5539,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("HUGH"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_BlackBeltHugh), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BlackBeltHugh), }, [TRAINER_CAMPER_BRYCE] = { .trainerClass = TRAINER_CLASS_CAMPER, @@ -5549,8 +5549,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BRYCE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CamperBryce), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CamperBryce), }, [TRAINER_PICNICKER_CLAIRE] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -5559,8 +5559,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CLAIRE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerClaire), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerClaire), }, [TRAINER_CRUSH_KIN_MIK_KIA] = { .trainerClass = TRAINER_CLASS_CRUSH_KIN, @@ -5569,8 +5569,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MIK & KIA"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_CrushKinMikKia), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CrushKinMikKia), }, [TRAINER_AROMA_LADY_VIOLET] = { .trainerClass = TRAINER_CLASS_AROMA_LADY, @@ -5579,8 +5579,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("VIOLET"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_AromaLadyViolet), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_AromaLadyViolet), }, [TRAINER_TUBER_ALEXIS] = { .trainerClass = TRAINER_CLASS_TUBER, @@ -5589,8 +5589,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ALEXIS"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TuberAlexis), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TuberAlexis), }, [TRAINER_TWINS_JOY_MEG] = { .trainerClass = TRAINER_CLASS_TWINS, @@ -5599,8 +5599,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JOY & MEG"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TwinsJoyMeg), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TwinsJoyMeg), }, [TRAINER_SWIMMER_FEMALE_TISHA] = { .trainerClass = TRAINER_CLASS_SWIMMER_F, @@ -5609,8 +5609,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TISHA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerFemaleTisha), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerFemaleTisha), }, [TRAINER_PAINTER_CELINA] = { .trainerClass = TRAINER_CLASS_PAINTER, @@ -5619,8 +5619,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CELINA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_PainterCelina), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PainterCelina), }, [TRAINER_PAINTER_RAYNA] = { .trainerClass = TRAINER_CLASS_PAINTER, @@ -5629,8 +5629,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RAYNA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_PainterRayna), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PainterRayna), }, [TRAINER_LADY_GILLIAN] = { .trainerClass = TRAINER_CLASS_LADY, @@ -5639,8 +5639,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GILLIAN"), .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_LadyGillian), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LadyGillian), }, [TRAINER_YOUNGSTER_DESTIN] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -5649,8 +5649,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DESTIN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterDestin), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterDestin), }, [TRAINER_SWIMMER_MALE_TOBY] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -5659,8 +5659,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TOBY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleToby), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleToby), }, [TRAINER_TEAM_ROCKET_GRUNT_49] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -5669,8 +5669,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt49), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt49), }, [TRAINER_TEAM_ROCKET_GRUNT_50] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -5679,8 +5679,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_TeamRocketGrunt50), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt50), }, [TRAINER_TEAM_ROCKET_GRUNT_51] = { .trainerClass = TRAINER_CLASS_TEAM_ROCKET, @@ -5689,8 +5689,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRUNT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TeamRocketGrunt51), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TeamRocketGrunt51), }, [TRAINER_BIRD_KEEPER_MILO] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -5699,8 +5699,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MILO"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperMilo), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperMilo), }, [TRAINER_BIRD_KEEPER_CHAZ] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -5709,8 +5709,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CHAZ"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperChaz), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperChaz), }, [TRAINER_BIRD_KEEPER_HAROLD] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -5719,8 +5719,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("HAROLD"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperHarold), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperHarold), }, [TRAINER_FISHERMAN_TYLOR] = { .trainerClass = TRAINER_CLASS_FISHERMAN, @@ -5729,8 +5729,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TYLOR"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_FishermanTylor), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_FishermanTylor), }, [TRAINER_SWIMMER_MALE_MYMO] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -5739,8 +5739,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MYMO"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleMymo), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleMymo), }, [TRAINER_SWIMMER_FEMALE_NICOLE] = { .trainerClass = TRAINER_CLASS_SWIMMER_F, @@ -5749,8 +5749,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("NICOLE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerFemaleNicole), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerFemaleNicole), }, [TRAINER_SIS_AND_BRO_AVA_GEB] = { .trainerClass = TRAINER_CLASS_SIS_AND_BRO, @@ -5759,8 +5759,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("AVA & GEB"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SisAndBroAvaGeb), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SisAndBroAvaGeb), }, [TRAINER_AROMA_LADY_ROSE] = { .trainerClass = TRAINER_CLASS_AROMA_LADY, @@ -5769,8 +5769,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ROSE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_AromaLadyRose), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_AromaLadyRose), }, [TRAINER_SWIMMER_MALE_SAMIR] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -5779,8 +5779,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SAMIR"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleSamir), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleSamir), }, [TRAINER_SWIMMER_FEMALE_DENISE] = { .trainerClass = TRAINER_CLASS_SWIMMER_F, @@ -5789,8 +5789,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DENISE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerFemaleDenise), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerFemaleDenise), }, [TRAINER_TWINS_MIU_MIA] = { .trainerClass = TRAINER_CLASS_TWINS, @@ -5799,8 +5799,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MIU & MIA"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TwinsMiuMia), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TwinsMiuMia), }, [TRAINER_HIKER_EARL] = { .trainerClass = TRAINER_CLASS_HIKER, @@ -5809,8 +5809,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("EARL"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_HikerEarl), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_HikerEarl), }, [TRAINER_RUIN_MANIAC_FOSTER] = { .trainerClass = TRAINER_CLASS_RUIN_MANIAC, @@ -5819,8 +5819,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("FOSTER"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RuinManiacFoster), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RuinManiacFoster), }, [TRAINER_RUIN_MANIAC_LARRY] = { .trainerClass = TRAINER_CLASS_RUIN_MANIAC, @@ -5829,8 +5829,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LARRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RuinManiacLarry), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RuinManiacLarry), }, [TRAINER_HIKER_DARYL] = { .trainerClass = TRAINER_CLASS_HIKER, @@ -5839,8 +5839,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DARYL"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_HikerDaryl), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_HikerDaryl), }, [TRAINER_POKEMANIAC_HECTOR] = { .trainerClass = TRAINER_CLASS_POKEMANIAC, @@ -5849,8 +5849,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("HECTOR"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PokemaniacHector), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PokemaniacHector), }, [TRAINER_PSYCHIC_DARIO] = { .trainerClass = TRAINER_CLASS_PSYCHIC, @@ -5859,8 +5859,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DARIO"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_PsychicDario), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PsychicDario), }, [TRAINER_PSYCHIC_RODETTE] = { .trainerClass = TRAINER_CLASS_PSYCHIC, @@ -5869,8 +5869,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RODETTE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_PsychicRodette), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PsychicRodette), }, [TRAINER_AROMA_LADY_MIAH] = { .trainerClass = TRAINER_CLASS_AROMA_LADY, @@ -5879,8 +5879,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MIAH"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_AromaLadyMiah), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_AromaLadyMiah), }, [TRAINER_YOUNG_COUPLE_EVE_JON] = { .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, @@ -5889,8 +5889,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("EVE & JON"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungCoupleEveJon), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungCoupleEveJon), }, [TRAINER_JUGGLER_MASON] = { .trainerClass = TRAINER_CLASS_JUGGLER, @@ -5899,8 +5899,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MASON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_JugglerMason), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_JugglerMason), }, [TRAINER_CRUSH_GIRL_CYNDY] = { .trainerClass = TRAINER_CLASS_CRUSH_GIRL, @@ -5909,8 +5909,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CYNDY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_CrushGirlCyndy), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CrushGirlCyndy), }, [TRAINER_CRUSH_GIRL_JOCELYN] = { .trainerClass = TRAINER_CLASS_CRUSH_GIRL, @@ -5919,8 +5919,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JOCELYN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_CrushGirlJocelyn), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CrushGirlJocelyn), }, [TRAINER_TAMER_EVAN] = { .trainerClass = TRAINER_CLASS_TAMER, @@ -5929,8 +5929,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("EVAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TamerEvan), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TamerEvan), }, [TRAINER_POKEMANIAC_MARK_2] = { .trainerClass = TRAINER_CLASS_POKEMANIAC, @@ -5939,8 +5939,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MARK"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PokemaniacMark2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PokemaniacMark2), }, [TRAINER_PKMN_RANGER_LOGAN] = { .trainerClass = TRAINER_CLASS_PKMN_RANGER, @@ -5949,8 +5949,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LOGAN"), .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_PkmnRangerLogan), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_PkmnRangerLogan), }, [TRAINER_PKMN_RANGER_JACKSON] = { .trainerClass = TRAINER_CLASS_PKMN_RANGER, @@ -5959,8 +5959,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JACKSON"), .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_PkmnRangerJackson), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_PkmnRangerJackson), }, [TRAINER_PKMN_RANGER_BETH] = { .trainerClass = TRAINER_CLASS_PKMN_RANGER, @@ -5969,8 +5969,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BETH"), .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PkmnRangerBeth), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_PkmnRangerBeth), }, [TRAINER_PKMN_RANGER_KATELYN] = { .trainerClass = TRAINER_CLASS_PKMN_RANGER, @@ -5979,8 +5979,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("KATELYN"), .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_PkmnRangerKatelyn), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_PkmnRangerKatelyn), }, [TRAINER_COOLTRAINER_LEROY] = { .trainerClass = TRAINER_CLASS_COOLTRAINER, @@ -5989,8 +5989,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LEROY"), .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CooltrainerLeroy), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CooltrainerLeroy), }, [TRAINER_COOLTRAINER_MICHELLE] = { .trainerClass = TRAINER_CLASS_COOLTRAINER, @@ -5999,8 +5999,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MICHELLE"), .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CooltrainerMichelle), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CooltrainerMichelle), }, [TRAINER_COOL_COUPLE_LEX_NYA] = { .trainerClass = TRAINER_CLASS_COOL_COUPLE, @@ -6009,8 +6009,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LEX & NYA"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CoolCoupleLexNya), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CoolCoupleLexNya), }, [TRAINER_RUIN_MANIAC_BRANDON] = { .trainerClass = TRAINER_CLASS_RUIN_MANIAC, @@ -6019,8 +6019,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BRANDON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RuinManiacBrandon), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RuinManiacBrandon), }, [TRAINER_RUIN_MANIAC_BENJAMIN] = { .trainerClass = TRAINER_CLASS_RUIN_MANIAC, @@ -6029,8 +6029,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BENJAMIN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_RuinManiacBenjamin), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RuinManiacBenjamin), }, [TRAINER_PAINTER_EDNA] = { .trainerClass = TRAINER_CLASS_PAINTER, @@ -6039,8 +6039,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("EDNA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_PainterEdna), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PainterEdna), }, [TRAINER_GENTLEMAN_CLIFFORD] = { .trainerClass = TRAINER_CLASS_GENTLEMAN, @@ -6049,8 +6049,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CLIFFORD"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GentlemanClifford), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_GentlemanClifford), }, [TRAINER_LADY_SELPHY] = { .trainerClass = TRAINER_CLASS_LADY, @@ -6059,8 +6059,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SELPHY"), .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_CUSTOM_MOVES(sParty_LadySelphy), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LadySelphy), }, [TRAINER_RUIN_MANIAC_LAWSON] = { .trainerClass = TRAINER_CLASS_RUIN_MANIAC, @@ -6069,8 +6069,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LAWSON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RuinManiacLawson), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RuinManiacLawson), }, [TRAINER_PSYCHIC_LAURA] = { .trainerClass = TRAINER_CLASS_PSYCHIC, @@ -6079,8 +6079,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LAURA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PsychicLaura), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PsychicLaura), }, [TRAINER_PKMN_BREEDER_BETHANY] = { .trainerClass = TRAINER_CLASS_PKMN_BREEDER, @@ -6089,8 +6089,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BETHANY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PkmnBreederBethany), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PkmnBreederBethany), }, [TRAINER_PKMN_BREEDER_ALLISON] = { .trainerClass = TRAINER_CLASS_PKMN_BREEDER, @@ -6099,8 +6099,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ALLISON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PkmnBreederAllison), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PkmnBreederAllison), }, [TRAINER_BUG_CATCHER_GARRET] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -6109,8 +6109,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GARRET"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcherGarret), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcherGarret), }, [TRAINER_BUG_CATCHER_JONAH] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -6119,8 +6119,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JONAH"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcherJonah), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcherJonah), }, [TRAINER_BUG_CATCHER_VANCE] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -6129,8 +6129,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("VANCE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcherVance), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcherVance), }, [TRAINER_YOUNGSTER_NASH] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -6139,8 +6139,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("NASH"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterNash), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterNash), }, [TRAINER_YOUNGSTER_CORDELL] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -6149,8 +6149,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CORDELL"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterCordell), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterCordell), }, [TRAINER_LASS_DALIA] = { .trainerClass = TRAINER_CLASS_LASS, @@ -6159,8 +6159,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DALIA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassDalia), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassDalia), }, [TRAINER_LASS_JOANA] = { .trainerClass = TRAINER_CLASS_LASS, @@ -6169,8 +6169,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JOANA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassJoana), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassJoana), }, [TRAINER_CAMPER_RILEY] = { .trainerClass = TRAINER_CLASS_CAMPER, @@ -6179,8 +6179,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RILEY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CamperRiley), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CamperRiley), }, [TRAINER_PICNICKER_MARCY] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -6189,8 +6189,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MARCY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerMarcy), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerMarcy), }, [TRAINER_RUIN_MANIAC_LAYTON] = { .trainerClass = TRAINER_CLASS_RUIN_MANIAC, @@ -6199,8 +6199,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LAYTON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RuinManiacLayton), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RuinManiacLayton), }, [TRAINER_PICNICKER_KELSEY_2] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -6209,8 +6209,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("KELSEY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerKelsey2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerKelsey2), }, [TRAINER_PICNICKER_KELSEY_3] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -6219,8 +6219,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("KELSEY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerKelsey3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerKelsey3), }, [TRAINER_PICNICKER_KELSEY_4] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -6229,8 +6229,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("KELSEY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerKelsey4), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerKelsey4), }, [TRAINER_CAMPER_RICKY_2] = { .trainerClass = TRAINER_CLASS_CAMPER, @@ -6239,8 +6239,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RICKY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CamperRicky2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CamperRicky2), }, [TRAINER_CAMPER_RICKY_3] = { .trainerClass = TRAINER_CLASS_CAMPER, @@ -6249,8 +6249,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RICKY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CamperRicky3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CamperRicky3), }, [TRAINER_CAMPER_RICKY_4] = { .trainerClass = TRAINER_CLASS_CAMPER, @@ -6259,8 +6259,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RICKY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CamperRicky4), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CamperRicky4), }, [TRAINER_CAMPER_JEFF_2] = { .trainerClass = TRAINER_CLASS_CAMPER, @@ -6269,8 +6269,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JEFF"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CamperJeff2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CamperJeff2), }, [TRAINER_CAMPER_JEFF_3] = { .trainerClass = TRAINER_CLASS_CAMPER, @@ -6279,8 +6279,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JEFF"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CamperJeff3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CamperJeff3), }, [TRAINER_CAMPER_JEFF_4] = { .trainerClass = TRAINER_CLASS_CAMPER, @@ -6289,8 +6289,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JEFF"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CamperJeff4), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CamperJeff4), }, [TRAINER_PICNICKER_ISABELLE_2] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -6299,8 +6299,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ISABELLE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerIsabelle2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerIsabelle2), }, [TRAINER_PICNICKER_ISABELLE_3] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -6309,8 +6309,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ISABELLE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerIsabelle3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerIsabelle3), }, [TRAINER_PICNICKER_ISABELLE_4] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -6319,8 +6319,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ISABELLE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerIsabelle4), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerIsabelle4), }, [TRAINER_YOUNGSTER_YASU_2] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -6329,8 +6329,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("YASU"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterYasu2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterYasu2), }, [TRAINER_YOUNGSTER_YASU_3] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -6339,8 +6339,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("YASU"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterYasu3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterYasu3), }, [TRAINER_ENGINEER_BERNIE_2] = { .trainerClass = TRAINER_CLASS_ENGINEER, @@ -6349,8 +6349,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BERNIE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_EngineerBernie2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_EngineerBernie2), }, [TRAINER_GAMER_DARIAN_2] = { .trainerClass = TRAINER_CLASS_GAMER, @@ -6359,8 +6359,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DARIAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GamerDarian2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_GamerDarian2), }, [TRAINER_CAMPER_CHRIS_2] = { .trainerClass = TRAINER_CLASS_CAMPER, @@ -6369,8 +6369,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CHRIS"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CamperChris2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CamperChris2), }, [TRAINER_CAMPER_CHRIS_3] = { .trainerClass = TRAINER_CLASS_CAMPER, @@ -6379,8 +6379,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CHRIS"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CamperChris3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CamperChris3), }, [TRAINER_CAMPER_CHRIS_4] = { .trainerClass = TRAINER_CLASS_CAMPER, @@ -6389,8 +6389,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CHRIS"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CamperChris4), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CamperChris4), }, [TRAINER_PICNICKER_ALICIA_2] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -6399,8 +6399,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ALICIA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerAlicia2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerAlicia2), }, [TRAINER_PICNICKER_ALICIA_3] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -6409,8 +6409,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ALICIA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerAlicia3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerAlicia3), }, [TRAINER_PICNICKER_ALICIA_4] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -6419,8 +6419,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ALICIA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerAlicia4), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerAlicia4), }, [TRAINER_HIKER_JEREMY_2] = { .trainerClass = TRAINER_CLASS_HIKER, @@ -6429,8 +6429,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JEREMY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_HikerJeremy2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_HikerJeremy2), }, [TRAINER_POKEMANIAC_MARK_3] = { .trainerClass = TRAINER_CLASS_POKEMANIAC, @@ -6439,8 +6439,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MARK"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PokemaniacMark3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PokemaniacMark3), }, [TRAINER_POKEMANIAC_HERMAN_2] = { .trainerClass = TRAINER_CLASS_POKEMANIAC, @@ -6449,8 +6449,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("HERMAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PokemaniacHerman2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PokemaniacHerman2), }, [TRAINER_POKEMANIAC_HERMAN_3] = { .trainerClass = TRAINER_CLASS_POKEMANIAC, @@ -6459,8 +6459,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("HERMAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PokemaniacHerman3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PokemaniacHerman3), }, [TRAINER_HIKER_TRENT_2] = { .trainerClass = TRAINER_CLASS_HIKER, @@ -6469,8 +6469,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TRENT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_HikerTrent2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_HikerTrent2), }, [TRAINER_LASS_MEGAN_2] = { .trainerClass = TRAINER_CLASS_LASS, @@ -6479,8 +6479,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MEGAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassMegan2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassMegan2), }, [TRAINER_LASS_MEGAN_3] = { .trainerClass = TRAINER_CLASS_LASS, @@ -6489,8 +6489,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MEGAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LassMegan3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_LassMegan3), }, [TRAINER_SUPER_NERD_GLENN_2] = { .trainerClass = TRAINER_CLASS_SUPER_NERD, @@ -6499,8 +6499,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GLENN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SuperNerdGlenn2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SuperNerdGlenn2), }, [TRAINER_GAMER_RICH_2] = { .trainerClass = TRAINER_CLASS_GAMER, @@ -6509,8 +6509,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RICH"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GamerRich2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_GamerRich2), }, [TRAINER_BIKER_JAREN_2] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -6519,8 +6519,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JAREN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BikerJaren2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerJaren2), }, [TRAINER_FISHERMAN_ELLIOT_2] = { .trainerClass = TRAINER_CLASS_FISHERMAN, @@ -6529,8 +6529,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ELLIOT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_FishermanElliot2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_FishermanElliot2), }, [TRAINER_ROCKER_LUCA_2] = { .trainerClass = TRAINER_CLASS_ROCKER, @@ -6539,8 +6539,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LUCA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RockerLuca2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RockerLuca2), }, [TRAINER_BEAUTY_SHEILA_2] = { .trainerClass = TRAINER_CLASS_BEAUTY, @@ -6549,8 +6549,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SHEILA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BeautySheila2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BeautySheila2), }, [TRAINER_BIRD_KEEPER_ROBERT_2] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -6559,8 +6559,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ROBERT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperRobert2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperRobert2), }, [TRAINER_BIRD_KEEPER_ROBERT_3] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -6569,8 +6569,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ROBERT"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperRobert3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperRobert3), }, [TRAINER_PICNICKER_SUSIE_2] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -6579,8 +6579,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SUSIE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerSusie2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerSusie2), }, [TRAINER_PICNICKER_SUSIE_3] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -6589,8 +6589,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SUSIE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerSusie3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerSusie3), }, [TRAINER_PICNICKER_SUSIE_4] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -6599,8 +6599,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SUSIE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerSusie4), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerSusie4), }, [TRAINER_BIKER_LUKAS_2] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -6609,8 +6609,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LUKAS"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BikerLukas2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerLukas2), }, [TRAINER_BIRD_KEEPER_BENNY_2] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -6619,8 +6619,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BENNY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperBenny2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperBenny2), }, [TRAINER_BIRD_KEEPER_BENNY_3] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -6629,8 +6629,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BENNY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperBenny3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperBenny3), }, [TRAINER_BIRD_KEEPER_MARLON_2] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -6639,8 +6639,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MARLON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperMarlon2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperMarlon2), }, [TRAINER_BIRD_KEEPER_MARLON_3] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -6649,8 +6649,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MARLON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperMarlon3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperMarlon3), }, [TRAINER_BEAUTY_GRACE_2] = { .trainerClass = TRAINER_CLASS_BEAUTY, @@ -6659,8 +6659,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GRACE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BeautyGrace2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BeautyGrace2), }, [TRAINER_BIRD_KEEPER_CHESTER_2] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -6669,8 +6669,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CHESTER"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperChester2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperChester2), }, [TRAINER_BIRD_KEEPER_CHESTER_3] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -6679,8 +6679,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CHESTER"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperChester3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperChester3), }, [TRAINER_PICNICKER_BECKY_2] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -6689,8 +6689,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BECKY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerBecky2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerBecky2), }, [TRAINER_PICNICKER_BECKY_3] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -6699,8 +6699,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BECKY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerBecky3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerBecky3), }, [TRAINER_PICNICKER_BECKY_4] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -6709,8 +6709,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BECKY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerBecky4), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerBecky4), }, [TRAINER_CRUSH_KIN_RON_MYA_2] = { .trainerClass = TRAINER_CLASS_CRUSH_KIN, @@ -6719,8 +6719,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RON & MYA"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_CrushKinRonMya2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CrushKinRonMya2), }, [TRAINER_CRUSH_KIN_RON_MYA_3] = { .trainerClass = TRAINER_CLASS_CRUSH_KIN, @@ -6729,8 +6729,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RON & MYA"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_CrushKinRonMya3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CrushKinRonMya3), }, [TRAINER_CRUSH_KIN_RON_MYA_4] = { .trainerClass = TRAINER_CLASS_CRUSH_KIN, @@ -6739,8 +6739,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RON & MYA"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_CrushKinRonMya4), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CrushKinRonMya4), }, [TRAINER_BIKER_RUBEN_2] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -6749,8 +6749,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RUBEN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BikerRuben2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerRuben2), }, [TRAINER_CUE_BALL_CAMRON_2] = { .trainerClass = TRAINER_CLASS_CUE_BALL, @@ -6759,8 +6759,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CAMRON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CueBallCamron2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CueBallCamron2), }, [TRAINER_BIKER_JAXON_2] = { .trainerClass = TRAINER_CLASS_BIKER, @@ -6769,8 +6769,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JAXON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BikerJaxon2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BikerJaxon2), }, [TRAINER_CUE_BALL_ISAIAH_2] = { .trainerClass = TRAINER_CLASS_CUE_BALL, @@ -6779,8 +6779,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ISAIAH"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CueBallIsaiah2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CueBallIsaiah2), }, [TRAINER_CUE_BALL_COREY_2] = { .trainerClass = TRAINER_CLASS_CUE_BALL, @@ -6789,8 +6789,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("COREY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CueBallCorey2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CueBallCorey2), }, [TRAINER_BIRD_KEEPER_JACOB_2] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -6799,8 +6799,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JACOB"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperJacob2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperJacob2), }, [TRAINER_BIRD_KEEPER_JACOB_3] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -6809,8 +6809,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JACOB"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperJacob3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperJacob3), }, [TRAINER_SWIMMER_FEMALE_ALICE_2] = { .trainerClass = TRAINER_CLASS_SWIMMER_F, @@ -6819,8 +6819,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ALICE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerFemaleAlice2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerFemaleAlice2), }, [TRAINER_SWIMMER_MALE_DARRIN_2] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -6829,8 +6829,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DARRIN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleDarrin2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleDarrin2), }, [TRAINER_PICNICKER_MISSY_2] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -6839,8 +6839,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MISSY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerMissy2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerMissy2), }, [TRAINER_PICNICKER_MISSY_3] = { .trainerClass = TRAINER_CLASS_PICNICKER, @@ -6849,8 +6849,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MISSY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PicnickerMissy3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PicnickerMissy3), }, [TRAINER_FISHERMAN_WADE_2] = { .trainerClass = TRAINER_CLASS_FISHERMAN, @@ -6859,8 +6859,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("WADE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_FishermanWade2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_FishermanWade2), }, [TRAINER_SWIMMER_MALE_JACK_2] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -6869,8 +6869,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JACK"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleJack2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleJack2), }, [TRAINER_SIS_AND_BRO_LIL_IAN_2] = { .trainerClass = TRAINER_CLASS_SIS_AND_BRO, @@ -6879,8 +6879,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LIL & IAN"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SisAndBroLilIan2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SisAndBroLilIan2), }, [TRAINER_SIS_AND_BRO_LIL_IAN_3] = { .trainerClass = TRAINER_CLASS_SIS_AND_BRO, @@ -6889,8 +6889,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LIL & IAN"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SisAndBroLilIan3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SisAndBroLilIan3), }, [TRAINER_SWIMMER_MALE_FINN_2] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -6899,8 +6899,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("FINN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleFinn2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleFinn2), }, [TRAINER_CRUSH_GIRL_SHARON_2] = { .trainerClass = TRAINER_CLASS_CRUSH_GIRL, @@ -6909,8 +6909,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SHARON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_CrushGirlSharon2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CrushGirlSharon2), }, [TRAINER_CRUSH_GIRL_SHARON_3] = { .trainerClass = TRAINER_CLASS_CRUSH_GIRL, @@ -6919,8 +6919,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SHARON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_CrushGirlSharon3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CrushGirlSharon3), }, [TRAINER_CRUSH_GIRL_TANYA_2] = { .trainerClass = TRAINER_CLASS_CRUSH_GIRL, @@ -6929,8 +6929,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TANYA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_CrushGirlTanya2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CrushGirlTanya2), }, [TRAINER_CRUSH_GIRL_TANYA_3] = { .trainerClass = TRAINER_CLASS_CRUSH_GIRL, @@ -6939,8 +6939,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TANYA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_CrushGirlTanya3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CrushGirlTanya3), }, [TRAINER_BLACK_BELT_SHEA_2] = { .trainerClass = TRAINER_CLASS_BLACK_BELT, @@ -6949,8 +6949,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SHEA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_BlackBeltShea2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BlackBeltShea2), }, [TRAINER_BLACK_BELT_SHEA_3] = { .trainerClass = TRAINER_CLASS_BLACK_BELT, @@ -6959,8 +6959,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SHEA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_BlackBeltShea3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BlackBeltShea3), }, [TRAINER_BLACK_BELT_HUGH_2] = { .trainerClass = TRAINER_CLASS_BLACK_BELT, @@ -6969,8 +6969,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("HUGH"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_BlackBeltHugh2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BlackBeltHugh2), }, [TRAINER_BLACK_BELT_HUGH_3] = { .trainerClass = TRAINER_CLASS_BLACK_BELT, @@ -6979,8 +6979,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("HUGH"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_BlackBeltHugh3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BlackBeltHugh3), }, [TRAINER_CRUSH_KIN_MIK_KIA_2] = { .trainerClass = TRAINER_CLASS_CRUSH_KIN, @@ -6989,8 +6989,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MIK & KIA"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_CrushKinMikKia2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CrushKinMikKia2), }, [TRAINER_CRUSH_KIN_MIK_KIA_3] = { .trainerClass = TRAINER_CLASS_CRUSH_KIN, @@ -6999,8 +6999,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MIK & KIA"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_CrushKinMikKia3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CrushKinMikKia3), }, [TRAINER_TUBER_AMIRA_2] = { .trainerClass = TRAINER_CLASS_TUBER, @@ -7009,8 +7009,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("AMIRA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TuberAmira2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TuberAmira2), }, [TRAINER_TWINS_JOY_MEG_2] = { .trainerClass = TRAINER_CLASS_TWINS, @@ -7019,8 +7019,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JOY & MEG"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TwinsJoyMeg2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TwinsJoyMeg2), }, [TRAINER_PAINTER_RAYNA_2] = { .trainerClass = TRAINER_CLASS_PAINTER, @@ -7029,8 +7029,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RAYNA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_PainterRayna2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PainterRayna2), }, [TRAINER_YOUNGSTER_DESTIN_2] = { .trainerClass = TRAINER_CLASS_YOUNGSTER, @@ -7039,8 +7039,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DESTIN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungsterDestin2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungsterDestin2), }, [TRAINER_PKMN_BREEDER_ALIZE_2] = { .trainerClass = TRAINER_CLASS_PKMN_BREEDER, @@ -7049,8 +7049,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("ALIZE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PkmnBreederAlize2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PkmnBreederAlize2), }, [TRAINER_YOUNG_COUPLE_GIA_JES_2] = { .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, @@ -7059,8 +7059,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GIA & JES"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungCoupleGiaJes2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungCoupleGiaJes2), }, [TRAINER_YOUNG_COUPLE_GIA_JES_3] = { .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, @@ -7069,8 +7069,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("GIA & JES"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_YoungCoupleGiaJes3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_YoungCoupleGiaJes3), }, [TRAINER_BIRD_KEEPER_MILO_2] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -7079,8 +7079,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MILO"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperMilo2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperMilo2), }, [TRAINER_BIRD_KEEPER_CHAZ_2] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -7089,8 +7089,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CHAZ"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperChaz2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperChaz2), }, [TRAINER_BIRD_KEEPER_HAROLD_2] = { .trainerClass = TRAINER_CLASS_BIRD_KEEPER, @@ -7099,8 +7099,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("HAROLD"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BirdKeeperHarold2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BirdKeeperHarold2), }, [TRAINER_SWIMMER_FEMALE_NICOLE_2] = { .trainerClass = TRAINER_CLASS_SWIMMER_F, @@ -7109,8 +7109,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("NICOLE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerFemaleNicole2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerFemaleNicole2), }, [TRAINER_PSYCHIC_JACLYN_2] = { .trainerClass = TRAINER_CLASS_PSYCHIC, @@ -7119,8 +7119,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JACLYN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_PsychicJaclyn2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PsychicJaclyn2), }, [TRAINER_SWIMMER_MALE_SAMIR_2] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -7129,8 +7129,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("SAMIR"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleSamir2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleSamir2), }, [TRAINER_HIKER_EARL_2] = { .trainerClass = TRAINER_CLASS_HIKER, @@ -7139,8 +7139,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("EARL"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_HikerEarl2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_HikerEarl2), }, [TRAINER_RUIN_MANIAC_LARRY_2] = { .trainerClass = TRAINER_CLASS_RUIN_MANIAC, @@ -7149,8 +7149,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LARRY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_RuinManiacLarry2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_RuinManiacLarry2), }, [TRAINER_POKEMANIAC_HECTOR_2] = { .trainerClass = TRAINER_CLASS_POKEMANIAC, @@ -7159,8 +7159,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("HECTOR"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_PokemaniacHector2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PokemaniacHector2), }, [TRAINER_PSYCHIC_DARIO_2] = { .trainerClass = TRAINER_CLASS_PSYCHIC, @@ -7169,8 +7169,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("DARIO"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_PsychicDario2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PsychicDario2), }, [TRAINER_PSYCHIC_RODETTE_2] = { .trainerClass = TRAINER_CLASS_PSYCHIC, @@ -7179,8 +7179,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("RODETTE"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_PsychicRodette2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_PsychicRodette2), }, [TRAINER_JUGGLER_MASON_2] = { .trainerClass = TRAINER_CLASS_JUGGLER, @@ -7189,8 +7189,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MASON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_JugglerMason2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_JugglerMason2), }, [TRAINER_PKMN_RANGER_NICOLAS_2] = { .trainerClass = TRAINER_CLASS_PKMN_RANGER, @@ -7199,8 +7199,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("NICOLAS"), .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_PkmnRangerNicolas2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_PkmnRangerNicolas2), }, [TRAINER_PKMN_RANGER_MADELINE_2] = { .trainerClass = TRAINER_CLASS_PKMN_RANGER, @@ -7209,8 +7209,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MADELINE"), .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_PkmnRangerMadeline2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_PkmnRangerMadeline2), }, [TRAINER_CRUSH_GIRL_CYNDY_2] = { .trainerClass = TRAINER_CLASS_CRUSH_GIRL, @@ -7219,8 +7219,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("CYNDY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_CrushGirlCyndy2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CrushGirlCyndy2), }, [TRAINER_TAMER_EVAN_2] = { .trainerClass = TRAINER_CLASS_TAMER, @@ -7229,8 +7229,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("EVAN"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TamerEvan2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TamerEvan2), }, [TRAINER_PKMN_RANGER_JACKSON_2] = { .trainerClass = TRAINER_CLASS_PKMN_RANGER, @@ -7239,8 +7239,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("JACKSON"), .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_PkmnRangerJackson2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_PkmnRangerJackson2), }, [TRAINER_PKMN_RANGER_KATELYN_2] = { .trainerClass = TRAINER_CLASS_PKMN_RANGER, @@ -7249,8 +7249,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("KATELYN"), .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_PkmnRangerKatelyn2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_PkmnRangerKatelyn2), }, [TRAINER_COOLTRAINER_LEROY_2] = { .trainerClass = TRAINER_CLASS_COOLTRAINER, @@ -7259,8 +7259,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LEROY"), .items = {ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CooltrainerLeroy2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CooltrainerLeroy2), }, [TRAINER_COOLTRAINER_MICHELLE_2] = { .trainerClass = TRAINER_CLASS_COOLTRAINER, @@ -7269,8 +7269,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MICHELLE"), .items = {ITEM_HYPER_POTION}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CooltrainerMichelle2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CooltrainerMichelle2), }, [TRAINER_COOL_COUPLE_LEX_NYA_2] = { .trainerClass = TRAINER_CLASS_COOL_COUPLE, @@ -7279,8 +7279,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LEX & NYA"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_CoolCoupleLexNya2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_CoolCoupleLexNya2), }, [TRAINER_BUG_CATCHER_COLTON_2] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -7289,8 +7289,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("COLTON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcherColton2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcherColton2), }, [TRAINER_BUG_CATCHER_COLTON_3] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -7299,8 +7299,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("COLTON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcherColton3), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcherColton3), }, [TRAINER_BUG_CATCHER_COLTON_4] = { .trainerClass = TRAINER_CLASS_BUG_CATCHER, @@ -7309,8 +7309,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("COLTON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BugCatcherColton4), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_BugCatcherColton4), }, [TRAINER_SWIMMER_MALE_MATTHEW_2] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -7319,8 +7319,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MATTHEW"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleMatthew2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleMatthew2), }, [TRAINER_SWIMMER_MALE_TONY_2] = { .trainerClass = TRAINER_CLASS_SWIMMER_M, @@ -7329,8 +7329,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TONY"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerMaleTony2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerMaleTony2), }, [TRAINER_SWIMMER_FEMALE_MELISSA_2] = { .trainerClass = TRAINER_CLASS_SWIMMER_F, @@ -7339,8 +7339,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("MELISSA"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_SwimmerFemaleMelissa2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_SwimmerFemaleMelissa2), }, [TRAINER_ELITE_FOUR_LORELEI_2] = { .trainerClass = TRAINER_CLASS_ELITE_FOUR, @@ -7349,8 +7349,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LORELEI"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_EliteFourLorelei2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_EliteFourLorelei2), }, [TRAINER_ELITE_FOUR_BRUNO_2] = { .trainerClass = TRAINER_CLASS_ELITE_FOUR, @@ -7359,8 +7359,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("BRUNO"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_EliteFourBruno2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_EliteFourBruno2), }, [TRAINER_ELITE_FOUR_AGATHA_2] = { .trainerClass = TRAINER_CLASS_ELITE_FOUR, @@ -7369,8 +7369,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("AGATHA"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_EliteFourAgatha2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_EliteFourAgatha2), }, [TRAINER_ELITE_FOUR_LANCE_2] = { .trainerClass = TRAINER_CLASS_ELITE_FOUR, @@ -7379,8 +7379,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("LANCE"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_EliteFourLance2), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_EliteFourLance2), }, [TRAINER_CHAMPION_REMATCH_SQUIRTLE] = { .trainerClass = TRAINER_CLASS_CHAMPION, @@ -7389,8 +7389,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_ChampionRematchSquirtle), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_ChampionRematchSquirtle), }, [TRAINER_CHAMPION_REMATCH_BULBASAUR] = { .trainerClass = TRAINER_CLASS_CHAMPION, @@ -7399,8 +7399,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_ChampionRematchBulbasaur), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_ChampionRematchBulbasaur), }, [TRAINER_CHAMPION_REMATCH_CHARMANDER] = { .trainerClass = TRAINER_CLASS_CHAMPION, @@ -7409,8 +7409,8 @@ const struct Trainer gTrainers[] = { .trainerName = _("TERRY"), .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_ChampionRematchCharmander), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .party = TRAINER_PARTY(sParty_ChampionRematchCharmander), }, [TRAINER_CUE_BALL_PAXTON] = { .trainerClass = TRAINER_CLASS_CUE_BALL, @@ -7419,17 +7419,17 @@ const struct Trainer gTrainers[] = { .trainerName = _("PAXTON"), .items = {}, .doubleBattle = FALSE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_CueBallPaxton), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_CueBallPaxton), }, [TRAINER_TEST_BATTLE] = { - .trainerClass = TRAINER_CLASS_LASS, - .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE, - .trainerPic = TRAINER_PIC_LASS, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, .trainerName = _("TESTBATTLE"), .items = {}, .doubleBattle = TRUE, - .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TestBattle), + .aiFlags = AI_FLAG_CHECK_BAD_MOVE, + .party = TRAINER_PARTY(sParty_TestBattle), }, }; diff --git a/src/pokemon.c b/src/pokemon.c index 0a9a86db2..20d386311 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -62,7 +62,6 @@ static EWRAM_DATA struct MonSpritesGfxManager *sMonSpritesGfxManager = NULL; static union PokemonSubstruct *GetSubstruct(struct BoxPokemon *boxMon, u32 personality, u8 substructType); static bool8 IsShinyOtIdPersonality(u32 otId, u32 personality); -static u8 GetNatureFromPersonality(u32 personality); static bool8 PartyMonHasStatus(struct Pokemon *mon, u32 unused, u32 healMask, u8 battleId); static bool8 IsPokemonStorageFull(void); static u8 CopyMonToPC(struct Pokemon *mon); @@ -3982,7 +3981,7 @@ u8 GetNature(struct Pokemon *mon) return GetMonData(mon, MON_DATA_PERSONALITY, NULL) % NUM_NATURES; } -static u8 GetNatureFromPersonality(u32 personality) +u8 GetNatureFromPersonality(u32 personality) { return personality % NUM_NATURES; } @@ -5590,9 +5589,9 @@ u16 FacilityClassToPicIndex(u16 facilityClass) u16 PlayerGenderToFrontTrainerPicId(u8 playerGender) { if (playerGender != MALE) - return FacilityClassToPicIndex(FACILITY_CLASS_MAY); + return FacilityClassToPicIndex(FACILITY_CLASS_LEAF); else - return FacilityClassToPicIndex(FACILITY_CLASS_BRENDAN); + return FacilityClassToPicIndex(FACILITY_CLASS_RED); } void HandleSetPokedexFlag(u16 nationalNum, u8 caseId, u32 personality) diff --git a/src/union_room.c b/src/union_room.c index a33af4f3a..4748f037d 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -4280,7 +4280,7 @@ static void ViewURoomPartnerTrainerCard(u8 *unused, struct WirelessLink_URoom * DynamicPlaceholderTextUtil_Reset(); - StringCopy(uroom->trainerCardStrBuffer[0], gTrainerClassNames[GetUnionRoomTrainerClass()]); + StringCopy(uroom->trainerCardStrBuffer[0], gTrainerClasses[GetUnionRoomTrainerClass()].name); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, uroom->trainerCardStrBuffer[0]); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, trainerCard->rse.playerName);