summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/battle_main.c4
-rw-r--r--src/battle_script_commands.c4
-rw-r--r--src/battle_setup.c6
-rw-r--r--src/battle_util.c8
-rw-r--r--src/cereader_tool.c26
-rw-r--r--src/credits.c4
-rw-r--r--src/data.c288
-rw-r--r--src/data/pokemon_graphics/back_pic_coordinates.h2204
-rw-r--r--src/data/pokemon_graphics/back_pic_table.h443
-rw-r--r--src/data/pokemon_graphics/enemy_mon_elevation.h65
-rw-r--r--src/data/pokemon_graphics/front_pic_table.h443
-rw-r--r--src/data/pokemon_graphics/palette_table.h443
-rw-r--r--src/data/pokemon_graphics/shiny_palette_table.h443
-rw-r--r--src/data/text/move_names.h357
-rw-r--r--src/data/text/species_names.h414
-rw-r--r--src/data/text/trainer_class_names.h109
-rw-r--r--src/data/trainer_graphics/back_pic_anims.h90
-rw-r--r--src/data/trainer_graphics/back_pic_tables.h26
-rw-r--r--src/data/trainer_graphics/front_pic_anims.h891
-rw-r--r--src/data/trainer_graphics/front_pic_tables.h455
-rw-r--r--src/data/trainer_parties.h11557
-rw-r--r--src/data/trainers.h8918
-rw-r--r--src/event_data.c325
-rw-r--r--src/heal_location.c6
-rw-r--r--src/help_system_812B1E0.c52
-rw-r--r--src/item.c4
-rw-r--r--src/item_use.c10
-rw-r--r--src/link.c2
-rw-r--r--src/mail.c14
-rw-r--r--src/main_menu.c8
-rw-r--r--src/menews_jisan.c75
-rw-r--r--src/mevent.c10
-rw-r--r--src/mevent_8145654.c10
-rw-r--r--src/mystery_gift_menu.c6
-rw-r--r--src/new_game.c5
-rw-r--r--src/oak_speech.c8
-rw-r--r--src/pokemon.c22
-rw-r--r--src/pokemon_icon.c1284
-rw-r--r--src/quest_log.c1224
-rw-r--r--src/renewable_hidden_items.c609
-rw-r--r--src/scrcmd.c4
-rw-r--r--src/start_menu.c6
-rw-r--r--src/teachy_tv.c2
-rw-r--r--src/trainer_tower.c1271
-rw-r--r--src/unk_8159F40.c133
-rw-r--r--src/vs_seeker.c971
-rw-r--r--src/wild_pokemon_area.c2
47 files changed, 31276 insertions, 1985 deletions
diff --git a/src/battle_main.c b/src/battle_main.c
index 2966866c3..f8d3623a9 100644
--- a/src/battle_main.c
+++ b/src/battle_main.c
@@ -3382,7 +3382,7 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves)
}
// badge boost
if (!(gBattleTypeFlags & BATTLE_TYPE_LINK)
- && FlagGet(FLAG_0x822)
+ && FlagGet(FLAG_BADGE03_GET)
&& GetBattlerSide(battler1) == B_SIDE_PLAYER)
speedBattler1 = (speedBattler1 * 110) / 100;
if (holdEffect == HOLD_EFFECT_MACHO_BRACE)
@@ -3407,7 +3407,7 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves)
}
// badge boost
if (!(gBattleTypeFlags & BATTLE_TYPE_LINK)
- && FlagGet(FLAG_0x822)
+ && FlagGet(FLAG_BADGE03_GET)
&& GetBattlerSide(battler2) == B_SIDE_PLAYER)
speedBattler2 = (speedBattler2 * 110) / 100;
if (holdEffect == HOLD_EFFECT_MACHO_BRACE)
diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c
index aec6eec8e..179a0ee79 100644
--- a/src/battle_script_commands.c
+++ b/src/battle_script_commands.c
@@ -5230,7 +5230,7 @@ static void atk5D_getmoneyreward(void)
}
else
{
- moneyReward = sub_8054C04();
+ moneyReward = ComputeWhiteOutMoneyLoss();
}
PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff1, 5, moneyReward);
if (moneyReward)
@@ -5412,7 +5412,7 @@ static void atk5D_getmoneyreward(void)
bl AddMoney\n\
b _08025A00\n\
_080259FA:\n\
- bl sub_8054C04\n\
+ bl ComputeWhiteOutMoneyLoss\n\
adds r4, r0, 0\n\
_08025A00:\n\
ldr r1, _08025A40 @ =gBattleTextBuff1\n\
diff --git a/src/battle_setup.c b/src/battle_setup.c
index 5aff0acb3..4e2e48f3b 100644
--- a/src/battle_setup.c
+++ b/src/battle_setup.c
@@ -405,7 +405,7 @@ static void sub_807FB08(void)
sub_805C780();
gMain.savedCallback = sub_807FAF8;
SavePlayerParty();
- sub_8159F40();
+ InitPokedudePartyAndOpponent();
CreateBattleStartTask(GetWildBattleTransition(), 0);
}
@@ -977,7 +977,7 @@ const u8 *BattleSetup_GetScriptAddrAfterBattle(void)
if (sTrainerBattleEndScript != NULL)
return sTrainerBattleEndScript;
else
- return gUnknown_81C555B;
+ return EventScript_1C555B;
}
const u8 *BattleSetup_GetTrainerPostBattleScript(void)
@@ -985,7 +985,7 @@ const u8 *BattleSetup_GetTrainerPostBattleScript(void)
if (sTrainerABattleScriptRetAddr != NULL)
return sTrainerABattleScriptRetAddr;
else
- return gUnknown_81C555B;
+ return EventScript_1C555B;
}
void ShowTrainerCantBattleSpeech(void)
diff --git a/src/battle_util.c b/src/battle_util.c
index b8360758c..de6419ecf 100644
--- a/src/battle_util.c
+++ b/src/battle_util.c
@@ -3116,14 +3116,14 @@ u8 IsMonDisobedient(void)
return 0;
if (HasObedientBitSet(gBattlerAttacker)) // only if species is Mew or Deoxys
{
- if (!IsOtherTrainer(gBattleMons[gBattlerAttacker].otId, gBattleMons[gBattlerAttacker].otName) || FlagGet(FLAG_0x827))
+ if (!IsOtherTrainer(gBattleMons[gBattlerAttacker].otId, gBattleMons[gBattlerAttacker].otName) || FlagGet(FLAG_BADGE08_GET))
return 0;
obedienceLevel = 10;
- if (FlagGet(FLAG_0x821))
+ if (FlagGet(FLAG_BADGE02_GET))
obedienceLevel = 30;
- if (FlagGet(FLAG_0x823))
+ if (FlagGet(FLAG_BADGE04_GET))
obedienceLevel = 50;
- if (FlagGet(FLAG_0x825))
+ if (FlagGet(FLAG_BADGE06_GET))
obedienceLevel = 70;
}
if (gBattleMons[gBattlerAttacker].level <= obedienceLevel)
diff --git a/src/cereader_tool.c b/src/cereader_tool.c
index 1b25f4828..066702fe0 100644
--- a/src/cereader_tool.c
+++ b/src/cereader_tool.c
@@ -9,18 +9,18 @@ u8 sub_815D654(void)
return (gSaveBlock1Ptr->unkArray[0].unk9 + 1) % 256;
}
-static bool32 ValidateTrainerTowerTrainer(struct TrainerTowerTrainer * trainer)
+static bool32 ValidateTrainerTowerTrainer(struct TrainerTowerFloor * floor)
{
- if (trainer->unk_001 < 1 || trainer->unk_001 > 8)
+ if (floor->floorIdx < 1 || floor->floorIdx > 8)
return FALSE;
- if (trainer->unk_002 > 2)
+ if (floor->challengeType > 2)
return FALSE;
- if (CalcByteArraySum((const u8 *)trainer, offsetof(typeof(*trainer), checksum)) != trainer->checksum)
+ if (CalcByteArraySum((const u8 *)floor, offsetof(typeof(*floor), checksum)) != floor->checksum)
return FALSE;
return TRUE;
}
-bool32 ValidateTrainerTowerData(struct TrainerTowerData * ttdata)
+bool32 ValidateTrainerTowerData(struct EReaderTrainerHillSet * ttdata)
{
u32 count = ttdata->count;
s32 i;
@@ -28,18 +28,18 @@ bool32 ValidateTrainerTowerData(struct TrainerTowerData * ttdata)
return FALSE;
for (i = 0; i < count; i++)
{
- if (!ValidateTrainerTowerTrainer(&ttdata->trainers[i]))
+ if (!ValidateTrainerTowerTrainer(&ttdata->floors[i]))
return FALSE;
}
- if (CalcByteArraySum((const u8 *)ttdata->trainers, count * sizeof(ttdata->trainers[0])) != ttdata->checksum)
+ if (CalcByteArraySum((const u8 *)ttdata->floors, count * sizeof(ttdata->floors[0])) != ttdata->checksum)
return FALSE;
return TRUE;
}
-#define SEC30_SIZE (offsetof(struct TrainerTowerData, trainers[4]))
-#define SEC31_SIZE (sizeof(struct TrainerTowerData) - SEC30_SIZE)
+#define SEC30_SIZE (offsetof(struct EReaderTrainerHillSet, floors[4]))
+#define SEC31_SIZE (sizeof(struct EReaderTrainerHillSet) - SEC30_SIZE)
-static bool32 CEReaderTool_SaveTrainerTower_r(struct TrainerTowerData * ttdata, u8 * buffer)
+static bool32 CEReaderTool_SaveTrainerTower_r(struct EReaderTrainerHillSet * ttdata, u8 * buffer)
{
AGB_ASSERT_EX(ttdata->dummy == 0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/cereader_tool.c", 198);
AGB_ASSERT_EX(ttdata->id == 0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/cereader_tool.c", 199)
@@ -56,7 +56,7 @@ static bool32 CEReaderTool_SaveTrainerTower_r(struct TrainerTowerData * ttdata,
return TRUE;
}
-bool32 CEReaderTool_SaveTrainerTower(struct TrainerTowerData * ttdata)
+bool32 CEReaderTool_SaveTrainerTower(struct EReaderTrainerHillSet * ttdata)
{
u8 * buffer = AllocZeroed(0x1000);
bool32 result = CEReaderTool_SaveTrainerTower_r(ttdata, buffer);
@@ -64,7 +64,7 @@ bool32 CEReaderTool_SaveTrainerTower(struct TrainerTowerData * ttdata)
return result;
}
-static bool32 CEReaderTool_LoadTrainerTower_r(struct TrainerTowerData * ttdata, void * buffer)
+static bool32 CEReaderTool_LoadTrainerTower_r(struct EReaderTrainerHillSet * ttdata, void * buffer)
{
if (TryCopySpecialSaveSection(30, buffer) != 1)
return FALSE;
@@ -79,7 +79,7 @@ static bool32 CEReaderTool_LoadTrainerTower_r(struct TrainerTowerData * ttdata,
return TRUE;
}
-bool32 CEReaderTool_LoadTrainerTower(struct TrainerTowerData * ttdata)
+bool32 CEReaderTool_LoadTrainerTower(struct EReaderTrainerHillSet * ttdata)
{
void * buffer = AllocZeroed(0x1000);
bool32 success = CEReaderTool_LoadTrainerTower_r(ttdata, buffer);
diff --git a/src/credits.c b/src/credits.c
index 270a4d045..ad78d875c 100644
--- a/src/credits.c
+++ b/src/credits.c
@@ -750,7 +750,7 @@ static void CB2_Credits(void)
sCreditsMgr->unk_1D++;
break;
case 2:
- FlagClear(0x4000);
+ FlagClear(FLAG_SPECIAL_FLAG_0x4000);
gDisableMapMusicChangeOnMapLoad = MUSIC_DISABLE_OFF;
Free(sCreditsMgr);
SoftReset(RESET_ALL);
@@ -797,7 +797,7 @@ static bool32 DoOverworldMapScrollScene(UNUSED u8 unused)
switch (sCreditsMgr->subseqno)
{
case 0:
- FlagSet(0x4000);
+ FlagSet(FLAG_SPECIAL_FLAG_0x4000);
gDisableMapMusicChangeOnMapLoad = MUSIC_DISABLE_KEEP;
sCreditsMgr->ovwldseqno = 0;
sCreditsMgr->subseqno++;
diff --git a/src/data.c b/src/data.c
index 16bee8db7..dddeeac51 100644
--- a/src/data.c
+++ b/src/data.c
@@ -8,5 +8,293 @@
#include "constants/species.h"
#include "constants/trainers.h"
#include "constants/battle_ai.h"
+#include "constants/trainer_classes.h"
+
+const struct SpriteFrameImage gUnknown_8234698[] =
+{
+ gHeap + 0x8000, 0x800,
+ gHeap + 0x8800, 0x800,
+ gHeap + 0x9000, 0x800,
+ gHeap + 0x9800, 0x800,
+};
+
+const struct SpriteFrameImage gUnknown_82346B8[] =
+{
+ gHeap + 0xA000, 0x800,
+ gHeap + 0xA800, 0x800,
+ gHeap + 0xB000, 0x800,
+ gHeap + 0xB800, 0x800,
+};
+
+const struct SpriteFrameImage gUnknown_82346D8[] =
+{
+ gHeap + 0xC000, 0x800,
+ gHeap + 0xC800, 0x800,
+ gHeap + 0xD000, 0x800,
+ gHeap + 0xD800, 0x800,
+};
+
+const struct SpriteFrameImage gUnknown_82346F8[] =
+{
+ gHeap + 0xE000, 0x800,
+ gHeap + 0xE800, 0x800,
+ gHeap + 0xF000, 0x800,
+ gHeap + 0xF800, 0x800,
+};
+
+const struct SpriteFrameImage gTrainerBackPicTable_Red[] =
+{
+ gTrainerBackPic_Red, 0x0800,
+ gTrainerBackPic_Red + 0x0800, 0x0800,
+ gTrainerBackPic_Red + 0x1000, 0x0800,
+ gTrainerBackPic_Red + 0x1800, 0x0800,
+ gTrainerBackPic_Red + 0x2000, 0x0800,
+};
+
+const struct SpriteFrameImage gTrainerBackPicTable_Leaf[] =
+{
+ gTrainerBackPic_Leaf, 0x0800,
+ gTrainerBackPic_Leaf + 0x0800, 0x0800,
+ gTrainerBackPic_Leaf + 0x1000, 0x0800,
+ gTrainerBackPic_Leaf + 0x1800, 0x0800,
+ gTrainerBackPic_Leaf + 0x2000, 0x0800,
+};
+
+const struct SpriteFrameImage gTrainerBackPicTable_PokeDude[] =
+{
+ gTrainerBackPic_PokeDude, 0x0800,
+ gTrainerBackPic_PokeDude + 0x0800, 0x0800,
+ gTrainerBackPic_PokeDude + 0x1000, 0x0800,
+ gTrainerBackPic_PokeDude + 0x1800, 0x0800,
+};
+
+const struct SpriteFrameImage gTrainerBackPicTable_OldMan[] =
+{
+ gTrainerBackPic_OldMan, 0x0800,
+ gTrainerBackPic_OldMan + 0x0800, 0x0800,
+ gTrainerBackPic_OldMan + 0x1000, 0x0800,
+ gTrainerBackPic_OldMan + 0x1800, 0x0800,
+};
+
+const struct SpriteFrameImage gTrainerBackPicTable_RSBrendan[] =
+{
+ gTrainerBackPic_RSBrendan, 0x0800,
+ gTrainerBackPic_RSBrendan + 0x0800, 0x0800,
+ gTrainerBackPic_RSBrendan + 0x1000, 0x0800,
+ gTrainerBackPic_RSBrendan + 0x1800, 0x0800,
+};
+
+const struct SpriteFrameImage gTrainerBackPicTable_RSMay[] =
+{
+ gTrainerBackPic_RSMay, 0x0800,
+ gTrainerBackPic_RSMay + 0x0800, 0x0800,
+ gTrainerBackPic_RSMay + 0x1000, 0x0800,
+ gTrainerBackPic_RSMay + 0x1800, 0x0800,
+};
+
+static const union AnimCmd sAnim_GeneralFrame0[] =
+{
+ ANIMCMD_FRAME(0, 0),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd sAnim_GeneralFrame3[] =
+{
+ ANIMCMD_FRAME(3, 0),
+ ANIMCMD_END,
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_82347F8[] =
+{
+ AFFINEANIMCMD_FRAME(0x0100, 0x0100, 0x00, 0x00),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_8234808[] =
+{
+ AFFINEANIMCMD_FRAME(0xff00, 0x0100, 0x00, 0x00),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_8234818[] =
+{
+ AFFINEANIMCMD_FRAME(0x0028, 0x0028, 0x00, 0x00),
+ AFFINEANIMCMD_FRAME(0x0012, 0x0012, 0x00, 0x0c),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_8234830[] =
+{
+ AFFINEANIMCMD_FRAME(0xfffe, 0xfffe, 0x00, 0x12),
+ AFFINEANIMCMD_FRAME(0xfff0, 0xfff0, 0x00, 0x0f),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_8234848[] =
+{
+ AFFINEANIMCMD_FRAME(0x00a0, 0x0100, 0x00, 0x00),
+ AFFINEANIMCMD_FRAME(0x0004, 0x0000, 0x00, 0x08),
+ AFFINEANIMCMD_FRAME(0xfffc, 0x0000, 0x00, 0x08),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_8234868[] =
+{
+ AFFINEANIMCMD_FRAME(0x0002, 0x0002, 0x00, 0x14),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_8234878[] =
+{
+ AFFINEANIMCMD_FRAME(0xfffe, 0xfffe, 0x00, 0x14),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_8234888[] =
+{
+ AFFINEANIMCMD_FRAME(0x0100, 0x0100, 0x00, 0000),
+ AFFINEANIMCMD_FRAME(0xfff0, 0xfff0, 0x00, 0x09),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_82348A0[] =
+{
+ AFFINEANIMCMD_FRAME(0x0004, 0x0004, 0x00, 0x3f),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_82348B0[] =
+{
+ AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfd, 0x05),
+ AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x03, 0x05),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_82348C8[] =
+{
+ gSpriteAffineAnim_82347F8,
+ gSpriteAffineAnim_8234818,
+ gSpriteAffineAnim_8234830,
+ gSpriteAffineAnim_8234848,
+ gSpriteAffineAnim_8234868,
+ gSpriteAffineAnim_8234878,
+ gSpriteAffineAnim_82348A0,
+ gSpriteAffineAnim_82348B0,
+ gSpriteAffineAnim_8234888,
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_82348EC[] =
+{
+ AFFINEANIMCMD_FRAME(0xfffc, 0xfffc, 0x04, 0x3f),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_82348FC[] =
+{
+ AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x03, 0x05),
+ AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfd, 0x05),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_8234914[] =
+{
+ AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0xfb, 0x14),
+ AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x00, 0x14),
+ AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x05, 0x14),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_8234934[] =
+{
+ AFFINEANIMCMD_FRAME(0x0000, 0x0000, 0x09, 0x6e),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_8234944[] =
+{
+ gSpriteAffineAnim_82347F8,
+ gSpriteAffineAnim_8234818,
+ gSpriteAffineAnim_8234830,
+ gSpriteAffineAnim_8234848,
+ gSpriteAffineAnim_8234868,
+ gSpriteAffineAnim_8234878,
+ gSpriteAffineAnim_82348EC,
+ gSpriteAffineAnim_82348FC,
+ gSpriteAffineAnim_8234914,
+ gSpriteAffineAnim_8234888,
+ gSpriteAffineAnim_8234934,
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_82349470[] =
+{
+ gSpriteAffineAnim_8234808,
+ gSpriteAffineAnim_8234818,
+ gSpriteAffineAnim_8234830,
+ gSpriteAffineAnim_8234848,
+ gSpriteAffineAnim_8234868,
+ gSpriteAffineAnim_8234878,
+ gSpriteAffineAnim_82348EC,
+ gSpriteAffineAnim_82348FC,
+ gSpriteAffineAnim_8234914,
+ gSpriteAffineAnim_8234888,
+ gSpriteAffineAnim_8234934,
+};
+
+static const union AnimCmd gSpriteAnim_823499C[] =
+{
+ ANIMCMD_FRAME(0, 0),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_82349A4[] =
+{
+ ANIMCMD_FRAME(1, 0),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_82349AC[] =
+{
+ ANIMCMD_FRAME(2, 0),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_82349B4[] =
+{
+ ANIMCMD_FRAME(3, 0),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_82349BC[] =
+{
+ gSpriteAnim_823499C,
+ gSpriteAnim_82349A4,
+ gSpriteAnim_82349AC,
+ gSpriteAnim_82349B4,
+};
+
+#define SPECIES_SPRITE(species, sprite) [SPECIES_##species] = {sprite, 0x800, SPECIES_##species}
+#define SPECIES_PAL(species, pal) [SPECIES_##species] = {pal, SPECIES_##species}
+#define SPECIES_SHINY_PAL(species, pal) [SPECIES_##species] = {pal, SPECIES_##species + SPECIES_SHINY_TAG}
+
+#define TRAINER_SPRITE(trainerPic, sprite, size) [TRAINER_PIC_##trainerPic] = {sprite, size, TRAINER_PIC_##trainerPic}
+#define TRAINER_PAL(trainerPic, pal) [TRAINER_PIC_##trainerPic] = {pal, TRAINER_PIC_##trainerPic}
#include "data/pokemon_graphics/front_pic_coordinates.h"
+#include "data/pokemon_graphics/front_pic_table.h"
+#include "data/pokemon_graphics/back_pic_coordinates.h"
+#include "data/pokemon_graphics/back_pic_table.h"
+#include "data/pokemon_graphics/palette_table.h"
+#include "data/pokemon_graphics/shiny_palette_table.h"
+
+#include "data/trainer_graphics/front_pic_anims.h"
+#include "data/trainer_graphics/front_pic_tables.h"
+#include "data/trainer_graphics/back_pic_anims.h"
+#include "data/trainer_graphics/back_pic_tables.h"
+
+#include "data/pokemon_graphics/enemy_mon_elevation.h"
+
+#include "data/trainer_parties.h"
+#include "data/text/trainer_class_names.h"
+#include "data/trainers.h"
+#include "data/text/species_names.h"
+#include "data/text/move_names.h"
diff --git a/src/data/pokemon_graphics/back_pic_coordinates.h b/src/data/pokemon_graphics/back_pic_coordinates.h
new file mode 100644
index 000000000..b8a96febc
--- /dev/null
+++ b/src/data/pokemon_graphics/back_pic_coordinates.h
@@ -0,0 +1,2204 @@
+const struct MonCoords gMonBackPicCoords[] =
+{
+ [SPECIES_NONE] =
+ {
+ .size = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_BULBASAUR] =
+ {
+ .size = 0x64,
+ .y_offset = 0x10,
+ },
+ [SPECIES_IVYSAUR] =
+ {
+ .size = 0x76,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_VENUSAUR] =
+ {
+ .size = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_CHARMANDER] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_CHARMELEON] =
+ {
+ .size = 0x77,
+ .y_offset = 0x07,
+ },
+ [SPECIES_CHARIZARD] =
+ {
+ .size = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_SQUIRTLE] =
+ {
+ .size = 0x75,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_WARTORTLE] =
+ {
+ .size = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_BLASTOISE] =
+ {
+ .size = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_CATERPIE] =
+ {
+ .size = 0x55,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_METAPOD] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_BUTTERFREE] =
+ {
+ .size = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_WEEDLE] =
+ {
+ .size = 0x56,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_KAKUNA] =
+ {
+ .size = 0x46,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_BEEDRILL] =
+ {
+ .size = 0x86,
+ .y_offset = 0x09,
+ },
+ [SPECIES_PIDGEY] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_PIDGEOTTO] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_PIDGEOT] =
+ {
+ .size = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_RATTATA] =
+ {
+ .size = 0x75,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_RATICATE] =
+ {
+ .size = 0x75,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_SPEAROW] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_FEAROW] =
+ {
+ .size = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_EKANS] =
+ {
+ .size = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_ARBOK] =
+ {
+ .size = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_PIKACHU] =
+ {
+ .size = 0x77,
+ .y_offset = 0x07,
+ },
+ [SPECIES_RAICHU] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_SANDSHREW] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_SANDSLASH] =
+ {
+ .size = 0x86,
+ .y_offset = 0x09,
+ },
+ [SPECIES_NIDORAN_F] =
+ {
+ .size = 0x55,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_NIDORINA] =
+ {
+ .size = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_NIDOQUEEN] =
+ {
+ .size = 0x77,
+ .y_offset = 0x06,
+ },
+ [SPECIES_NIDORAN_M] =
+ {
+ .size = 0x56,
+ .y_offset = 0x08,
+ },
+ [SPECIES_NIDORINO] =
+ {
+ .size = 0x86,
+ .y_offset = 0x09,
+ },
+ [SPECIES_NIDOKING] =
+ {
+ .size = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_CLEFAIRY] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_CLEFABLE] =
+ {
+ .size = 0x76,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_VULPIX] =
+ {
+ .size = 0x76,
+ .y_offset = 0x09,
+ },
+ [SPECIES_NINETALES] =
+ {
+ .size = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_JIGGLYPUFF] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_WIGGLYTUFF] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_ZUBAT] =
+ {
+ .size = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_GOLBAT] =
+ {
+ .size = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_ODDISH] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_GLOOM] =
+ {
+ .size = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_VILEPLUME] =
+ {
+ .size = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_PARAS] =
+ {
+ .size = 0x63,
+ .y_offset = 0x14,
+ },
+ [SPECIES_PARASECT] =
+ {
+ .size = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_VENONAT] =
+ {
+ .size = 0x77,
+ .y_offset = 0x06,
+ },
+ [SPECIES_VENOMOTH] =
+ {
+ .size = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_DIGLETT] =
+ {
+ .size = 0x54,
+ .y_offset = 0x10,
+ },
+ [SPECIES_DUGTRIO] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_MEOWTH] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_PERSIAN] =
+ {
+ .size = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_PSYDUCK] =
+ {
+ .size = 0x67,
+ .y_offset = 0x07,
+ },
+ [SPECIES_GOLDUCK] =
+ {
+ .size = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_MANKEY] =
+ {
+ .size = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_PRIMEAPE] =
+ {
+ .size = 0x77,
+ .y_offset = 0x07,
+ },
+ [SPECIES_GROWLITHE] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_ARCANINE] =
+ {
+ .size = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_POLIWAG] =
+ {
+ .size = 0x74,
+ .y_offset = 0x10,
+ },
+ [SPECIES_POLIWHIRL] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_POLIWRATH] =
+ {
+ .size = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_ABRA] =
+ {
+ .size = 0x55,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_KADABRA] =
+ {
+ .size = 0x86,
+ .y_offset = 0x09,
+ },
+ [SPECIES_ALAKAZAM] =
+ {
+ .size = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_MACHOP] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_MACHOKE] =
+ {
+ .size = 0x76,
+ .y_offset = 0x09,
+ },
+ [SPECIES_MACHAMP] =
+ {
+ .size = 0x67,
+ .y_offset = 0x04,
+ },
+ [SPECIES_BELLSPROUT] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_WEEPINBELL] =
+ {
+ .size = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_VICTREEBEL] =
+ {
+ .size = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_TENTACOOL] =
+ {
+ .size = 0x56,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_TENTACRUEL] =
+ {
+ .size = 0x86,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_GEODUDE] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_GRAVELER] =
+ {
+ .size = 0x75,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_GOLEM] =
+ {
+ .size = 0x84,
+ .y_offset = 0x10,
+ },
+ [SPECIES_PONYTA] =
+ {
+ .size = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_RAPIDASH] =
+ {
+ .size = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_SLOWPOKE] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_SLOWBRO] =
+ {
+ .size = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_MAGNEMITE] =
+ {
+ .size = 0x43,
+ .y_offset = 0x14,
+ },
+ [SPECIES_MAGNETON] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_FARFETCHD] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_DODUO] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_DODRIO] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_SEEL] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_DEWGONG] =
+ {
+ .size = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_GRIMER] =
+ {
+ .size = 0x75,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_MUK] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_SHELLDER] =
+ {
+ .size = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_CLOYSTER] =
+ {
+ .size = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_GASTLY] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_HAUNTER] =
+ {
+ .size = 0x76,
+ .y_offset = 0x09,
+ },
+ [SPECIES_GENGAR] =
+ {
+ .size = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_ONIX] =
+ {
+ .size = 0x78,
+ .y_offset = 0x00,
+ },
+ [SPECIES_DROWZEE] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_HYPNO] =
+ {
+ .size = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_KRABBY] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_KINGLER] =
+ {
+ .size = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_VOLTORB] =
+ {
+ .size = 0x55,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_ELECTRODE] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_EXEGGCUTE] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_EXEGGUTOR] =
+ {
+ .size = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_CUBONE] =
+ {
+ .size = 0x76,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_MAROWAK] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_HITMONLEE] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_HITMONCHAN] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_LICKITUNG] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_KOFFING] =
+ {
+ .size = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_WEEZING] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_RHYHORN] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_RHYDON] =
+ {
+ .size = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_CHANSEY] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_TANGELA] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_KANGASKHAN] =
+ {
+ .size = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_HORSEA] =
+ {
+ .size = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_SEADRA] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_GOLDEEN] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_SEAKING] =
+ {
+ .size = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_STARYU] =
+ {
+ .size = 0x75,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_STARMIE] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_MR_MIME] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_SCYTHER] =
+ {
+ .size = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_JYNX] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_ELECTABUZZ] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_MAGMAR] =
+ {
+ .size = 0x77,
+ .y_offset = 0x07,
+ },
+ [SPECIES_PINSIR] =
+ {
+ .size = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_TAUROS] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_MAGIKARP] =
+ {
+ .size = 0x76,
+ .y_offset = 0x09,
+ },
+ [SPECIES_GYARADOS] =
+ {
+ .size = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_LAPRAS] =
+ {
+ .size = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_DITTO] =
+ {
+ .size = 0x54,
+ .y_offset = 0x11,
+ },
+ [SPECIES_EEVEE] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_VAPOREON] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_JOLTEON] =
+ {
+ .size = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_FLAREON] =
+ {
+ .size = 0x67,
+ .y_offset = 0x05,
+ },
+ [SPECIES_PORYGON] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_OMANYTE] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_OMASTAR] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_KABUTO] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_KABUTOPS] =
+ {
+ .size = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_AERODACTYL] =
+ {
+ .size = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_SNORLAX] =
+ {
+ .size = 0x86,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_ARTICUNO] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_ZAPDOS] =
+ {
+ .size = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_MOLTRES] =
+ {
+ .size = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_DRATINI] =
+ {
+ .size = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_DRAGONAIR] =
+ {
+ .size = 0x78,
+ .y_offset = 0x00,
+ },
+ [SPECIES_DRAGONITE] =
+ {
+ .size = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_MEWTWO] =
+ {
+ .size = 0x78,
+ .y_offset = 0x01,
+ },
+ [SPECIES_MEW] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_CHIKORITA] =
+ {
+ .size = 0x56,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_BAYLEEF] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_MEGANIUM] =
+ {
+ .size = 0x78,
+ .y_offset = 0x00,
+ },
+ [SPECIES_CYNDAQUIL] =
+ {
+ .size = 0x76,
+ .y_offset = 0x09,
+ },
+ [SPECIES_QUILAVA] =
+ {
+ .size = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_TYPHLOSION] =
+ {
+ .size = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_TOTODILE] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_CROCONAW] =
+ {
+ .size = 0x67,
+ .y_offset = 0x07,
+ },
+ [SPECIES_FERALIGATR] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_SENTRET] =
+ {
+ .size = 0x67,
+ .y_offset = 0x05,
+ },
+ [SPECIES_FURRET] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_HOOTHOOT] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_NOCTOWL] =
+ {
+ .size = 0x68,
+ .y_offset = 0x03,
+ },
+ [SPECIES_LEDYBA] =
+ {
+ .size = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_LEDIAN] =
+ {
+ .size = 0x77,
+ .y_offset = 0x07,
+ },
+ [SPECIES_SPINARAK] =
+ {
+ .size = 0x73,
+ .y_offset = 0x15,
+ },
+ [SPECIES_ARIADOS] =
+ {
+ .size = 0x86,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_CROBAT] =
+ {
+ .size = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_CHINCHOU] =
+ {
+ .size = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_LANTURN] =
+ {
+ .size = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_PICHU] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_CLEFFA] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_IGGLYBUFF] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_TOGEPI] =
+ {
+ .size = 0x54,
+ .y_offset = 0x10,
+ },
+ [SPECIES_TOGETIC] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_NATU] =
+ {
+ .size = 0x54,
+ .y_offset = 0x11,
+ },
+ [SPECIES_XATU] =
+ {
+ .size = 0x76,
+ .y_offset = 0x08,
+ },
+ [SPECIES_MAREEP] =
+ {
+ .size = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_FLAAFFY] =
+ {
+ .size = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_AMPHAROS] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_BELLOSSOM] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_MARILL] =
+ {
+ .size = 0x75,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_AZUMARILL] =
+ {
+ .size = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_SUDOWOODO] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_POLITOED] =
+ {
+ .size = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_HOPPIP] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_SKIPLOOM] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_JUMPLUFF] =
+ {
+ .size = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_AIPOM] =
+ {
+ .size = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_SUNKERN] =
+ {
+ .size = 0x56,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_SUNFLORA] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_YANMA] =
+ {
+ .size = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_WOOPER] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_QUAGSIRE] =
+ {
+ .size = 0x76,
+ .y_offset = 0x08,
+ },
+ [SPECIES_ESPEON] =
+ {
+ .size = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_UMBREON] =
+ {
+ .size = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_MURKROW] =
+ {
+ .size = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_SLOWKING] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_MISDREAVUS] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_UNOWN] =
+ {
+ .size = 0x36,
+ .y_offset = 0x08,
+ },
+ [SPECIES_WOBBUFFET] =
+ {
+ .size = 0x75,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_GIRAFARIG] =
+ {
+ .size = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_PINECO] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_FORRETRESS] =
+ {
+ .size = 0x84,
+ .y_offset = 0x10,
+ },
+ [SPECIES_DUNSPARCE] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_GLIGAR] =
+ {
+ .size = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_STEELIX] =
+ {
+ .size = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_SNUBBULL] =
+ {
+ .size = 0x76,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_GRANBULL] =
+ {
+ .size = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_QWILFISH] =
+ {
+ .size = 0x77,
+ .y_offset = 0x07,
+ },
+ [SPECIES_SCIZOR] =
+ {
+ .size = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_SHUCKLE] =
+ {
+ .size = 0x56,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_HERACROSS] =
+ {
+ .size = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_SNEASEL] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_TEDDIURSA] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_URSARING] =
+ {
+ .size = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_SLUGMA] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_MAGCARGO] =
+ {
+ .size = 0x76,
+ .y_offset = 0x09,
+ },
+ [SPECIES_SWINUB] =
+ {
+ .size = 0x63,
+ .y_offset = 0x15,
+ },
+ [SPECIES_PILOSWINE] =
+ {
+ .size = 0x75,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_CORSOLA] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_REMORAID] =
+ {
+ .size = 0x75,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_OCTILLERY] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_DELIBIRD] =
+ {
+ .size = 0x67,
+ .y_offset = 0x06,
+ },
+ [SPECIES_MANTINE] =
+ {
+ .size = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_SKARMORY] =
+ {
+ .size = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_HOUNDOUR] =
+ {
+ .size = 0x55,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_HOUNDOOM] =
+ {
+ .size = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_KINGDRA] =
+ {
+ .size = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_PHANPY] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_DONPHAN] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_PORYGON2] =
+ {
+ .size = 0x76,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_STANTLER] =
+ {
+ .size = 0x78,
+ .y_offset = 0x03,
+ },
+ [SPECIES_SMEARGLE] =
+ {
+ .size = 0x76,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_TYROGUE] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_HITMONTOP] =
+ {
+ .size = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_SMOOCHUM] =
+ {
+ .size = 0x56,
+ .y_offset = 0x09,
+ },
+ [SPECIES_ELEKID] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_MAGBY] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_MILTANK] =
+ {
+ .size = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_BLISSEY] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_RAIKOU] =
+ {
+ .size = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_ENTEI] =
+ {
+ .size = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_SUICUNE] =
+ {
+ .size = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_LARVITAR] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_PUPITAR] =
+ {
+ .size = 0x67,
+ .y_offset = 0x05,
+ },
+ [SPECIES_TYRANITAR] =
+ {
+ .size = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_LUGIA] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_HO_OH] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_CELEBI] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_OLD_UNOWN_B] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_C] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_D] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_E] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_F] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_G] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_H] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_I] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_J] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_K] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_L] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_M] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_N] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_O] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_P] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_Q] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_R] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_S] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_T] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_U] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_V] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_W] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_X] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_Y] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_OLD_UNOWN_Z] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_TREECKO] =
+ {
+ .size = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_GROVYLE] =
+ {
+ .size = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_SCEPTILE] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_TORCHIC] =
+ {
+ .size = 0x67,
+ .y_offset = 0x05,
+ },
+ [SPECIES_COMBUSKEN] =
+ {
+ .size = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_BLAZIKEN] =
+ {
+ .size = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_MUDKIP] =
+ {
+ .size = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_MARSHTOMP] =
+ {
+ .size = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_SWAMPERT] =
+ {
+ .size = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_POOCHYENA] =
+ {
+ .size = 0x76,
+ .y_offset = 0x09,
+ },
+ [SPECIES_MIGHTYENA] =
+ {
+ .size = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_ZIGZAGOON] =
+ {
+ .size = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_LINOONE] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_WURMPLE] =
+ {
+ .size = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_SILCOON] =
+ {
+ .size = 0x83,
+ .y_offset = 0x15,
+ },
+ [SPECIES_BEAUTIFLY] =
+ {
+ .size = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_CASCOON] =
+ {
+ .size = 0x73,
+ .y_offset = 0x14,
+ },
+ [SPECIES_DUSTOX] =
+ {
+ .size = 0x83,
+ .y_offset = 0x14,
+ },
+ [SPECIES_LOTAD] =
+ {
+ .size = 0x75,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_LOMBRE] =
+ {
+ .size = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_LUDICOLO] =
+ {
+ .size = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_SEEDOT] =
+ {
+ .size = 0x86,
+ .y_offset = 0x09,
+ },
+ [SPECIES_NUZLEAF] =
+ {
+ .size = 0x76,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_SHIFTRY] =
+ {
+ .size = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_NINCADA] =
+ {
+ .size = 0x83,
+ .y_offset = 0x14,
+ },
+ [SPECIES_NINJASK] =
+ {
+ .size = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_SHEDINJA] =
+ {
+ .size = 0x77,
+ .y_offset = 0x06,
+ },
+ [SPECIES_TAILLOW] =
+ {
+ .size = 0x64,
+ .y_offset = 0x11,
+ },
+ [SPECIES_SWELLOW] =
+ {
+ .size = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_SHROOMISH] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_BRELOOM] =
+ {
+ .size = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_SPINDA] =
+ {
+ .size = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_WINGULL] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_PELIPPER] =
+ {
+ .size = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_SURSKIT] =
+ {
+ .size = 0x86,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_MASQUERAIN] =
+ {
+ .size = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_WAILMER] =
+ {
+ .size = 0x83,
+ .y_offset = 0x15,
+ },
+ [SPECIES_WAILORD] =
+ {
+ .size = 0x83,
+ .y_offset = 0x16,
+ },
+ [SPECIES_SKITTY] =
+ {
+ .size = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_DELCATTY] =
+ {
+ .size = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_KECLEON] =
+ {
+ .size = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_BALTOY] =
+ {
+ .size = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_CLAYDOL] =
+ {
+ .size = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_NOSEPASS] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_TORKOAL] =
+ {
+ .size = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_SABLEYE] =
+ {
+ .size = 0x76,
+ .y_offset = 0x08,
+ },
+ [SPECIES_BARBOACH] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_WHISCASH] =
+ {
+ .size = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_LUVDISC] =
+ {
+ .size = 0x46,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_CORPHISH] =
+ {
+ .size = 0x77,
+ .y_offset = 0x07,
+ },
+ [SPECIES_CRAWDAUNT] =
+ {
+ .size = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_FEEBAS] =
+ {
+ .size = 0x67,
+ .y_offset = 0x07,
+ },
+ [SPECIES_MILOTIC] =
+ {
+ .size = 0x68,
+ .y_offset = 0x02,
+ },
+ [SPECIES_CARVANHA] =
+ {
+ .size = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_SHARPEDO] =
+ {
+ .size = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_TRAPINCH] =
+ {
+ .size = 0x75,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_VIBRAVA] =
+ {
+ .size = 0x74,
+ .y_offset = 0x11,
+ },
+ [SPECIES_FLYGON] =
+ {
+ .size = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_MAKUHITA] =
+ {
+ .size = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_HARIYAMA] =
+ {
+ .size = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_ELECTRIKE] =
+ {
+ .size = 0x84,
+ .y_offset = 0x10,
+ },
+ [SPECIES_MANECTRIC] =
+ {
+ .size = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_NUMEL] =
+ {
+ .size = 0x86,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_CAMERUPT] =
+ {
+ .size = 0x84,
+ .y_offset = 0x13,
+ },
+ [SPECIES_SPHEAL] =
+ {
+ .size = 0x64,
+ .y_offset = 0x12,
+ },
+ [SPECIES_SEALEO] =
+ {
+ .size = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_WALREIN] =
+ {
+ .size = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_CACNEA] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_CACTURNE] =
+ {
+ .size = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_SNORUNT] =
+ {
+ .size = 0x76,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_GLALIE] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_LUNATONE] =
+ {
+ .size = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_SOLROCK] =
+ {
+ .size = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_AZURILL] =
+ {
+ .size = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_SPOINK] =
+ {
+ .size = 0x56,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_GRUMPIG] =
+ {
+ .size = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_PLUSLE] =
+ {
+ .size = 0x76,
+ .y_offset = 0x08,
+ },
+ [SPECIES_MINUN] =
+ {
+ .size = 0x76,
+ .y_offset = 0x08,
+ },
+ [SPECIES_MAWILE] =
+ {
+ .size = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_MEDITITE] =
+ {
+ .size = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_MEDICHAM] =
+ {
+ .size = 0x68,
+ .y_offset = 0x03,
+ },
+ [SPECIES_SWABLU] =
+ {
+ .size = 0x86,
+ .y_offset = 0x09,
+ },
+ [SPECIES_ALTARIA] =
+ {
+ .size = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_WYNAUT] =
+ {
+ .size = 0x77,
+ .y_offset = 0x07,
+ },
+ [SPECIES_DUSKULL] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_DUSCLOPS] =
+ {
+ .size = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_ROSELIA] =
+ {
+ .size = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_SLAKOTH] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_VIGOROTH] =
+ {
+ .size = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_SLAKING] =
+ {
+ .size = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_GULPIN] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_SWALOT] =
+ {
+ .size = 0x77,
+ .y_offset = 0x06,
+ },
+ [SPECIES_TROPIUS] =
+ {
+ .size = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_WHISMUR] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_LOUDRED] =
+ {
+ .size = 0x86,
+ .y_offset = 0x09,
+ },
+ [SPECIES_EXPLOUD] =
+ {
+ .size = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_CLAMPERL] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_HUNTAIL] =
+ {
+ .size = 0x68,
+ .y_offset = 0x02,
+ },
+ [SPECIES_GOREBYSS] =
+ {
+ .size = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_ABSOL] =
+ {
+ .size = 0x78,
+ .y_offset = 0x03,
+ },
+ [SPECIES_SHUPPET] =
+ {
+ .size = 0x77,
+ .y_offset = 0x06,
+ },
+ [SPECIES_BANETTE] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_SEVIPER] =
+ {
+ .size = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_ZANGOOSE] =
+ {
+ .size = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_RELICANTH] =
+ {
+ .size = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_ARON] =
+ {
+ .size = 0x54,
+ .y_offset = 0x11,
+ },
+ [SPECIES_LAIRON] =
+ {
+ .size = 0x84,
+ .y_offset = 0x11,
+ },
+ [SPECIES_AGGRON] =
+ {
+ .size = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_CASTFORM] =
+ {
+ .size = 0x45,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_VOLBEAT] =
+ {
+ .size = 0x76,
+ .y_offset = 0x08,
+ },
+ [SPECIES_ILLUMISE] =
+ {
+ .size = 0x67,
+ .y_offset = 0x06,
+ },
+ [SPECIES_LILEEP] =
+ {
+ .size = 0x86,
+ .y_offset = 0x09,
+ },
+ [SPECIES_CRADILY] =
+ {
+ .size = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_ANORITH] =
+ {
+ .size = 0x83,
+ .y_offset = 0x17,
+ },
+ [SPECIES_ARMALDO] =
+ {
+ .size = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_RALTS] =
+ {
+ .size = 0x45,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_KIRLIA] =
+ {
+ .size = 0x57,
+ .y_offset = 0x06,
+ },
+ [SPECIES_GARDEVOIR] =
+ {
+ .size = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_BAGON] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_SHELGON] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_SALAMENCE] =
+ {
+ .size = 0x77,
+ .y_offset = 0x06,
+ },
+ [SPECIES_BELDUM] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_METANG] =
+ {
+ .size = 0x84,
+ .y_offset = 0x10,
+ },
+ [SPECIES_METAGROSS] =
+ {
+ .size = 0x83,
+ .y_offset = 0x14,
+ },
+ [SPECIES_REGIROCK] =
+ {
+ .size = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_REGICE] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_REGISTEEL] =
+ {
+ .size = 0x85,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_KYOGRE] =
+ {
+ .size = 0x84,
+ .y_offset = 0x13,
+ },
+ [SPECIES_GROUDON] =
+ {
+ .size = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_RAYQUAZA] =
+ {
+ .size = 0x78,
+ .y_offset = 0x00,
+ },
+ [SPECIES_LATIAS] =
+ {
+ .size = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_LATIOS] =
+ {
+ .size = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_JIRACHI] =
+ {
+ .size = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_DEOXYS] =
+ {
+ .size = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_CHIMECHO] =
+ {
+ .size = 0x47,
+ .y_offset = 0x07,
+ },
+ [SPECIES_EGG] =
+ {
+ .size = 0x36,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_UNOWN_B] =
+ {
+ .size = 0x56,
+ .y_offset = 0x09,
+ },
+ [SPECIES_UNOWN_C] =
+ {
+ .size = 0x67,
+ .y_offset = 0x06,
+ },
+ [SPECIES_UNOWN_D] =
+ {
+ .size = 0x56,
+ .y_offset = 0x08,
+ },
+ [SPECIES_UNOWN_E] =
+ {
+ .size = 0x56,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_UNOWN_F] =
+ {
+ .size = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_UNOWN_G] =
+ {
+ .size = 0x57,
+ .y_offset = 0x05,
+ },
+ [SPECIES_UNOWN_H] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_UNOWN_I] =
+ {
+ .size = 0x37,
+ .y_offset = 0x07,
+ },
+ [SPECIES_UNOWN_J] =
+ {
+ .size = 0x46,
+ .y_offset = 0x09,
+ },
+ [SPECIES_UNOWN_K] =
+ {
+ .size = 0x57,
+ .y_offset = 0x07,
+ },
+ [SPECIES_UNOWN_L] =
+ {
+ .size = 0x46,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_UNOWN_M] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_UNOWN_N] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_UNOWN_O] =
+ {
+ .size = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_UNOWN_P] =
+ {
+ .size = 0x46,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_UNOWN_Q] =
+ {
+ .size = 0x55,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_UNOWN_R] =
+ {
+ .size = 0x45,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_UNOWN_S] =
+ {
+ .size = 0x57,
+ .y_offset = 0x04,
+ },
+ [SPECIES_UNOWN_T] =
+ {
+ .size = 0x45,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_UNOWN_U] =
+ {
+ .size = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_UNOWN_V] =
+ {
+ .size = 0x56,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_UNOWN_W] =
+ {
+ .size = 0x55,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_UNOWN_X] =
+ {
+ .size = 0x55,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_UNOWN_Y] =
+ {
+ .size = 0x46,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_UNOWN_Z] =
+ {
+ .size = 0x46,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_UNOWN_EMARK] =
+ {
+ .size = 0x37,
+ .y_offset = 0x06,
+ },
+ [SPECIES_UNOWN_QMARK] =
+ {
+ .size = 0x47,
+ .y_offset = 0x06,
+ },
+};
+
diff --git a/src/data/pokemon_graphics/back_pic_table.h b/src/data/pokemon_graphics/back_pic_table.h
new file mode 100644
index 000000000..60ee8fed1
--- /dev/null
+++ b/src/data/pokemon_graphics/back_pic_table.h
@@ -0,0 +1,443 @@
+const struct CompressedSpriteSheet gMonBackPicTable[] =
+{
+ SPECIES_SPRITE(NONE, gMonBackPic_CircledQuestionMark),
+ SPECIES_SPRITE(BULBASAUR, gMonBackPic_Bulbasaur),
+ SPECIES_SPRITE(IVYSAUR, gMonBackPic_Ivysaur),
+ SPECIES_SPRITE(VENUSAUR, gMonBackPic_Venusaur),
+ SPECIES_SPRITE(CHARMANDER, gMonBackPic_Charmander),
+ SPECIES_SPRITE(CHARMELEON, gMonBackPic_Charmeleon),
+ SPECIES_SPRITE(CHARIZARD, gMonBackPic_Charizard),
+ SPECIES_SPRITE(SQUIRTLE, gMonBackPic_Squirtle),
+ SPECIES_SPRITE(WARTORTLE, gMonBackPic_Wartortle),
+ SPECIES_SPRITE(BLASTOISE, gMonBackPic_Blastoise),
+ SPECIES_SPRITE(CATERPIE, gMonBackPic_Caterpie),
+ SPECIES_SPRITE(METAPOD, gMonBackPic_Metapod),
+ SPECIES_SPRITE(BUTTERFREE, gMonBackPic_Butterfree),
+ SPECIES_SPRITE(WEEDLE, gMonBackPic_Weedle),
+ SPECIES_SPRITE(KAKUNA, gMonBackPic_Kakuna),
+ SPECIES_SPRITE(BEEDRILL, gMonBackPic_Beedrill),
+ SPECIES_SPRITE(PIDGEY, gMonBackPic_Pidgey),
+ SPECIES_SPRITE(PIDGEOTTO, gMonBackPic_Pidgeotto),
+ SPECIES_SPRITE(PIDGEOT, gMonBackPic_Pidgeot),
+ SPECIES_SPRITE(RATTATA, gMonBackPic_Rattata),
+ SPECIES_SPRITE(RATICATE, gMonBackPic_Raticate),
+ SPECIES_SPRITE(SPEAROW, gMonBackPic_Spearow),
+ SPECIES_SPRITE(FEAROW, gMonBackPic_Fearow),
+ SPECIES_SPRITE(EKANS, gMonBackPic_Ekans),
+ SPECIES_SPRITE(ARBOK, gMonBackPic_Arbok),
+ SPECIES_SPRITE(PIKACHU, gMonBackPic_Pikachu),
+ SPECIES_SPRITE(RAICHU, gMonBackPic_Raichu),
+ SPECIES_SPRITE(SANDSHREW, gMonBackPic_Sandshrew),
+ SPECIES_SPRITE(SANDSLASH, gMonBackPic_Sandslash),
+ SPECIES_SPRITE(NIDORAN_F, gMonBackPic_NidoranF),
+ SPECIES_SPRITE(NIDORINA, gMonBackPic_Nidorina),
+ SPECIES_SPRITE(NIDOQUEEN, gMonBackPic_Nidoqueen),
+ SPECIES_SPRITE(NIDORAN_M, gMonBackPic_NidoranM),
+ SPECIES_SPRITE(NIDORINO, gMonBackPic_Nidorino),
+ SPECIES_SPRITE(NIDOKING, gMonBackPic_Nidoking),
+ SPECIES_SPRITE(CLEFAIRY, gMonBackPic_Clefairy),
+ SPECIES_SPRITE(CLEFABLE, gMonBackPic_Clefable),
+ SPECIES_SPRITE(VULPIX, gMonBackPic_Vulpix),
+ SPECIES_SPRITE(NINETALES, gMonBackPic_Ninetales),
+ SPECIES_SPRITE(JIGGLYPUFF, gMonBackPic_Jigglypuff),
+ SPECIES_SPRITE(WIGGLYTUFF, gMonBackPic_Wigglytuff),
+ SPECIES_SPRITE(ZUBAT, gMonBackPic_Zubat),
+ SPECIES_SPRITE(GOLBAT, gMonBackPic_Golbat),
+ SPECIES_SPRITE(ODDISH, gMonBackPic_Oddish),
+ SPECIES_SPRITE(GLOOM, gMonBackPic_Gloom),
+ SPECIES_SPRITE(VILEPLUME, gMonBackPic_Vileplume),
+ SPECIES_SPRITE(PARAS, gMonBackPic_Paras),
+ SPECIES_SPRITE(PARASECT, gMonBackPic_Parasect),
+ SPECIES_SPRITE(VENONAT, gMonBackPic_Venonat),
+ SPECIES_SPRITE(VENOMOTH, gMonBackPic_Venomoth),
+ SPECIES_SPRITE(DIGLETT, gMonBackPic_Diglett),
+ SPECIES_SPRITE(DUGTRIO, gMonBackPic_Dugtrio),
+ SPECIES_SPRITE(MEOWTH, gMonBackPic_Meowth),
+ SPECIES_SPRITE(PERSIAN, gMonBackPic_Persian),
+ SPECIES_SPRITE(PSYDUCK, gMonBackPic_Psyduck),
+ SPECIES_SPRITE(GOLDUCK, gMonBackPic_Golduck),
+ SPECIES_SPRITE(MANKEY, gMonBackPic_Mankey),
+ SPECIES_SPRITE(PRIMEAPE, gMonBackPic_Primeape),
+ SPECIES_SPRITE(GROWLITHE, gMonBackPic_Growlithe),
+ SPECIES_SPRITE(ARCANINE, gMonBackPic_Arcanine),
+ SPECIES_SPRITE(POLIWAG, gMonBackPic_Poliwag),
+ SPECIES_SPRITE(POLIWHIRL, gMonBackPic_Poliwhirl),
+ SPECIES_SPRITE(POLIWRATH, gMonBackPic_Poliwrath),
+ SPECIES_SPRITE(ABRA, gMonBackPic_Abra),
+ SPECIES_SPRITE(KADABRA, gMonBackPic_Kadabra),
+ SPECIES_SPRITE(ALAKAZAM, gMonBackPic_Alakazam),
+ SPECIES_SPRITE(MACHOP, gMonBackPic_Machop),
+ SPECIES_SPRITE(MACHOKE, gMonBackPic_Machoke),
+ SPECIES_SPRITE(MACHAMP, gMonBackPic_Machamp),
+ SPECIES_SPRITE(BELLSPROUT, gMonBackPic_Bellsprout),
+ SPECIES_SPRITE(WEEPINBELL, gMonBackPic_Weepinbell),
+ SPECIES_SPRITE(VICTREEBEL, gMonBackPic_Victreebel),
+ SPECIES_SPRITE(TENTACOOL, gMonBackPic_Tentacool),
+ SPECIES_SPRITE(TENTACRUEL, gMonBackPic_Tentacruel),
+ SPECIES_SPRITE(GEODUDE, gMonBackPic_Geodude),
+ SPECIES_SPRITE(GRAVELER, gMonBackPic_Graveler),
+ SPECIES_SPRITE(GOLEM, gMonBackPic_Golem),
+ SPECIES_SPRITE(PONYTA, gMonBackPic_Ponyta),
+ SPECIES_SPRITE(RAPIDASH, gMonBackPic_Rapidash),
+ SPECIES_SPRITE(SLOWPOKE, gMonBackPic_Slowpoke),
+ SPECIES_SPRITE(SLOWBRO, gMonBackPic_Slowbro),
+ SPECIES_SPRITE(MAGNEMITE, gMonBackPic_Magnemite),
+ SPECIES_SPRITE(MAGNETON, gMonBackPic_Magneton),
+ SPECIES_SPRITE(FARFETCHD, gMonBackPic_Farfetchd),
+ SPECIES_SPRITE(DODUO, gMonBackPic_Doduo),
+ SPECIES_SPRITE(DODRIO, gMonBackPic_Dodrio),
+ SPECIES_SPRITE(SEEL, gMonBackPic_Seel),
+ SPECIES_SPRITE(DEWGONG, gMonBackPic_Dewgong),
+ SPECIES_SPRITE(GRIMER, gMonBackPic_Grimer),
+ SPECIES_SPRITE(MUK, gMonBackPic_Muk),
+ SPECIES_SPRITE(SHELLDER, gMonBackPic_Shellder),
+ SPECIES_SPRITE(CLOYSTER, gMonBackPic_Cloyster),
+ SPECIES_SPRITE(GASTLY, gMonBackPic_Gastly),
+ SPECIES_SPRITE(HAUNTER, gMonBackPic_Haunter),
+ SPECIES_SPRITE(GENGAR, gMonBackPic_Gengar),
+ SPECIES_SPRITE(ONIX, gMonBackPic_Onix),
+ SPECIES_SPRITE(DROWZEE, gMonBackPic_Drowzee),
+ SPECIES_SPRITE(HYPNO, gMonBackPic_Hypno),
+ SPECIES_SPRITE(KRABBY, gMonBackPic_Krabby),
+ SPECIES_SPRITE(KINGLER, gMonBackPic_Kingler),
+ SPECIES_SPRITE(VOLTORB, gMonBackPic_Voltorb),
+ SPECIES_SPRITE(ELECTRODE, gMonBackPic_Electrode),
+ SPECIES_SPRITE(EXEGGCUTE, gMonBackPic_Exeggcute),
+ SPECIES_SPRITE(EXEGGUTOR, gMonBackPic_Exeggutor),
+ SPECIES_SPRITE(CUBONE, gMonBackPic_Cubone),
+ SPECIES_SPRITE(MAROWAK, gMonBackPic_Marowak),
+ SPECIES_SPRITE(HITMONLEE, gMonBackPic_Hitmonlee),
+ SPECIES_SPRITE(HITMONCHAN, gMonBackPic_Hitmonchan),
+ SPECIES_SPRITE(LICKITUNG, gMonBackPic_Lickitung),
+ SPECIES_SPRITE(KOFFING, gMonBackPic_Koffing),
+ SPECIES_SPRITE(WEEZING, gMonBackPic_Weezing),
+ SPECIES_SPRITE(RHYHORN, gMonBackPic_Rhyhorn),
+ SPECIES_SPRITE(RHYDON, gMonBackPic_Rhydon),
+ SPECIES_SPRITE(CHANSEY, gMonBackPic_Chansey),
+ SPECIES_SPRITE(TANGELA, gMonBackPic_Tangela),
+ SPECIES_SPRITE(KANGASKHAN, gMonBackPic_Kangaskhan),
+ SPECIES_SPRITE(HORSEA, gMonBackPic_Horsea),
+ SPECIES_SPRITE(SEADRA, gMonBackPic_Seadra),
+ SPECIES_SPRITE(GOLDEEN, gMonBackPic_Goldeen),
+ SPECIES_SPRITE(SEAKING, gMonBackPic_Seaking),
+ SPECIES_SPRITE(STARYU, gMonBackPic_Staryu),
+ SPECIES_SPRITE(STARMIE, gMonBackPic_Starmie),
+ SPECIES_SPRITE(MR_MIME, gMonBackPic_Mrmime),
+ SPECIES_SPRITE(SCYTHER, gMonBackPic_Scyther),
+ SPECIES_SPRITE(JYNX, gMonBackPic_Jynx),
+ SPECIES_SPRITE(ELECTABUZZ, gMonBackPic_Electabuzz),
+ SPECIES_SPRITE(MAGMAR, gMonBackPic_Magmar),
+ SPECIES_SPRITE(PINSIR, gMonBackPic_Pinsir),
+ SPECIES_SPRITE(TAUROS, gMonBackPic_Tauros),
+ SPECIES_SPRITE(MAGIKARP, gMonBackPic_Magikarp),
+ SPECIES_SPRITE(GYARADOS, gMonBackPic_Gyarados),
+ SPECIES_SPRITE(LAPRAS, gMonBackPic_Lapras),
+ SPECIES_SPRITE(DITTO, gMonBackPic_Ditto),
+ SPECIES_SPRITE(EEVEE, gMonBackPic_Eevee),
+ SPECIES_SPRITE(VAPOREON, gMonBackPic_Vaporeon),
+ SPECIES_SPRITE(JOLTEON, gMonBackPic_Jolteon),
+ SPECIES_SPRITE(FLAREON, gMonBackPic_Flareon),
+ SPECIES_SPRITE(PORYGON, gMonBackPic_Porygon),
+ SPECIES_SPRITE(OMANYTE, gMonBackPic_Omanyte),
+ SPECIES_SPRITE(OMASTAR, gMonBackPic_Omastar),
+ SPECIES_SPRITE(KABUTO, gMonBackPic_Kabuto),
+ SPECIES_SPRITE(KABUTOPS, gMonBackPic_Kabutops),
+ SPECIES_SPRITE(AERODACTYL, gMonBackPic_Aerodactyl),
+ SPECIES_SPRITE(SNORLAX, gMonBackPic_Snorlax),
+ SPECIES_SPRITE(ARTICUNO, gMonBackPic_Articuno),
+ SPECIES_SPRITE(ZAPDOS, gMonBackPic_Zapdos),
+ SPECIES_SPRITE(MOLTRES, gMonBackPic_Moltres),
+ SPECIES_SPRITE(DRATINI, gMonBackPic_Dratini),
+ SPECIES_SPRITE(DRAGONAIR, gMonBackPic_Dragonair),
+ SPECIES_SPRITE(DRAGONITE, gMonBackPic_Dragonite),
+ SPECIES_SPRITE(MEWTWO, gMonBackPic_Mewtwo),
+ SPECIES_SPRITE(MEW, gMonBackPic_Mew),
+ SPECIES_SPRITE(CHIKORITA, gMonBackPic_Chikorita),
+ SPECIES_SPRITE(BAYLEEF, gMonBackPic_Bayleef),
+ SPECIES_SPRITE(MEGANIUM, gMonBackPic_Meganium),
+ SPECIES_SPRITE(CYNDAQUIL, gMonBackPic_Cyndaquil),
+ SPECIES_SPRITE(QUILAVA, gMonBackPic_Quilava),
+ SPECIES_SPRITE(TYPHLOSION, gMonBackPic_Typhlosion),
+ SPECIES_SPRITE(TOTODILE, gMonBackPic_Totodile),
+ SPECIES_SPRITE(CROCONAW, gMonBackPic_Croconaw),
+ SPECIES_SPRITE(FERALIGATR, gMonBackPic_Feraligatr),
+ SPECIES_SPRITE(SENTRET, gMonBackPic_Sentret),
+ SPECIES_SPRITE(FURRET, gMonBackPic_Furret),
+ SPECIES_SPRITE(HOOTHOOT, gMonBackPic_Hoothoot),
+ SPECIES_SPRITE(NOCTOWL, gMonBackPic_Noctowl),
+ SPECIES_SPRITE(LEDYBA, gMonBackPic_Ledyba),
+ SPECIES_SPRITE(LEDIAN, gMonBackPic_Ledian),
+ SPECIES_SPRITE(SPINARAK, gMonBackPic_Spinarak),
+ SPECIES_SPRITE(ARIADOS, gMonBackPic_Ariados),
+ SPECIES_SPRITE(CROBAT, gMonBackPic_Crobat),
+ SPECIES_SPRITE(CHINCHOU, gMonBackPic_Chinchou),
+ SPECIES_SPRITE(LANTURN, gMonBackPic_Lanturn),
+ SPECIES_SPRITE(PICHU, gMonBackPic_Pichu),
+ SPECIES_SPRITE(CLEFFA, gMonBackPic_Cleffa),
+ SPECIES_SPRITE(IGGLYBUFF, gMonBackPic_Igglybuff),
+ SPECIES_SPRITE(TOGEPI, gMonBackPic_Togepi),
+ SPECIES_SPRITE(TOGETIC, gMonBackPic_Togetic),
+ SPECIES_SPRITE(NATU, gMonBackPic_Natu),
+ SPECIES_SPRITE(XATU, gMonBackPic_Xatu),
+ SPECIES_SPRITE(MAREEP, gMonBackPic_Mareep),
+ SPECIES_SPRITE(FLAAFFY, gMonBackPic_Flaaffy),
+ SPECIES_SPRITE(AMPHAROS, gMonBackPic_Ampharos),
+ SPECIES_SPRITE(BELLOSSOM, gMonBackPic_Bellossom),
+ SPECIES_SPRITE(MARILL, gMonBackPic_Marill),
+ SPECIES_SPRITE(AZUMARILL, gMonBackPic_Azumarill),
+ SPECIES_SPRITE(SUDOWOODO, gMonBackPic_Sudowoodo),
+ SPECIES_SPRITE(POLITOED, gMonBackPic_Politoed),
+ SPECIES_SPRITE(HOPPIP, gMonBackPic_Hoppip),
+ SPECIES_SPRITE(SKIPLOOM, gMonBackPic_Skiploom),
+ SPECIES_SPRITE(JUMPLUFF, gMonBackPic_Jumpluff),
+ SPECIES_SPRITE(AIPOM, gMonBackPic_Aipom),
+ SPECIES_SPRITE(SUNKERN, gMonBackPic_Sunkern),
+ SPECIES_SPRITE(SUNFLORA, gMonBackPic_Sunflora),
+ SPECIES_SPRITE(YANMA, gMonBackPic_Yanma),
+ SPECIES_SPRITE(WOOPER, gMonBackPic_Wooper),
+ SPECIES_SPRITE(QUAGSIRE, gMonBackPic_Quagsire),
+ SPECIES_SPRITE(ESPEON, gMonBackPic_Espeon),
+ SPECIES_SPRITE(UMBREON, gMonBackPic_Umbreon),
+ SPECIES_SPRITE(MURKROW, gMonBackPic_Murkrow),
+ SPECIES_SPRITE(SLOWKING, gMonBackPic_Slowking),
+ SPECIES_SPRITE(MISDREAVUS, gMonBackPic_Misdreavus),
+ SPECIES_SPRITE(UNOWN, gMonBackPic_UnownA),
+ SPECIES_SPRITE(WOBBUFFET, gMonBackPic_Wobbuffet),
+ SPECIES_SPRITE(GIRAFARIG, gMonBackPic_Girafarig),
+ SPECIES_SPRITE(PINECO, gMonBackPic_Pineco),
+ SPECIES_SPRITE(FORRETRESS, gMonBackPic_Forretress),
+ SPECIES_SPRITE(DUNSPARCE, gMonBackPic_Dunsparce),
+ SPECIES_SPRITE(GLIGAR, gMonBackPic_Gligar),
+ SPECIES_SPRITE(STEELIX, gMonBackPic_Steelix),
+ SPECIES_SPRITE(SNUBBULL, gMonBackPic_Snubbull),
+ SPECIES_SPRITE(GRANBULL, gMonBackPic_Granbull),
+ SPECIES_SPRITE(QWILFISH, gMonBackPic_Qwilfish),
+ SPECIES_SPRITE(SCIZOR, gMonBackPic_Scizor),
+ SPECIES_SPRITE(SHUCKLE, gMonBackPic_Shuckle),
+ SPECIES_SPRITE(HERACROSS, gMonBackPic_Heracross),
+ SPECIES_SPRITE(SNEASEL, gMonBackPic_Sneasel),
+ SPECIES_SPRITE(TEDDIURSA, gMonBackPic_Teddiursa),
+ SPECIES_SPRITE(URSARING, gMonBackPic_Ursaring),
+ SPECIES_SPRITE(SLUGMA, gMonBackPic_Slugma),
+ SPECIES_SPRITE(MAGCARGO, gMonBackPic_Magcargo),
+ SPECIES_SPRITE(SWINUB, gMonBackPic_Swinub),
+ SPECIES_SPRITE(PILOSWINE, gMonBackPic_Piloswine),
+ SPECIES_SPRITE(CORSOLA, gMonBackPic_Corsola),
+ SPECIES_SPRITE(REMORAID, gMonBackPic_Remoraid),
+ SPECIES_SPRITE(OCTILLERY, gMonBackPic_Octillery),
+ SPECIES_SPRITE(DELIBIRD, gMonBackPic_Delibird),
+ SPECIES_SPRITE(MANTINE, gMonBackPic_Mantine),
+ SPECIES_SPRITE(SKARMORY, gMonBackPic_Skarmory),
+ SPECIES_SPRITE(HOUNDOUR, gMonBackPic_Houndour),
+ SPECIES_SPRITE(HOUNDOOM, gMonBackPic_Houndoom),
+ SPECIES_SPRITE(KINGDRA, gMonBackPic_Kingdra),
+ SPECIES_SPRITE(PHANPY, gMonBackPic_Phanpy),
+ SPECIES_SPRITE(DONPHAN, gMonBackPic_Donphan),
+ SPECIES_SPRITE(PORYGON2, gMonBackPic_Porygon2),
+ SPECIES_SPRITE(STANTLER, gMonBackPic_Stantler),
+ SPECIES_SPRITE(SMEARGLE, gMonBackPic_Smeargle),
+ SPECIES_SPRITE(TYROGUE, gMonBackPic_Tyrogue),
+ SPECIES_SPRITE(HITMONTOP, gMonBackPic_Hitmontop),
+ SPECIES_SPRITE(SMOOCHUM, gMonBackPic_Smoochum),
+ SPECIES_SPRITE(ELEKID, gMonBackPic_Elekid),
+ SPECIES_SPRITE(MAGBY, gMonBackPic_Magby),
+ SPECIES_SPRITE(MILTANK, gMonBackPic_Miltank),
+ SPECIES_SPRITE(BLISSEY, gMonBackPic_Blissey),
+ SPECIES_SPRITE(RAIKOU, gMonBackPic_Raikou),
+ SPECIES_SPRITE(ENTEI, gMonBackPic_Entei),
+ SPECIES_SPRITE(SUICUNE, gMonBackPic_Suicune),
+ SPECIES_SPRITE(LARVITAR, gMonBackPic_Larvitar),
+ SPECIES_SPRITE(PUPITAR, gMonBackPic_Pupitar),
+ SPECIES_SPRITE(TYRANITAR, gMonBackPic_Tyranitar),
+ SPECIES_SPRITE(LUGIA, gMonBackPic_Lugia),
+ SPECIES_SPRITE(HO_OH, gMonBackPic_HoOh),
+ SPECIES_SPRITE(CELEBI, gMonBackPic_Celebi),
+ SPECIES_SPRITE(OLD_UNOWN_B, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_C, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_D, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_E, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_F, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_G, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_H, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_I, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_J, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_K, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_L, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_M, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_N, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_O, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_P, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_Q, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_R, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_S, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_T, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_U, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_V, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_W, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_X, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_Y, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_Z, gMonBackPic_DoubleQuestionMark),
+ SPECIES_SPRITE(TREECKO, gMonBackPic_Treecko),
+ SPECIES_SPRITE(GROVYLE, gMonBackPic_Grovyle),
+ SPECIES_SPRITE(SCEPTILE, gMonBackPic_Sceptile),
+ SPECIES_SPRITE(TORCHIC, gMonBackPic_Torchic),
+ SPECIES_SPRITE(COMBUSKEN, gMonBackPic_Combusken),
+ SPECIES_SPRITE(BLAZIKEN, gMonBackPic_Blaziken),
+ SPECIES_SPRITE(MUDKIP, gMonBackPic_Mudkip),
+ SPECIES_SPRITE(MARSHTOMP, gMonBackPic_Marshtomp),
+ SPECIES_SPRITE(SWAMPERT, gMonBackPic_Swampert),
+ SPECIES_SPRITE(POOCHYENA, gMonBackPic_Poochyena),
+ SPECIES_SPRITE(MIGHTYENA, gMonBackPic_Mightyena),
+ SPECIES_SPRITE(ZIGZAGOON, gMonBackPic_Zigzagoon),
+ SPECIES_SPRITE(LINOONE, gMonBackPic_Linoone),
+ SPECIES_SPRITE(WURMPLE, gMonBackPic_Wurmple),
+ SPECIES_SPRITE(SILCOON, gMonBackPic_Silcoon),
+ SPECIES_SPRITE(BEAUTIFLY, gMonBackPic_Beautifly),
+ SPECIES_SPRITE(CASCOON, gMonBackPic_Cascoon),
+ SPECIES_SPRITE(DUSTOX, gMonBackPic_Dustox),
+ SPECIES_SPRITE(LOTAD, gMonBackPic_Lotad),
+ SPECIES_SPRITE(LOMBRE, gMonBackPic_Lombre),
+ SPECIES_SPRITE(LUDICOLO, gMonBackPic_Ludicolo),
+ SPECIES_SPRITE(SEEDOT, gMonBackPic_Seedot),
+ SPECIES_SPRITE(NUZLEAF, gMonBackPic_Nuzleaf),
+ SPECIES_SPRITE(SHIFTRY, gMonBackPic_Shiftry),
+ SPECIES_SPRITE(NINCADA, gMonBackPic_Nincada),
+ SPECIES_SPRITE(NINJASK, gMonBackPic_Ninjask),
+ SPECIES_SPRITE(SHEDINJA, gMonBackPic_Shedinja),
+ SPECIES_SPRITE(TAILLOW, gMonBackPic_Taillow),
+ SPECIES_SPRITE(SWELLOW, gMonBackPic_Swellow),
+ SPECIES_SPRITE(SHROOMISH, gMonBackPic_Shroomish),
+ SPECIES_SPRITE(BRELOOM, gMonBackPic_Breloom),
+ SPECIES_SPRITE(SPINDA, gMonBackPic_Spinda),
+ SPECIES_SPRITE(WINGULL, gMonBackPic_Wingull),
+ SPECIES_SPRITE(PELIPPER, gMonBackPic_Pelipper),
+ SPECIES_SPRITE(SURSKIT, gMonBackPic_Surskit),
+ SPECIES_SPRITE(MASQUERAIN, gMonBackPic_Masquerain),
+ SPECIES_SPRITE(WAILMER, gMonBackPic_Wailmer),
+ SPECIES_SPRITE(WAILORD, gMonBackPic_Wailord),
+ SPECIES_SPRITE(SKITTY, gMonBackPic_Skitty),
+ SPECIES_SPRITE(DELCATTY, gMonBackPic_Delcatty),
+ SPECIES_SPRITE(KECLEON, gMonBackPic_Kecleon),
+ SPECIES_SPRITE(BALTOY, gMonBackPic_Baltoy),
+ SPECIES_SPRITE(CLAYDOL, gMonBackPic_Claydol),
+ SPECIES_SPRITE(NOSEPASS, gMonBackPic_Nosepass),
+ SPECIES_SPRITE(TORKOAL, gMonBackPic_Torkoal),
+ SPECIES_SPRITE(SABLEYE, gMonBackPic_Sableye),
+ SPECIES_SPRITE(BARBOACH, gMonBackPic_Barboach),
+ SPECIES_SPRITE(WHISCASH, gMonBackPic_Whiscash),
+ SPECIES_SPRITE(LUVDISC, gMonBackPic_Luvdisc),
+ SPECIES_SPRITE(CORPHISH, gMonBackPic_Corphish),
+ SPECIES_SPRITE(CRAWDAUNT, gMonBackPic_Crawdaunt),
+ SPECIES_SPRITE(FEEBAS, gMonBackPic_Feebas),
+ SPECIES_SPRITE(MILOTIC, gMonBackPic_Milotic),
+ SPECIES_SPRITE(CARVANHA, gMonBackPic_Carvanha),
+ SPECIES_SPRITE(SHARPEDO, gMonBackPic_Sharpedo),
+ SPECIES_SPRITE(TRAPINCH, gMonBackPic_Trapinch),
+ SPECIES_SPRITE(VIBRAVA, gMonBackPic_Vibrava),
+ SPECIES_SPRITE(FLYGON, gMonBackPic_Flygon),
+ SPECIES_SPRITE(MAKUHITA, gMonBackPic_Makuhita),
+ SPECIES_SPRITE(HARIYAMA, gMonBackPic_Hariyama),
+ SPECIES_SPRITE(ELECTRIKE, gMonBackPic_Electrike),
+ SPECIES_SPRITE(MANECTRIC, gMonBackPic_Manectric),
+ SPECIES_SPRITE(NUMEL, gMonBackPic_Numel),
+ SPECIES_SPRITE(CAMERUPT, gMonBackPic_Camerupt),
+ SPECIES_SPRITE(SPHEAL, gMonBackPic_Spheal),
+ SPECIES_SPRITE(SEALEO, gMonBackPic_Sealeo),
+ SPECIES_SPRITE(WALREIN, gMonBackPic_Walrein),
+ SPECIES_SPRITE(CACNEA, gMonBackPic_Cacnea),
+ SPECIES_SPRITE(CACTURNE, gMonBackPic_Cacturne),
+ SPECIES_SPRITE(SNORUNT, gMonBackPic_Snorunt),
+ SPECIES_SPRITE(GLALIE, gMonBackPic_Glalie),
+ SPECIES_SPRITE(LUNATONE, gMonBackPic_Lunatone),
+ SPECIES_SPRITE(SOLROCK, gMonBackPic_Solrock),
+ SPECIES_SPRITE(AZURILL, gMonBackPic_Azurill),
+ SPECIES_SPRITE(SPOINK, gMonBackPic_Spoink),
+ SPECIES_SPRITE(GRUMPIG, gMonBackPic_Grumpig),
+ SPECIES_SPRITE(PLUSLE, gMonBackPic_Plusle),
+ SPECIES_SPRITE(MINUN, gMonBackPic_Minun),
+ SPECIES_SPRITE(MAWILE, gMonBackPic_Mawile),
+ SPECIES_SPRITE(MEDITITE, gMonBackPic_Meditite),
+ SPECIES_SPRITE(MEDICHAM, gMonBackPic_Medicham),
+ SPECIES_SPRITE(SWABLU, gMonBackPic_Swablu),
+ SPECIES_SPRITE(ALTARIA, gMonBackPic_Altaria),
+ SPECIES_SPRITE(WYNAUT, gMonBackPic_Wynaut),
+ SPECIES_SPRITE(DUSKULL, gMonBackPic_Duskull),
+ SPECIES_SPRITE(DUSCLOPS, gMonBackPic_Dusclops),
+ SPECIES_SPRITE(ROSELIA, gMonBackPic_Roselia),
+ SPECIES_SPRITE(SLAKOTH, gMonBackPic_Slakoth),
+ SPECIES_SPRITE(VIGOROTH, gMonBackPic_Vigoroth),
+ SPECIES_SPRITE(SLAKING, gMonBackPic_Slaking),
+ SPECIES_SPRITE(GULPIN, gMonBackPic_Gulpin),
+ SPECIES_SPRITE(SWALOT, gMonBackPic_Swalot),
+ SPECIES_SPRITE(TROPIUS, gMonBackPic_Tropius),
+ SPECIES_SPRITE(WHISMUR, gMonBackPic_Whismur),
+ SPECIES_SPRITE(LOUDRED, gMonBackPic_Loudred),
+ SPECIES_SPRITE(EXPLOUD, gMonBackPic_Exploud),
+ SPECIES_SPRITE(CLAMPERL, gMonBackPic_Clamperl),
+ SPECIES_SPRITE(HUNTAIL, gMonBackPic_Huntail),
+ SPECIES_SPRITE(GOREBYSS, gMonBackPic_Gorebyss),
+ SPECIES_SPRITE(ABSOL, gMonBackPic_Absol),
+ SPECIES_SPRITE(SHUPPET, gMonBackPic_Shuppet),
+ SPECIES_SPRITE(BANETTE, gMonBackPic_Banette),
+ SPECIES_SPRITE(SEVIPER, gMonBackPic_Seviper),
+ SPECIES_SPRITE(ZANGOOSE, gMonBackPic_Zangoose),
+ SPECIES_SPRITE(RELICANTH, gMonBackPic_Relicanth),
+ SPECIES_SPRITE(ARON, gMonBackPic_Aron),
+ SPECIES_SPRITE(LAIRON, gMonBackPic_Lairon),
+ SPECIES_SPRITE(AGGRON, gMonBackPic_Aggron),
+ SPECIES_SPRITE(CASTFORM, gMonBackPic_Castform),
+ SPECIES_SPRITE(VOLBEAT, gMonBackPic_Volbeat),
+ SPECIES_SPRITE(ILLUMISE, gMonBackPic_Illumise),
+ SPECIES_SPRITE(LILEEP, gMonBackPic_Lileep),
+ SPECIES_SPRITE(CRADILY, gMonBackPic_Cradily),
+ SPECIES_SPRITE(ANORITH, gMonBackPic_Anorith),
+ SPECIES_SPRITE(ARMALDO, gMonBackPic_Armaldo),
+ SPECIES_SPRITE(RALTS, gMonBackPic_Ralts),
+ SPECIES_SPRITE(KIRLIA, gMonBackPic_Kirlia),
+ SPECIES_SPRITE(GARDEVOIR, gMonBackPic_Gardevoir),
+ SPECIES_SPRITE(BAGON, gMonBackPic_Bagon),
+ SPECIES_SPRITE(SHELGON, gMonBackPic_Shelgon),
+ SPECIES_SPRITE(SALAMENCE, gMonBackPic_Salamence),
+ SPECIES_SPRITE(BELDUM, gMonBackPic_Beldum),
+ SPECIES_SPRITE(METANG, gMonBackPic_Metang),
+ SPECIES_SPRITE(METAGROSS, gMonBackPic_Metagross),
+ SPECIES_SPRITE(REGIROCK, gMonBackPic_Regirock),
+ SPECIES_SPRITE(REGICE, gMonBackPic_Regice),
+ SPECIES_SPRITE(REGISTEEL, gMonBackPic_Registeel),
+ SPECIES_SPRITE(KYOGRE, gMonBackPic_Kyogre),
+ SPECIES_SPRITE(GROUDON, gMonBackPic_Groudon),
+ SPECIES_SPRITE(RAYQUAZA, gMonBackPic_Rayquaza),
+ SPECIES_SPRITE(LATIAS, gMonBackPic_Latias),
+ SPECIES_SPRITE(LATIOS, gMonBackPic_Latios),
+ SPECIES_SPRITE(JIRACHI, gMonBackPic_Jirachi),
+ SPECIES_SPRITE(DEOXYS, gMonBackPic_Deoxys),
+ SPECIES_SPRITE(CHIMECHO, gMonBackPic_Chimecho),
+ SPECIES_SPRITE(EGG, gMonFrontPic_Egg),
+ SPECIES_SPRITE(UNOWN_B, gMonBackPic_UnownB),
+ SPECIES_SPRITE(UNOWN_C, gMonBackPic_UnownC),
+ SPECIES_SPRITE(UNOWN_D, gMonBackPic_UnownD),
+ SPECIES_SPRITE(UNOWN_E, gMonBackPic_UnownE),
+ SPECIES_SPRITE(UNOWN_F, gMonBackPic_UnownF),
+ SPECIES_SPRITE(UNOWN_G, gMonBackPic_UnownG),
+ SPECIES_SPRITE(UNOWN_H, gMonBackPic_UnownH),
+ SPECIES_SPRITE(UNOWN_I, gMonBackPic_UnownI),
+ SPECIES_SPRITE(UNOWN_J, gMonBackPic_UnownJ),
+ SPECIES_SPRITE(UNOWN_K, gMonBackPic_UnownK),
+ SPECIES_SPRITE(UNOWN_L, gMonBackPic_UnownL),
+ SPECIES_SPRITE(UNOWN_M, gMonBackPic_UnownM),
+ SPECIES_SPRITE(UNOWN_N, gMonBackPic_UnownN),
+ SPECIES_SPRITE(UNOWN_O, gMonBackPic_UnownO),
+ SPECIES_SPRITE(UNOWN_P, gMonBackPic_UnownP),
+ SPECIES_SPRITE(UNOWN_Q, gMonBackPic_UnownQ),
+ SPECIES_SPRITE(UNOWN_R, gMonBackPic_UnownR),
+ SPECIES_SPRITE(UNOWN_S, gMonBackPic_UnownS),
+ SPECIES_SPRITE(UNOWN_T, gMonBackPic_UnownT),
+ SPECIES_SPRITE(UNOWN_U, gMonBackPic_UnownU),
+ SPECIES_SPRITE(UNOWN_V, gMonBackPic_UnownV),
+ SPECIES_SPRITE(UNOWN_W, gMonBackPic_UnownW),
+ SPECIES_SPRITE(UNOWN_X, gMonBackPic_UnownX),
+ SPECIES_SPRITE(UNOWN_Y, gMonBackPic_UnownY),
+ SPECIES_SPRITE(UNOWN_Z, gMonBackPic_UnownZ),
+ SPECIES_SPRITE(UNOWN_EMARK, gMonBackPic_UnownExclamationMark),
+ SPECIES_SPRITE(UNOWN_QMARK, gMonBackPic_UnownQuestionMark),
+};
diff --git a/src/data/pokemon_graphics/enemy_mon_elevation.h b/src/data/pokemon_graphics/enemy_mon_elevation.h
new file mode 100644
index 000000000..dccd063da
--- /dev/null
+++ b/src/data/pokemon_graphics/enemy_mon_elevation.h
@@ -0,0 +1,65 @@
+// This determines how much higher above the usual position the enemy Pokémon
+// is during battle. Species that float or fly have nonzero values.
+const u8 gEnemyMonElevation[NUM_SPECIES] =
+{
+ [SPECIES_BUTTERFREE] = 8,
+ [SPECIES_BEEDRILL] = 8,
+ [SPECIES_PIDGEOT] = 4,
+ [SPECIES_FEAROW] = 6,
+ [SPECIES_ZUBAT] = 8,
+ [SPECIES_GOLBAT] = 8,
+ [SPECIES_VENOMOTH] = 8,
+ [SPECIES_GEODUDE] = 16,
+ [SPECIES_MAGNEMITE] = 16,
+ [SPECIES_MAGNETON] = 8,
+ [SPECIES_GASTLY] = 4,
+ [SPECIES_HAUNTER] = 4,
+ [SPECIES_VOLTORB] = 10,
+ [SPECIES_ELECTRODE] = 12,
+ [SPECIES_KOFFING] = 8,
+ [SPECIES_WEEZING] = 6,
+ [SPECIES_AERODACTYL] = 7,
+ [SPECIES_ARTICUNO] = 6,
+ [SPECIES_ZAPDOS] = 8,
+ [SPECIES_MOLTRES] = 5,
+ [SPECIES_DRAGONITE] = 6,
+ [SPECIES_MEW] = 8,
+ [SPECIES_LEDIAN] = 8,
+ [SPECIES_CROBAT] = 6,
+ [SPECIES_HOPPIP] = 11,
+ [SPECIES_SKIPLOOM] = 12,
+ [SPECIES_JUMPLUFF] = 9,
+ [SPECIES_YANMA] = 8,
+ [SPECIES_MISDREAVUS] = 8,
+ [SPECIES_UNOWN] = 8,
+ [SPECIES_GLIGAR] = 6,
+ [SPECIES_LUGIA] = 6,
+ [SPECIES_HO_OH] = 6,
+ [SPECIES_CELEBI] = 15,
+ [SPECIES_BEAUTIFLY] = 8,
+ [SPECIES_DUSTOX] = 10,
+ [SPECIES_NINJASK] = 10,
+ [SPECIES_SHEDINJA] = 8,
+ [SPECIES_WINGULL] = 16,
+ [SPECIES_PELIPPER] = 8,
+ [SPECIES_MASQUERAIN] = 10,
+ [SPECIES_BALTOY] = 4,
+ [SPECIES_CLAYDOL] = 10,
+ [SPECIES_FLYGON] = 7,
+ [SPECIES_GLALIE] = 12,
+ [SPECIES_LUNATONE] = 13,
+ [SPECIES_SOLROCK] = 4,
+ [SPECIES_SWABLU] = 12,
+ [SPECIES_ALTARIA] = 8,
+ [SPECIES_DUSKULL] = 9,
+ [SPECIES_SHUPPET] = 12,
+ [SPECIES_BANETTE] = 8,
+ [SPECIES_CASTFORM] = 16,
+ [SPECIES_BELDUM] = 8,
+ [SPECIES_RAYQUAZA] = 6,
+ [SPECIES_LATIAS] = 6,
+ [SPECIES_LATIOS] = 6,
+ [SPECIES_JIRACHI] = 12,
+ [SPECIES_DEOXYS] = 8,
+ [SPECIES_CHIMECHO] = 12,
+};
diff --git a/src/data/pokemon_graphics/front_pic_table.h b/src/data/pokemon_graphics/front_pic_table.h
new file mode 100644
index 000000000..82af860d3
--- /dev/null
+++ b/src/data/pokemon_graphics/front_pic_table.h
@@ -0,0 +1,443 @@
+const struct CompressedSpriteSheet gMonFrontPicTable[] =
+{
+ SPECIES_SPRITE(NONE, gMonFrontPic_CircledQuestionMark),
+ SPECIES_SPRITE(BULBASAUR, gMonFrontPic_Bulbasaur),
+ SPECIES_SPRITE(IVYSAUR, gMonFrontPic_Ivysaur),
+ SPECIES_SPRITE(VENUSAUR, gMonFrontPic_Venusaur),
+ SPECIES_SPRITE(CHARMANDER, gMonFrontPic_Charmander),
+ SPECIES_SPRITE(CHARMELEON, gMonFrontPic_Charmeleon),
+ SPECIES_SPRITE(CHARIZARD, gMonFrontPic_Charizard),
+ SPECIES_SPRITE(SQUIRTLE, gMonFrontPic_Squirtle),
+ SPECIES_SPRITE(WARTORTLE, gMonFrontPic_Wartortle),
+ SPECIES_SPRITE(BLASTOISE, gMonFrontPic_Blastoise),
+ SPECIES_SPRITE(CATERPIE, gMonFrontPic_Caterpie),
+ SPECIES_SPRITE(METAPOD, gMonFrontPic_Metapod),
+ SPECIES_SPRITE(BUTTERFREE, gMonFrontPic_Butterfree),
+ SPECIES_SPRITE(WEEDLE, gMonFrontPic_Weedle),
+ SPECIES_SPRITE(KAKUNA, gMonFrontPic_Kakuna),
+ SPECIES_SPRITE(BEEDRILL, gMonFrontPic_Beedrill),
+ SPECIES_SPRITE(PIDGEY, gMonFrontPic_Pidgey),
+ SPECIES_SPRITE(PIDGEOTTO, gMonFrontPic_Pidgeotto),
+ SPECIES_SPRITE(PIDGEOT, gMonFrontPic_Pidgeot),
+ SPECIES_SPRITE(RATTATA, gMonFrontPic_Rattata),
+ SPECIES_SPRITE(RATICATE, gMonFrontPic_Raticate),
+ SPECIES_SPRITE(SPEAROW, gMonFrontPic_Spearow),
+ SPECIES_SPRITE(FEAROW, gMonFrontPic_Fearow),
+ SPECIES_SPRITE(EKANS, gMonFrontPic_Ekans),
+ SPECIES_SPRITE(ARBOK, gMonFrontPic_Arbok),
+ SPECIES_SPRITE(PIKACHU, gMonFrontPic_Pikachu),
+ SPECIES_SPRITE(RAICHU, gMonFrontPic_Raichu),
+ SPECIES_SPRITE(SANDSHREW, gMonFrontPic_Sandshrew),
+ SPECIES_SPRITE(SANDSLASH, gMonFrontPic_Sandslash),
+ SPECIES_SPRITE(NIDORAN_F, gMonFrontPic_NidoranF),
+ SPECIES_SPRITE(NIDORINA, gMonFrontPic_Nidorina),
+ SPECIES_SPRITE(NIDOQUEEN, gMonFrontPic_Nidoqueen),
+ SPECIES_SPRITE(NIDORAN_M, gMonFrontPic_NidoranM),
+ SPECIES_SPRITE(NIDORINO, gMonFrontPic_Nidorino),
+ SPECIES_SPRITE(NIDOKING, gMonFrontPic_Nidoking),
+ SPECIES_SPRITE(CLEFAIRY, gMonFrontPic_Clefairy),
+ SPECIES_SPRITE(CLEFABLE, gMonFrontPic_Clefable),
+ SPECIES_SPRITE(VULPIX, gMonFrontPic_Vulpix),
+ SPECIES_SPRITE(NINETALES, gMonFrontPic_Ninetales),
+ SPECIES_SPRITE(JIGGLYPUFF, gMonFrontPic_Jigglypuff),
+ SPECIES_SPRITE(WIGGLYTUFF, gMonFrontPic_Wigglytuff),
+ SPECIES_SPRITE(ZUBAT, gMonFrontPic_Zubat),
+ SPECIES_SPRITE(GOLBAT, gMonFrontPic_Golbat),
+ SPECIES_SPRITE(ODDISH, gMonFrontPic_Oddish),
+ SPECIES_SPRITE(GLOOM, gMonFrontPic_Gloom),
+ SPECIES_SPRITE(VILEPLUME, gMonFrontPic_Vileplume),
+ SPECIES_SPRITE(PARAS, gMonFrontPic_Paras),
+ SPECIES_SPRITE(PARASECT, gMonFrontPic_Parasect),
+ SPECIES_SPRITE(VENONAT, gMonFrontPic_Venonat),
+ SPECIES_SPRITE(VENOMOTH, gMonFrontPic_Venomoth),
+ SPECIES_SPRITE(DIGLETT, gMonFrontPic_Diglett),
+ SPECIES_SPRITE(DUGTRIO, gMonFrontPic_Dugtrio),
+ SPECIES_SPRITE(MEOWTH, gMonFrontPic_Meowth),
+ SPECIES_SPRITE(PERSIAN, gMonFrontPic_Persian),
+ SPECIES_SPRITE(PSYDUCK, gMonFrontPic_Psyduck),
+ SPECIES_SPRITE(GOLDUCK, gMonFrontPic_Golduck),
+ SPECIES_SPRITE(MANKEY, gMonFrontPic_Mankey),
+ SPECIES_SPRITE(PRIMEAPE, gMonFrontPic_Primeape),
+ SPECIES_SPRITE(GROWLITHE, gMonFrontPic_Growlithe),
+ SPECIES_SPRITE(ARCANINE, gMonFrontPic_Arcanine),
+ SPECIES_SPRITE(POLIWAG, gMonFrontPic_Poliwag),
+ SPECIES_SPRITE(POLIWHIRL, gMonFrontPic_Poliwhirl),
+ SPECIES_SPRITE(POLIWRATH, gMonFrontPic_Poliwrath),
+ SPECIES_SPRITE(ABRA, gMonFrontPic_Abra),
+ SPECIES_SPRITE(KADABRA, gMonFrontPic_Kadabra),
+ SPECIES_SPRITE(ALAKAZAM, gMonFrontPic_Alakazam),
+ SPECIES_SPRITE(MACHOP, gMonFrontPic_Machop),
+ SPECIES_SPRITE(MACHOKE, gMonFrontPic_Machoke),
+ SPECIES_SPRITE(MACHAMP, gMonFrontPic_Machamp),
+ SPECIES_SPRITE(BELLSPROUT, gMonFrontPic_Bellsprout),
+ SPECIES_SPRITE(WEEPINBELL, gMonFrontPic_Weepinbell),
+ SPECIES_SPRITE(VICTREEBEL, gMonFrontPic_Victreebel),
+ SPECIES_SPRITE(TENTACOOL, gMonFrontPic_Tentacool),
+ SPECIES_SPRITE(TENTACRUEL, gMonFrontPic_Tentacruel),
+ SPECIES_SPRITE(GEODUDE, gMonFrontPic_Geodude),
+ SPECIES_SPRITE(GRAVELER, gMonFrontPic_Graveler),
+ SPECIES_SPRITE(GOLEM, gMonFrontPic_Golem),
+ SPECIES_SPRITE(PONYTA, gMonFrontPic_Ponyta),
+ SPECIES_SPRITE(RAPIDASH, gMonFrontPic_Rapidash),
+ SPECIES_SPRITE(SLOWPOKE, gMonFrontPic_Slowpoke),
+ SPECIES_SPRITE(SLOWBRO, gMonFrontPic_Slowbro),
+ SPECIES_SPRITE(MAGNEMITE, gMonFrontPic_Magnemite),
+ SPECIES_SPRITE(MAGNETON, gMonFrontPic_Magneton),
+ SPECIES_SPRITE(FARFETCHD, gMonFrontPic_Farfetchd),
+ SPECIES_SPRITE(DODUO, gMonFrontPic_Doduo),
+ SPECIES_SPRITE(DODRIO, gMonFrontPic_Dodrio),
+ SPECIES_SPRITE(SEEL, gMonFrontPic_Seel),
+ SPECIES_SPRITE(DEWGONG, gMonFrontPic_Dewgong),
+ SPECIES_SPRITE(GRIMER, gMonFrontPic_Grimer),
+ SPECIES_SPRITE(MUK, gMonFrontPic_Muk),
+ SPECIES_SPRITE(SHELLDER, gMonFrontPic_Shellder),
+ SPECIES_SPRITE(CLOYSTER, gMonFrontPic_Cloyster),
+ SPECIES_SPRITE(GASTLY, gMonFrontPic_Gastly),
+ SPECIES_SPRITE(HAUNTER, gMonFrontPic_Haunter),
+ SPECIES_SPRITE(GENGAR, gMonFrontPic_Gengar),
+ SPECIES_SPRITE(ONIX, gMonFrontPic_Onix),
+ SPECIES_SPRITE(DROWZEE, gMonFrontPic_Drowzee),
+ SPECIES_SPRITE(HYPNO, gMonFrontPic_Hypno),
+ SPECIES_SPRITE(KRABBY, gMonFrontPic_Krabby),
+ SPECIES_SPRITE(KINGLER, gMonFrontPic_Kingler),
+ SPECIES_SPRITE(VOLTORB, gMonFrontPic_Voltorb),
+ SPECIES_SPRITE(ELECTRODE, gMonFrontPic_Electrode),
+ SPECIES_SPRITE(EXEGGCUTE, gMonFrontPic_Exeggcute),
+ SPECIES_SPRITE(EXEGGUTOR, gMonFrontPic_Exeggutor),
+ SPECIES_SPRITE(CUBONE, gMonFrontPic_Cubone),
+ SPECIES_SPRITE(MAROWAK, gMonFrontPic_Marowak),
+ SPECIES_SPRITE(HITMONLEE, gMonFrontPic_Hitmonlee),
+ SPECIES_SPRITE(HITMONCHAN, gMonFrontPic_Hitmonchan),
+ SPECIES_SPRITE(LICKITUNG, gMonFrontPic_Lickitung),
+ SPECIES_SPRITE(KOFFING, gMonFrontPic_Koffing),
+ SPECIES_SPRITE(WEEZING, gMonFrontPic_Weezing),
+ SPECIES_SPRITE(RHYHORN, gMonFrontPic_Rhyhorn),
+ SPECIES_SPRITE(RHYDON, gMonFrontPic_Rhydon),
+ SPECIES_SPRITE(CHANSEY, gMonFrontPic_Chansey),
+ SPECIES_SPRITE(TANGELA, gMonFrontPic_Tangela),
+ SPECIES_SPRITE(KANGASKHAN, gMonFrontPic_Kangaskhan),
+ SPECIES_SPRITE(HORSEA, gMonFrontPic_Horsea),
+ SPECIES_SPRITE(SEADRA, gMonFrontPic_Seadra),
+ SPECIES_SPRITE(GOLDEEN, gMonFrontPic_Goldeen),
+ SPECIES_SPRITE(SEAKING, gMonFrontPic_Seaking),
+ SPECIES_SPRITE(STARYU, gMonFrontPic_Staryu),
+ SPECIES_SPRITE(STARMIE, gMonFrontPic_Starmie),
+ SPECIES_SPRITE(MR_MIME, gMonFrontPic_Mrmime),
+ SPECIES_SPRITE(SCYTHER, gMonFrontPic_Scyther),
+ SPECIES_SPRITE(JYNX, gMonFrontPic_Jynx),
+ SPECIES_SPRITE(ELECTABUZZ, gMonFrontPic_Electabuzz),
+ SPECIES_SPRITE(MAGMAR, gMonFrontPic_Magmar),
+ SPECIES_SPRITE(PINSIR, gMonFrontPic_Pinsir),
+ SPECIES_SPRITE(TAUROS, gMonFrontPic_Tauros),
+ SPECIES_SPRITE(MAGIKARP, gMonFrontPic_Magikarp),
+ SPECIES_SPRITE(GYARADOS, gMonFrontPic_Gyarados),
+ SPECIES_SPRITE(LAPRAS, gMonFrontPic_Lapras),
+ SPECIES_SPRITE(DITTO, gMonFrontPic_Ditto),
+ SPECIES_SPRITE(EEVEE, gMonFrontPic_Eevee),
+ SPECIES_SPRITE(VAPOREON, gMonFrontPic_Vaporeon),
+ SPECIES_SPRITE(JOLTEON, gMonFrontPic_Jolteon),
+ SPECIES_SPRITE(FLAREON, gMonFrontPic_Flareon),
+ SPECIES_SPRITE(PORYGON, gMonFrontPic_Porygon),
+ SPECIES_SPRITE(OMANYTE, gMonFrontPic_Omanyte),
+ SPECIES_SPRITE(OMASTAR, gMonFrontPic_Omastar),
+ SPECIES_SPRITE(KABUTO, gMonFrontPic_Kabuto),
+ SPECIES_SPRITE(KABUTOPS, gMonFrontPic_Kabutops),
+ SPECIES_SPRITE(AERODACTYL, gMonFrontPic_Aerodactyl),
+ SPECIES_SPRITE(SNORLAX, gMonFrontPic_Snorlax),
+ SPECIES_SPRITE(ARTICUNO, gMonFrontPic_Articuno),
+ SPECIES_SPRITE(ZAPDOS, gMonFrontPic_Zapdos),
+ SPECIES_SPRITE(MOLTRES, gMonFrontPic_Moltres),
+ SPECIES_SPRITE(DRATINI, gMonFrontPic_Dratini),
+ SPECIES_SPRITE(DRAGONAIR, gMonFrontPic_Dragonair),
+ SPECIES_SPRITE(DRAGONITE, gMonFrontPic_Dragonite),
+ SPECIES_SPRITE(MEWTWO, gMonFrontPic_Mewtwo),
+ SPECIES_SPRITE(MEW, gMonFrontPic_Mew),
+ SPECIES_SPRITE(CHIKORITA, gMonFrontPic_Chikorita),
+ SPECIES_SPRITE(BAYLEEF, gMonFrontPic_Bayleef),
+ SPECIES_SPRITE(MEGANIUM, gMonFrontPic_Meganium),
+ SPECIES_SPRITE(CYNDAQUIL, gMonFrontPic_Cyndaquil),
+ SPECIES_SPRITE(QUILAVA, gMonFrontPic_Quilava),
+ SPECIES_SPRITE(TYPHLOSION, gMonFrontPic_Typhlosion),
+ SPECIES_SPRITE(TOTODILE, gMonFrontPic_Totodile),
+ SPECIES_SPRITE(CROCONAW, gMonFrontPic_Croconaw),
+ SPECIES_SPRITE(FERALIGATR, gMonFrontPic_Feraligatr),
+ SPECIES_SPRITE(SENTRET, gMonFrontPic_Sentret),
+ SPECIES_SPRITE(FURRET, gMonFrontPic_Furret),
+ SPECIES_SPRITE(HOOTHOOT, gMonFrontPic_Hoothoot),
+ SPECIES_SPRITE(NOCTOWL, gMonFrontPic_Noctowl),
+ SPECIES_SPRITE(LEDYBA, gMonFrontPic_Ledyba),
+ SPECIES_SPRITE(LEDIAN, gMonFrontPic_Ledian),
+ SPECIES_SPRITE(SPINARAK, gMonFrontPic_Spinarak),
+ SPECIES_SPRITE(ARIADOS, gMonFrontPic_Ariados),
+ SPECIES_SPRITE(CROBAT, gMonFrontPic_Crobat),
+ SPECIES_SPRITE(CHINCHOU, gMonFrontPic_Chinchou),
+ SPECIES_SPRITE(LANTURN, gMonFrontPic_Lanturn),
+ SPECIES_SPRITE(PICHU, gMonFrontPic_Pichu),
+ SPECIES_SPRITE(CLEFFA, gMonFrontPic_Cleffa),
+ SPECIES_SPRITE(IGGLYBUFF, gMonFrontPic_Igglybuff),
+ SPECIES_SPRITE(TOGEPI, gMonFrontPic_Togepi),
+ SPECIES_SPRITE(TOGETIC, gMonFrontPic_Togetic),
+ SPECIES_SPRITE(NATU, gMonFrontPic_Natu),
+ SPECIES_SPRITE(XATU, gMonFrontPic_Xatu),
+ SPECIES_SPRITE(MAREEP, gMonFrontPic_Mareep),
+ SPECIES_SPRITE(FLAAFFY, gMonFrontPic_Flaaffy),
+ SPECIES_SPRITE(AMPHAROS, gMonFrontPic_Ampharos),
+ SPECIES_SPRITE(BELLOSSOM, gMonFrontPic_Bellossom),
+ SPECIES_SPRITE(MARILL, gMonFrontPic_Marill),
+ SPECIES_SPRITE(AZUMARILL, gMonFrontPic_Azumarill),
+ SPECIES_SPRITE(SUDOWOODO, gMonFrontPic_Sudowoodo),
+ SPECIES_SPRITE(POLITOED, gMonFrontPic_Politoed),
+ SPECIES_SPRITE(HOPPIP, gMonFrontPic_Hoppip),
+ SPECIES_SPRITE(SKIPLOOM, gMonFrontPic_Skiploom),
+ SPECIES_SPRITE(JUMPLUFF, gMonFrontPic_Jumpluff),
+ SPECIES_SPRITE(AIPOM, gMonFrontPic_Aipom),
+ SPECIES_SPRITE(SUNKERN, gMonFrontPic_Sunkern),
+ SPECIES_SPRITE(SUNFLORA, gMonFrontPic_Sunflora),
+ SPECIES_SPRITE(YANMA, gMonFrontPic_Yanma),
+ SPECIES_SPRITE(WOOPER, gMonFrontPic_Wooper),
+ SPECIES_SPRITE(QUAGSIRE, gMonFrontPic_Quagsire),
+ SPECIES_SPRITE(ESPEON, gMonFrontPic_Espeon),
+ SPECIES_SPRITE(UMBREON, gMonFrontPic_Umbreon),
+ SPECIES_SPRITE(MURKROW, gMonFrontPic_Murkrow),
+ SPECIES_SPRITE(SLOWKING, gMonFrontPic_Slowking),
+ SPECIES_SPRITE(MISDREAVUS, gMonFrontPic_Misdreavus),
+ SPECIES_SPRITE(UNOWN, gMonFrontPic_UnownA),
+ SPECIES_SPRITE(WOBBUFFET, gMonFrontPic_Wobbuffet),
+ SPECIES_SPRITE(GIRAFARIG, gMonFrontPic_Girafarig),
+ SPECIES_SPRITE(PINECO, gMonFrontPic_Pineco),
+ SPECIES_SPRITE(FORRETRESS, gMonFrontPic_Forretress),
+ SPECIES_SPRITE(DUNSPARCE, gMonFrontPic_Dunsparce),
+ SPECIES_SPRITE(GLIGAR, gMonFrontPic_Gligar),
+ SPECIES_SPRITE(STEELIX, gMonFrontPic_Steelix),
+ SPECIES_SPRITE(SNUBBULL, gMonFrontPic_Snubbull),
+ SPECIES_SPRITE(GRANBULL, gMonFrontPic_Granbull),
+ SPECIES_SPRITE(QWILFISH, gMonFrontPic_Qwilfish),
+ SPECIES_SPRITE(SCIZOR, gMonFrontPic_Scizor),
+ SPECIES_SPRITE(SHUCKLE, gMonFrontPic_Shuckle),
+ SPECIES_SPRITE(HERACROSS, gMonFrontPic_Heracross),
+ SPECIES_SPRITE(SNEASEL, gMonFrontPic_Sneasel),
+ SPECIES_SPRITE(TEDDIURSA, gMonFrontPic_Teddiursa),
+ SPECIES_SPRITE(URSARING, gMonFrontPic_Ursaring),
+ SPECIES_SPRITE(SLUGMA, gMonFrontPic_Slugma),
+ SPECIES_SPRITE(MAGCARGO, gMonFrontPic_Magcargo),
+ SPECIES_SPRITE(SWINUB, gMonFrontPic_Swinub),
+ SPECIES_SPRITE(PILOSWINE, gMonFrontPic_Piloswine),
+ SPECIES_SPRITE(CORSOLA, gMonFrontPic_Corsola),
+ SPECIES_SPRITE(REMORAID, gMonFrontPic_Remoraid),
+ SPECIES_SPRITE(OCTILLERY, gMonFrontPic_Octillery),
+ SPECIES_SPRITE(DELIBIRD, gMonFrontPic_Delibird),
+ SPECIES_SPRITE(MANTINE, gMonFrontPic_Mantine),
+ SPECIES_SPRITE(SKARMORY, gMonFrontPic_Skarmory),
+ SPECIES_SPRITE(HOUNDOUR, gMonFrontPic_Houndour),
+ SPECIES_SPRITE(HOUNDOOM, gMonFrontPic_Houndoom),
+ SPECIES_SPRITE(KINGDRA, gMonFrontPic_Kingdra),
+ SPECIES_SPRITE(PHANPY, gMonFrontPic_Phanpy),
+ SPECIES_SPRITE(DONPHAN, gMonFrontPic_Donphan),
+ SPECIES_SPRITE(PORYGON2, gMonFrontPic_Porygon2),
+ SPECIES_SPRITE(STANTLER, gMonFrontPic_Stantler),
+ SPECIES_SPRITE(SMEARGLE, gMonFrontPic_Smeargle),
+ SPECIES_SPRITE(TYROGUE, gMonFrontPic_Tyrogue),
+ SPECIES_SPRITE(HITMONTOP, gMonFrontPic_Hitmontop),
+ SPECIES_SPRITE(SMOOCHUM, gMonFrontPic_Smoochum),
+ SPECIES_SPRITE(ELEKID, gMonFrontPic_Elekid),
+ SPECIES_SPRITE(MAGBY, gMonFrontPic_Magby),
+ SPECIES_SPRITE(MILTANK, gMonFrontPic_Miltank),
+ SPECIES_SPRITE(BLISSEY, gMonFrontPic_Blissey),
+ SPECIES_SPRITE(RAIKOU, gMonFrontPic_Raikou),
+ SPECIES_SPRITE(ENTEI, gMonFrontPic_Entei),
+ SPECIES_SPRITE(SUICUNE, gMonFrontPic_Suicune),
+ SPECIES_SPRITE(LARVITAR, gMonFrontPic_Larvitar),
+ SPECIES_SPRITE(PUPITAR, gMonFrontPic_Pupitar),
+ SPECIES_SPRITE(TYRANITAR, gMonFrontPic_Tyranitar),
+ SPECIES_SPRITE(LUGIA, gMonFrontPic_Lugia),
+ SPECIES_SPRITE(HO_OH, gMonFrontPic_HoOh),
+ SPECIES_SPRITE(CELEBI, gMonFrontPic_Celebi),
+ SPECIES_SPRITE(OLD_UNOWN_B, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_C, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_D, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_E, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_F, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_G, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_H, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_I, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_J, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_K, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_L, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_M, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_N, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_O, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_P, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_Q, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_R, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_S, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_T, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_U, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_V, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_W, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_X, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_Y, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(OLD_UNOWN_Z, gMonFrontPic_DoubleQuestionMark),
+ SPECIES_SPRITE(TREECKO, gMonFrontPic_Treecko),
+ SPECIES_SPRITE(GROVYLE, gMonFrontPic_Grovyle),
+ SPECIES_SPRITE(SCEPTILE, gMonFrontPic_Sceptile),
+ SPECIES_SPRITE(TORCHIC, gMonFrontPic_Torchic),
+ SPECIES_SPRITE(COMBUSKEN, gMonFrontPic_Combusken),
+ SPECIES_SPRITE(BLAZIKEN, gMonFrontPic_Blaziken),
+ SPECIES_SPRITE(MUDKIP, gMonFrontPic_Mudkip),
+ SPECIES_SPRITE(MARSHTOMP, gMonFrontPic_Marshtomp),
+ SPECIES_SPRITE(SWAMPERT, gMonFrontPic_Swampert),
+ SPECIES_SPRITE(POOCHYENA, gMonFrontPic_Poochyena),
+ SPECIES_SPRITE(MIGHTYENA, gMonFrontPic_Mightyena),
+ SPECIES_SPRITE(ZIGZAGOON, gMonFrontPic_Zigzagoon),
+ SPECIES_SPRITE(LINOONE, gMonFrontPic_Linoone),
+ SPECIES_SPRITE(WURMPLE, gMonFrontPic_Wurmple),
+ SPECIES_SPRITE(SILCOON, gMonFrontPic_Silcoon),
+ SPECIES_SPRITE(BEAUTIFLY, gMonFrontPic_Beautifly),
+ SPECIES_SPRITE(CASCOON, gMonFrontPic_Cascoon),
+ SPECIES_SPRITE(DUSTOX, gMonFrontPic_Dustox),
+ SPECIES_SPRITE(LOTAD, gMonFrontPic_Lotad),
+ SPECIES_SPRITE(LOMBRE, gMonFrontPic_Lombre),
+ SPECIES_SPRITE(LUDICOLO, gMonFrontPic_Ludicolo),
+ SPECIES_SPRITE(SEEDOT, gMonFrontPic_Seedot),
+ SPECIES_SPRITE(NUZLEAF, gMonFrontPic_Nuzleaf),
+ SPECIES_SPRITE(SHIFTRY, gMonFrontPic_Shiftry),
+ SPECIES_SPRITE(NINCADA, gMonFrontPic_Nincada),
+ SPECIES_SPRITE(NINJASK, gMonFrontPic_Ninjask),
+ SPECIES_SPRITE(SHEDINJA, gMonFrontPic_Shedinja),
+ SPECIES_SPRITE(TAILLOW, gMonFrontPic_Taillow),
+ SPECIES_SPRITE(SWELLOW, gMonFrontPic_Swellow),
+ SPECIES_SPRITE(SHROOMISH, gMonFrontPic_Shroomish),
+ SPECIES_SPRITE(BRELOOM, gMonFrontPic_Breloom),
+ SPECIES_SPRITE(SPINDA, gMonFrontPic_Spinda),
+ SPECIES_SPRITE(WINGULL, gMonFrontPic_Wingull),
+ SPECIES_SPRITE(PELIPPER, gMonFrontPic_Pelipper),
+ SPECIES_SPRITE(SURSKIT, gMonFrontPic_Surskit),
+ SPECIES_SPRITE(MASQUERAIN, gMonFrontPic_Masquerain),
+ SPECIES_SPRITE(WAILMER, gMonFrontPic_Wailmer),
+ SPECIES_SPRITE(WAILORD, gMonFrontPic_Wailord),
+ SPECIES_SPRITE(SKITTY, gMonFrontPic_Skitty),
+ SPECIES_SPRITE(DELCATTY, gMonFrontPic_Delcatty),
+ SPECIES_SPRITE(KECLEON, gMonFrontPic_Kecleon),
+ SPECIES_SPRITE(BALTOY, gMonFrontPic_Baltoy),
+ SPECIES_SPRITE(CLAYDOL, gMonFrontPic_Claydol),
+ SPECIES_SPRITE(NOSEPASS, gMonFrontPic_Nosepass),
+ SPECIES_SPRITE(TORKOAL, gMonFrontPic_Torkoal),
+ SPECIES_SPRITE(SABLEYE, gMonFrontPic_Sableye),
+ SPECIES_SPRITE(BARBOACH, gMonFrontPic_Barboach),
+ SPECIES_SPRITE(WHISCASH, gMonFrontPic_Whiscash),
+ SPECIES_SPRITE(LUVDISC, gMonFrontPic_Luvdisc),
+ SPECIES_SPRITE(CORPHISH, gMonFrontPic_Corphish),
+ SPECIES_SPRITE(CRAWDAUNT, gMonFrontPic_Crawdaunt),
+ SPECIES_SPRITE(FEEBAS, gMonFrontPic_Feebas),
+ SPECIES_SPRITE(MILOTIC, gMonFrontPic_Milotic),
+ SPECIES_SPRITE(CARVANHA, gMonFrontPic_Carvanha),
+ SPECIES_SPRITE(SHARPEDO, gMonFrontPic_Sharpedo),
+ SPECIES_SPRITE(TRAPINCH, gMonFrontPic_Trapinch),
+ SPECIES_SPRITE(VIBRAVA, gMonFrontPic_Vibrava),
+ SPECIES_SPRITE(FLYGON, gMonFrontPic_Flygon),
+ SPECIES_SPRITE(MAKUHITA, gMonFrontPic_Makuhita),
+ SPECIES_SPRITE(HARIYAMA, gMonFrontPic_Hariyama),
+ SPECIES_SPRITE(ELECTRIKE, gMonFrontPic_Electrike),
+ SPECIES_SPRITE(MANECTRIC, gMonFrontPic_Manectric),
+ SPECIES_SPRITE(NUMEL, gMonFrontPic_Numel),
+ SPECIES_SPRITE(CAMERUPT, gMonFrontPic_Camerupt),
+ SPECIES_SPRITE(SPHEAL, gMonFrontPic_Spheal),
+ SPECIES_SPRITE(SEALEO, gMonFrontPic_Sealeo),
+ SPECIES_SPRITE(WALREIN, gMonFrontPic_Walrein),
+ SPECIES_SPRITE(CACNEA, gMonFrontPic_Cacnea),
+ SPECIES_SPRITE(CACTURNE, gMonFrontPic_Cacturne),
+ SPECIES_SPRITE(SNORUNT, gMonFrontPic_Snorunt),
+ SPECIES_SPRITE(GLALIE, gMonFrontPic_Glalie),
+ SPECIES_SPRITE(LUNATONE, gMonFrontPic_Lunatone),
+ SPECIES_SPRITE(SOLROCK, gMonFrontPic_Solrock),
+ SPECIES_SPRITE(AZURILL, gMonFrontPic_Azurill),
+ SPECIES_SPRITE(SPOINK, gMonFrontPic_Spoink),
+ SPECIES_SPRITE(GRUMPIG, gMonFrontPic_Grumpig),
+ SPECIES_SPRITE(PLUSLE, gMonFrontPic_Plusle),
+ SPECIES_SPRITE(MINUN, gMonFrontPic_Minun),
+ SPECIES_SPRITE(MAWILE, gMonFrontPic_Mawile),
+ SPECIES_SPRITE(MEDITITE, gMonFrontPic_Meditite),
+ SPECIES_SPRITE(MEDICHAM, gMonFrontPic_Medicham),
+ SPECIES_SPRITE(SWABLU, gMonFrontPic_Swablu),
+ SPECIES_SPRITE(ALTARIA, gMonFrontPic_Altaria),
+ SPECIES_SPRITE(WYNAUT, gMonFrontPic_Wynaut),
+ SPECIES_SPRITE(DUSKULL, gMonFrontPic_Duskull),
+ SPECIES_SPRITE(DUSCLOPS, gMonFrontPic_Dusclops),
+ SPECIES_SPRITE(ROSELIA, gMonFrontPic_Roselia),
+ SPECIES_SPRITE(SLAKOTH, gMonFrontPic_Slakoth),
+ SPECIES_SPRITE(VIGOROTH, gMonFrontPic_Vigoroth),
+ SPECIES_SPRITE(SLAKING, gMonFrontPic_Slaking),
+ SPECIES_SPRITE(GULPIN, gMonFrontPic_Gulpin),
+ SPECIES_SPRITE(SWALOT, gMonFrontPic_Swalot),
+ SPECIES_SPRITE(TROPIUS, gMonFrontPic_Tropius),
+ SPECIES_SPRITE(WHISMUR, gMonFrontPic_Whismur),
+ SPECIES_SPRITE(LOUDRED, gMonFrontPic_Loudred),
+ SPECIES_SPRITE(EXPLOUD, gMonFrontPic_Exploud),
+ SPECIES_SPRITE(CLAMPERL, gMonFrontPic_Clamperl),
+ SPECIES_SPRITE(HUNTAIL, gMonFrontPic_Huntail),
+ SPECIES_SPRITE(GOREBYSS, gMonFrontPic_Gorebyss),
+ SPECIES_SPRITE(ABSOL, gMonFrontPic_Absol),
+ SPECIES_SPRITE(SHUPPET, gMonFrontPic_Shuppet),
+ SPECIES_SPRITE(BANETTE, gMonFrontPic_Banette),
+ SPECIES_SPRITE(SEVIPER, gMonFrontPic_Seviper),
+ SPECIES_SPRITE(ZANGOOSE, gMonFrontPic_Zangoose),
+ SPECIES_SPRITE(RELICANTH, gMonFrontPic_Relicanth),
+ SPECIES_SPRITE(ARON, gMonFrontPic_Aron),
+ SPECIES_SPRITE(LAIRON, gMonFrontPic_Lairon),
+ SPECIES_SPRITE(AGGRON, gMonFrontPic_Aggron),
+ SPECIES_SPRITE(CASTFORM, gMonFrontPic_Castform),
+ SPECIES_SPRITE(VOLBEAT, gMonFrontPic_Volbeat),
+ SPECIES_SPRITE(ILLUMISE, gMonFrontPic_Illumise),
+ SPECIES_SPRITE(LILEEP, gMonFrontPic_Lileep),
+ SPECIES_SPRITE(CRADILY, gMonFrontPic_Cradily),
+ SPECIES_SPRITE(ANORITH, gMonFrontPic_Anorith),
+ SPECIES_SPRITE(ARMALDO, gMonFrontPic_Armaldo),
+ SPECIES_SPRITE(RALTS, gMonFrontPic_Ralts),
+ SPECIES_SPRITE(KIRLIA, gMonFrontPic_Kirlia),
+ SPECIES_SPRITE(GARDEVOIR, gMonFrontPic_Gardevoir),
+ SPECIES_SPRITE(BAGON, gMonFrontPic_Bagon),
+ SPECIES_SPRITE(SHELGON, gMonFrontPic_Shelgon),
+ SPECIES_SPRITE(SALAMENCE, gMonFrontPic_Salamence),
+ SPECIES_SPRITE(BELDUM, gMonFrontPic_Beldum),
+ SPECIES_SPRITE(METANG, gMonFrontPic_Metang),
+ SPECIES_SPRITE(METAGROSS, gMonFrontPic_Metagross),
+ SPECIES_SPRITE(REGIROCK, gMonFrontPic_Regirock),
+ SPECIES_SPRITE(REGICE, gMonFrontPic_Regice),
+ SPECIES_SPRITE(REGISTEEL, gMonFrontPic_Registeel),
+ SPECIES_SPRITE(KYOGRE, gMonFrontPic_Kyogre),
+ SPECIES_SPRITE(GROUDON, gMonFrontPic_Groudon),
+ SPECIES_SPRITE(RAYQUAZA, gMonFrontPic_Rayquaza),
+ SPECIES_SPRITE(LATIAS, gMonFrontPic_Latias),
+ SPECIES_SPRITE(LATIOS, gMonFrontPic_Latios),
+ SPECIES_SPRITE(JIRACHI, gMonFrontPic_Jirachi),
+ SPECIES_SPRITE(DEOXYS, gMonFrontPic_Deoxys),
+ SPECIES_SPRITE(CHIMECHO, gMonFrontPic_Chimecho),
+ SPECIES_SPRITE(EGG, gMonFrontPic_Egg),
+ SPECIES_SPRITE(UNOWN_B, gMonFrontPic_UnownB),
+ SPECIES_SPRITE(UNOWN_C, gMonFrontPic_UnownC),
+ SPECIES_SPRITE(UNOWN_D, gMonFrontPic_UnownD),
+ SPECIES_SPRITE(UNOWN_E, gMonFrontPic_UnownE),
+ SPECIES_SPRITE(UNOWN_F, gMonFrontPic_UnownF),
+ SPECIES_SPRITE(UNOWN_G, gMonFrontPic_UnownG),
+ SPECIES_SPRITE(UNOWN_H, gMonFrontPic_UnownH),
+ SPECIES_SPRITE(UNOWN_I, gMonFrontPic_UnownI),
+ SPECIES_SPRITE(UNOWN_J, gMonFrontPic_UnownJ),
+ SPECIES_SPRITE(UNOWN_K, gMonFrontPic_UnownK),
+ SPECIES_SPRITE(UNOWN_L, gMonFrontPic_UnownL),
+ SPECIES_SPRITE(UNOWN_M, gMonFrontPic_UnownM),
+ SPECIES_SPRITE(UNOWN_N, gMonFrontPic_UnownN),
+ SPECIES_SPRITE(UNOWN_O, gMonFrontPic_UnownO),
+ SPECIES_SPRITE(UNOWN_P, gMonFrontPic_UnownP),
+ SPECIES_SPRITE(UNOWN_Q, gMonFrontPic_UnownQ),
+ SPECIES_SPRITE(UNOWN_R, gMonFrontPic_UnownR),
+ SPECIES_SPRITE(UNOWN_S, gMonFrontPic_UnownS),
+ SPECIES_SPRITE(UNOWN_T, gMonFrontPic_UnownT),
+ SPECIES_SPRITE(UNOWN_U, gMonFrontPic_UnownU),
+ SPECIES_SPRITE(UNOWN_V, gMonFrontPic_UnownV),
+ SPECIES_SPRITE(UNOWN_W, gMonFrontPic_UnownW),
+ SPECIES_SPRITE(UNOWN_X, gMonFrontPic_UnownX),
+ SPECIES_SPRITE(UNOWN_Y, gMonFrontPic_UnownY),
+ SPECIES_SPRITE(UNOWN_Z, gMonFrontPic_UnownZ),
+ SPECIES_SPRITE(UNOWN_EMARK, gMonFrontPic_UnownExclamationMark),
+ SPECIES_SPRITE(UNOWN_QMARK, gMonFrontPic_UnownQuestionMark),
+};
diff --git a/src/data/pokemon_graphics/palette_table.h b/src/data/pokemon_graphics/palette_table.h
new file mode 100644
index 000000000..35edcc76c
--- /dev/null
+++ b/src/data/pokemon_graphics/palette_table.h
@@ -0,0 +1,443 @@
+const struct CompressedSpritePalette gMonPaletteTable[] =
+{
+ SPECIES_PAL(NONE, gMonPalette_CircledQuestionMark),
+ SPECIES_PAL(BULBASAUR, gMonPalette_Bulbasaur),
+ SPECIES_PAL(IVYSAUR, gMonPalette_Ivysaur),
+ SPECIES_PAL(VENUSAUR, gMonPalette_Venusaur),
+ SPECIES_PAL(CHARMANDER, gMonPalette_Charmander),
+ SPECIES_PAL(CHARMELEON, gMonPalette_Charmeleon),
+ SPECIES_PAL(CHARIZARD, gMonPalette_Charizard),
+ SPECIES_PAL(SQUIRTLE, gMonPalette_Squirtle),
+ SPECIES_PAL(WARTORTLE, gMonPalette_Wartortle),
+ SPECIES_PAL(BLASTOISE, gMonPalette_Blastoise),
+ SPECIES_PAL(CATERPIE, gMonPalette_Caterpie),
+ SPECIES_PAL(METAPOD, gMonPalette_Metapod),
+ SPECIES_PAL(BUTTERFREE, gMonPalette_Butterfree),
+ SPECIES_PAL(WEEDLE, gMonPalette_Weedle),
+ SPECIES_PAL(KAKUNA, gMonPalette_Kakuna),
+ SPECIES_PAL(BEEDRILL, gMonPalette_Beedrill),
+ SPECIES_PAL(PIDGEY, gMonPalette_Pidgey),
+ SPECIES_PAL(PIDGEOTTO, gMonPalette_Pidgeotto),
+ SPECIES_PAL(PIDGEOT, gMonPalette_Pidgeot),
+ SPECIES_PAL(RATTATA, gMonPalette_Rattata),
+ SPECIES_PAL(RATICATE, gMonPalette_Raticate),
+ SPECIES_PAL(SPEAROW, gMonPalette_Spearow),
+ SPECIES_PAL(FEAROW, gMonPalette_Fearow),
+ SPECIES_PAL(EKANS, gMonPalette_Ekans),
+ SPECIES_PAL(ARBOK, gMonPalette_Arbok),
+ SPECIES_PAL(PIKACHU, gMonPalette_Pikachu),
+ SPECIES_PAL(RAICHU, gMonPalette_Raichu),
+ SPECIES_PAL(SANDSHREW, gMonPalette_Sandshrew),
+ SPECIES_PAL(SANDSLASH, gMonPalette_Sandslash),
+ SPECIES_PAL(NIDORAN_F, gMonPalette_NidoranF),
+ SPECIES_PAL(NIDORINA, gMonPalette_Nidorina),
+ SPECIES_PAL(NIDOQUEEN, gMonPalette_Nidoqueen),
+ SPECIES_PAL(NIDORAN_M, gMonPalette_NidoranM),
+ SPECIES_PAL(NIDORINO, gMonPalette_Nidorino),
+ SPECIES_PAL(NIDOKING, gMonPalette_Nidoking),
+ SPECIES_PAL(CLEFAIRY, gMonPalette_Clefairy),
+ SPECIES_PAL(CLEFABLE, gMonPalette_Clefable),
+ SPECIES_PAL(VULPIX, gMonPalette_Vulpix),
+ SPECIES_PAL(NINETALES, gMonPalette_Ninetales),
+ SPECIES_PAL(JIGGLYPUFF, gMonPalette_Jigglypuff),
+ SPECIES_PAL(WIGGLYTUFF, gMonPalette_Wigglytuff),
+ SPECIES_PAL(ZUBAT, gMonPalette_Zubat),
+ SPECIES_PAL(GOLBAT, gMonPalette_Golbat),
+ SPECIES_PAL(ODDISH, gMonPalette_Oddish),
+ SPECIES_PAL(GLOOM, gMonPalette_Gloom),
+ SPECIES_PAL(VILEPLUME, gMonPalette_Vileplume),
+ SPECIES_PAL(PARAS, gMonPalette_Paras),
+ SPECIES_PAL(PARASECT, gMonPalette_Parasect),
+ SPECIES_PAL(VENONAT, gMonPalette_Venonat),
+ SPECIES_PAL(VENOMOTH, gMonPalette_Venomoth),
+ SPECIES_PAL(DIGLETT, gMonPalette_Diglett),
+ SPECIES_PAL(DUGTRIO, gMonPalette_Dugtrio),
+ SPECIES_PAL(MEOWTH, gMonPalette_Meowth),
+ SPECIES_PAL(PERSIAN, gMonPalette_Persian),
+ SPECIES_PAL(PSYDUCK, gMonPalette_Psyduck),
+ SPECIES_PAL(GOLDUCK, gMonPalette_Golduck),
+ SPECIES_PAL(MANKEY, gMonPalette_Mankey),
+ SPECIES_PAL(PRIMEAPE, gMonPalette_Primeape),
+ SPECIES_PAL(GROWLITHE, gMonPalette_Growlithe),
+ SPECIES_PAL(ARCANINE, gMonPalette_Arcanine),
+ SPECIES_PAL(POLIWAG, gMonPalette_Poliwag),
+ SPECIES_PAL(POLIWHIRL, gMonPalette_Poliwhirl),
+ SPECIES_PAL(POLIWRATH, gMonPalette_Poliwrath),
+ SPECIES_PAL(ABRA, gMonPalette_Abra),
+ SPECIES_PAL(KADABRA, gMonPalette_Kadabra),
+ SPECIES_PAL(ALAKAZAM, gMonPalette_Alakazam),
+ SPECIES_PAL(MACHOP, gMonPalette_Machop),
+ SPECIES_PAL(MACHOKE, gMonPalette_Machoke),
+ SPECIES_PAL(MACHAMP, gMonPalette_Machamp),
+ SPECIES_PAL(BELLSPROUT, gMonPalette_Bellsprout),
+ SPECIES_PAL(WEEPINBELL, gMonPalette_Weepinbell),
+ SPECIES_PAL(VICTREEBEL, gMonPalette_Victreebel),
+ SPECIES_PAL(TENTACOOL, gMonPalette_Tentacool),
+ SPECIES_PAL(TENTACRUEL, gMonPalette_Tentacruel),
+ SPECIES_PAL(GEODUDE, gMonPalette_Geodude),
+ SPECIES_PAL(GRAVELER, gMonPalette_Graveler),
+ SPECIES_PAL(GOLEM, gMonPalette_Golem),
+ SPECIES_PAL(PONYTA, gMonPalette_Ponyta),
+ SPECIES_PAL(RAPIDASH, gMonPalette_Rapidash),
+ SPECIES_PAL(SLOWPOKE, gMonPalette_Slowpoke),
+ SPECIES_PAL(SLOWBRO, gMonPalette_Slowbro),
+ SPECIES_PAL(MAGNEMITE, gMonPalette_Magnemite),
+ SPECIES_PAL(MAGNETON, gMonPalette_Magneton),
+ SPECIES_PAL(FARFETCHD, gMonPalette_Farfetchd),
+ SPECIES_PAL(DODUO, gMonPalette_Doduo),
+ SPECIES_PAL(DODRIO, gMonPalette_Dodrio),
+ SPECIES_PAL(SEEL, gMonPalette_Seel),
+ SPECIES_PAL(DEWGONG, gMonPalette_Dewgong),
+ SPECIES_PAL(GRIMER, gMonPalette_Grimer),
+ SPECIES_PAL(MUK, gMonPalette_Muk),
+ SPECIES_PAL(SHELLDER, gMonPalette_Shellder),
+ SPECIES_PAL(CLOYSTER, gMonPalette_Cloyster),
+ SPECIES_PAL(GASTLY, gMonPalette_Gastly),
+ SPECIES_PAL(HAUNTER, gMonPalette_Haunter),
+ SPECIES_PAL(GENGAR, gMonPalette_Gengar),
+ SPECIES_PAL(ONIX, gMonPalette_Onix),
+ SPECIES_PAL(DROWZEE, gMonPalette_Drowzee),
+ SPECIES_PAL(HYPNO, gMonPalette_Hypno),
+ SPECIES_PAL(KRABBY, gMonPalette_Krabby),
+ SPECIES_PAL(KINGLER, gMonPalette_Kingler),
+ SPECIES_PAL(VOLTORB, gMonPalette_Voltorb),
+ SPECIES_PAL(ELECTRODE, gMonPalette_Electrode),
+ SPECIES_PAL(EXEGGCUTE, gMonPalette_Exeggcute),
+ SPECIES_PAL(EXEGGUTOR, gMonPalette_Exeggutor),
+ SPECIES_PAL(CUBONE, gMonPalette_Cubone),
+ SPECIES_PAL(MAROWAK, gMonPalette_Marowak),
+ SPECIES_PAL(HITMONLEE, gMonPalette_Hitmonlee),
+ SPECIES_PAL(HITMONCHAN, gMonPalette_Hitmonchan),
+ SPECIES_PAL(LICKITUNG, gMonPalette_Lickitung),
+ SPECIES_PAL(KOFFING, gMonPalette_Koffing),
+ SPECIES_PAL(WEEZING, gMonPalette_Weezing),
+ SPECIES_PAL(RHYHORN, gMonPalette_Rhyhorn),
+ SPECIES_PAL(RHYDON, gMonPalette_Rhydon),
+ SPECIES_PAL(CHANSEY, gMonPalette_Chansey),
+ SPECIES_PAL(TANGELA, gMonPalette_Tangela),
+ SPECIES_PAL(KANGASKHAN, gMonPalette_Kangaskhan),
+ SPECIES_PAL(HORSEA, gMonPalette_Horsea),
+ SPECIES_PAL(SEADRA, gMonPalette_Seadra),
+ SPECIES_PAL(GOLDEEN, gMonPalette_Goldeen),
+ SPECIES_PAL(SEAKING, gMonPalette_Seaking),
+ SPECIES_PAL(STARYU, gMonPalette_Staryu),
+ SPECIES_PAL(STARMIE, gMonPalette_Starmie),
+ SPECIES_PAL(MR_MIME, gMonPalette_Mrmime),
+ SPECIES_PAL(SCYTHER, gMonPalette_Scyther),
+ SPECIES_PAL(JYNX, gMonPalette_Jynx),
+ SPECIES_PAL(ELECTABUZZ, gMonPalette_Electabuzz),
+ SPECIES_PAL(MAGMAR, gMonPalette_Magmar),
+ SPECIES_PAL(PINSIR, gMonPalette_Pinsir),
+ SPECIES_PAL(TAUROS, gMonPalette_Tauros),
+ SPECIES_PAL(MAGIKARP, gMonPalette_Magikarp),
+ SPECIES_PAL(GYARADOS, gMonPalette_Gyarados),
+ SPECIES_PAL(LAPRAS, gMonPalette_Lapras),
+ SPECIES_PAL(DITTO, gMonPalette_Ditto),
+ SPECIES_PAL(EEVEE, gMonPalette_Eevee),
+ SPECIES_PAL(VAPOREON, gMonPalette_Vaporeon),
+ SPECIES_PAL(JOLTEON, gMonPalette_Jolteon),
+ SPECIES_PAL(FLAREON, gMonPalette_Flareon),
+ SPECIES_PAL(PORYGON, gMonPalette_Porygon),
+ SPECIES_PAL(OMANYTE, gMonPalette_Omanyte),
+ SPECIES_PAL(OMASTAR, gMonPalette_Omastar),
+ SPECIES_PAL(KABUTO, gMonPalette_Kabuto),
+ SPECIES_PAL(KABUTOPS, gMonPalette_Kabutops),
+ SPECIES_PAL(AERODACTYL, gMonPalette_Aerodactyl),
+ SPECIES_PAL(SNORLAX, gMonPalette_Snorlax),
+ SPECIES_PAL(ARTICUNO, gMonPalette_Articuno),
+ SPECIES_PAL(ZAPDOS, gMonPalette_Zapdos),
+ SPECIES_PAL(MOLTRES, gMonPalette_Moltres),
+ SPECIES_PAL(DRATINI, gMonPalette_Dratini),
+ SPECIES_PAL(DRAGONAIR, gMonPalette_Dragonair),
+ SPECIES_PAL(DRAGONITE, gMonPalette_Dragonite),
+ SPECIES_PAL(MEWTWO, gMonPalette_Mewtwo),
+ SPECIES_PAL(MEW, gMonPalette_Mew),
+ SPECIES_PAL(CHIKORITA, gMonPalette_Chikorita),
+ SPECIES_PAL(BAYLEEF, gMonPalette_Bayleef),
+ SPECIES_PAL(MEGANIUM, gMonPalette_Meganium),
+ SPECIES_PAL(CYNDAQUIL, gMonPalette_Cyndaquil),
+ SPECIES_PAL(QUILAVA, gMonPalette_Quilava),
+ SPECIES_PAL(TYPHLOSION, gMonPalette_Typhlosion),
+ SPECIES_PAL(TOTODILE, gMonPalette_Totodile),
+ SPECIES_PAL(CROCONAW, gMonPalette_Croconaw),
+ SPECIES_PAL(FERALIGATR, gMonPalette_Feraligatr),
+ SPECIES_PAL(SENTRET, gMonPalette_Sentret),
+ SPECIES_PAL(FURRET, gMonPalette_Furret),
+ SPECIES_PAL(HOOTHOOT, gMonPalette_Hoothoot),
+ SPECIES_PAL(NOCTOWL, gMonPalette_Noctowl),
+ SPECIES_PAL(LEDYBA, gMonPalette_Ledyba),
+ SPECIES_PAL(LEDIAN, gMonPalette_Ledian),
+ SPECIES_PAL(SPINARAK, gMonPalette_Spinarak),
+ SPECIES_PAL(ARIADOS, gMonPalette_Ariados),
+ SPECIES_PAL(CROBAT, gMonPalette_Crobat),
+ SPECIES_PAL(CHINCHOU, gMonPalette_Chinchou),
+ SPECIES_PAL(LANTURN, gMonPalette_Lanturn),
+ SPECIES_PAL(PICHU, gMonPalette_Pichu),
+ SPECIES_PAL(CLEFFA, gMonPalette_Cleffa),
+ SPECIES_PAL(IGGLYBUFF, gMonPalette_Igglybuff),
+ SPECIES_PAL(TOGEPI, gMonPalette_Togepi),
+ SPECIES_PAL(TOGETIC, gMonPalette_Togetic),
+ SPECIES_PAL(NATU, gMonPalette_Natu),
+ SPECIES_PAL(XATU, gMonPalette_Xatu),
+ SPECIES_PAL(MAREEP, gMonPalette_Mareep),
+ SPECIES_PAL(FLAAFFY, gMonPalette_Flaaffy),
+ SPECIES_PAL(AMPHAROS, gMonPalette_Ampharos),
+ SPECIES_PAL(BELLOSSOM, gMonPalette_Bellossom),
+ SPECIES_PAL(MARILL, gMonPalette_Marill),
+ SPECIES_PAL(AZUMARILL, gMonPalette_Azumarill),
+ SPECIES_PAL(SUDOWOODO, gMonPalette_Sudowoodo),
+ SPECIES_PAL(POLITOED, gMonPalette_Politoed),
+ SPECIES_PAL(HOPPIP, gMonPalette_Hoppip),
+ SPECIES_PAL(SKIPLOOM, gMonPalette_Skiploom),
+ SPECIES_PAL(JUMPLUFF, gMonPalette_Jumpluff),
+ SPECIES_PAL(AIPOM, gMonPalette_Aipom),
+ SPECIES_PAL(SUNKERN, gMonPalette_Sunkern),
+ SPECIES_PAL(SUNFLORA, gMonPalette_Sunflora),
+ SPECIES_PAL(YANMA, gMonPalette_Yanma),
+ SPECIES_PAL(WOOPER, gMonPalette_Wooper),
+ SPECIES_PAL(QUAGSIRE, gMonPalette_Quagsire),
+ SPECIES_PAL(ESPEON, gMonPalette_Espeon),
+ SPECIES_PAL(UMBREON, gMonPalette_Umbreon),
+ SPECIES_PAL(MURKROW, gMonPalette_Murkrow),
+ SPECIES_PAL(SLOWKING, gMonPalette_Slowking),
+ SPECIES_PAL(MISDREAVUS, gMonPalette_Misdreavus),
+ SPECIES_PAL(UNOWN, gMonPalette_Unown),
+ SPECIES_PAL(WOBBUFFET, gMonPalette_Wobbuffet),
+ SPECIES_PAL(GIRAFARIG, gMonPalette_Girafarig),
+ SPECIES_PAL(PINECO, gMonPalette_Pineco),
+ SPECIES_PAL(FORRETRESS, gMonPalette_Forretress),
+ SPECIES_PAL(DUNSPARCE, gMonPalette_Dunsparce),
+ SPECIES_PAL(GLIGAR, gMonPalette_Gligar),
+ SPECIES_PAL(STEELIX, gMonPalette_Steelix),
+ SPECIES_PAL(SNUBBULL, gMonPalette_Snubbull),
+ SPECIES_PAL(GRANBULL, gMonPalette_Granbull),
+ SPECIES_PAL(QWILFISH, gMonPalette_Qwilfish),
+ SPECIES_PAL(SCIZOR, gMonPalette_Scizor),
+ SPECIES_PAL(SHUCKLE, gMonPalette_Shuckle),
+ SPECIES_PAL(HERACROSS, gMonPalette_Heracross),
+ SPECIES_PAL(SNEASEL, gMonPalette_Sneasel),
+ SPECIES_PAL(TEDDIURSA, gMonPalette_Teddiursa),
+ SPECIES_PAL(URSARING, gMonPalette_Ursaring),
+ SPECIES_PAL(SLUGMA, gMonPalette_Slugma),
+ SPECIES_PAL(MAGCARGO, gMonPalette_Magcargo),
+ SPECIES_PAL(SWINUB, gMonPalette_Swinub),
+ SPECIES_PAL(PILOSWINE, gMonPalette_Piloswine),
+ SPECIES_PAL(CORSOLA, gMonPalette_Corsola),
+ SPECIES_PAL(REMORAID, gMonPalette_Remoraid),
+ SPECIES_PAL(OCTILLERY, gMonPalette_Octillery),
+ SPECIES_PAL(DELIBIRD, gMonPalette_Delibird),
+ SPECIES_PAL(MANTINE, gMonPalette_Mantine),
+ SPECIES_PAL(SKARMORY, gMonPalette_Skarmory),
+ SPECIES_PAL(HOUNDOUR, gMonPalette_Houndour),
+ SPECIES_PAL(HOUNDOOM, gMonPalette_Houndoom),
+ SPECIES_PAL(KINGDRA, gMonPalette_Kingdra),
+ SPECIES_PAL(PHANPY, gMonPalette_Phanpy),
+ SPECIES_PAL(DONPHAN, gMonPalette_Donphan),
+ SPECIES_PAL(PORYGON2, gMonPalette_Porygon2),
+ SPECIES_PAL(STANTLER, gMonPalette_Stantler),
+ SPECIES_PAL(SMEARGLE, gMonPalette_Smeargle),
+ SPECIES_PAL(TYROGUE, gMonPalette_Tyrogue),
+ SPECIES_PAL(HITMONTOP, gMonPalette_Hitmontop),
+ SPECIES_PAL(SMOOCHUM, gMonPalette_Smoochum),
+ SPECIES_PAL(ELEKID, gMonPalette_Elekid),
+ SPECIES_PAL(MAGBY, gMonPalette_Magby),
+ SPECIES_PAL(MILTANK, gMonPalette_Miltank),
+ SPECIES_PAL(BLISSEY, gMonPalette_Blissey),
+ SPECIES_PAL(RAIKOU, gMonPalette_Raikou),
+ SPECIES_PAL(ENTEI, gMonPalette_Entei),
+ SPECIES_PAL(SUICUNE, gMonPalette_Suicune),
+ SPECIES_PAL(LARVITAR, gMonPalette_Larvitar),
+ SPECIES_PAL(PUPITAR, gMonPalette_Pupitar),
+ SPECIES_PAL(TYRANITAR, gMonPalette_Tyranitar),
+ SPECIES_PAL(LUGIA, gMonPalette_Lugia),
+ SPECIES_PAL(HO_OH, gMonPalette_HoOh),
+ SPECIES_PAL(CELEBI, gMonPalette_Celebi),
+ SPECIES_PAL(OLD_UNOWN_B, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_C, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_D, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_E, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_F, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_G, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_H, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_I, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_J, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_K, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_L, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_M, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_N, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_O, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_P, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_Q, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_R, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_S, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_T, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_U, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_V, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_W, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_X, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_Y, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(OLD_UNOWN_Z, gMonPalette_DoubleQuestionMark),
+ SPECIES_PAL(TREECKO, gMonPalette_Treecko),
+ SPECIES_PAL(GROVYLE, gMonPalette_Grovyle),
+ SPECIES_PAL(SCEPTILE, gMonPalette_Sceptile),
+ SPECIES_PAL(TORCHIC, gMonPalette_Torchic),
+ SPECIES_PAL(COMBUSKEN, gMonPalette_Combusken),
+ SPECIES_PAL(BLAZIKEN, gMonPalette_Blaziken),
+ SPECIES_PAL(MUDKIP, gMonPalette_Mudkip),
+ SPECIES_PAL(MARSHTOMP, gMonPalette_Marshtomp),
+ SPECIES_PAL(SWAMPERT, gMonPalette_Swampert),
+ SPECIES_PAL(POOCHYENA, gMonPalette_Poochyena),
+ SPECIES_PAL(MIGHTYENA, gMonPalette_Mightyena),
+ SPECIES_PAL(ZIGZAGOON, gMonPalette_Zigzagoon),
+ SPECIES_PAL(LINOONE, gMonPalette_Linoone),
+ SPECIES_PAL(WURMPLE, gMonPalette_Wurmple),
+ SPECIES_PAL(SILCOON, gMonPalette_Silcoon),
+ SPECIES_PAL(BEAUTIFLY, gMonPalette_Beautifly),
+ SPECIES_PAL(CASCOON, gMonPalette_Cascoon),
+ SPECIES_PAL(DUSTOX, gMonPalette_Dustox),
+ SPECIES_PAL(LOTAD, gMonPalette_Lotad),
+ SPECIES_PAL(LOMBRE, gMonPalette_Lombre),
+ SPECIES_PAL(LUDICOLO, gMonPalette_Ludicolo),
+ SPECIES_PAL(SEEDOT, gMonPalette_Seedot),
+ SPECIES_PAL(NUZLEAF, gMonPalette_Nuzleaf),
+ SPECIES_PAL(SHIFTRY, gMonPalette_Shiftry),
+ SPECIES_PAL(NINCADA, gMonPalette_Nincada),
+ SPECIES_PAL(NINJASK, gMonPalette_Ninjask),
+ SPECIES_PAL(SHEDINJA, gMonPalette_Shedinja),
+ SPECIES_PAL(TAILLOW, gMonPalette_Taillow),
+ SPECIES_PAL(SWELLOW, gMonPalette_Swellow),
+ SPECIES_PAL(SHROOMISH, gMonPalette_Shroomish),
+ SPECIES_PAL(BRELOOM, gMonPalette_Breloom),
+ SPECIES_PAL(SPINDA, gMonPalette_Spinda),
+ SPECIES_PAL(WINGULL, gMonPalette_Wingull),
+ SPECIES_PAL(PELIPPER, gMonPalette_Pelipper),
+ SPECIES_PAL(SURSKIT, gMonPalette_Surskit),
+ SPECIES_PAL(MASQUERAIN, gMonPalette_Masquerain),
+ SPECIES_PAL(WAILMER, gMonPalette_Wailmer),
+ SPECIES_PAL(WAILORD, gMonPalette_Wailord),
+ SPECIES_PAL(SKITTY, gMonPalette_Skitty),
+ SPECIES_PAL(DELCATTY, gMonPalette_Delcatty),
+ SPECIES_PAL(KECLEON, gMonPalette_Kecleon),
+ SPECIES_PAL(BALTOY, gMonPalette_Baltoy),
+ SPECIES_PAL(CLAYDOL, gMonPalette_Claydol),
+ SPECIES_PAL(NOSEPASS, gMonPalette_Nosepass),
+ SPECIES_PAL(TORKOAL, gMonPalette_Torkoal),
+ SPECIES_PAL(SABLEYE, gMonPalette_Sableye),
+ SPECIES_PAL(BARBOACH, gMonPalette_Barboach),
+ SPECIES_PAL(WHISCASH, gMonPalette_Whiscash),
+ SPECIES_PAL(LUVDISC, gMonPalette_Luvdisc),
+ SPECIES_PAL(CORPHISH, gMonPalette_Corphish),
+ SPECIES_PAL(CRAWDAUNT, gMonPalette_Crawdaunt),
+ SPECIES_PAL(FEEBAS, gMonPalette_Feebas),
+ SPECIES_PAL(MILOTIC, gMonPalette_Milotic),
+ SPECIES_PAL(CARVANHA, gMonPalette_Carvanha),
+ SPECIES_PAL(SHARPEDO, gMonPalette_Sharpedo),
+ SPECIES_PAL(TRAPINCH, gMonPalette_Trapinch),
+ SPECIES_PAL(VIBRAVA, gMonPalette_Vibrava),
+ SPECIES_PAL(FLYGON, gMonPalette_Flygon),
+ SPECIES_PAL(MAKUHITA, gMonPalette_Makuhita),
+ SPECIES_PAL(HARIYAMA, gMonPalette_Hariyama),
+ SPECIES_PAL(ELECTRIKE, gMonPalette_Electrike),
+ SPECIES_PAL(MANECTRIC, gMonPalette_Manectric),
+ SPECIES_PAL(NUMEL, gMonPalette_Numel),
+ SPECIES_PAL(CAMERUPT, gMonPalette_Camerupt),
+ SPECIES_PAL(SPHEAL, gMonPalette_Spheal),
+ SPECIES_PAL(SEALEO, gMonPalette_Sealeo),
+ SPECIES_PAL(WALREIN, gMonPalette_Walrein),
+ SPECIES_PAL(CACNEA, gMonPalette_Cacnea),
+ SPECIES_PAL(CACTURNE, gMonPalette_Cacturne),
+ SPECIES_PAL(SNORUNT, gMonPalette_Snorunt),
+ SPECIES_PAL(GLALIE, gMonPalette_Glalie),
+ SPECIES_PAL(LUNATONE, gMonPalette_Lunatone),
+ SPECIES_PAL(SOLROCK, gMonPalette_Solrock),
+ SPECIES_PAL(AZURILL, gMonPalette_Azurill),
+ SPECIES_PAL(SPOINK, gMonPalette_Spoink),
+ SPECIES_PAL(GRUMPIG, gMonPalette_Grumpig),
+ SPECIES_PAL(PLUSLE, gMonPalette_Plusle),
+ SPECIES_PAL(MINUN, gMonPalette_Minun),
+ SPECIES_PAL(MAWILE, gMonPalette_Mawile),
+ SPECIES_PAL(MEDITITE, gMonPalette_Meditite),
+ SPECIES_PAL(MEDICHAM, gMonPalette_Medicham),
+ SPECIES_PAL(SWABLU, gMonPalette_Swablu),
+ SPECIES_PAL(ALTARIA, gMonPalette_Altaria),
+ SPECIES_PAL(WYNAUT, gMonPalette_Wynaut),
+ SPECIES_PAL(DUSKULL, gMonPalette_Duskull),
+ SPECIES_PAL(DUSCLOPS, gMonPalette_Dusclops),
+ SPECIES_PAL(ROSELIA, gMonPalette_Roselia),
+ SPECIES_PAL(SLAKOTH, gMonPalette_Slakoth),
+ SPECIES_PAL(VIGOROTH, gMonPalette_Vigoroth),
+ SPECIES_PAL(SLAKING, gMonPalette_Slaking),
+ SPECIES_PAL(GULPIN, gMonPalette_Gulpin),
+ SPECIES_PAL(SWALOT, gMonPalette_Swalot),
+ SPECIES_PAL(TROPIUS, gMonPalette_Tropius),
+ SPECIES_PAL(WHISMUR, gMonPalette_Whismur),
+ SPECIES_PAL(LOUDRED, gMonPalette_Loudred),
+ SPECIES_PAL(EXPLOUD, gMonPalette_Exploud),
+ SPECIES_PAL(CLAMPERL, gMonPalette_Clamperl),
+ SPECIES_PAL(HUNTAIL, gMonPalette_Huntail),
+ SPECIES_PAL(GOREBYSS, gMonPalette_Gorebyss),
+ SPECIES_PAL(ABSOL, gMonPalette_Absol),
+ SPECIES_PAL(SHUPPET, gMonPalette_Shuppet),
+ SPECIES_PAL(BANETTE, gMonPalette_Banette),
+ SPECIES_PAL(SEVIPER, gMonPalette_Seviper),
+ SPECIES_PAL(ZANGOOSE, gMonPalette_Zangoose),
+ SPECIES_PAL(RELICANTH, gMonPalette_Relicanth),
+ SPECIES_PAL(ARON, gMonPalette_Aron),
+ SPECIES_PAL(LAIRON, gMonPalette_Lairon),
+ SPECIES_PAL(AGGRON, gMonPalette_Aggron),
+ SPECIES_PAL(CASTFORM, gMonPalette_Castform),
+ SPECIES_PAL(VOLBEAT, gMonPalette_Volbeat),
+ SPECIES_PAL(ILLUMISE, gMonPalette_Illumise),
+ SPECIES_PAL(LILEEP, gMonPalette_Lileep),
+ SPECIES_PAL(CRADILY, gMonPalette_Cradily),
+ SPECIES_PAL(ANORITH, gMonPalette_Anorith),
+ SPECIES_PAL(ARMALDO, gMonPalette_Armaldo),
+ SPECIES_PAL(RALTS, gMonPalette_Ralts),
+ SPECIES_PAL(KIRLIA, gMonPalette_Kirlia),
+ SPECIES_PAL(GARDEVOIR, gMonPalette_Gardevoir),
+ SPECIES_PAL(BAGON, gMonPalette_Bagon),
+ SPECIES_PAL(SHELGON, gMonPalette_Shelgon),
+ SPECIES_PAL(SALAMENCE, gMonPalette_Salamence),
+ SPECIES_PAL(BELDUM, gMonPalette_Beldum),
+ SPECIES_PAL(METANG, gMonPalette_Metang),
+ SPECIES_PAL(METAGROSS, gMonPalette_Metagross),
+ SPECIES_PAL(REGIROCK, gMonPalette_Regirock),
+ SPECIES_PAL(REGICE, gMonPalette_Regice),
+ SPECIES_PAL(REGISTEEL, gMonPalette_Registeel),
+ SPECIES_PAL(KYOGRE, gMonPalette_Kyogre),
+ SPECIES_PAL(GROUDON, gMonPalette_Groudon),
+ SPECIES_PAL(RAYQUAZA, gMonPalette_Rayquaza),
+ SPECIES_PAL(LATIAS, gMonPalette_Latias),
+ SPECIES_PAL(LATIOS, gMonPalette_Latios),
+ SPECIES_PAL(JIRACHI, gMonPalette_Jirachi),
+ SPECIES_PAL(DEOXYS, gMonPalette_Deoxys),
+ SPECIES_PAL(CHIMECHO, gMonPalette_Chimecho),
+ SPECIES_PAL(EGG, gMonPalette_Egg),
+ SPECIES_PAL(UNOWN_B, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_C, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_D, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_E, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_F, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_G, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_H, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_I, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_J, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_K, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_L, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_M, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_N, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_O, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_P, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_Q, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_R, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_S, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_T, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_U, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_V, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_W, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_X, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_Y, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_Z, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_EMARK, gMonPalette_Unown),
+ SPECIES_PAL(UNOWN_QMARK, gMonPalette_Unown),
+};
diff --git a/src/data/pokemon_graphics/shiny_palette_table.h b/src/data/pokemon_graphics/shiny_palette_table.h
new file mode 100644
index 000000000..8b1cfcaac
--- /dev/null
+++ b/src/data/pokemon_graphics/shiny_palette_table.h
@@ -0,0 +1,443 @@
+const struct CompressedSpritePalette gMonShinyPaletteTable[] =
+{
+ SPECIES_SHINY_PAL(NONE, gMonShinyPalette_CircledQuestionMark),
+ SPECIES_SHINY_PAL(BULBASAUR, gMonShinyPalette_Bulbasaur),
+ SPECIES_SHINY_PAL(IVYSAUR, gMonShinyPalette_Ivysaur),
+ SPECIES_SHINY_PAL(VENUSAUR, gMonShinyPalette_Venusaur),
+ SPECIES_SHINY_PAL(CHARMANDER, gMonShinyPalette_Charmander),
+ SPECIES_SHINY_PAL(CHARMELEON, gMonShinyPalette_Charmeleon),
+ SPECIES_SHINY_PAL(CHARIZARD, gMonShinyPalette_Charizard),
+ SPECIES_SHINY_PAL(SQUIRTLE, gMonShinyPalette_Squirtle),
+ SPECIES_SHINY_PAL(WARTORTLE, gMonShinyPalette_Wartortle),
+ SPECIES_SHINY_PAL(BLASTOISE, gMonShinyPalette_Blastoise),
+ SPECIES_SHINY_PAL(CATERPIE, gMonShinyPalette_Caterpie),
+ SPECIES_SHINY_PAL(METAPOD, gMonShinyPalette_Metapod),
+ SPECIES_SHINY_PAL(BUTTERFREE, gMonShinyPalette_Butterfree),
+ SPECIES_SHINY_PAL(WEEDLE, gMonShinyPalette_Weedle),
+ SPECIES_SHINY_PAL(KAKUNA, gMonShinyPalette_Kakuna),
+ SPECIES_SHINY_PAL(BEEDRILL, gMonShinyPalette_Beedrill),
+ SPECIES_SHINY_PAL(PIDGEY, gMonShinyPalette_Pidgey),
+ SPECIES_SHINY_PAL(PIDGEOTTO, gMonShinyPalette_Pidgeotto),
+ SPECIES_SHINY_PAL(PIDGEOT, gMonShinyPalette_Pidgeot),
+ SPECIES_SHINY_PAL(RATTATA, gMonShinyPalette_Rattata),
+ SPECIES_SHINY_PAL(RATICATE, gMonShinyPalette_Raticate),
+ SPECIES_SHINY_PAL(SPEAROW, gMonShinyPalette_Spearow),
+ SPECIES_SHINY_PAL(FEAROW, gMonShinyPalette_Fearow),
+ SPECIES_SHINY_PAL(EKANS, gMonShinyPalette_Ekans),
+ SPECIES_SHINY_PAL(ARBOK, gMonShinyPalette_Arbok),
+ SPECIES_SHINY_PAL(PIKACHU, gMonShinyPalette_Pikachu),
+ SPECIES_SHINY_PAL(RAICHU, gMonShinyPalette_Raichu),
+ SPECIES_SHINY_PAL(SANDSHREW, gMonShinyPalette_Sandshrew),
+ SPECIES_SHINY_PAL(SANDSLASH, gMonShinyPalette_Sandslash),
+ SPECIES_SHINY_PAL(NIDORAN_F, gMonShinyPalette_NidoranF),
+ SPECIES_SHINY_PAL(NIDORINA, gMonShinyPalette_Nidorina),
+ SPECIES_SHINY_PAL(NIDOQUEEN, gMonShinyPalette_Nidoqueen),
+ SPECIES_SHINY_PAL(NIDORAN_M, gMonShinyPalette_NidoranM),
+ SPECIES_SHINY_PAL(NIDORINO, gMonShinyPalette_Nidorino),
+ SPECIES_SHINY_PAL(NIDOKING, gMonShinyPalette_Nidoking),
+ SPECIES_SHINY_PAL(CLEFAIRY, gMonShinyPalette_Clefairy),
+ SPECIES_SHINY_PAL(CLEFABLE, gMonShinyPalette_Clefable),
+ SPECIES_SHINY_PAL(VULPIX, gMonShinyPalette_Vulpix),
+ SPECIES_SHINY_PAL(NINETALES, gMonShinyPalette_Ninetales),
+ SPECIES_SHINY_PAL(JIGGLYPUFF, gMonShinyPalette_Jigglypuff),
+ SPECIES_SHINY_PAL(WIGGLYTUFF, gMonShinyPalette_Wigglytuff),
+ SPECIES_SHINY_PAL(ZUBAT, gMonShinyPalette_Zubat),
+ SPECIES_SHINY_PAL(GOLBAT, gMonShinyPalette_Golbat),
+ SPECIES_SHINY_PAL(ODDISH, gMonShinyPalette_Oddish),
+ SPECIES_SHINY_PAL(GLOOM, gMonShinyPalette_Gloom),
+ SPECIES_SHINY_PAL(VILEPLUME, gMonShinyPalette_Vileplume),
+ SPECIES_SHINY_PAL(PARAS, gMonShinyPalette_Paras),
+ SPECIES_SHINY_PAL(PARASECT, gMonShinyPalette_Parasect),
+ SPECIES_SHINY_PAL(VENONAT, gMonShinyPalette_Venonat),
+ SPECIES_SHINY_PAL(VENOMOTH, gMonShinyPalette_Venomoth),
+ SPECIES_SHINY_PAL(DIGLETT, gMonShinyPalette_Diglett),
+ SPECIES_SHINY_PAL(DUGTRIO, gMonShinyPalette_Dugtrio),
+ SPECIES_SHINY_PAL(MEOWTH, gMonShinyPalette_Meowth),
+ SPECIES_SHINY_PAL(PERSIAN, gMonShinyPalette_Persian),
+ SPECIES_SHINY_PAL(PSYDUCK, gMonShinyPalette_Psyduck),
+ SPECIES_SHINY_PAL(GOLDUCK, gMonShinyPalette_Golduck),
+ SPECIES_SHINY_PAL(MANKEY, gMonShinyPalette_Mankey),
+ SPECIES_SHINY_PAL(PRIMEAPE, gMonShinyPalette_Primeape),
+ SPECIES_SHINY_PAL(GROWLITHE, gMonShinyPalette_Growlithe),
+ SPECIES_SHINY_PAL(ARCANINE, gMonShinyPalette_Arcanine),
+ SPECIES_SHINY_PAL(POLIWAG, gMonShinyPalette_Poliwag),
+ SPECIES_SHINY_PAL(POLIWHIRL, gMonShinyPalette_Poliwhirl),
+ SPECIES_SHINY_PAL(POLIWRATH, gMonShinyPalette_Poliwrath),
+ SPECIES_SHINY_PAL(ABRA, gMonShinyPalette_Abra),
+ SPECIES_SHINY_PAL(KADABRA, gMonShinyPalette_Kadabra),
+ SPECIES_SHINY_PAL(ALAKAZAM, gMonShinyPalette_Alakazam),
+ SPECIES_SHINY_PAL(MACHOP, gMonShinyPalette_Machop),
+ SPECIES_SHINY_PAL(MACHOKE, gMonShinyPalette_Machoke),
+ SPECIES_SHINY_PAL(MACHAMP, gMonShinyPalette_Machamp),
+ SPECIES_SHINY_PAL(BELLSPROUT, gMonShinyPalette_Bellsprout),
+ SPECIES_SHINY_PAL(WEEPINBELL, gMonShinyPalette_Weepinbell),
+ SPECIES_SHINY_PAL(VICTREEBEL, gMonShinyPalette_Victreebel),
+ SPECIES_SHINY_PAL(TENTACOOL, gMonShinyPalette_Tentacool),
+ SPECIES_SHINY_PAL(TENTACRUEL, gMonShinyPalette_Tentacruel),
+ SPECIES_SHINY_PAL(GEODUDE, gMonShinyPalette_Geodude),
+ SPECIES_SHINY_PAL(GRAVELER, gMonShinyPalette_Graveler),
+ SPECIES_SHINY_PAL(GOLEM, gMonShinyPalette_Golem),
+ SPECIES_SHINY_PAL(PONYTA, gMonShinyPalette_Ponyta),
+ SPECIES_SHINY_PAL(RAPIDASH, gMonShinyPalette_Rapidash),
+ SPECIES_SHINY_PAL(SLOWPOKE, gMonShinyPalette_Slowpoke),
+ SPECIES_SHINY_PAL(SLOWBRO, gMonShinyPalette_Slowbro),
+ SPECIES_SHINY_PAL(MAGNEMITE, gMonShinyPalette_Magnemite),
+ SPECIES_SHINY_PAL(MAGNETON, gMonShinyPalette_Magneton),
+ SPECIES_SHINY_PAL(FARFETCHD, gMonShinyPalette_Farfetchd),
+ SPECIES_SHINY_PAL(DODUO, gMonShinyPalette_Doduo),
+ SPECIES_SHINY_PAL(DODRIO, gMonShinyPalette_Dodrio),
+ SPECIES_SHINY_PAL(SEEL, gMonShinyPalette_Seel),
+ SPECIES_SHINY_PAL(DEWGONG, gMonShinyPalette_Dewgong),
+ SPECIES_SHINY_PAL(GRIMER, gMonShinyPalette_Grimer),
+ SPECIES_SHINY_PAL(MUK, gMonShinyPalette_Muk),
+ SPECIES_SHINY_PAL(SHELLDER, gMonShinyPalette_Shellder),
+ SPECIES_SHINY_PAL(CLOYSTER, gMonShinyPalette_Cloyster),
+ SPECIES_SHINY_PAL(GASTLY, gMonShinyPalette_Gastly),
+ SPECIES_SHINY_PAL(HAUNTER, gMonShinyPalette_Haunter),
+ SPECIES_SHINY_PAL(GENGAR, gMonShinyPalette_Gengar),
+ SPECIES_SHINY_PAL(ONIX, gMonShinyPalette_Onix),
+ SPECIES_SHINY_PAL(DROWZEE, gMonShinyPalette_Drowzee),
+ SPECIES_SHINY_PAL(HYPNO, gMonShinyPalette_Hypno),
+ SPECIES_SHINY_PAL(KRABBY, gMonShinyPalette_Krabby),
+ SPECIES_SHINY_PAL(KINGLER, gMonShinyPalette_Kingler),
+ SPECIES_SHINY_PAL(VOLTORB, gMonShinyPalette_Voltorb),
+ SPECIES_SHINY_PAL(ELECTRODE, gMonShinyPalette_Electrode),
+ SPECIES_SHINY_PAL(EXEGGCUTE, gMonShinyPalette_Exeggcute),
+ SPECIES_SHINY_PAL(EXEGGUTOR, gMonShinyPalette_Exeggutor),
+ SPECIES_SHINY_PAL(CUBONE, gMonShinyPalette_Cubone),
+ SPECIES_SHINY_PAL(MAROWAK, gMonShinyPalette_Marowak),
+ SPECIES_SHINY_PAL(HITMONLEE, gMonShinyPalette_Hitmonlee),
+ SPECIES_SHINY_PAL(HITMONCHAN, gMonShinyPalette_Hitmonchan),
+ SPECIES_SHINY_PAL(LICKITUNG, gMonShinyPalette_Lickitung),
+ SPECIES_SHINY_PAL(KOFFING, gMonShinyPalette_Koffing),
+ SPECIES_SHINY_PAL(WEEZING, gMonShinyPalette_Weezing),
+ SPECIES_SHINY_PAL(RHYHORN, gMonShinyPalette_Rhyhorn),
+ SPECIES_SHINY_PAL(RHYDON, gMonShinyPalette_Rhydon),
+ SPECIES_SHINY_PAL(CHANSEY, gMonShinyPalette_Chansey),
+ SPECIES_SHINY_PAL(TANGELA, gMonShinyPalette_Tangela),
+ SPECIES_SHINY_PAL(KANGASKHAN, gMonShinyPalette_Kangaskhan),
+ SPECIES_SHINY_PAL(HORSEA, gMonShinyPalette_Horsea),
+ SPECIES_SHINY_PAL(SEADRA, gMonShinyPalette_Seadra),
+ SPECIES_SHINY_PAL(GOLDEEN, gMonShinyPalette_Goldeen),
+ SPECIES_SHINY_PAL(SEAKING, gMonShinyPalette_Seaking),
+ SPECIES_SHINY_PAL(STARYU, gMonShinyPalette_Staryu),
+ SPECIES_SHINY_PAL(STARMIE, gMonShinyPalette_Starmie),
+ SPECIES_SHINY_PAL(MR_MIME, gMonShinyPalette_Mrmime),
+ SPECIES_SHINY_PAL(SCYTHER, gMonShinyPalette_Scyther),
+ SPECIES_SHINY_PAL(JYNX, gMonShinyPalette_Jynx),
+ SPECIES_SHINY_PAL(ELECTABUZZ, gMonShinyPalette_Electabuzz),
+ SPECIES_SHINY_PAL(MAGMAR, gMonShinyPalette_Magmar),
+ SPECIES_SHINY_PAL(PINSIR, gMonShinyPalette_Pinsir),
+ SPECIES_SHINY_PAL(TAUROS, gMonShinyPalette_Tauros),
+ SPECIES_SHINY_PAL(MAGIKARP, gMonShinyPalette_Magikarp),
+ SPECIES_SHINY_PAL(GYARADOS, gMonShinyPalette_Gyarados),
+ SPECIES_SHINY_PAL(LAPRAS, gMonShinyPalette_Lapras),
+ SPECIES_SHINY_PAL(DITTO, gMonShinyPalette_Ditto),
+ SPECIES_SHINY_PAL(EEVEE, gMonShinyPalette_Eevee),
+ SPECIES_SHINY_PAL(VAPOREON, gMonShinyPalette_Vaporeon),
+ SPECIES_SHINY_PAL(JOLTEON, gMonShinyPalette_Jolteon),
+ SPECIES_SHINY_PAL(FLAREON, gMonShinyPalette_Flareon),
+ SPECIES_SHINY_PAL(PORYGON, gMonShinyPalette_Porygon),
+ SPECIES_SHINY_PAL(OMANYTE, gMonShinyPalette_Omanyte),
+ SPECIES_SHINY_PAL(OMASTAR, gMonShinyPalette_Omastar),
+ SPECIES_SHINY_PAL(KABUTO, gMonShinyPalette_Kabuto),
+ SPECIES_SHINY_PAL(KABUTOPS, gMonShinyPalette_Kabutops),
+ SPECIES_SHINY_PAL(AERODACTYL, gMonShinyPalette_Aerodactyl),
+ SPECIES_SHINY_PAL(SNORLAX, gMonShinyPalette_Snorlax),
+ SPECIES_SHINY_PAL(ARTICUNO, gMonShinyPalette_Articuno),
+ SPECIES_SHINY_PAL(ZAPDOS, gMonShinyPalette_Zapdos),
+ SPECIES_SHINY_PAL(MOLTRES, gMonShinyPalette_Moltres),
+ SPECIES_SHINY_PAL(DRATINI, gMonShinyPalette_Dratini),
+ SPECIES_SHINY_PAL(DRAGONAIR, gMonShinyPalette_Dragonair),
+ SPECIES_SHINY_PAL(DRAGONITE, gMonShinyPalette_Dragonite),
+ SPECIES_SHINY_PAL(MEWTWO, gMonShinyPalette_Mewtwo),
+ SPECIES_SHINY_PAL(MEW, gMonShinyPalette_Mew),
+ SPECIES_SHINY_PAL(CHIKORITA, gMonShinyPalette_Chikorita),
+ SPECIES_SHINY_PAL(BAYLEEF, gMonShinyPalette_Bayleef),
+ SPECIES_SHINY_PAL(MEGANIUM, gMonShinyPalette_Meganium),
+ SPECIES_SHINY_PAL(CYNDAQUIL, gMonShinyPalette_Cyndaquil),
+ SPECIES_SHINY_PAL(QUILAVA, gMonShinyPalette_Quilava),
+ SPECIES_SHINY_PAL(TYPHLOSION, gMonShinyPalette_Typhlosion),
+ SPECIES_SHINY_PAL(TOTODILE, gMonShinyPalette_Totodile),
+ SPECIES_SHINY_PAL(CROCONAW, gMonShinyPalette_Croconaw),
+ SPECIES_SHINY_PAL(FERALIGATR, gMonShinyPalette_Feraligatr),
+ SPECIES_SHINY_PAL(SENTRET, gMonShinyPalette_Sentret),
+ SPECIES_SHINY_PAL(FURRET, gMonShinyPalette_Furret),
+ SPECIES_SHINY_PAL(HOOTHOOT, gMonShinyPalette_Hoothoot),
+ SPECIES_SHINY_PAL(NOCTOWL, gMonShinyPalette_Noctowl),
+ SPECIES_SHINY_PAL(LEDYBA, gMonShinyPalette_Ledyba),
+ SPECIES_SHINY_PAL(LEDIAN, gMonShinyPalette_Ledian),
+ SPECIES_SHINY_PAL(SPINARAK, gMonShinyPalette_Spinarak),
+ SPECIES_SHINY_PAL(ARIADOS, gMonShinyPalette_Ariados),
+ SPECIES_SHINY_PAL(CROBAT, gMonShinyPalette_Crobat),
+ SPECIES_SHINY_PAL(CHINCHOU, gMonShinyPalette_Chinchou),
+ SPECIES_SHINY_PAL(LANTURN, gMonShinyPalette_Lanturn),
+ SPECIES_SHINY_PAL(PICHU, gMonShinyPalette_Pichu),
+ SPECIES_SHINY_PAL(CLEFFA, gMonShinyPalette_Cleffa),
+ SPECIES_SHINY_PAL(IGGLYBUFF, gMonShinyPalette_Igglybuff),
+ SPECIES_SHINY_PAL(TOGEPI, gMonShinyPalette_Togepi),
+ SPECIES_SHINY_PAL(TOGETIC, gMonShinyPalette_Togetic),
+ SPECIES_SHINY_PAL(NATU, gMonShinyPalette_Natu),
+ SPECIES_SHINY_PAL(XATU, gMonShinyPalette_Xatu),
+ SPECIES_SHINY_PAL(MAREEP, gMonShinyPalette_Mareep),
+ SPECIES_SHINY_PAL(FLAAFFY, gMonShinyPalette_Flaaffy),
+ SPECIES_SHINY_PAL(AMPHAROS, gMonShinyPalette_Ampharos),
+ SPECIES_SHINY_PAL(BELLOSSOM, gMonShinyPalette_Bellossom),
+ SPECIES_SHINY_PAL(MARILL, gMonShinyPalette_Marill),
+ SPECIES_SHINY_PAL(AZUMARILL, gMonShinyPalette_Azumarill),
+ SPECIES_SHINY_PAL(SUDOWOODO, gMonShinyPalette_Sudowoodo),
+ SPECIES_SHINY_PAL(POLITOED, gMonShinyPalette_Politoed),
+ SPECIES_SHINY_PAL(HOPPIP, gMonShinyPalette_Hoppip),
+ SPECIES_SHINY_PAL(SKIPLOOM, gMonShinyPalette_Skiploom),
+ SPECIES_SHINY_PAL(JUMPLUFF, gMonShinyPalette_Jumpluff),
+ SPECIES_SHINY_PAL(AIPOM, gMonShinyPalette_Aipom),
+ SPECIES_SHINY_PAL(SUNKERN, gMonShinyPalette_Sunkern),
+ SPECIES_SHINY_PAL(SUNFLORA, gMonShinyPalette_Sunflora),
+ SPECIES_SHINY_PAL(YANMA, gMonShinyPalette_Yanma),
+ SPECIES_SHINY_PAL(WOOPER, gMonShinyPalette_Wooper),
+ SPECIES_SHINY_PAL(QUAGSIRE, gMonShinyPalette_Quagsire),
+ SPECIES_SHINY_PAL(ESPEON, gMonShinyPalette_Espeon),
+ SPECIES_SHINY_PAL(UMBREON, gMonShinyPalette_Umbreon),
+ SPECIES_SHINY_PAL(MURKROW, gMonShinyPalette_Murkrow),
+ SPECIES_SHINY_PAL(SLOWKING, gMonShinyPalette_Slowking),
+ SPECIES_SHINY_PAL(MISDREAVUS, gMonShinyPalette_Misdreavus),
+ SPECIES_SHINY_PAL(UNOWN, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(WOBBUFFET, gMonShinyPalette_Wobbuffet),
+ SPECIES_SHINY_PAL(GIRAFARIG, gMonShinyPalette_Girafarig),
+ SPECIES_SHINY_PAL(PINECO, gMonShinyPalette_Pineco),
+ SPECIES_SHINY_PAL(FORRETRESS, gMonShinyPalette_Forretress),
+ SPECIES_SHINY_PAL(DUNSPARCE, gMonShinyPalette_Dunsparce),
+ SPECIES_SHINY_PAL(GLIGAR, gMonShinyPalette_Gligar),
+ SPECIES_SHINY_PAL(STEELIX, gMonShinyPalette_Steelix),
+ SPECIES_SHINY_PAL(SNUBBULL, gMonShinyPalette_Snubbull),
+ SPECIES_SHINY_PAL(GRANBULL, gMonShinyPalette_Granbull),
+ SPECIES_SHINY_PAL(QWILFISH, gMonShinyPalette_Qwilfish),
+ SPECIES_SHINY_PAL(SCIZOR, gMonShinyPalette_Scizor),
+ SPECIES_SHINY_PAL(SHUCKLE, gMonShinyPalette_Shuckle),
+ SPECIES_SHINY_PAL(HERACROSS, gMonShinyPalette_Heracross),
+ SPECIES_SHINY_PAL(SNEASEL, gMonShinyPalette_Sneasel),
+ SPECIES_SHINY_PAL(TEDDIURSA, gMonShinyPalette_Teddiursa),
+ SPECIES_SHINY_PAL(URSARING, gMonShinyPalette_Ursaring),
+ SPECIES_SHINY_PAL(SLUGMA, gMonShinyPalette_Slugma),
+ SPECIES_SHINY_PAL(MAGCARGO, gMonShinyPalette_Magcargo),
+ SPECIES_SHINY_PAL(SWINUB, gMonShinyPalette_Swinub),
+ SPECIES_SHINY_PAL(PILOSWINE, gMonShinyPalette_Piloswine),
+ SPECIES_SHINY_PAL(CORSOLA, gMonShinyPalette_Corsola),
+ SPECIES_SHINY_PAL(REMORAID, gMonShinyPalette_Remoraid),
+ SPECIES_SHINY_PAL(OCTILLERY, gMonShinyPalette_Octillery),
+ SPECIES_SHINY_PAL(DELIBIRD, gMonShinyPalette_Delibird),
+ SPECIES_SHINY_PAL(MANTINE, gMonShinyPalette_Mantine),
+ SPECIES_SHINY_PAL(SKARMORY, gMonShinyPalette_Skarmory),
+ SPECIES_SHINY_PAL(HOUNDOUR, gMonShinyPalette_Houndour),
+ SPECIES_SHINY_PAL(HOUNDOOM, gMonShinyPalette_Houndoom),
+ SPECIES_SHINY_PAL(KINGDRA, gMonShinyPalette_Kingdra),
+ SPECIES_SHINY_PAL(PHANPY, gMonShinyPalette_Phanpy),
+ SPECIES_SHINY_PAL(DONPHAN, gMonShinyPalette_Donphan),
+ SPECIES_SHINY_PAL(PORYGON2, gMonShinyPalette_Porygon2),
+ SPECIES_SHINY_PAL(STANTLER, gMonShinyPalette_Stantler),
+ SPECIES_SHINY_PAL(SMEARGLE, gMonShinyPalette_Smeargle),
+ SPECIES_SHINY_PAL(TYROGUE, gMonShinyPalette_Tyrogue),
+ SPECIES_SHINY_PAL(HITMONTOP, gMonShinyPalette_Hitmontop),
+ SPECIES_SHINY_PAL(SMOOCHUM, gMonShinyPalette_Smoochum),
+ SPECIES_SHINY_PAL(ELEKID, gMonShinyPalette_Elekid),
+ SPECIES_SHINY_PAL(MAGBY, gMonShinyPalette_Magby),
+ SPECIES_SHINY_PAL(MILTANK, gMonShinyPalette_Miltank),
+ SPECIES_SHINY_PAL(BLISSEY, gMonShinyPalette_Blissey),
+ SPECIES_SHINY_PAL(RAIKOU, gMonShinyPalette_Raikou),
+ SPECIES_SHINY_PAL(ENTEI, gMonShinyPalette_Entei),
+ SPECIES_SHINY_PAL(SUICUNE, gMonShinyPalette_Suicune),
+ SPECIES_SHINY_PAL(LARVITAR, gMonShinyPalette_Larvitar),
+ SPECIES_SHINY_PAL(PUPITAR, gMonShinyPalette_Pupitar),
+ SPECIES_SHINY_PAL(TYRANITAR, gMonShinyPalette_Tyranitar),
+ SPECIES_SHINY_PAL(LUGIA, gMonShinyPalette_Lugia),
+ SPECIES_SHINY_PAL(HO_OH, gMonShinyPalette_HoOh),
+ SPECIES_SHINY_PAL(CELEBI, gMonShinyPalette_Celebi),
+ SPECIES_SHINY_PAL(OLD_UNOWN_B, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_C, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_D, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_E, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_F, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_G, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_H, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_I, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_J, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_K, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_L, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_M, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_N, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_O, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_P, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_Q, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_R, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_S, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_T, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_U, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_V, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_W, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_X, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_Y, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(OLD_UNOWN_Z, gMonShinyPalette_DoubleQuestionMark),
+ SPECIES_SHINY_PAL(TREECKO, gMonShinyPalette_Treecko),
+ SPECIES_SHINY_PAL(GROVYLE, gMonShinyPalette_Grovyle),
+ SPECIES_SHINY_PAL(SCEPTILE, gMonShinyPalette_Sceptile),
+ SPECIES_SHINY_PAL(TORCHIC, gMonShinyPalette_Torchic),
+ SPECIES_SHINY_PAL(COMBUSKEN, gMonShinyPalette_Combusken),
+ SPECIES_SHINY_PAL(BLAZIKEN, gMonShinyPalette_Blaziken),
+ SPECIES_SHINY_PAL(MUDKIP, gMonShinyPalette_Mudkip),
+ SPECIES_SHINY_PAL(MARSHTOMP, gMonShinyPalette_Marshtomp),
+ SPECIES_SHINY_PAL(SWAMPERT, gMonShinyPalette_Swampert),
+ SPECIES_SHINY_PAL(POOCHYENA, gMonShinyPalette_Poochyena),
+ SPECIES_SHINY_PAL(MIGHTYENA, gMonShinyPalette_Mightyena),
+ SPECIES_SHINY_PAL(ZIGZAGOON, gMonShinyPalette_Zigzagoon),
+ SPECIES_SHINY_PAL(LINOONE, gMonShinyPalette_Linoone),
+ SPECIES_SHINY_PAL(WURMPLE, gMonShinyPalette_Wurmple),
+ SPECIES_SHINY_PAL(SILCOON, gMonShinyPalette_Silcoon),
+ SPECIES_SHINY_PAL(BEAUTIFLY, gMonShinyPalette_Beautifly),
+ SPECIES_SHINY_PAL(CASCOON, gMonShinyPalette_Cascoon),
+ SPECIES_SHINY_PAL(DUSTOX, gMonShinyPalette_Dustox),
+ SPECIES_SHINY_PAL(LOTAD, gMonShinyPalette_Lotad),
+ SPECIES_SHINY_PAL(LOMBRE, gMonShinyPalette_Lombre),
+ SPECIES_SHINY_PAL(LUDICOLO, gMonShinyPalette_Ludicolo),
+ SPECIES_SHINY_PAL(SEEDOT, gMonShinyPalette_Seedot),
+ SPECIES_SHINY_PAL(NUZLEAF, gMonShinyPalette_Nuzleaf),
+ SPECIES_SHINY_PAL(SHIFTRY, gMonShinyPalette_Shiftry),
+ SPECIES_SHINY_PAL(NINCADA, gMonShinyPalette_Nincada),
+ SPECIES_SHINY_PAL(NINJASK, gMonShinyPalette_Ninjask),
+ SPECIES_SHINY_PAL(SHEDINJA, gMonShinyPalette_Shedinja),
+ SPECIES_SHINY_PAL(TAILLOW, gMonShinyPalette_Taillow),
+ SPECIES_SHINY_PAL(SWELLOW, gMonShinyPalette_Swellow),
+ SPECIES_SHINY_PAL(SHROOMISH, gMonShinyPalette_Shroomish),
+ SPECIES_SHINY_PAL(BRELOOM, gMonShinyPalette_Breloom),
+ SPECIES_SHINY_PAL(SPINDA, gMonShinyPalette_Spinda),
+ SPECIES_SHINY_PAL(WINGULL, gMonShinyPalette_Wingull),
+ SPECIES_SHINY_PAL(PELIPPER, gMonShinyPalette_Pelipper),
+ SPECIES_SHINY_PAL(SURSKIT, gMonShinyPalette_Surskit),
+ SPECIES_SHINY_PAL(MASQUERAIN, gMonShinyPalette_Masquerain),
+ SPECIES_SHINY_PAL(WAILMER, gMonShinyPalette_Wailmer),
+ SPECIES_SHINY_PAL(WAILORD, gMonShinyPalette_Wailord),
+ SPECIES_SHINY_PAL(SKITTY, gMonShinyPalette_Skitty),
+ SPECIES_SHINY_PAL(DELCATTY, gMonShinyPalette_Delcatty),
+ SPECIES_SHINY_PAL(KECLEON, gMonShinyPalette_Kecleon),
+ SPECIES_SHINY_PAL(BALTOY, gMonShinyPalette_Baltoy),
+ SPECIES_SHINY_PAL(CLAYDOL, gMonShinyPalette_Claydol),
+ SPECIES_SHINY_PAL(NOSEPASS, gMonShinyPalette_Nosepass),
+ SPECIES_SHINY_PAL(TORKOAL, gMonShinyPalette_Torkoal),
+ SPECIES_SHINY_PAL(SABLEYE, gMonShinyPalette_Sableye),
+ SPECIES_SHINY_PAL(BARBOACH, gMonShinyPalette_Barboach),
+ SPECIES_SHINY_PAL(WHISCASH, gMonShinyPalette_Whiscash),
+ SPECIES_SHINY_PAL(LUVDISC, gMonShinyPalette_Luvdisc),
+ SPECIES_SHINY_PAL(CORPHISH, gMonShinyPalette_Corphish),
+ SPECIES_SHINY_PAL(CRAWDAUNT, gMonShinyPalette_Crawdaunt),
+ SPECIES_SHINY_PAL(FEEBAS, gMonShinyPalette_Feebas),
+ SPECIES_SHINY_PAL(MILOTIC, gMonShinyPalette_Milotic),
+ SPECIES_SHINY_PAL(CARVANHA, gMonShinyPalette_Carvanha),
+ SPECIES_SHINY_PAL(SHARPEDO, gMonShinyPalette_Sharpedo),
+ SPECIES_SHINY_PAL(TRAPINCH, gMonShinyPalette_Trapinch),
+ SPECIES_SHINY_PAL(VIBRAVA, gMonShinyPalette_Vibrava),
+ SPECIES_SHINY_PAL(FLYGON, gMonShinyPalette_Flygon),
+ SPECIES_SHINY_PAL(MAKUHITA, gMonShinyPalette_Makuhita),
+ SPECIES_SHINY_PAL(HARIYAMA, gMonShinyPalette_Hariyama),
+ SPECIES_SHINY_PAL(ELECTRIKE, gMonShinyPalette_Electrike),
+ SPECIES_SHINY_PAL(MANECTRIC, gMonShinyPalette_Manectric),
+ SPECIES_SHINY_PAL(NUMEL, gMonShinyPalette_Numel),
+ SPECIES_SHINY_PAL(CAMERUPT, gMonShinyPalette_Camerupt),
+ SPECIES_SHINY_PAL(SPHEAL, gMonShinyPalette_Spheal),
+ SPECIES_SHINY_PAL(SEALEO, gMonShinyPalette_Sealeo),
+ SPECIES_SHINY_PAL(WALREIN, gMonShinyPalette_Walrein),
+ SPECIES_SHINY_PAL(CACNEA, gMonShinyPalette_Cacnea),
+ SPECIES_SHINY_PAL(CACTURNE, gMonShinyPalette_Cacturne),
+ SPECIES_SHINY_PAL(SNORUNT, gMonShinyPalette_Snorunt),
+ SPECIES_SHINY_PAL(GLALIE, gMonShinyPalette_Glalie),
+ SPECIES_SHINY_PAL(LUNATONE, gMonShinyPalette_Lunatone),
+ SPECIES_SHINY_PAL(SOLROCK, gMonShinyPalette_Solrock),
+ SPECIES_SHINY_PAL(AZURILL, gMonShinyPalette_Azurill),
+ SPECIES_SHINY_PAL(SPOINK, gMonShinyPalette_Spoink),
+ SPECIES_SHINY_PAL(GRUMPIG, gMonShinyPalette_Grumpig),
+ SPECIES_SHINY_PAL(PLUSLE, gMonShinyPalette_Plusle),
+ SPECIES_SHINY_PAL(MINUN, gMonShinyPalette_Minun),
+ SPECIES_SHINY_PAL(MAWILE, gMonShinyPalette_Mawile),
+ SPECIES_SHINY_PAL(MEDITITE, gMonShinyPalette_Meditite),
+ SPECIES_SHINY_PAL(MEDICHAM, gMonShinyPalette_Medicham),
+ SPECIES_SHINY_PAL(SWABLU, gMonShinyPalette_Swablu),
+ SPECIES_SHINY_PAL(ALTARIA, gMonShinyPalette_Altaria),
+ SPECIES_SHINY_PAL(WYNAUT, gMonShinyPalette_Wynaut),
+ SPECIES_SHINY_PAL(DUSKULL, gMonShinyPalette_Duskull),
+ SPECIES_SHINY_PAL(DUSCLOPS, gMonShinyPalette_Dusclops),
+ SPECIES_SHINY_PAL(ROSELIA, gMonShinyPalette_Roselia),
+ SPECIES_SHINY_PAL(SLAKOTH, gMonShinyPalette_Slakoth),
+ SPECIES_SHINY_PAL(VIGOROTH, gMonShinyPalette_Vigoroth),
+ SPECIES_SHINY_PAL(SLAKING, gMonShinyPalette_Slaking),
+ SPECIES_SHINY_PAL(GULPIN, gMonShinyPalette_Gulpin),
+ SPECIES_SHINY_PAL(SWALOT, gMonShinyPalette_Swalot),
+ SPECIES_SHINY_PAL(TROPIUS, gMonShinyPalette_Tropius),
+ SPECIES_SHINY_PAL(WHISMUR, gMonShinyPalette_Whismur),
+ SPECIES_SHINY_PAL(LOUDRED, gMonShinyPalette_Loudred),
+ SPECIES_SHINY_PAL(EXPLOUD, gMonShinyPalette_Exploud),
+ SPECIES_SHINY_PAL(CLAMPERL, gMonShinyPalette_Clamperl),
+ SPECIES_SHINY_PAL(HUNTAIL, gMonShinyPalette_Huntail),
+ SPECIES_SHINY_PAL(GOREBYSS, gMonShinyPalette_Gorebyss),
+ SPECIES_SHINY_PAL(ABSOL, gMonShinyPalette_Absol),
+ SPECIES_SHINY_PAL(SHUPPET, gMonShinyPalette_Shuppet),
+ SPECIES_SHINY_PAL(BANETTE, gMonShinyPalette_Banette),
+ SPECIES_SHINY_PAL(SEVIPER, gMonShinyPalette_Seviper),
+ SPECIES_SHINY_PAL(ZANGOOSE, gMonShinyPalette_Zangoose),
+ SPECIES_SHINY_PAL(RELICANTH, gMonShinyPalette_Relicanth),
+ SPECIES_SHINY_PAL(ARON, gMonShinyPalette_Aron),
+ SPECIES_SHINY_PAL(LAIRON, gMonShinyPalette_Lairon),
+ SPECIES_SHINY_PAL(AGGRON, gMonShinyPalette_Aggron),
+ SPECIES_SHINY_PAL(CASTFORM, gMonShinyPalette_Castform),
+ SPECIES_SHINY_PAL(VOLBEAT, gMonShinyPalette_Volbeat),
+ SPECIES_SHINY_PAL(ILLUMISE, gMonShinyPalette_Illumise),
+ SPECIES_SHINY_PAL(LILEEP, gMonShinyPalette_Lileep),
+ SPECIES_SHINY_PAL(CRADILY, gMonShinyPalette_Cradily),
+ SPECIES_SHINY_PAL(ANORITH, gMonShinyPalette_Anorith),
+ SPECIES_SHINY_PAL(ARMALDO, gMonShinyPalette_Armaldo),
+ SPECIES_SHINY_PAL(RALTS, gMonShinyPalette_Ralts),
+ SPECIES_SHINY_PAL(KIRLIA, gMonShinyPalette_Kirlia),
+ SPECIES_SHINY_PAL(GARDEVOIR, gMonShinyPalette_Gardevoir),
+ SPECIES_SHINY_PAL(BAGON, gMonShinyPalette_Bagon),
+ SPECIES_SHINY_PAL(SHELGON, gMonShinyPalette_Shelgon),
+ SPECIES_SHINY_PAL(SALAMENCE, gMonShinyPalette_Salamence),
+ SPECIES_SHINY_PAL(BELDUM, gMonShinyPalette_Beldum),
+ SPECIES_SHINY_PAL(METANG, gMonShinyPalette_Metang),
+ SPECIES_SHINY_PAL(METAGROSS, gMonShinyPalette_Metagross),
+ SPECIES_SHINY_PAL(REGIROCK, gMonShinyPalette_Regirock),
+ SPECIES_SHINY_PAL(REGICE, gMonShinyPalette_Regice),
+ SPECIES_SHINY_PAL(REGISTEEL, gMonShinyPalette_Registeel),
+ SPECIES_SHINY_PAL(KYOGRE, gMonShinyPalette_Kyogre),
+ SPECIES_SHINY_PAL(GROUDON, gMonShinyPalette_Groudon),
+ SPECIES_SHINY_PAL(RAYQUAZA, gMonShinyPalette_Rayquaza),
+ SPECIES_SHINY_PAL(LATIAS, gMonShinyPalette_Latias),
+ SPECIES_SHINY_PAL(LATIOS, gMonShinyPalette_Latios),
+ SPECIES_SHINY_PAL(JIRACHI, gMonShinyPalette_Jirachi),
+ SPECIES_SHINY_PAL(DEOXYS, gMonShinyPalette_Deoxys),
+ SPECIES_SHINY_PAL(CHIMECHO, gMonShinyPalette_Chimecho),
+ SPECIES_SHINY_PAL(EGG, gMonPalette_Egg),
+ SPECIES_SHINY_PAL(UNOWN_B, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_C, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_D, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_E, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_F, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_G, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_H, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_I, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_J, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_K, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_L, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_M, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_N, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_O, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_P, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_Q, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_R, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_S, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_T, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_U, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_V, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_W, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_X, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_Y, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_Z, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_EMARK, gMonShinyPalette_Unown),
+ SPECIES_SHINY_PAL(UNOWN_QMARK, gMonShinyPalette_Unown),
+};
diff --git a/src/data/text/move_names.h b/src/data/text/move_names.h
new file mode 100644
index 000000000..d45972d51
--- /dev/null
+++ b/src/data/text/move_names.h
@@ -0,0 +1,357 @@
+const u8 gMoveNames[][13] = {
+ _("-$$$$$$"),
+ _("POUND"),
+ _("KARATE CHOP"),
+ _("DOUBLESLAP"),
+ _("COMET PUNCH"),
+ _("MEGA PUNCH"),
+ _("PAY DAY"),
+ _("FIRE PUNCH"),
+ _("ICE PUNCH"),
+ _("THUNDERPUNCH"),
+ _("SCRATCH"),
+ _("VICEGRIP"),
+ _("GUILLOTINE"),
+ _("RAZOR WIND"),
+ _("SWORDS DANCE"),
+ _("CUT"),
+ _("GUST"),
+ _("WING ATTACK"),
+ _("WHIRLWIND"),
+ _("FLY"),
+ _("BIND"),
+ _("SLAM"),
+ _("VINE WHIP"),
+ _("STOMP"),
+ _("DOUBLE KICK"),
+ _("MEGA KICK"),
+ _("JUMP KICK"),
+ _("ROLLING KICK"),
+ _("SAND-ATTACK"),
+ _("HEADBUTT"),
+ _("HORN ATTACK"),
+ _("FURY ATTACK"),
+ _("HORN DRILL"),
+ _("TACKLE"),
+ _("BODY SLAM"),
+ _("WRAP"),
+ _("TAKE DOWN"),
+ _("THRASH"),
+ _("DOUBLE-EDGE"),
+ _("TAIL WHIP"),
+ _("POISON STING"),
+ _("TWINEEDLE"),
+ _("PIN MISSILE"),
+ _("LEER"),
+ _("BITE"),
+ _("GROWL"),
+ _("ROAR"),
+ _("SING"),
+ _("SUPERSONIC"),
+ _("SONICBOOM"),
+ _("DISABLE"),
+ _("ACID"),
+ _("EMBER"),
+ _("FLAMETHROWER"),
+ _("MIST"),
+ _("WATER GUN"),
+ _("HYDRO PUMP"),
+ _("SURF"),
+ _("ICE BEAM"),
+ _("BLIZZARD"),
+ _("PSYBEAM"),
+ _("BUBBLEBEAM"),
+ _("AURORA BEAM"),
+ _("HYPER BEAM"),
+ _("PECK"),
+ _("DRILL PECK"),
+ _("SUBMISSION"),
+ _("LOW KICK"),
+ _("COUNTER"),
+ _("SEISMIC TOSS"),
+ _("STRENGTH"),
+ _("ABSORB"),
+ _("MEGA DRAIN"),
+ _("LEECH SEED"),
+ _("GROWTH"),
+ _("RAZOR LEAF"),
+ _("SOLARBEAM"),
+ _("POISONPOWDER"),
+ _("STUN SPORE"),
+ _("SLEEP POWDER"),
+ _("PETAL DANCE"),
+ _("STRING SHOT"),
+ _("DRAGON RAGE"),
+ _("FIRE SPIN"),
+ _("THUNDERSHOCK"),
+ _("THUNDERBOLT"),
+ _("THUNDER WAVE"),
+ _("THUNDER"),
+ _("ROCK THROW"),
+ _("EARTHQUAKE"),
+ _("FISSURE"),
+ _("DIG"),
+ _("TOXIC"),
+ _("CONFUSION"),
+ _("PSYCHIC"),
+ _("HYPNOSIS"),
+ _("MEDITATE"),
+ _("AGILITY"),
+ _("QUICK ATTACK"),
+ _("RAGE"),
+ _("TELEPORT"),
+ _("NIGHT SHADE"),
+ _("MIMIC"),
+ _("SCREECH"),
+ _("DOUBLE TEAM"),
+ _("RECOVER"),
+ _("HARDEN"),
+ _("MINIMIZE"),
+ _("SMOKESCREEN"),
+ _("CONFUSE RAY"),
+ _("WITHDRAW"),
+ _("DEFENSE CURL"),
+ _("BARRIER"),
+ _("LIGHT SCREEN"),
+ _("HAZE"),
+ _("REFLECT"),
+ _("FOCUS ENERGY"),
+ _("BIDE"),
+ _("METRONOME"),
+ _("MIRROR MOVE"),
+ _("SELFDESTRUCT"),
+ _("EGG BOMB"),
+ _("LICK"),
+ _("SMOG"),
+ _("SLUDGE"),
+ _("BONE CLUB"),
+ _("FIRE BLAST"),
+ _("WATERFALL"),
+ _("CLAMP"),
+ _("SWIFT"),
+ _("SKULL BASH"),
+ _("SPIKE CANNON"),
+ _("CONSTRICT"),
+ _("AMNESIA"),
+ _("KINESIS"),
+ _("SOFTBOILED"),
+ _("HI JUMP KICK"),
+ _("GLARE"),
+ _("DREAM EATER"),
+ _("POISON GAS"),
+ _("BARRAGE"),
+ _("LEECH LIFE"),
+ _("LOVELY KISS"),
+ _("SKY ATTACK"),
+ _("TRANSFORM"),
+ _("BUBBLE"),
+ _("DIZZY PUNCH"),
+ _("SPORE"),
+ _("FLASH"),
+ _("PSYWAVE"),
+ _("SPLASH"),
+ _("ACID ARMOR"),
+ _("CRABHAMMER"),
+ _("EXPLOSION"),
+ _("FURY SWIPES"),
+ _("BONEMERANG"),
+ _("REST"),
+ _("ROCK SLIDE"),
+ _("HYPER FANG"),
+ _("SHARPEN"),
+ _("CONVERSION"),
+ _("TRI ATTACK"),
+ _("SUPER FANG"),
+ _("SLASH"),
+ _("SUBSTITUTE"),
+ _("STRUGGLE"),
+ _("SKETCH"),
+ _("TRIPLE KICK"),
+ _("THIEF"),
+ _("SPIDER WEB"),
+ _("MIND READER"),
+ _("NIGHTMARE"),
+ _("FLAME WHEEL"),
+ _("SNORE"),
+ _("CURSE"),
+ _("FLAIL"),
+ _("CONVERSION 2"),
+ _("AEROBLAST"),
+ _("COTTON SPORE"),
+ _("REVERSAL"),
+ _("SPITE"),
+ _("POWDER SNOW"),
+ _("PROTECT"),
+ _("MACH PUNCH"),
+ _("SCARY FACE"),
+ _("FAINT ATTACK"),
+ _("SWEET KISS"),
+ _("BELLY DRUM"),
+ _("SLUDGE BOMB"),
+ _("MUD-SLAP"),
+ _("OCTAZOOKA"),
+ _("SPIKES"),
+ _("ZAP CANNON"),
+ _("FORESIGHT"),
+ _("DESTINY BOND"),
+ _("PERISH SONG"),
+ _("ICY WIND"),
+ _("DETECT"),
+ _("BONE RUSH"),
+ _("LOCK-ON"),
+ _("OUTRAGE"),
+ _("SANDSTORM"),
+ _("GIGA DRAIN"),
+ _("ENDURE"),
+ _("CHARM"),
+ _("ROLLOUT"),
+ _("FALSE SWIPE"),
+ _("SWAGGER"),
+ _("MILK DRINK"),
+ _("SPARK"),
+ _("FURY CUTTER"),
+ _("STEEL WING"),
+ _("MEAN LOOK"),
+ _("ATTRACT"),
+ _("SLEEP TALK"),
+ _("HEAL BELL"),
+ _("RETURN"),
+ _("PRESENT"),
+ _("FRUSTRATION"),
+ _("SAFEGUARD"),
+ _("PAIN SPLIT"),
+ _("SACRED FIRE"),
+ _("MAGNITUDE"),
+ _("DYNAMICPUNCH"),
+ _("MEGAHORN"),
+ _("DRAGONBREATH"),
+ _("BATON PASS"),
+ _("ENCORE"),
+ _("PURSUIT"),
+ _("RAPID SPIN"),
+ _("SWEET SCENT"),
+ _("IRON TAIL"),
+ _("METAL CLAW"),
+ _("VITAL THROW"),
+ _("MORNING SUN"),
+ _("SYNTHESIS"),
+ _("MOONLIGHT"),
+ _("HIDDEN POWER"),
+ _("CROSS CHOP"),
+ _("TWISTER"),
+ _("RAIN DANCE"),
+ _("SUNNY DAY"),
+ _("CRUNCH"),
+ _("MIRROR COAT"),
+ _("PSYCH UP"),
+ _("EXTREMESPEED"),
+ _("ANCIENTPOWER"),
+ _("SHADOW BALL"),
+ _("FUTURE SIGHT"),
+ _("ROCK SMASH"),
+ _("WHIRLPOOL"),
+ _("BEAT UP"),
+ _("FAKE OUT"),
+ _("UPROAR"),
+ _("STOCKPILE"),
+ _("SPIT UP"),
+ _("SWALLOW"),
+ _("HEAT WAVE"),
+ _("HAIL"),
+ _("TORMENT"),
+ _("FLATTER"),
+ _("WILL-O-WISP"),
+ _("MEMENTO"),
+ _("FACADE"),
+ _("FOCUS PUNCH"),
+ _("SMELLINGSALT"),
+ _("FOLLOW ME"),
+ _("NATURE POWER"),
+ _("CHARGE"),
+ _("TAUNT"),
+ _("HELPING HAND"),
+ _("TRICK"),
+ _("ROLE PLAY"),
+ _("WISH"),
+ _("ASSIST"),
+ _("INGRAIN"),
+ _("SUPERPOWER"),
+ _("MAGIC COAT"),
+ _("RECYCLE"),
+ _("REVENGE"),
+ _("BRICK BREAK"),
+ _("YAWN"),
+ _("KNOCK OFF"),
+ _("ENDEAVOR"),
+ _("ERUPTION"),
+ _("SKILL SWAP"),
+ _("IMPRISON"),
+ _("REFRESH"),
+ _("GRUDGE"),
+ _("SNATCH"),
+ _("SECRET POWER"),
+ _("DIVE"),
+ _("ARM THRUST"),
+ _("CAMOUFLAGE"),
+ _("TAIL GLOW"),
+ _("LUSTER PURGE"),
+ _("MIST BALL"),
+ _("FEATHERDANCE"),
+ _("TEETER DANCE"),
+ _("BLAZE KICK"),
+ _("MUD SPORT"),
+ _("ICE BALL"),
+ _("NEEDLE ARM"),
+ _("SLACK OFF"),
+ _("HYPER VOICE"),
+ _("POISON FANG"),
+ _("CRUSH CLAW"),
+ _("BLAST BURN"),
+ _("HYDRO CANNON"),
+ _("METEOR MASH"),
+ _("ASTONISH"),
+ _("WEATHER BALL"),
+ _("AROMATHERAPY"),
+ _("FAKE TEARS"),
+ _("AIR CUTTER"),
+ _("OVERHEAT"),
+ _("ODOR SLEUTH"),
+ _("ROCK TOMB"),
+ _("SILVER WIND"),
+ _("METAL SOUND"),
+ _("GRASSWHISTLE"),
+ _("TICKLE"),
+ _("COSMIC POWER"),
+ _("WATER SPOUT"),
+ _("SIGNAL BEAM"),
+ _("SHADOW PUNCH"),
+ _("EXTRASENSORY"),
+ _("SKY UPPERCUT"),
+ _("SAND TOMB"),
+ _("SHEER COLD"),
+ _("MUDDY WATER"),
+ _("BULLET SEED"),
+ _("AERIAL ACE"),
+ _("ICICLE SPEAR"),
+ _("IRON DEFENSE"),
+ _("BLOCK"),
+ _("HOWL"),
+ _("DRAGON CLAW"),
+ _("FRENZY PLANT"),
+ _("BULK UP"),
+ _("BOUNCE"),
+ _("MUD SHOT"),
+ _("POISON TAIL"),
+ _("COVET"),
+ _("VOLT TACKLE"),
+ _("MAGICAL LEAF"),
+ _("WATER SPORT"),
+ _("CALM MIND"),
+ _("LEAF BLADE"),
+ _("DRAGON DANCE"),
+ _("ROCK BLAST"),
+ _("SHOCK WAVE"),
+ _("WATER PULSE"),
+ _("DOOM DESIRE"),
+ _("PSYCHO BOOST")
+};
diff --git a/src/data/text/species_names.h b/src/data/text/species_names.h
new file mode 100644
index 000000000..f30fe2969
--- /dev/null
+++ b/src/data/text/species_names.h
@@ -0,0 +1,414 @@
+const u8 gSpeciesNames[][11] = {
+ _("??????????"),
+ _("BULBASAUR"),
+ _("IVYSAUR"),
+ _("VENUSAUR"),
+ _("CHARMANDER"),
+ _("CHARMELEON"),
+ _("CHARIZARD"),
+ _("SQUIRTLE"),
+ _("WARTORTLE"),
+ _("BLASTOISE"),
+ _("CATERPIE"),
+ _("METAPOD"),
+ _("BUTTERFREE"),
+ _("WEEDLE"),
+ _("KAKUNA"),
+ _("BEEDRILL"),
+ _("PIDGEY"),
+ _("PIDGEOTTO"),
+ _("PIDGEOT"),
+ _("RATTATA"),
+ _("RATICATE"),
+ _("SPEAROW"),
+ _("FEAROW"),
+ _("EKANS"),
+ _("ARBOK"),
+ _("PIKACHU"),
+ _("RAICHU"),
+ _("SANDSHREW"),
+ _("SANDSLASH"),
+ _("NIDORAN♀"),
+ _("NIDORINA"),
+ _("NIDOQUEEN"),
+ _("NIDORAN♂"),
+ _("NIDORINO"),
+ _("NIDOKING"),
+ _("CLEFAIRY"),
+ _("CLEFABLE"),
+ _("VULPIX"),
+ _("NINETALES"),
+ _("JIGGLYPUFF"),
+ _("WIGGLYTUFF"),
+ _("ZUBAT"),
+ _("GOLBAT"),
+ _("ODDISH"),
+ _("GLOOM"),
+ _("VILEPLUME"),
+ _("PARAS"),
+ _("PARASECT"),
+ _("VENONAT"),
+ _("VENOMOTH"),
+ _("DIGLETT"),
+ _("DUGTRIO"),
+ _("MEOWTH"),
+ _("PERSIAN"),
+ _("PSYDUCK"),
+ _("GOLDUCK"),
+ _("MANKEY"),
+ _("PRIMEAPE"),
+ _("GROWLITHE"),
+ _("ARCANINE"),
+ _("POLIWAG"),
+ _("POLIWHIRL"),
+ _("POLIWRATH"),
+ _("ABRA"),
+ _("KADABRA"),
+ _("ALAKAZAM"),
+ _("MACHOP"),
+ _("MACHOKE"),
+ _("MACHAMP"),
+ _("BELLSPROUT"),
+ _("WEEPINBELL"),
+ _("VICTREEBEL"),
+ _("TENTACOOL"),
+ _("TENTACRUEL"),
+ _("GEODUDE"),
+ _("GRAVELER"),
+ _("GOLEM"),
+ _("PONYTA"),
+ _("RAPIDASH"),
+ _("SLOWPOKE"),
+ _("SLOWBRO"),
+ _("MAGNEMITE"),
+ _("MAGNETON"),
+ _("FARFETCH'D"),
+ _("DODUO"),
+ _("DODRIO"),
+ _("SEEL"),
+ _("DEWGONG"),
+ _("GRIMER"),
+ _("MUK"),
+ _("SHELLDER"),
+ _("CLOYSTER"),
+ _("GASTLY"),
+ _("HAUNTER"),
+ _("GENGAR"),
+ _("ONIX"),
+ _("DROWZEE"),
+ _("HYPNO"),
+ _("KRABBY"),
+ _("KINGLER"),
+ _("VOLTORB"),
+ _("ELECTRODE"),
+ _("EXEGGCUTE"),
+ _("EXEGGUTOR"),
+ _("CUBONE"),
+ _("MAROWAK"),
+ _("HITMONLEE"),
+ _("HITMONCHAN"),
+ _("LICKITUNG"),
+ _("KOFFING"),
+ _("WEEZING"),
+ _("RHYHORN"),
+ _("RHYDON"),
+ _("CHANSEY"),
+ _("TANGELA"),
+ _("KANGASKHAN"),
+ _("HORSEA"),
+ _("SEADRA"),
+ _("GOLDEEN"),
+ _("SEAKING"),
+ _("STARYU"),
+ _("STARMIE"),
+ _("MR. MIME"),
+ _("SCYTHER"),
+ _("JYNX"),
+ _("ELECTABUZZ"),
+ _("MAGMAR"),
+ _("PINSIR"),
+ _("TAUROS"),
+ _("MAGIKARP"),
+ _("GYARADOS"),
+ _("LAPRAS"),
+ _("DITTO"),
+ _("EEVEE"),
+ _("VAPOREON"),
+ _("JOLTEON"),
+ _("FLAREON"),
+ _("PORYGON"),
+ _("OMANYTE"),
+ _("OMASTAR"),
+ _("KABUTO"),
+ _("KABUTOPS"),
+ _("AERODACTYL"),
+ _("SNORLAX"),
+ _("ARTICUNO"),
+ _("ZAPDOS"),
+ _("MOLTRES"),
+ _("DRATINI"),
+ _("DRAGONAIR"),
+ _("DRAGONITE"),
+ _("MEWTWO"),
+ _("MEW"),
+ _("CHIKORITA"),
+ _("BAYLEEF"),
+ _("MEGANIUM"),
+ _("CYNDAQUIL"),
+ _("QUILAVA"),
+ _("TYPHLOSION"),
+ _("TOTODILE"),
+ _("CROCONAW"),
+ _("FERALIGATR"),
+ _("SENTRET"),
+ _("FURRET"),
+ _("HOOTHOOT"),
+ _("NOCTOWL"),
+ _("LEDYBA"),
+ _("LEDIAN"),
+ _("SPINARAK"),
+ _("ARIADOS"),
+ _("CROBAT"),
+ _("CHINCHOU"),
+ _("LANTURN"),
+ _("PICHU"),
+ _("CLEFFA"),
+ _("IGGLYBUFF"),
+ _("TOGEPI"),
+ _("TOGETIC"),
+ _("NATU"),
+ _("XATU"),
+ _("MAREEP"),
+ _("FLAAFFY"),
+ _("AMPHAROS"),
+ _("BELLOSSOM"),
+ _("MARILL"),
+ _("AZUMARILL"),
+ _("SUDOWOODO"),
+ _("POLITOED"),
+ _("HOPPIP"),
+ _("SKIPLOOM"),
+ _("JUMPLUFF"),
+ _("AIPOM"),
+ _("SUNKERN"),
+ _("SUNFLORA"),
+ _("YANMA"),
+ _("WOOPER"),
+ _("QUAGSIRE"),
+ _("ESPEON"),
+ _("UMBREON"),
+ _("MURKROW"),
+ _("SLOWKING"),
+ _("MISDREAVUS"),
+ _("UNOWN"),
+ _("WOBBUFFET"),
+ _("GIRAFARIG"),
+ _("PINECO"),
+ _("FORRETRESS"),
+ _("DUNSPARCE"),
+ _("GLIGAR"),
+ _("STEELIX"),
+ _("SNUBBULL"),
+ _("GRANBULL"),
+ _("QWILFISH"),
+ _("SCIZOR"),
+ _("SHUCKLE"),
+ _("HERACROSS"),
+ _("SNEASEL"),
+ _("TEDDIURSA"),
+ _("URSARING"),
+ _("SLUGMA"),
+ _("MAGCARGO"),
+ _("SWINUB"),
+ _("PILOSWINE"),
+ _("CORSOLA"),
+ _("REMORAID"),
+ _("OCTILLERY"),
+ _("DELIBIRD"),
+ _("MANTINE"),
+ _("SKARMORY"),
+ _("HOUNDOUR"),
+ _("HOUNDOOM"),
+ _("KINGDRA"),
+ _("PHANPY"),
+ _("DONPHAN"),
+ _("PORYGON2"),
+ _("STANTLER"),
+ _("SMEARGLE"),
+ _("TYROGUE"),
+ _("HITMONTOP"),
+ _("SMOOCHUM"),
+ _("ELEKID"),
+ _("MAGBY"),
+ _("MILTANK"),
+ _("BLISSEY"),
+ _("RAIKOU"),
+ _("ENTEI"),
+ _("SUICUNE"),
+ _("LARVITAR"),
+ _("PUPITAR"),
+ _("TYRANITAR"),
+ _("LUGIA"),
+ _("HO-OH"),
+ _("CELEBI"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("?"),
+ _("TREECKO"),
+ _("GROVYLE"),
+ _("SCEPTILE"),
+ _("TORCHIC"),
+ _("COMBUSKEN"),
+ _("BLAZIKEN"),
+ _("MUDKIP"),
+ _("MARSHTOMP"),
+ _("SWAMPERT"),
+ _("POOCHYENA"),
+ _("MIGHTYENA"),
+ _("ZIGZAGOON"),
+ _("LINOONE"),
+ _("WURMPLE"),
+ _("SILCOON"),
+ _("BEAUTIFLY"),
+ _("CASCOON"),
+ _("DUSTOX"),
+ _("LOTAD"),
+ _("LOMBRE"),
+ _("LUDICOLO"),
+ _("SEEDOT"),
+ _("NUZLEAF"),
+ _("SHIFTRY"),
+ _("NINCADA"),
+ _("NINJASK"),
+ _("SHEDINJA"),
+ _("TAILLOW"),
+ _("SWELLOW"),
+ _("SHROOMISH"),
+ _("BRELOOM"),
+ _("SPINDA"),
+ _("WINGULL"),
+ _("PELIPPER"),
+ _("SURSKIT"),
+ _("MASQUERAIN"),
+ _("WAILMER"),
+ _("WAILORD"),
+ _("SKITTY"),
+ _("DELCATTY"),
+ _("KECLEON"),
+ _("BALTOY"),
+ _("CLAYDOL"),
+ _("NOSEPASS"),
+ _("TORKOAL"),
+ _("SABLEYE"),
+ _("BARBOACH"),
+ _("WHISCASH"),
+ _("LUVDISC"),
+ _("CORPHISH"),
+ _("CRAWDAUNT"),
+ _("FEEBAS"),
+ _("MILOTIC"),
+ _("CARVANHA"),
+ _("SHARPEDO"),
+ _("TRAPINCH"),
+ _("VIBRAVA"),
+ _("FLYGON"),
+ _("MAKUHITA"),
+ _("HARIYAMA"),
+ _("ELECTRIKE"),
+ _("MANECTRIC"),
+ _("NUMEL"),
+ _("CAMERUPT"),
+ _("SPHEAL"),
+ _("SEALEO"),
+ _("WALREIN"),
+ _("CACNEA"),
+ _("CACTURNE"),
+ _("SNORUNT"),
+ _("GLALIE"),
+ _("LUNATONE"),
+ _("SOLROCK"),
+ _("AZURILL"),
+ _("SPOINK"),
+ _("GRUMPIG"),
+ _("PLUSLE"),
+ _("MINUN"),
+ _("MAWILE"),
+ _("MEDITITE"),
+ _("MEDICHAM"),
+ _("SWABLU"),
+ _("ALTARIA"),
+ _("WYNAUT"),
+ _("DUSKULL"),
+ _("DUSCLOPS"),
+ _("ROSELIA"),
+ _("SLAKOTH"),
+ _("VIGOROTH"),
+ _("SLAKING"),
+ _("GULPIN"),
+ _("SWALOT"),
+ _("TROPIUS"),
+ _("WHISMUR"),
+ _("LOUDRED"),
+ _("EXPLOUD"),
+ _("CLAMPERL"),
+ _("HUNTAIL"),
+ _("GOREBYSS"),
+ _("ABSOL"),
+ _("SHUPPET"),
+ _("BANETTE"),
+ _("SEVIPER"),
+ _("ZANGOOSE"),
+ _("RELICANTH"),
+ _("ARON"),
+ _("LAIRON"),
+ _("AGGRON"),
+ _("CASTFORM"),
+ _("VOLBEAT"),
+ _("ILLUMISE"),
+ _("LILEEP"),
+ _("CRADILY"),
+ _("ANORITH"),
+ _("ARMALDO"),
+ _("RALTS"),
+ _("KIRLIA"),
+ _("GARDEVOIR"),
+ _("BAGON"),
+ _("SHELGON"),
+ _("SALAMENCE"),
+ _("BELDUM"),
+ _("METANG"),
+ _("METAGROSS"),
+ _("REGIROCK"),
+ _("REGICE"),
+ _("REGISTEEL"),
+ _("KYOGRE"),
+ _("GROUDON"),
+ _("RAYQUAZA"),
+ _("LATIAS"),
+ _("LATIOS"),
+ _("JIRACHI"),
+ _("DEOXYS"),
+ _("CHIMECHO")
+};
diff --git a/src/data/text/trainer_class_names.h b/src/data/text/trainer_class_names.h
new file mode 100644
index 000000000..4faae43f4
--- /dev/null
+++ b/src/data/text/trainer_class_names.h
@@ -0,0 +1,109 @@
+const u8 gTrainerClassNames[][13] = {
+ _("{PKMN} TRAINER"),
+ _("{PKMN} TRAINER"),
+ _("AQUA LEADER"),
+ _("TEAM AQUA"),
+ _("AROMA LADY"),
+ _("RUIN MANIAC"),
+ _("INTERVIEWER"),
+ _("TUBER"),
+ _("TUBER"),
+ _("COOLTRAINER"),
+ _("HEX MANIAC"),
+ _("LADY"),
+ _("BEAUTY"),
+ _("RICH BOY"),
+ _("POKéMANIAC"),
+ _("SWIMMER♂"),
+ _("BLACK BELT"),
+ _("GUITARIST"),
+ _("KINDLER"),
+ _("CAMPER"),
+ _("BUG MANIAC"),
+ _("PSYCHIC"),
+ _("GENTLEMAN"),
+ _("ELITE FOUR"),
+ _("LEADER"),
+ _("SCHOOL KID"),
+ _("SR. AND JR."),
+ _("POKéFAN"),
+ _("EXPERT"),
+ _("YOUNGSTER"),
+ _("CHAMPION"),
+ _("FISHERMAN"),
+ _("TRIATHLETE"),
+ _("DRAGON TAMER"),
+ _("BIRD KEEPER"),
+ _("NINJA BOY"),
+ _("BATTLE GIRL"),
+ _("PARASOL LADY"),
+ _("SWIMMER♀"),
+ _("PICNICKER"),
+ _("TWINS"),
+ _("SAILOR"),
+ _("BOARDER"),
+ _("COLLECTOR"),
+ _("{PKMN} TRAINER"),
+ _("{PKMN} BREEDER"),
+ _("{PKMN} RANGER"),
+ _("MAGMA LEADER"),
+ _("TEAM MAGMA"),
+ _("LASS"),
+ _("BUG CATCHER"),
+ _("HIKER"),
+ _("YOUNG COUPLE"),
+ _("OLD COUPLE"),
+ _("SIS AND BRO"),
+ _("AQUA ADMIN"),
+ _("MAGMA ADMIN"),
+ _("YOUNGSTER"),
+ _("BUG CATCHER"),
+ _("LASS"),
+ _("SAILOR"),
+ _("CAMPER"),
+ _("PICNICKER"),
+ _("POKéMANIAC"),
+ _("SUPER NERD"),
+ _("HIKER"),
+ _("BIKER"),
+ _("BURGLAR"),
+ _("ENGINEER"),
+ _("FISHERMAN"),
+ _("SWIMMER♂"),
+ _("CUE BALL"),
+ _("GAMER"),
+ _("BEAUTY"),
+ _("SWIMMER♀"),
+ _("PSYCHIC"),
+ _("ROCKER"),
+ _("JUGGLER"),
+ _("TAMER"),
+ _("BIRD KEEPER"),
+ _("BLACK BELT"),
+ _("RIVAL"),
+ _("SCIENTIST"),
+ _("BOSS"),
+ _("LEADER"),
+ _("TEAM ROCKET"),
+ _("COOLTRAINER"),
+ _("ELITE FOUR"),
+ _("GENTLEMAN"),
+ _("RIVAL"),
+ _("CHAMPION"),
+ _("CHANNELER"),
+ _("TWINS"),
+ _("COOL COUPLE"),
+ _("YOUNG COUPLE"),
+ _("CRUSH KIN"),
+ _("SIS AND BRO"),
+ _("{PKMN} PROF."),
+ _("PLAYER"),
+ _("CRUSH GIRL"),
+ _("TUBER"),
+ _("{PKMN} BREEDER"),
+ _("{PKMN} RANGER"),
+ _("AROMA LADY"),
+ _("RUIN MANIAC"),
+ _("LADY"),
+ _("PAINTER"),
+};
diff --git a/src/data/trainer_graphics/back_pic_anims.h b/src/data/trainer_graphics/back_pic_anims.h
new file mode 100644
index 000000000..2e107c21e
--- /dev/null
+++ b/src/data/trainer_graphics/back_pic_anims.h
@@ -0,0 +1,90 @@
+static const union AnimCmd sAnimCmd_Red_1[] = {
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(2, 6),
+ ANIMCMD_FRAME(3, 6),
+ ANIMCMD_FRAME(4, 24),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sAnimCmd_Leaf_1[] = {
+ ANIMCMD_FRAME(1, 20),
+ ANIMCMD_FRAME(2, 6),
+ ANIMCMD_FRAME(3, 6),
+ ANIMCMD_FRAME(4, 24),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sAnimCmd_PokeDude_1[] = {
+ ANIMCMD_FRAME(1, 24),
+ ANIMCMD_FRAME(2, 9),
+ ANIMCMD_FRAME(3, 24),
+ ANIMCMD_FRAME(0, 9),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sAnimCmd_OldMan_1[] = {
+ ANIMCMD_FRAME(1, 24),
+ ANIMCMD_FRAME(2, 9),
+ ANIMCMD_FRAME(3, 24),
+ ANIMCMD_FRAME(0, 9),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sAnimCmd_RSBrendan_1[] = {
+ ANIMCMD_FRAME(0, 24),
+ ANIMCMD_FRAME(1, 9),
+ ANIMCMD_FRAME(2, 24),
+ ANIMCMD_FRAME(0, 9),
+ ANIMCMD_FRAME(3, 50),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sAnimCmd_RSMay_1[] = {
+ ANIMCMD_FRAME(0, 24),
+ ANIMCMD_FRAME(1, 9),
+ ANIMCMD_FRAME(2, 24),
+ ANIMCMD_FRAME(0, 9),
+ ANIMCMD_FRAME(3, 50),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const sBackAnims_Red[] = {
+ sAnim_GeneralFrame0,
+ sAnimCmd_Red_1
+};
+
+const union AnimCmd *const sBackAnims_Leaf[] = {
+ sAnim_GeneralFrame0,
+ sAnimCmd_Leaf_1
+};
+
+const union AnimCmd *const sBackAnims_PokeDude[] = {
+ sAnim_GeneralFrame0,
+ sAnimCmd_PokeDude_1
+};
+
+const union AnimCmd *const sBackAnims_OldMan[] = {
+ sAnim_GeneralFrame0,
+ sAnimCmd_OldMan_1
+};
+
+const union AnimCmd *const sBackAnims_RSBrendan[] = {
+ sAnim_GeneralFrame3,
+ sAnimCmd_RSBrendan_1
+};
+
+const union AnimCmd *const sBackAnims_RSMay[] = {
+ sAnim_GeneralFrame3,
+ sAnimCmd_RSMay_1
+};
+
+const union AnimCmd *const *const gTrainerBackAnimsPtrTable[] = {
+ sBackAnims_Red,
+ sBackAnims_Leaf,
+ sBackAnims_RSBrendan,
+ sBackAnims_RSMay,
+ sBackAnims_PokeDude,
+ sBackAnims_OldMan
+};
diff --git a/src/data/trainer_graphics/back_pic_tables.h b/src/data/trainer_graphics/back_pic_tables.h
new file mode 100644
index 000000000..86e7824c1
--- /dev/null
+++ b/src/data/trainer_graphics/back_pic_tables.h
@@ -0,0 +1,26 @@
+const struct MonCoords gTrainerBackPicCoords[] = {
+ {.size = 8, .y_offset = 5},
+ {.size = 8, .y_offset = 5},
+ {.size = 8, .y_offset = 4},
+ {.size = 8, .y_offset = 4},
+ {.size = 8, .y_offset = 4},
+ {.size = 8, .y_offset = 4}
+};
+
+const struct CompressedSpriteSheet gTrainerBackPicTable[] = {
+ { (const u32 *)gTrainerBackPic_Red, 0x2800, 0 },
+ { (const u32 *)gTrainerBackPic_Leaf, 0x2800, 1 },
+ { (const u32 *)gTrainerBackPic_RSBrendan, 0x2000, 2 },
+ { (const u32 *)gTrainerBackPic_RSMay, 0x2000, 3 },
+ { (const u32 *)gTrainerBackPic_PokeDude, 0x2000, 4 },
+ { (const u32 *)gTrainerBackPic_OldMan, 0x2000, 5 }
+};
+
+const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] = {
+ { gTrainerPalette_RedBackPic, 0 },
+ { gTrainerPalette_LeafBackPic, 1 },
+ { gTrainerPalette_RSBrendan1, 2 },
+ { gTrainerPalette_RSMay1, 3 },
+ { gTrainerPalette_PokeDudeBackPic, 4 },
+ { gTrainerPalette_OldManBackPic, 5 }
+};
diff --git a/src/data/trainer_graphics/front_pic_anims.h b/src/data/trainer_graphics/front_pic_anims.h
new file mode 100644
index 000000000..32d38068a
--- /dev/null
+++ b/src/data/trainer_graphics/front_pic_anims.h
@@ -0,0 +1,891 @@
+static const union AnimCmd *const sAnims_8238E8C[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238E90[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238E94[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238E98[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238E9C[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238EA0[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238EA4[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238EA8[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238EAC[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238EB0[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238EB4[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238EB8[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238EBC[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238EC0[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238EC4[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238EC8[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238ECC[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238ED0[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238ED4[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238ED8[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238EDC[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238EE0[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238EE4[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238EE8[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238EEC[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238EF0[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238EF4[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238EF8[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238EFC[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F00[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F04[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F08[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F0C[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F10[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F14[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F18[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F1C[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F20[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F24[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F28[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F2C[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F30[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F34[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F38[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F3C[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F40[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F44[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F48[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F4C[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F50[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F54[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F58[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F5C[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F60[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F64[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F68[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F6C[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F70[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F74[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F78[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F7C[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F80[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F84[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F88[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F8C[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F90[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F94[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F98[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238F9C[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FA0[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FA4[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FA8[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FAC[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FB0[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FB4[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FB8[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FBC[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FC0[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FC4[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FC8[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FCC[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FD0[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FD4[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FD8[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FDC[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FE0[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FE4[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FE8[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FEC[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FF0[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FF4[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FF8[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8238FFC[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239000[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239004[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239008[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_823900C[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239010[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239014[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239018[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_823901C[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239020[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239024[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239028[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_823902C[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239030[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239034[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239038[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_823903C[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239040[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239044[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239048[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_823904C[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239050[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239054[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239058[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_823905C[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239060[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239064[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239068[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_823906C[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239070[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239074[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239078[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_823907C[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239080[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239084[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239088[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_823908C[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239090[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239094[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_8239098[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_823909C[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_82390A0[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_82390A4[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_82390A8[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_82390AC[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_82390B0[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_82390B4[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_82390B8[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_82390BC[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_82390C0[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_82390C4[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_82390C8[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_82390CC[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_82390D0[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_82390D4[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+static const union AnimCmd *const sAnims_82390D8[] =
+{
+ sAnim_GeneralFrame0,
+};
+
+const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[] =
+{
+ sAnims_8238E8C,
+ sAnims_8238E90,
+ sAnims_8238E94,
+ sAnims_8238E98,
+ sAnims_8238E9C,
+ sAnims_8238EA0,
+ sAnims_8238EA4,
+ sAnims_8238EA8,
+ sAnims_8238EAC,
+ sAnims_8238EB0,
+ sAnims_8238EB4,
+ sAnims_8238EB8,
+ sAnims_8238EBC,
+ sAnims_8238EC0,
+ sAnims_8238EC4,
+ sAnims_8238EC8,
+ sAnims_8238ECC,
+ sAnims_8238ED0,
+ sAnims_8238ED4,
+ sAnims_8238ED8,
+ sAnims_8238EDC,
+ sAnims_8238EE0,
+ sAnims_8238EE4,
+ sAnims_8238EE8,
+ sAnims_8238EEC,
+ sAnims_8238EF0,
+ sAnims_8238EF4,
+ sAnims_8238EF8,
+ sAnims_8238EFC,
+ sAnims_8238F00,
+ sAnims_8238F04,
+ sAnims_8238F08,
+ sAnims_8238F0C,
+ sAnims_8238F10,
+ sAnims_8238F14,
+ sAnims_8238F18,
+ sAnims_8238F1C,
+ sAnims_8238F20,
+ sAnims_8238F24,
+ sAnims_8238F28,
+ sAnims_8238F2C,
+ sAnims_8238F30,
+ sAnims_8238F34,
+ sAnims_8238F38,
+ sAnims_8238F3C,
+ sAnims_8238F40,
+ sAnims_8238F44,
+ sAnims_8238F48,
+ sAnims_8238F4C,
+ sAnims_8238F50,
+ sAnims_8238F54,
+ sAnims_8238F58,
+ sAnims_8238F5C,
+ sAnims_8238F60,
+ sAnims_8238F64,
+ sAnims_8238F68,
+ sAnims_8238F6C,
+ sAnims_8238F70,
+ sAnims_8238F74,
+ sAnims_8238F78,
+ sAnims_8238F7C,
+ sAnims_8238F80,
+ sAnims_8238F84,
+ sAnims_8238F88,
+ sAnims_8238F8C,
+ sAnims_8238F90,
+ sAnims_8238F94,
+ sAnims_8238F98,
+ sAnims_8238F9C,
+ sAnims_8238FA0,
+ sAnims_8238FA4,
+ sAnims_8238FA8,
+ sAnims_8238FAC,
+ sAnims_8238FB0,
+ sAnims_8238FB4,
+ sAnims_8238FB8,
+ sAnims_8238FBC,
+ sAnims_8238FC0,
+ sAnims_8238FC4,
+ sAnims_8238FC8,
+ sAnims_8238FCC,
+ sAnims_8238FD0,
+ sAnims_8238FD4,
+ sAnims_8238FD8,
+ sAnims_8238FDC,
+ sAnims_8238FE0,
+ sAnims_8238FE4,
+ sAnims_8238FE8,
+ sAnims_8238FEC,
+ sAnims_8238FF0,
+ sAnims_8238FF4,
+ sAnims_8238FF8,
+ sAnims_8238FFC,
+ sAnims_8239000,
+ sAnims_8239004,
+ sAnims_8239008,
+ sAnims_823900C,
+ sAnims_8239010,
+ sAnims_8239014,
+ sAnims_8239018,
+ sAnims_823901C,
+ sAnims_8239020,
+ sAnims_8239024,
+ sAnims_8239028,
+ sAnims_823902C,
+ sAnims_8239030,
+ sAnims_8239034,
+ sAnims_8239038,
+ sAnims_823903C,
+ sAnims_8239040,
+ sAnims_8239044,
+ sAnims_8239048,
+ sAnims_823904C,
+ sAnims_8239050,
+ sAnims_8239054,
+ sAnims_8239058,
+ sAnims_823905C,
+ sAnims_8239060,
+ sAnims_8239064,
+ sAnims_8239068,
+ sAnims_823906C,
+ sAnims_8239070,
+ sAnims_8239074,
+ sAnims_8239078,
+ sAnims_823907C,
+ sAnims_8239080,
+ sAnims_8239084,
+ sAnims_8239088,
+ sAnims_823908C,
+ sAnims_8239090,
+ sAnims_8239094,
+ sAnims_8239098,
+ sAnims_823909C,
+ sAnims_82390A0,
+ sAnims_82390A4,
+ sAnims_82390A8,
+ sAnims_82390AC,
+ sAnims_82390B0,
+ sAnims_82390B4,
+ sAnims_82390B8,
+ sAnims_82390BC,
+ sAnims_82390C0,
+ sAnims_82390C4,
+ sAnims_82390C8,
+ sAnims_82390CC,
+ sAnims_82390D0,
+ sAnims_82390D4,
+ sAnims_82390D8,
+};
diff --git a/src/data/trainer_graphics/front_pic_tables.h b/src/data/trainer_graphics/front_pic_tables.h
new file mode 100644
index 000000000..9d94103ef
--- /dev/null
+++ b/src/data/trainer_graphics/front_pic_tables.h
@@ -0,0 +1,455 @@
+const struct MonCoords gTrainerFrontPicCoords[] =
+{
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 2},
+ {.size = 8, .y_offset = 2},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 2},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 2},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+ {.size = 8, .y_offset = 1},
+};
+
+const struct CompressedSpriteSheet gTrainerFrontPicTable[] =
+{
+ TRAINER_SPRITE(AQUA_LEADER_ARCHIE, gTrainerFrontPic_AquaLeaderArchie, 0x800),
+ TRAINER_SPRITE(AQUA_GRUNT_M, gTrainerFrontPic_AquaGruntM, 0x800),
+ TRAINER_SPRITE(AQUA_GRUNT_F, gTrainerFrontPic_AquaGruntF, 0x800),
+ TRAINER_SPRITE(RS_AROMA_LADY, gTrainerFrontPic_RSAromaLady, 0x800),
+ TRAINER_SPRITE(RS_RUIN_MANIAC, gTrainerFrontPic_RSRuinManiac, 0x800),
+ TRAINER_SPRITE(INTERVIEWER, gTrainerFrontPic_Interviewer, 0x800),
+ TRAINER_SPRITE(RS_TUBER_F, gTrainerFrontPic_RSTuberF, 0x800),
+ TRAINER_SPRITE(TUBER_M, gTrainerFrontPic_TuberM, 0x800),
+ TRAINER_SPRITE(RS_COOLTRAINER_M, gTrainerFrontPic_RSCooltrainerM, 0x800),
+ TRAINER_SPRITE(RS_COOLTRAINER_F, gTrainerFrontPic_RSCooltrainerF, 0x800),
+ TRAINER_SPRITE(HEX_MANIAC, gTrainerFrontPic_HexManiac, 0x800),
+ TRAINER_SPRITE(RS_LADY, gTrainerFrontPic_RSLady, 0x800),
+ TRAINER_SPRITE(RS_BEAUTY, gTrainerFrontPic_RSBeauty, 0x800),
+ TRAINER_SPRITE(RICH_BOY, gTrainerFrontPic_RichBoy, 0x800),
+ TRAINER_SPRITE(RS_POKEMANIAC, gTrainerFrontPic_RSPokeManiac, 0x800),
+ TRAINER_SPRITE(RS_SWIMMER_M, gTrainerFrontPic_RSSwimmerM, 0x800),
+ TRAINER_SPRITE(RS_BLACK_BELT, gTrainerFrontPic_RSBlackBelt, 0x800),
+ TRAINER_SPRITE(GUITARIST, gTrainerFrontPic_Guitarist, 0x800),
+ TRAINER_SPRITE(KINDLER, gTrainerFrontPic_Kindler, 0x800),
+ TRAINER_SPRITE(RS_CAMPER, gTrainerFrontPic_RSCamper, 0x800),
+ TRAINER_SPRITE(BUG_MANIAC, gTrainerFrontPic_BugManiac, 0x800),
+ TRAINER_SPRITE(RS_PSYCHIC_M, gTrainerFrontPic_RSPsychicM, 0x800),
+ TRAINER_SPRITE(RS_PSYCHIC_F, gTrainerFrontPic_RSPsychicF, 0x800),
+ TRAINER_SPRITE(RS_GENTLEMAN, gTrainerFrontPic_RSGentleman, 0x800),
+ TRAINER_SPRITE(ELITE_FOUR_SIDNEY, gTrainerFrontPic_EliteFourSidney, 0x800),
+ TRAINER_SPRITE(ELITE_FOUR_PHOEBE, gTrainerFrontPic_EliteFourPhoebe, 0x800),
+ TRAINER_SPRITE(LEADER_ROXANNE, gTrainerFrontPic_LeaderRoxanne, 0x800),
+ TRAINER_SPRITE(LEADER_BRAWLY, gTrainerFrontPic_LeaderBrawly, 0x800),
+ TRAINER_SPRITE(LEADER_TATE_AND_LIZA, gTrainerFrontPic_LeaderTateAndLiza, 0x800),
+ TRAINER_SPRITE(SCHOOL_KID_M, gTrainerFrontPic_SchoolKidM, 0x800),
+ TRAINER_SPRITE(SCHOOL_KID_F, gTrainerFrontPic_SchoolKidF, 0x800),
+ TRAINER_SPRITE(SR_AND_JR, gTrainerFrontPic_SrAndJr, 0x1000),
+ TRAINER_SPRITE(POKEFAN_M, gTrainerFrontPic_PokefanM, 0x1000),
+ TRAINER_SPRITE(POKEFAN_F, gTrainerFrontPic_PokefanF, 0x800),
+ TRAINER_SPRITE(EXPERT_M, gTrainerFrontPic_ExpertM, 0x800),
+ TRAINER_SPRITE(EXPERT_F, gTrainerFrontPic_ExpertF, 0x800),
+ TRAINER_SPRITE(RS_YOUNGSTER, gTrainerFrontPic_RSYoungster, 0x800),
+ TRAINER_SPRITE(CHAMPION_STEVEN, gTrainerFrontPic_ChampionSteven, 0x800),
+ TRAINER_SPRITE(RS_FISHERMAN, gTrainerFrontPic_RSFisherman, 0x800),
+ TRAINER_SPRITE(CYCLING_TRIATHLETE_M, gTrainerFrontPic_CyclingTriathleteM, 0x1000),
+ TRAINER_SPRITE(CYCLING_TRIATHLETE_F, gTrainerFrontPic_CyclingTriathleteF, 0x800),
+ TRAINER_SPRITE(RUNNING_TRIATHLETE_M, gTrainerFrontPic_RunningTriathleteM, 0x800),
+ TRAINER_SPRITE(RUNNING_TRIATHLETE_F, gTrainerFrontPic_RunningTriathleteF, 0x800),
+ TRAINER_SPRITE(SWIMMING_TRIATHLETE_M, gTrainerFrontPic_SwimmingTriathleteM, 0x800),
+ TRAINER_SPRITE(SWIMMING_TRIATHLETE_F, gTrainerFrontPic_SwimmingTriathleteF, 0x800),
+ TRAINER_SPRITE(DRAGON_TAMER, gTrainerFrontPic_DragonTamer, 0x800),
+ TRAINER_SPRITE(RS_BIRD_KEEPER, gTrainerFrontPic_RSBirdKeeper, 0x800),
+ TRAINER_SPRITE(NINJA_BOY, gTrainerFrontPic_NinjaBoy, 0x800),
+ TRAINER_SPRITE(BATTLE_GIRL, gTrainerFrontPic_BattleGirl, 0x1000),
+ TRAINER_SPRITE(PARASOL_LADY, gTrainerFrontPic_ParasolLady, 0x800),
+ TRAINER_SPRITE(RS_SWIMMER_F, gTrainerFrontPic_RSSwimmerF, 0x800),
+ TRAINER_SPRITE(RS_PICNICKER, gTrainerFrontPic_RSPicnicker, 0x800),
+ TRAINER_SPRITE(RS_TWINS, gTrainerFrontPic_RSTwins, 0x800),
+ TRAINER_SPRITE(RS_SAILOR, gTrainerFrontPic_RSSailor, 0x800),
+ TRAINER_SPRITE(COLLECTOR, gTrainerFrontPic_Collector, 0x800),
+ TRAINER_SPRITE(WALLY, gTrainerFrontPic_Wally, 0x800),
+ TRAINER_SPRITE(RS_BRENDAN_1, gTrainerFrontPic_RSBrendan1, 0x800),
+ TRAINER_SPRITE(RS_MAY_1, gTrainerFrontPic_RSMay1, 0x800),
+ TRAINER_SPRITE(POKEMON_BREEDER_M, gTrainerFrontPic_PokemonBreederM, 0x800),
+ TRAINER_SPRITE(RS_POKEMON_BREEDER_F, gTrainerFrontPic_RSPokemonBreederF, 0x800),
+ TRAINER_SPRITE(RS_POKEMON_RANGER_M, gTrainerFrontPic_RSPokemonRangerM, 0x800),
+ TRAINER_SPRITE(RS_POKEMON_RANGER_F, gTrainerFrontPic_RSPokemonRangerF, 0x800),
+ TRAINER_SPRITE(MAGMA_LEADER_MAXIE, gTrainerFrontPic_MagmaLeaderMaxie, 0x800),
+ TRAINER_SPRITE(MAGMA_GRUNT_M, gTrainerFrontPic_MagmaGruntM, 0x800),
+ TRAINER_SPRITE(MAGMA_GRUNT_F, gTrainerFrontPic_MagmaGruntF, 0x800),
+ TRAINER_SPRITE(RS_LASS, gTrainerFrontPic_RSLass, 0x800),
+ TRAINER_SPRITE(RS_BUG_CATCHER, gTrainerFrontPic_RSBugCatcher, 0x800),
+ TRAINER_SPRITE(RS_HIKER, gTrainerFrontPic_RSHiker, 0x800),
+ TRAINER_SPRITE(RS_YOUNG_COUPLE, gTrainerFrontPic_RSYoungCouple, 0x800),
+ TRAINER_SPRITE(OLD_COUPLE, gTrainerFrontPic_OldCouple, 0x800),
+ TRAINER_SPRITE(RS_SIS_AND_BRO, gTrainerFrontPic_RSSisAndBro, 0x800),
+ TRAINER_SPRITE(AQUA_ADMIN_M, gTrainerFrontPic_AquaAdminM, 0x800),
+ TRAINER_SPRITE(AQUA_ADMIN_F, gTrainerFrontPic_AquaAdminF, 0x800),
+ TRAINER_SPRITE(MAGMA_ADMIN_M, gTrainerFrontPic_MagmaAdminM, 0x800),
+ TRAINER_SPRITE(MAGMA_ADMIN_F, gTrainerFrontPic_MagmaAdminF, 0x800),
+ TRAINER_SPRITE(LEADER_WATTSON, gTrainerFrontPic_LeaderWattson, 0x800),
+ TRAINER_SPRITE(LEADER_FLANNERY, gTrainerFrontPic_LeaderFlannery, 0x800),
+ TRAINER_SPRITE(LEADER_NORMAN, gTrainerFrontPic_LeaderNorman, 0x800),
+ TRAINER_SPRITE(LEADER_WINONA, gTrainerFrontPic_LeaderWinona, 0x800),
+ TRAINER_SPRITE(LEADER_WALLACE, gTrainerFrontPic_LeaderWallace, 0x800),
+ TRAINER_SPRITE(ELITE_FOUR_GLACIA, gTrainerFrontPic_EliteFourGlacia, 0x800),
+ TRAINER_SPRITE(ELITE_FOUR_DRAKE, gTrainerFrontPic_EliteFourDrake, 0x800),
+ TRAINER_SPRITE(YOUNGSTER, gTrainerFrontPic_Youngster, 0x800),
+ TRAINER_SPRITE(BUG_CATCHER, gTrainerFrontPic_BugCatcher, 0x800),
+ TRAINER_SPRITE(LASS, gTrainerFrontPic_Lass, 0x800),
+ TRAINER_SPRITE(SAILOR, gTrainerFrontPic_Sailor, 0x800),
+ TRAINER_SPRITE(CAMPER, gTrainerFrontPic_Camper, 0x800),
+ TRAINER_SPRITE(PICNICKER, gTrainerFrontPic_Picnicker, 0x800),
+ TRAINER_SPRITE(POKEMANIAC, gTrainerFrontPic_PokeManiac, 0x800),
+ TRAINER_SPRITE(SUPER_NERD, gTrainerFrontPic_SuperNerd, 0x800),
+ TRAINER_SPRITE(HIKER, gTrainerFrontPic_Hiker, 0x800),
+ TRAINER_SPRITE(BIKER, gTrainerFrontPic_Biker, 0x800),
+ TRAINER_SPRITE(BURGLAR, gTrainerFrontPic_Burglar, 0x800),
+ TRAINER_SPRITE(ENGINEER, gTrainerFrontPic_Engineer, 0x800),
+ TRAINER_SPRITE(FISHERMAN, gTrainerFrontPic_Fisherman, 0x800),
+ TRAINER_SPRITE(SWIMMER_M, gTrainerFrontPic_SwimmerM, 0x800),
+ TRAINER_SPRITE(CUE_BALL, gTrainerFrontPic_CueBall, 0x800),
+ TRAINER_SPRITE(GAMER, gTrainerFrontPic_Gamer, 0x800),
+ TRAINER_SPRITE(BEAUTY, gTrainerFrontPic_Beauty, 0x800),
+ TRAINER_SPRITE(SWIMMER_F, gTrainerFrontPic_SwimmerF, 0x800),
+ TRAINER_SPRITE(PSYCHIC_M, gTrainerFrontPic_PsychicM, 0x800),
+ TRAINER_SPRITE(ROCKER, gTrainerFrontPic_Rocker, 0x800),
+ TRAINER_SPRITE(JUGGLER, gTrainerFrontPic_Juggler, 0x800),
+ TRAINER_SPRITE(TAMER, gTrainerFrontPic_Tamer, 0x800),
+ TRAINER_SPRITE(BIRD_KEEPER, gTrainerFrontPic_BirdKeeper, 0x800),
+ TRAINER_SPRITE(BLACK_BELT, gTrainerFrontPic_BlackBelt, 0x800),
+ TRAINER_SPRITE(RIVAL_1, gTrainerFrontPic_Rival1, 0x800),
+ TRAINER_SPRITE(SCIENTIST, gTrainerFrontPic_Scientist, 0x800),
+ TRAINER_SPRITE(LEADER_GIOVANNI, gTrainerFrontPic_LeaderGiovanni, 0x800),
+ TRAINER_SPRITE(ROCKET_GRUNT_M, gTrainerFrontPic_RocketGruntM, 0x800),
+ TRAINER_SPRITE(COOLTRAINER_M, gTrainerFrontPic_CooltrainerM, 0x800),
+ TRAINER_SPRITE(COOLTRAINER_F, gTrainerFrontPic_CooltrainerF, 0x800),
+ TRAINER_SPRITE(ELITE_FOUR_LORELEI, gTrainerFrontPic_EliteFourLorelei, 0x800),
+ TRAINER_SPRITE(ELITE_FOUR_BRUNO, gTrainerFrontPic_EliteFourBruno, 0x800),
+ TRAINER_SPRITE(ELITE_FOUR_AGATHA, gTrainerFrontPic_EliteFourAgatha, 0x800),
+ TRAINER_SPRITE(ELITE_FOUR_LANCE, gTrainerFrontPic_EliteFourLance, 0x800),
+ TRAINER_SPRITE(LEADER_BROCK, gTrainerFrontPic_LeaderBrock, 0x800),
+ TRAINER_SPRITE(LEADER_MISTY, gTrainerFrontPic_LeaderMisty, 0x800),
+ TRAINER_SPRITE(LEADER_LT_SURGE, gTrainerFrontPic_LeaderLtSurge, 0x800),
+ TRAINER_SPRITE(LEADER_ERIKA, gTrainerFrontPic_LeaderErika, 0x800),
+ TRAINER_SPRITE(LEADER_KOGA, gTrainerFrontPic_LeaderKoga, 0x800),
+ TRAINER_SPRITE(LEADER_BLAINE, gTrainerFrontPic_LeaderBlaine, 0x800),
+ TRAINER_SPRITE(LEADER_SABRINA, gTrainerFrontPic_LeaderSabrina, 0x800),
+ TRAINER_SPRITE(GENTLEMAN, gTrainerFrontPic_Gentleman, 0x800),
+ TRAINER_SPRITE(RIVAL_2, gTrainerFrontPic_Rival2, 0x800),
+ TRAINER_SPRITE(CHAMPION_RIVAL, gTrainerFrontPic_ChampionRival, 0x800),
+ TRAINER_SPRITE(CHANNELER, gTrainerFrontPic_Channeler, 0x800),
+ TRAINER_SPRITE(TWINS, gTrainerFrontPic_Twins, 0x800),
+ TRAINER_SPRITE(COOL_COUPLE, gTrainerFrontPic_CoolCouple, 0x800),
+ TRAINER_SPRITE(YOUNG_COUPLE, gTrainerFrontPic_YoungCouple, 0x800),
+ TRAINER_SPRITE(CRUSH_KIN, gTrainerFrontPic_CrushKin, 0x800),
+ TRAINER_SPRITE(SIS_AND_BRO, gTrainerFrontPic_SisAndBro, 0x800),
+ TRAINER_SPRITE(PROFESSOR_OAK, gTrainerFrontPic_ProfessorOak, 0x800),
+ TRAINER_SPRITE(RS_BRENDAN_2, gTrainerFrontPic_RSBrendan2, 0x800),
+ TRAINER_SPRITE(RS_MAY_2, gTrainerFrontPic_RSMay2, 0x800),
+ TRAINER_SPRITE(RED, gTrainerFrontPic_Red, 0x800),
+ TRAINER_SPRITE(LEAF, gTrainerFrontPic_Leaf, 0x800),
+ TRAINER_SPRITE(ROCKET_GRUNT_F, gTrainerFrontPic_RocketGruntF, 0x800),
+ TRAINER_SPRITE(PSYCHIC_F, gTrainerFrontPic_PsychicF, 0x800),
+ TRAINER_SPRITE(CRUSH_GIRL, gTrainerFrontPic_CrushGirl, 0x800),
+ TRAINER_SPRITE(TUBER_F, gTrainerFrontPic_TuberF, 0x800),
+ TRAINER_SPRITE(POKEMON_BREEDER_F, gTrainerFrontPic_PokemonBreederF, 0x800),
+ TRAINER_SPRITE(POKEMON_RANGER_M, gTrainerFrontPic_PokemonRangerM, 0x800),
+ TRAINER_SPRITE(POKEMON_RANGER_F, gTrainerFrontPic_PokemonRangerF, 0x800),
+ TRAINER_SPRITE(AROMA_LADY, gTrainerFrontPic_AromaLady, 0x800),
+ TRAINER_SPRITE(RUIN_MANIAC, gTrainerFrontPic_RuinManiac, 0x800),
+ TRAINER_SPRITE(LADY, gTrainerFrontPic_Lady, 0x800),
+ TRAINER_SPRITE(PAINTER, gTrainerFrontPic_Painter, 0x800),
+};
+
+const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[] =
+{
+ TRAINER_PAL(AQUA_LEADER_ARCHIE, gTrainerPalette_AquaLeaderArchie),
+ TRAINER_PAL(AQUA_GRUNT_M, gTrainerPalette_AquaGruntM),
+ TRAINER_PAL(AQUA_GRUNT_F, gTrainerPalette_AquaGruntF),
+ TRAINER_PAL(RS_AROMA_LADY, gTrainerPalette_RSAromaLady),
+ TRAINER_PAL(RS_RUIN_MANIAC, gTrainerPalette_RSRuinManiac),
+ TRAINER_PAL(INTERVIEWER, gTrainerPalette_Interviewer),
+ TRAINER_PAL(RS_TUBER_F, gTrainerPalette_RSTuberF),
+ TRAINER_PAL(TUBER_M, gTrainerPalette_TuberM),
+ TRAINER_PAL(RS_COOLTRAINER_M, gTrainerPalette_RSCooltrainerM),
+ TRAINER_PAL(RS_COOLTRAINER_F, gTrainerPalette_RSCooltrainerF),
+ TRAINER_PAL(HEX_MANIAC, gTrainerPalette_HexManiac),
+ TRAINER_PAL(RS_LADY, gTrainerPalette_RSLady),
+ TRAINER_PAL(RS_BEAUTY, gTrainerPalette_RSBeauty),
+ TRAINER_PAL(RICH_BOY, gTrainerPalette_RichBoy),
+ TRAINER_PAL(RS_POKEMANIAC, gTrainerPalette_RSPokeManiac),
+ TRAINER_PAL(RS_SWIMMER_M, gTrainerPalette_RSSwimmerM),
+ TRAINER_PAL(RS_BLACK_BELT, gTrainerPalette_RSBlackBelt),
+ TRAINER_PAL(GUITARIST, gTrainerPalette_Guitarist),
+ TRAINER_PAL(KINDLER, gTrainerPalette_Kindler),
+ TRAINER_PAL(RS_CAMPER, gTrainerPalette_RSCamper),
+ TRAINER_PAL(BUG_MANIAC, gTrainerPalette_BugManiac),
+ TRAINER_PAL(RS_PSYCHIC_M, gTrainerPalette_RSPsychicM),
+ TRAINER_PAL(RS_PSYCHIC_F, gTrainerPalette_RSPsychicF),
+ TRAINER_PAL(RS_GENTLEMAN, gTrainerPalette_RSGentleman),
+ TRAINER_PAL(ELITE_FOUR_SIDNEY, gTrainerPalette_EliteFourSidney),
+ TRAINER_PAL(ELITE_FOUR_PHOEBE, gTrainerPalette_EliteFourPhoebe),
+ TRAINER_PAL(LEADER_ROXANNE, gTrainerPalette_LeaderRoxanne),
+ TRAINER_PAL(LEADER_BRAWLY, gTrainerPalette_LeaderBrawly),
+ TRAINER_PAL(LEADER_TATE_AND_LIZA, gTrainerPalette_LeaderTateAndLiza),
+ TRAINER_PAL(SCHOOL_KID_M, gTrainerPalette_SchoolKidM),
+ TRAINER_PAL(SCHOOL_KID_F, gTrainerPalette_SchoolKidF),
+ TRAINER_PAL(SR_AND_JR, gTrainerPalette_SrAndJr),
+ TRAINER_PAL(POKEFAN_M, gTrainerPalette_PokefanM),
+ TRAINER_PAL(POKEFAN_F, gTrainerPalette_PokefanF),
+ TRAINER_PAL(EXPERT_M, gTrainerPalette_ExpertM),
+ TRAINER_PAL(EXPERT_F, gTrainerPalette_ExpertF),
+ TRAINER_PAL(RS_YOUNGSTER, gTrainerPalette_RSYoungster),
+ TRAINER_PAL(CHAMPION_STEVEN, gTrainerPalette_ChampionSteven),
+ TRAINER_PAL(RS_FISHERMAN, gTrainerPalette_RSFisherman),
+ TRAINER_PAL(CYCLING_TRIATHLETE_M, gTrainerPalette_CyclingTriathleteM),
+ TRAINER_PAL(CYCLING_TRIATHLETE_F, gTrainerPalette_CyclingTriathleteF),
+ TRAINER_PAL(RUNNING_TRIATHLETE_M, gTrainerPalette_RunningTriathleteM),
+ TRAINER_PAL(RUNNING_TRIATHLETE_F, gTrainerPalette_RunningTriathleteF),
+ TRAINER_PAL(SWIMMING_TRIATHLETE_M, gTrainerPalette_SwimmingTriathleteM),
+ TRAINER_PAL(SWIMMING_TRIATHLETE_F, gTrainerPalette_SwimmingTriathleteF),
+ TRAINER_PAL(DRAGON_TAMER, gTrainerPalette_DragonTamer),
+ TRAINER_PAL(RS_BIRD_KEEPER, gTrainerPalette_RSBirdKeeper),
+ TRAINER_PAL(NINJA_BOY, gTrainerPalette_NinjaBoy),
+ TRAINER_PAL(BATTLE_GIRL, gTrainerPalette_BattleGirl),
+ TRAINER_PAL(PARASOL_LADY, gTrainerPalette_ParasolLady),
+ TRAINER_PAL(RS_SWIMMER_F, gTrainerPalette_RSSwimmerF),
+ TRAINER_PAL(RS_PICNICKER, gTrainerPalette_RSPicnicker),
+ TRAINER_PAL(RS_TWINS, gTrainerPalette_RSTwins),
+ TRAINER_PAL(RS_SAILOR, gTrainerPalette_RSSailor),
+ TRAINER_PAL(COLLECTOR, gTrainerPalette_Collector),
+ TRAINER_PAL(WALLY, gTrainerPalette_Wally),
+ TRAINER_PAL(RS_BRENDAN_1, gTrainerPalette_RSBrendan1),
+ TRAINER_PAL(RS_MAY_1, gTrainerPalette_RSMay1),
+ TRAINER_PAL(POKEMON_BREEDER_M, gTrainerPalette_PokemonBreederM),
+ TRAINER_PAL(RS_POKEMON_BREEDER_F, gTrainerPalette_RSPokemonBreederF),
+ TRAINER_PAL(RS_POKEMON_RANGER_M, gTrainerPalette_RSPokemonRangerM),
+ TRAINER_PAL(RS_POKEMON_RANGER_F, gTrainerPalette_RSPokemonRangerF),
+ TRAINER_PAL(MAGMA_LEADER_MAXIE, gTrainerPalette_MagmaLeaderMaxie),
+ TRAINER_PAL(MAGMA_GRUNT_M, gTrainerPalette_MagmaGruntM),
+ TRAINER_PAL(MAGMA_GRUNT_F, gTrainerPalette_MagmaGruntF),
+ TRAINER_PAL(RS_LASS, gTrainerPalette_RSLass),
+ TRAINER_PAL(RS_BUG_CATCHER, gTrainerPalette_RSBugCatcher),
+ TRAINER_PAL(RS_HIKER, gTrainerPalette_RSHiker),
+ TRAINER_PAL(RS_YOUNG_COUPLE, gTrainerPalette_RSYoungCouple),
+ TRAINER_PAL(OLD_COUPLE, gTrainerPalette_OldCouple),
+ TRAINER_PAL(RS_SIS_AND_BRO, gTrainerPalette_RSSisAndBro),
+ TRAINER_PAL(AQUA_ADMIN_M, gTrainerPalette_AquaAdminM),
+ TRAINER_PAL(AQUA_ADMIN_F, gTrainerPalette_AquaAdminF),
+ TRAINER_PAL(MAGMA_ADMIN_M, gTrainerPalette_MagmaAdminM),
+ TRAINER_PAL(MAGMA_ADMIN_F, gTrainerPalette_MagmaAdminF),
+ TRAINER_PAL(LEADER_WATTSON, gTrainerPalette_LeaderWattson),
+ TRAINER_PAL(LEADER_FLANNERY, gTrainerPalette_LeaderFlannery),
+ TRAINER_PAL(LEADER_NORMAN, gTrainerPalette_LeaderNorman),
+ TRAINER_PAL(LEADER_WINONA, gTrainerPalette_LeaderWinona),
+ TRAINER_PAL(LEADER_WALLACE, gTrainerPalette_LeaderWallace),
+ TRAINER_PAL(ELITE_FOUR_GLACIA, gTrainerPalette_EliteFourGlacia),
+ TRAINER_PAL(ELITE_FOUR_DRAKE, gTrainerPalette_EliteFourDrake),
+ TRAINER_PAL(YOUNGSTER, gTrainerPalette_Youngster),
+ TRAINER_PAL(BUG_CATCHER, gTrainerPalette_BugCatcher),
+ TRAINER_PAL(LASS, gTrainerPalette_Lass),
+ TRAINER_PAL(SAILOR, gTrainerPalette_Sailor),
+ TRAINER_PAL(CAMPER, gTrainerPalette_Camper),
+ TRAINER_PAL(PICNICKER, gTrainerPalette_Picnicker),
+ TRAINER_PAL(POKEMANIAC, gTrainerPalette_PokeManiac),
+ TRAINER_PAL(SUPER_NERD, gTrainerPalette_SuperNerd),
+ TRAINER_PAL(HIKER, gTrainerPalette_Hiker),
+ TRAINER_PAL(BIKER, gTrainerPalette_Biker),
+ TRAINER_PAL(BURGLAR, gTrainerPalette_Burglar),
+ TRAINER_PAL(ENGINEER, gTrainerPalette_Engineer),
+ TRAINER_PAL(FISHERMAN, gTrainerPalette_Fisherman),
+ TRAINER_PAL(SWIMMER_M, gTrainerPalette_SwimmerM),
+ TRAINER_PAL(CUE_BALL, gTrainerPalette_CueBall),
+ TRAINER_PAL(GAMER, gTrainerPalette_Gamer),
+ TRAINER_PAL(BEAUTY, gTrainerPalette_Beauty),
+ TRAINER_PAL(SWIMMER_F, gTrainerPalette_SwimmerF),
+ TRAINER_PAL(PSYCHIC_M, gTrainerPalette_PsychicM),
+ TRAINER_PAL(ROCKER, gTrainerPalette_Rocker),
+ TRAINER_PAL(JUGGLER, gTrainerPalette_Juggler),
+ TRAINER_PAL(TAMER, gTrainerPalette_Tamer),
+ TRAINER_PAL(BIRD_KEEPER, gTrainerPalette_BirdKeeper),
+ TRAINER_PAL(BLACK_BELT, gTrainerPalette_BlackBelt),
+ TRAINER_PAL(RIVAL_1, gTrainerPalette_Rival1),
+ TRAINER_PAL(SCIENTIST, gTrainerPalette_Scientist),
+ TRAINER_PAL(LEADER_GIOVANNI, gTrainerPalette_LeaderGiovanni),
+ TRAINER_PAL(ROCKET_GRUNT_M, gTrainerPalette_RocketGruntM),
+ TRAINER_PAL(COOLTRAINER_M, gTrainerPalette_CooltrainerM),
+ TRAINER_PAL(COOLTRAINER_F, gTrainerPalette_CooltrainerF),
+ TRAINER_PAL(ELITE_FOUR_LORELEI, gTrainerPalette_EliteFourLorelei),
+ TRAINER_PAL(ELITE_FOUR_BRUNO, gTrainerPalette_EliteFourBruno),
+ TRAINER_PAL(ELITE_FOUR_AGATHA, gTrainerPalette_EliteFourAgatha),
+ TRAINER_PAL(ELITE_FOUR_LANCE, gTrainerPalette_EliteFourLance),
+ TRAINER_PAL(LEADER_BROCK, gTrainerPalette_LeaderBrock),
+ TRAINER_PAL(LEADER_MISTY, gTrainerPalette_LeaderMisty),
+ TRAINER_PAL(LEADER_LT_SURGE, gTrainerPalette_LeaderLtSurge),
+ TRAINER_PAL(LEADER_ERIKA, gTrainerPalette_LeaderErika),
+ TRAINER_PAL(LEADER_KOGA, gTrainerPalette_LeaderKoga),
+ TRAINER_PAL(LEADER_BLAINE, gTrainerPalette_LeaderBlaine),
+ TRAINER_PAL(LEADER_SABRINA, gTrainerPalette_LeaderSabrina),
+ TRAINER_PAL(GENTLEMAN, gTrainerPalette_Gentleman),
+ TRAINER_PAL(RIVAL_2, gTrainerPalette_Rival2),
+ TRAINER_PAL(CHAMPION_RIVAL, gTrainerPalette_ChampionRival),
+ TRAINER_PAL(CHANNELER, gTrainerPalette_Channeler),
+ TRAINER_PAL(TWINS, gTrainerPalette_Twins),
+ TRAINER_PAL(COOL_COUPLE, gTrainerPalette_CoolCouple),
+ TRAINER_PAL(YOUNG_COUPLE, gTrainerPalette_YoungCouple),
+ TRAINER_PAL(CRUSH_KIN, gTrainerPalette_CrushKin),
+ TRAINER_PAL(SIS_AND_BRO, gTrainerPalette_SisAndBro),
+ TRAINER_PAL(PROFESSOR_OAK, gTrainerPalette_ProfessorOak),
+ TRAINER_PAL(RS_BRENDAN_2, gTrainerPalette_RSBrendan2),
+ TRAINER_PAL(RS_MAY_2, gTrainerPalette_RSMay2),
+ TRAINER_PAL(RED, gTrainerPalette_Red),
+ TRAINER_PAL(LEAF, gTrainerPalette_Leaf),
+ TRAINER_PAL(ROCKET_GRUNT_F, gTrainerPalette_RocketGruntF),
+ TRAINER_PAL(PSYCHIC_F, gTrainerPalette_PsychicF),
+ TRAINER_PAL(CRUSH_GIRL, gTrainerPalette_CrushGirl),
+ TRAINER_PAL(TUBER_F, gTrainerPalette_TuberF),
+ TRAINER_PAL(POKEMON_BREEDER_F, gTrainerPalette_PokemonBreederF),
+ TRAINER_PAL(POKEMON_RANGER_M, gTrainerPalette_PokemonRangerM),
+ TRAINER_PAL(POKEMON_RANGER_F, gTrainerPalette_PokemonRangerF),
+ TRAINER_PAL(AROMA_LADY, gTrainerPalette_AromaLady),
+ TRAINER_PAL(RUIN_MANIAC, gTrainerPalette_RuinManiac),
+ TRAINER_PAL(LADY, gTrainerPalette_Lady),
+ TRAINER_PAL(PAINTER, gTrainerPalette_Painter),
+};
diff --git a/src/data/trainer_parties.h b/src/data/trainer_parties.h
new file mode 100644
index 000000000..a2c4b512d
--- /dev/null
+++ b/src/data/trainer_parties.h
@@ -0,0 +1,11557 @@
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A1A0[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A1A8[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A1B0[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A1B8[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A1C0[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A1C8[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A1D0[] = {
+ {
+ .iv = 0,
+ .lvl = 38,
+ .species = SPECIES_STARMIE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A1D8[] = {
+ {
+ .iv = 0,
+ .lvl = 38,
+ .species = SPECIES_STARMIE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A1E0[] = {
+ {
+ .iv = 100,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A1E8[] = {
+ {
+ .iv = 100,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A1F0[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A1F8[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A200[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A208[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A210[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A218[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A220[] = {
+ {
+ .iv = 100,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A228[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A230[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A238[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A240[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A248[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A250[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A258[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A260[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A268[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A270[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A278[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A280[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A288[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A290[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A298[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A2A0[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A2A8[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A2B0[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A2B8[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A2C0[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A2C8[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A2D0[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A2D8[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A2E0[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A2E8[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A2F0[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A2F8[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A300[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A308[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A310[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A318[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A320[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A328[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A330[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A338[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A340[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A348[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A350[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A358[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A360[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A368[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A370[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A378[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A380[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A388[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A390[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A398[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A3A0[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A3A8[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A3B0[] = {
+ {
+ .iv = 100,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A3B8[] = {
+ {
+ .iv = 100,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A3C0[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A3C8[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A3D0[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A3D8[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A3E0[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A3E8[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A3F0[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A400[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A408[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A410[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A418[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A420[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A428[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A430[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A438[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A440[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A448[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A450[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A458[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A460[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A468[] = {
+ {
+ .iv = 0,
+ .lvl = 11,
+ .species = SPECIES_RATTATA,
+ },
+ {
+ .iv = 0,
+ .lvl = 11,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A478[] = {
+ {
+ .iv = 0,
+ .lvl = 14,
+ .species = SPECIES_SPEAROW,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A480[] = {
+ {
+ .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 sTrainerMons_823A498[] = {
+ {
+ .iv = 0,
+ .lvl = 14,
+ .species = SPECIES_SANDSHREW,
+ },
+ {
+ .iv = 0,
+ .lvl = 14,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A4A8[] = {
+ {
+ .iv = 0,
+ .lvl = 15,
+ .species = SPECIES_RATTATA,
+ },
+ {
+ .iv = 0,
+ .lvl = 15,
+ .species = SPECIES_SPEAROW,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A4B8[] = {
+ {
+ .iv = 0,
+ .lvl = 17,
+ .species = SPECIES_SLOWPOKE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A4C0[] = {
+ {
+ .iv = 0,
+ .lvl = 14,
+ .species = SPECIES_EKANS,
+ },
+ {
+ .iv = 0,
+ .lvl = 14,
+ .species = SPECIES_SANDSHREW,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A4D0[] = {
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_NIDORAN_M,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A4D8[] = {
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A4E0[] = {
+ {
+ .iv = 0,
+ .lvl = 19,
+ .species = SPECIES_SANDSHREW,
+ },
+ {
+ .iv = 0,
+ .lvl = 19,
+ .species = SPECIES_ZUBAT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A4F0[] = {
+ {
+ .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 sTrainerMons_823A508[] = {
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_NIDORAN_M,
+ },
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_NIDORINO,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A518[] = {
+ {
+ .iv = 20,
+ .lvl = 17,
+ .species = SPECIES_RATTATA,
+ },
+ {
+ .iv = 20,
+ .lvl = 17,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A528[] = {
+ {
+ .iv = 0,
+ .lvl = 6,
+ .species = SPECIES_WEEDLE,
+ },
+ {
+ .iv = 0,
+ .lvl = 6,
+ .species = SPECIES_CATERPIE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A538[] = {
+ {
+ .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 sTrainerMons_823A550[] = {
+ {
+ .iv = 0,
+ .lvl = 9,
+ .species = SPECIES_WEEDLE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A558[] = {
+ {
+ .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 sTrainerMons_823A570[] = {
+ {
+ .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 sTrainerMons_823A590[] = {
+ {
+ .iv = 0,
+ .lvl = 11,
+ .species = SPECIES_CATERPIE,
+ },
+ {
+ .iv = 0,
+ .lvl = 11,
+ .species = SPECIES_METAPOD,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A5A0[] = {
+ {
+ .iv = 0,
+ .lvl = 11,
+ .species = SPECIES_WEEDLE,
+ },
+ {
+ .iv = 0,
+ .lvl = 11,
+ .species = SPECIES_KAKUNA,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A5B0[] = {
+ {
+ .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 sTrainerMons_823A5C8[] = {
+ {
+ .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 sTrainerMons_823A5E8[] = {
+ {
+ .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 sTrainerMons_823A600[] = {
+ {
+ .iv = 0,
+ .lvl = 20,
+ .species = SPECIES_BUTTERFREE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A608[] = {
+ {
+ .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 sTrainerMons_823A620[] = {
+ {
+ .iv = 0,
+ .lvl = 19,
+ .species = SPECIES_BEEDRILL,
+ },
+ {
+ .iv = 0,
+ .lvl = 19,
+ .species = SPECIES_BEEDRILL,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A630[] = {
+ {
+ .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 sTrainerMons_823A648[] = {
+ {
+ .iv = 0,
+ .lvl = 9,
+ .species = SPECIES_PIDGEY,
+ },
+ {
+ .iv = 0,
+ .lvl = 9,
+ .species = SPECIES_PIDGEY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A658[] = {
+ {
+ .iv = 0,
+ .lvl = 10,
+ .species = SPECIES_RATTATA,
+ },
+ {
+ .iv = 0,
+ .lvl = 10,
+ .species = SPECIES_NIDORAN_F,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A668[] = {
+ {
+ .iv = 0,
+ .lvl = 14,
+ .species = SPECIES_JIGGLYPUFF,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A670[] = {
+ {
+ .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 sTrainerMons_823A688[] = {
+ {
+ .iv = 0,
+ .lvl = 11,
+ .species = SPECIES_ODDISH,
+ },
+ {
+ .iv = 0,
+ .lvl = 11,
+ .species = SPECIES_BELLSPROUT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A698[] = {
+ {
+ .iv = 0,
+ .lvl = 14,
+ .species = SPECIES_CLEFAIRY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A6A0[] = {
+ {
+ .iv = 0,
+ .lvl = 16,
+ .species = SPECIES_NIDORAN_M,
+ },
+ {
+ .iv = 0,
+ .lvl = 16,
+ .species = SPECIES_NIDORAN_F,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A6B0[] = {
+ {
+ .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 sTrainerMons_823A6C8[] = {
+ {
+ .iv = 0,
+ .lvl = 15,
+ .species = SPECIES_NIDORAN_M,
+ },
+ {
+ .iv = 0,
+ .lvl = 15,
+ .species = SPECIES_NIDORAN_F,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A6D8[] = {
+ {
+ .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 sTrainerMons_823A6F0[] = {
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_PIDGEY,
+ },
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_NIDORAN_F,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A700[] = {
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_RATTATA,
+ },
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_PIKACHU,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A710[] = {
+ {
+ .iv = 0,
+ .lvl = 23,
+ .species = SPECIES_NIDORAN_F,
+ },
+ {
+ .iv = 0,
+ .lvl = 23,
+ .species = SPECIES_NIDORINA,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A720[] = {
+ {
+ .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 sTrainerMons_823A738[] = {
+ {
+ .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 sTrainerMons_823A760[] = {
+ {
+ .iv = 0,
+ .lvl = 22,
+ .species = SPECIES_CLEFAIRY,
+ },
+ {
+ .iv = 0,
+ .lvl = 22,
+ .species = SPECIES_CLEFAIRY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A770[] = {
+ {
+ .iv = 0,
+ .lvl = 23,
+ .species = SPECIES_BELLSPROUT,
+ },
+ {
+ .iv = 0,
+ .lvl = 23,
+ .species = SPECIES_WEEPINBELL,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A780[] = {
+ {
+ .iv = 0,
+ .lvl = 23,
+ .species = SPECIES_ODDISH,
+ },
+ {
+ .iv = 0,
+ .lvl = 23,
+ .species = SPECIES_GLOOM,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A790[] = {
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_MACHOP,
+ },
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_SHELLDER,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A7A0[] = {
+ {
+ .iv = 0,
+ .lvl = 17,
+ .species = SPECIES_MACHOP,
+ },
+ {
+ .iv = 0,
+ .lvl = 17,
+ .species = SPECIES_TENTACOOL,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A7B0[] = {
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_SHELLDER,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A7B8[] = {
+ {
+ .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 sTrainerMons_823A7D0[] = {
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_TENTACOOL,
+ },
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_STARYU,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A7E0[] = {
+ {
+ .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 sTrainerMons_823A7F8[] = {
+ {
+ .iv = 0,
+ .lvl = 20,
+ .species = SPECIES_MACHOP,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A800[] = {
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_PIKACHU,
+ },
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_PIKACHU,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823A810[] = {
+ {
+ .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 sTrainerMons_823A830[] = {
+ {
+ .iv = 0,
+ .lvl = 14,
+ .species = SPECIES_RATTATA,
+ },
+ {
+ .iv = 0,
+ .lvl = 14,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A840[] = {
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_MANKEY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A848[] = {
+ {
+ .iv = 0,
+ .lvl = 20,
+ .species = SPECIES_SQUIRTLE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A850[] = {
+ {
+ .iv = 0,
+ .lvl = 16,
+ .species = SPECIES_SPEAROW,
+ },
+ {
+ .iv = 0,
+ .lvl = 16,
+ .species = SPECIES_RATICATE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A860[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A868[] = {
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_GROWLITHE,
+ },
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_CHARMANDER,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A878[] = {
+ {
+ .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 sTrainerMons_823A898[] = {
+ {
+ .iv = 0,
+ .lvl = 19,
+ .species = SPECIES_GOLDEEN,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A8A0[] = {
+ {
+ .iv = 0,
+ .lvl = 16,
+ .species = SPECIES_RATTATA,
+ },
+ {
+ .iv = 0,
+ .lvl = 16,
+ .species = SPECIES_PIKACHU,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A8B0[] = {
+ {
+ .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 sTrainerMons_823A8C8[] = {
+ {
+ .iv = 0,
+ .lvl = 15,
+ .species = SPECIES_NIDORAN_M,
+ },
+ {
+ .iv = 0,
+ .lvl = 15,
+ .species = SPECIES_NIDORAN_F,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A8D8[] = {
+ {
+ .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 sTrainerMons_823A8F8[] = {
+ {
+ .iv = 0,
+ .lvl = 23,
+ .species = SPECIES_MEOWTH,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A900[] = {
+ {
+ .iv = 0,
+ .lvl = 20,
+ .species = SPECIES_PIKACHU,
+ },
+ {
+ .iv = 0,
+ .lvl = 20,
+ .species = SPECIES_CLEFAIRY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A910[] = {
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_PIDGEY,
+ },
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_PIDGEOTTO,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A920[] = {
+ {
+ .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 sTrainerMons_823A938[] = {
+ {
+ .iv = 0,
+ .lvl = 22,
+ .species = SPECIES_ODDISH,
+ },
+ {
+ .iv = 0,
+ .lvl = 22,
+ .species = SPECIES_BULBASAUR,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A948[] = {
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_BULBASAUR,
+ },
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_IVYSAUR,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A958[] = {
+ {
+ .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 sTrainerMons_823A980[] = {
+ {
+ .iv = 30,
+ .lvl = 29,
+ .species = SPECIES_RHYHORN,
+ },
+ {
+ .iv = 30,
+ .lvl = 29,
+ .species = SPECIES_LICKITUNG,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A990[] = {
+ {
+ .iv = 30,
+ .lvl = 20,
+ .species = SPECIES_CUBONE,
+ },
+ {
+ .iv = 30,
+ .lvl = 20,
+ .species = SPECIES_SLOWPOKE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A9A0[] = {
+ {
+ .iv = 30,
+ .lvl = 20,
+ .species = SPECIES_SLOWPOKE,
+ },
+ {
+ .iv = 30,
+ .lvl = 20,
+ .species = SPECIES_SLOWPOKE,
+ },
+ {
+ .iv = 30,
+ .lvl = 20,
+ .species = SPECIES_SLOWPOKE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A9B8[] = {
+ {
+ .iv = 30,
+ .lvl = 22,
+ .species = SPECIES_CHARMANDER,
+ },
+ {
+ .iv = 30,
+ .lvl = 22,
+ .species = SPECIES_CUBONE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A9C8[] = {
+ {
+ .iv = 30,
+ .lvl = 25,
+ .species = SPECIES_SLOWPOKE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A9D0[] = {
+ {
+ .iv = 30,
+ .lvl = 40,
+ .species = SPECIES_CHARMELEON,
+ },
+ {
+ .iv = 30,
+ .lvl = 40,
+ .species = SPECIES_LAPRAS,
+ },
+ {
+ .iv = 30,
+ .lvl = 40,
+ .species = SPECIES_LICKITUNG,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A9E8[] = {
+ {
+ .iv = 30,
+ .lvl = 23,
+ .species = SPECIES_CUBONE,
+ },
+ {
+ .iv = 30,
+ .lvl = 23,
+ .species = SPECIES_SLOWPOKE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823A9F8[] = {
+ {
+ .iv = 0,
+ .lvl = 11,
+ .species = SPECIES_MAGNEMITE,
+ },
+ {
+ .iv = 0,
+ .lvl = 11,
+ .species = SPECIES_VOLTORB,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823AA08[] = {
+ {
+ .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 sTrainerMons_823AA20[] = {
+ {
+ .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 sTrainerMons_823AA60[] = {
+ {
+ .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 sTrainerMons_823AA78[] = {
+ {
+ .iv = 0,
+ .lvl = 26,
+ .species = SPECIES_KOFFING,
+ .moves = {MOVE_SLUDGE, MOVE_SMOKESCREEN, MOVE_SMOG, MOVE_SELF_DESTRUCT},
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823AA88[] = {
+ {
+ .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 sTrainerMons_823AAA0[] = {
+ {
+ .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 sTrainerMons_823AAC0[] = {
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_MAGNEMITE,
+ },
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_VOLTORB,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823AAD0[] = {
+ {
+ .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 sTrainerMons_823AAE8[] = {
+ {
+ .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 sTrainerMons_823AB08[] = {
+ {
+ .iv = 0,
+ .lvl = 41,
+ .species = SPECIES_RAPIDASH,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823AB10[] = {
+ {
+ .iv = 0,
+ .lvl = 37,
+ .species = SPECIES_GROWLITHE,
+ },
+ {
+ .iv = 0,
+ .lvl = 37,
+ .species = SPECIES_VULPIX,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823AB20[] = {
+ {
+ .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 sTrainerMons_823AB38[] = {
+ {
+ .iv = 0,
+ .lvl = 15,
+ .species = SPECIES_MACHOP,
+ },
+ {
+ .iv = 0,
+ .lvl = 15,
+ .species = SPECIES_GEODUDE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823AB48[] = {
+ {
+ .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 sTrainerMons_823AB68[] = {
+ {
+ .iv = 0,
+ .lvl = 17,
+ .species = SPECIES_ONIX,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823AB70[] = {
+ {
+ .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 sTrainerMons_823AB90[] = {
+ {
+ .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 sTrainerMons_823ABA8[] = {
+ {
+ .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 sTrainerMons_823ABC8[] = {
+ {
+ .iv = 0,
+ .lvl = 19,
+ .species = SPECIES_ONIX,
+ },
+ {
+ .iv = 0,
+ .lvl = 19,
+ .species = SPECIES_GRAVELER,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823ABD8[] = {
+ {
+ .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 sTrainerMons_823AC08[] = {
+ {
+ .iv = 0,
+ .lvl = 25,
+ .species = SPECIES_GEODUDE,
+ .moves = {MOVE_MAGNITUDE, MOVE_ROCK_THROW, MOVE_MUD_SPORT, MOVE_DEFENSE_CURL},
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823AC18[] = {
+ {
+ .iv = 0,
+ .lvl = 20,
+ .species = SPECIES_MACHOP,
+ },
+ {
+ .iv = 0,
+ .lvl = 20,
+ .species = SPECIES_ONIX,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823AC28[] = {
+ {
+ .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 sTrainerMons_823AC48[] = {
+ {
+ .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 sTrainerMons_823AC60[] = {
+ {
+ .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 sTrainerMons_823AC80[] = {
+ {
+ .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 sTrainerMons_823ACB0[] = {
+ {
+ .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 sTrainerMons_823ACD0[] = {
+ {
+ .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 sTrainerMons_823AD20[] = {
+ {
+ .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 sTrainerMons_823AD50[] = {
+ {
+ .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 sTrainerMons_823AD70[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823AD78[] = {
+ {
+ .iv = 0,
+ .lvl = 33,
+ .species = SPECIES_WEEZING,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823AD80[] = {
+ {
+ .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 sTrainerMons_823ADB0[] = {
+ {
+ .iv = 0,
+ .lvl = 33,
+ .species = SPECIES_MUK,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823ADB8[] = {
+ {
+ .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 sTrainerMons_823ADD8[] = {
+ {
+ .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 sTrainerMons_823ADF8[] = {
+ {
+ .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 sTrainerMons_823AE48[] = {
+ {
+ .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 sTrainerMons_823AE88[] = {
+ {
+ .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 sTrainerMons_823AEB8[] = {
+ {
+ .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 sTrainerMons_823AED8[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_GROWLITHE,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_VULPIX,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823AEE8[] = {
+ {
+ .iv = 0,
+ .lvl = 33,
+ .species = SPECIES_GROWLITHE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823AEF0[] = {
+ {
+ .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 sTrainerMons_823AF08[] = {
+ {
+ .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 sTrainerMons_823AF20[] = {
+ {
+ .iv = 0,
+ .lvl = 41,
+ .species = SPECIES_PONYTA,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823AF28[] = {
+ {
+ .iv = 0,
+ .lvl = 37,
+ .species = SPECIES_VULPIX,
+ },
+ {
+ .iv = 0,
+ .lvl = 37,
+ .species = SPECIES_GROWLITHE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823AF38[] = {
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_CHARMANDER,
+ },
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_CHARMELEON,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823AF48[] = {
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_CHARMANDER,
+ },
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_CHARMELEON,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823AF58[] = {
+ {
+ .iv = 0,
+ .lvl = 38,
+ .species = SPECIES_NINETALES,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823AF60[] = {
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_GROWLITHE,
+ },
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_PONYTA,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823AF70[] = {
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_VOLTORB,
+ },
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_MAGNEMITE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823AF80[] = {
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_MAGNEMITE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823AF88[] = {
+ {
+ .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 sTrainerMons_823AFA0[] = {
+ {
+ .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 sTrainerMons_823AFB8[] = {
+ {
+ .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 sTrainerMons_823AFD0[] = {
+ {
+ .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 sTrainerMons_823AFE8[] = {
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_TENTACOOL,
+ },
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_GOLDEEN,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823AFF8[] = {
+ {
+ .iv = 0,
+ .lvl = 27,
+ .species = SPECIES_GOLDEEN,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B000[] = {
+ {
+ .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 sTrainerMons_823B020[] = {
+ {
+ .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 sTrainerMons_823B040[] = {
+ {
+ .iv = 0,
+ .lvl = 31,
+ .species = SPECIES_SHELLDER,
+ },
+ {
+ .iv = 0,
+ .lvl = 31,
+ .species = SPECIES_CLOYSTER,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B050[] = {
+ {
+ .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 sTrainerMons_823B080[] = {
+ {
+ .iv = 0,
+ .lvl = 33,
+ .species = SPECIES_SEAKING,
+ },
+ {
+ .iv = 0,
+ .lvl = 33,
+ .species = SPECIES_GOLDEEN,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B090[] = {
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_MAGIKARP,
+ },
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_MAGIKARP,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B0A0[] = {
+ {
+ .iv = 0,
+ .lvl = 16,
+ .species = SPECIES_HORSEA,
+ },
+ {
+ .iv = 0,
+ .lvl = 16,
+ .species = SPECIES_SHELLDER,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B0B0[] = {
+ {
+ .iv = 0,
+ .lvl = 30,
+ .species = SPECIES_TENTACOOL,
+ },
+ {
+ .iv = 0,
+ .lvl = 30,
+ .species = SPECIES_SHELLDER,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B0C0[] = {
+ {
+ .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 sTrainerMons_823B0D8[] = {
+ {
+ .iv = 0,
+ .lvl = 30,
+ .species = SPECIES_POLIWAG,
+ },
+ {
+ .iv = 0,
+ .lvl = 30,
+ .species = SPECIES_POLIWHIRL,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B0E8[] = {
+ {
+ .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 sTrainerMons_823B108[] = {
+ {
+ .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 sTrainerMons_823B120[] = {
+ {
+ .iv = 0,
+ .lvl = 30,
+ .species = SPECIES_HORSEA,
+ },
+ {
+ .iv = 0,
+ .lvl = 30,
+ .species = SPECIES_HORSEA,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B130[] = {
+ {
+ .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 sTrainerMons_823B158[] = {
+ {
+ .iv = 0,
+ .lvl = 31,
+ .species = SPECIES_SHELLDER,
+ },
+ {
+ .iv = 0,
+ .lvl = 31,
+ .species = SPECIES_CLOYSTER,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B168[] = {
+ {
+ .iv = 0,
+ .lvl = 35,
+ .species = SPECIES_STARYU,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B170[] = {
+ {
+ .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 sTrainerMons_823B190[] = {
+ {
+ .iv = 0,
+ .lvl = 33,
+ .species = SPECIES_SEADRA,
+ },
+ {
+ .iv = 0,
+ .lvl = 33,
+ .species = SPECIES_TENTACRUEL,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B1A0[] = {
+ {
+ .iv = 0,
+ .lvl = 37,
+ .species = SPECIES_STARMIE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B1A8[] = {
+ {
+ .iv = 0,
+ .lvl = 33,
+ .species = SPECIES_STARYU,
+ },
+ {
+ .iv = 0,
+ .lvl = 33,
+ .species = SPECIES_WARTORTLE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B1B8[] = {
+ {
+ .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 sTrainerMons_823B1D0[] = {
+ {
+ .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 sTrainerMons_823B1E8[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_MANKEY,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_MACHOP,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B1F8[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_MANKEY,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_MACHOP,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B208[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_MANKEY,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_PRIMEAPE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B218[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_MACHOP,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_MACHAMP,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B228[] = {
+ {
+ .iv = 0,
+ .lvl = 33,
+ .species = SPECIES_MACHOKE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B230[] = {
+ {
+ .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 sTrainerMons_823B250[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_PRIMEAPE,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_MACHOKE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B260[] = {
+ {
+ .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 sTrainerMons_823B278[] = {
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_POLIWAG,
+ },
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_HORSEA,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B288[] = {
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_BELLSPROUT,
+ },
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_ODDISH,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B298[] = {
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_VOLTORB,
+ },
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_MAGNEMITE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B2A8[] = {
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_GROWLITHE,
+ },
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_VULPIX,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B2B8[] = {
+ {
+ .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 sTrainerMons_823B2D0[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B2D8[] = {
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_GROWLITHE,
+ },
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_VULPIX,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B2E8[] = {
+ {
+ .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 sTrainerMons_823B308[] = {
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_BELLSPROUT,
+ },
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_BELLSPROUT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B318[] = {
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_EXEGGCUTE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B320[] = {
+ {
+ .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 sTrainerMons_823B338[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_CLEFAIRY,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_MEOWTH,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B348[] = {
+ {
+ .iv = 0,
+ .lvl = 35,
+ .species = SPECIES_SEAKING,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B350[] = {
+ {
+ .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 sTrainerMons_823B368[] = {
+ {
+ .iv = 0,
+ .lvl = 31,
+ .species = SPECIES_POLIWAG,
+ },
+ {
+ .iv = 0,
+ .lvl = 31,
+ .species = SPECIES_SEAKING,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B378[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_WIGGLYTUFF,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B388[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_BULBASAUR,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_IVYSAUR,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B398[] = {
+ {
+ .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 sTrainerMons_823B3B0[] = {
+ {
+ .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 sTrainerMons_823B3D8[] = {
+ {
+ .iv = 0,
+ .lvl = 30,
+ .species = SPECIES_GOLDEEN,
+ },
+ {
+ .iv = 0,
+ .lvl = 30,
+ .species = SPECIES_SEAKING,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B3E8[] = {
+ {
+ .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 sTrainerMons_823B400[] = {
+ {
+ .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 sTrainerMons_823B418[] = {
+ {
+ .iv = 50,
+ .lvl = 31,
+ .species = SPECIES_KADABRA,
+ },
+ {
+ .iv = 50,
+ .lvl = 31,
+ .species = SPECIES_SLOWPOKE,
+ },
+ {
+ .iv = 50,
+ .lvl = 31,
+ .species = SPECIES_MR_MIME,
+ },
+ {
+ .iv = 50,
+ .lvl = 31,
+ .species = SPECIES_KADABRA,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B438[] = {
+ {
+ .iv = 50,
+ .lvl = 34,
+ .species = SPECIES_MR_MIME,
+ },
+ {
+ .iv = 50,
+ .lvl = 34,
+ .species = SPECIES_KADABRA,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B448[] = {
+ {
+ .iv = 50,
+ .lvl = 33,
+ .species = SPECIES_SLOWPOKE,
+ },
+ {
+ .iv = 50,
+ .lvl = 33,
+ .species = SPECIES_SLOWPOKE,
+ },
+ {
+ .iv = 50,
+ .lvl = 33,
+ .species = SPECIES_SLOWBRO,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B460[] = {
+ {
+ .iv = 50,
+ .lvl = 38,
+ .species = SPECIES_SLOWBRO,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B468[] = {
+ {
+ .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 sTrainerMons_823B480[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_VOLTORB,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_ELECTRODE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B490[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_KADABRA,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_MR_MIME,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B4A0[] = {
+ {
+ .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 sTrainerMons_823B4C0[] = {
+ {
+ .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 sTrainerMons_823B4E0[] = {
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_DROWZEE,
+ },
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_HYPNO,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823B4F0[] = {
+ {
+ .iv = 0,
+ .lvl = 48,
+ .species = SPECIES_MR_MIME,
+ .moves = {MOVE_PSYCHIC, MOVE_ROLE_PLAY, MOVE_DOUBLE_SLAP, MOVE_ENCORE},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823B500[] = {
+ {
+ .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 sTrainerMons_823B540[] = {
+ {
+ .iv = 0,
+ .lvl = 38,
+ .species = SPECIES_HYPNO,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B548[] = {
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_DROWZEE,
+ },
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_KADABRA,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B558[] = {
+ {
+ .iv = 40,
+ .lvl = 34,
+ .species = SPECIES_SANDSLASH,
+ },
+ {
+ .iv = 40,
+ .lvl = 34,
+ .species = SPECIES_ARBOK,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B568[] = {
+ {
+ .iv = 40,
+ .lvl = 33,
+ .species = SPECIES_ARBOK,
+ },
+ {
+ .iv = 40,
+ .lvl = 33,
+ .species = SPECIES_SANDSLASH,
+ },
+ {
+ .iv = 40,
+ .lvl = 33,
+ .species = SPECIES_ARBOK,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B580[] = {
+ {
+ .iv = 40,
+ .lvl = 43,
+ .species = SPECIES_RHYHORN,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B588[] = {
+ {
+ .iv = 40,
+ .lvl = 39,
+ .species = SPECIES_ARBOK,
+ },
+ {
+ .iv = 40,
+ .lvl = 39,
+ .species = SPECIES_TAUROS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B598[] = {
+ {
+ .iv = 40,
+ .lvl = 44,
+ .species = SPECIES_PERSIAN,
+ },
+ {
+ .iv = 40,
+ .lvl = 44,
+ .species = SPECIES_GOLDUCK,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B5A8[] = {
+ {
+ .iv = 40,
+ .lvl = 42,
+ .species = SPECIES_RHYHORN,
+ },
+ {
+ .iv = 40,
+ .lvl = 42,
+ .species = SPECIES_PRIMEAPE,
+ },
+ {
+ .iv = 40,
+ .lvl = 42,
+ .species = SPECIES_ARBOK,
+ },
+ {
+ .iv = 40,
+ .lvl = 42,
+ .species = SPECIES_TAUROS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B5C8[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_PIDGEY,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_PIDGEOTTO,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B5D8[] = {
+ {
+ .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 sTrainerMons_823B600[] = {
+ {
+ .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 sTrainerMons_823B620[] = {
+ {
+ .iv = 0,
+ .lvl = 33,
+ .species = SPECIES_FARFETCHD,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B628[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_SPEAROW,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_FEAROW,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B638[] = {
+ {
+ .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 sTrainerMons_823B658[] = {
+ {
+ .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 sTrainerMons_823B670[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_SPEAROW,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_FEAROW,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B680[] = {
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_DODRIO,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B688[] = {
+ {
+ .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 sTrainerMons_823B6A8[] = {
+ {
+ .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 sTrainerMons_823B6C0[] = {
+ {
+ .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 sTrainerMons_823B6E0[] = {
+ {
+ .iv = 0,
+ .lvl = 39,
+ .species = SPECIES_FARFETCHD,
+ },
+ {
+ .iv = 0,
+ .lvl = 39,
+ .species = SPECIES_FEAROW,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B6F0[] = {
+ {
+ .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 sTrainerMons_823B708[] = {
+ {
+ .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 sTrainerMons_823B728[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_FEAROW,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B738[] = {
+ {
+ .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 sTrainerMons_823B750[] = {
+ {
+ .iv = 100,
+ .lvl = 37,
+ .species = SPECIES_HITMONLEE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 100,
+ .lvl = 37,
+ .species = SPECIES_HITMONCHAN,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823B760[] = {
+ {
+ .iv = 100,
+ .lvl = 31,
+ .species = SPECIES_MANKEY,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 100,
+ .lvl = 31,
+ .species = SPECIES_MANKEY,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 100,
+ .lvl = 31,
+ .species = SPECIES_PRIMEAPE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823B778[] = {
+ {
+ .iv = 100,
+ .lvl = 32,
+ .species = SPECIES_MACHOP,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 100,
+ .lvl = 32,
+ .species = SPECIES_MACHOKE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823B788[] = {
+ {
+ .iv = 100,
+ .lvl = 36,
+ .species = SPECIES_PRIMEAPE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823B790[] = {
+ {
+ .iv = 100,
+ .lvl = 31,
+ .species = SPECIES_MACHOP,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 100,
+ .lvl = 31,
+ .species = SPECIES_MANKEY,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 100,
+ .lvl = 31,
+ .species = SPECIES_PRIMEAPE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823B7A8[] = {
+ {
+ .iv = 100,
+ .lvl = 40,
+ .species = SPECIES_MACHOP,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 100,
+ .lvl = 40,
+ .species = SPECIES_MACHOKE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823B7B8[] = {
+ {
+ .iv = 100,
+ .lvl = 43,
+ .species = SPECIES_MACHOKE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823B7C0[] = {
+ {
+ .iv = 100,
+ .lvl = 38,
+ .species = SPECIES_MACHOKE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 100,
+ .lvl = 38,
+ .species = SPECIES_MACHOP,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 100,
+ .lvl = 38,
+ .species = SPECIES_MACHOKE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823B7D8[] = {
+ {
+ .iv = 100,
+ .lvl = 43,
+ .species = SPECIES_MACHOKE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 100,
+ .lvl = 43,
+ .species = SPECIES_MACHOP,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 100,
+ .lvl = 43,
+ .species = SPECIES_MACHOKE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B7F0[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_SQUIRTLE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B7F8[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_BULBASAUR,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B800[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_CHARMANDER,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823B808[] = {
+ {
+ .iv = 50,
+ .lvl = 9,
+ .species = SPECIES_PIDGEY,
+ .moves = {MOVE_TACKLE, MOVE_SAND_ATTACK, MOVE_NONE, MOVE_NONE},
+ },
+ {
+ .iv = 50,
+ .lvl = 9,
+ .species = SPECIES_SQUIRTLE,
+ .moves = {MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_NONE, MOVE_NONE},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823B828[] = {
+ {
+ .iv = 50,
+ .lvl = 9,
+ .species = SPECIES_PIDGEY,
+ .moves = {MOVE_TACKLE, MOVE_SAND_ATTACK, MOVE_NONE, MOVE_NONE},
+ },
+ {
+ .iv = 50,
+ .lvl = 9,
+ .species = SPECIES_BULBASAUR,
+ .moves = {MOVE_TACKLE, MOVE_GROWL, MOVE_NONE, MOVE_NONE},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823B848[] = {
+ {
+ .iv = 50,
+ .lvl = 9,
+ .species = SPECIES_PIDGEY,
+ .moves = {MOVE_TACKLE, MOVE_SAND_ATTACK, MOVE_NONE, MOVE_NONE},
+ },
+ {
+ .iv = 50,
+ .lvl = 9,
+ .species = SPECIES_CHARMANDER,
+ .moves = {MOVE_SCRATCH, MOVE_GROWL, MOVE_NONE, MOVE_NONE},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823B868[] = {
+ {
+ .iv = 50,
+ .lvl = 17,
+ .species = SPECIES_PIDGEOTTO,
+ .moves = {MOVE_TACKLE, MOVE_SAND_ATTACK, MOVE_GUST, MOVE_QUICK_ATTACK},
+ },
+ {
+ .iv = 50,
+ .lvl = 16,
+ .species = SPECIES_ABRA,
+ .moves = {MOVE_TELEPORT, MOVE_NONE, MOVE_NONE, MOVE_NONE},
+ },
+ {
+ .iv = 50,
+ .lvl = 15,
+ .species = SPECIES_RATTATA,
+ .moves = {MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_QUICK_ATTACK, MOVE_NONE},
+ },
+ {
+ .iv = 100,
+ .lvl = 18,
+ .species = SPECIES_SQUIRTLE,
+ .moves = {MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_WITHDRAW, MOVE_WATER_GUN},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823B8A8[] = {
+ {
+ .iv = 50,
+ .lvl = 17,
+ .species = SPECIES_PIDGEOTTO,
+ .moves = {MOVE_TACKLE, MOVE_SAND_ATTACK, MOVE_GUST, MOVE_QUICK_ATTACK},
+ },
+ {
+ .iv = 50,
+ .lvl = 16,
+ .species = SPECIES_ABRA,
+ .moves = {MOVE_TELEPORT, MOVE_NONE, MOVE_NONE, MOVE_NONE},
+ },
+ {
+ .iv = 50,
+ .lvl = 15,
+ .species = SPECIES_RATTATA,
+ .moves = {MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_QUICK_ATTACK, MOVE_NONE},
+ },
+ {
+ .iv = 100,
+ .lvl = 18,
+ .species = SPECIES_BULBASAUR,
+ .moves = {MOVE_SLEEP_POWDER, MOVE_POISON_POWDER, MOVE_VINE_WHIP, MOVE_LEECH_SEED},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823B8E8[] = {
+ {
+ .iv = 50,
+ .lvl = 17,
+ .species = SPECIES_PIDGEOTTO,
+ .moves = {MOVE_TACKLE, MOVE_SAND_ATTACK, MOVE_GUST, MOVE_QUICK_ATTACK},
+ },
+ {
+ .iv = 50,
+ .lvl = 16,
+ .species = SPECIES_ABRA,
+ .moves = {MOVE_TELEPORT, MOVE_NONE, MOVE_NONE, MOVE_NONE},
+ },
+ {
+ .iv = 50,
+ .lvl = 15,
+ .species = SPECIES_RATTATA,
+ .moves = {MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_QUICK_ATTACK, MOVE_NONE},
+ },
+ {
+ .iv = 100,
+ .lvl = 18,
+ .species = SPECIES_CHARMANDER,
+ .moves = {MOVE_METAL_CLAW, MOVE_EMBER, MOVE_GROWL, MOVE_SCRATCH},
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823B928[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_ELECTRODE,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_WEEZING,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823B938[] = {
+ {
+ .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 sTrainerMons_823B978[] = {
+ {
+ .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 sTrainerMons_823B990[] = {
+ {
+ .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 sTrainerMons_823B9B0[] = {
+ {
+ .iv = 0,
+ .lvl = 33,
+ .species = SPECIES_ELECTRODE,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823B9B8[] = {
+ {
+ .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 sTrainerMons_823B9F8[] = {
+ {
+ .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 sTrainerMons_823BA48[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_ELECTRODE,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_MUK,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BA58[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_GRIMER,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_ELECTRODE,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823BA68[] = {
+ {
+ .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 sTrainerMons_823BA98[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_MAGNEMITE,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_KOFFING,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BAA8[] = {
+ {
+ .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 sTrainerMons_823BAC0[] = {
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_MAGNEMITE,
+ },
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_ELECTRODE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BAD0[] = {
+ {
+ .iv = 250,
+ .lvl = 25,
+ .species = SPECIES_ONIX,
+ },
+ {
+ .iv = 250,
+ .lvl = 24,
+ .species = SPECIES_RHYHORN,
+ },
+ {
+ .iv = 250,
+ .lvl = 29,
+ .species = SPECIES_KANGASKHAN,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BAE8[] = {
+ {
+ .iv = 250,
+ .lvl = 37,
+ .species = SPECIES_NIDORINO,
+ },
+ {
+ .iv = 250,
+ .lvl = 35,
+ .species = SPECIES_KANGASKHAN,
+ },
+ {
+ .iv = 250,
+ .lvl = 37,
+ .species = SPECIES_RHYHORN,
+ },
+ {
+ .iv = 250,
+ .lvl = 41,
+ .species = SPECIES_NIDOQUEEN,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823BB08[] = {
+ {
+ .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 sTrainerMons_823BB58[] = {
+ {
+ .iv = 0,
+ .lvl = 13,
+ .species = SPECIES_RATTATA,
+ },
+ {
+ .iv = 0,
+ .lvl = 13,
+ .species = SPECIES_ZUBAT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BB68[] = {
+ {
+ .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 sTrainerMons_823BB80[] = {
+ {
+ .iv = 0,
+ .lvl = 11,
+ .species = SPECIES_ZUBAT,
+ },
+ {
+ .iv = 0,
+ .lvl = 11,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BB90[] = {
+ {
+ .iv = 0,
+ .lvl = 13,
+ .species = SPECIES_RATTATA,
+ },
+ {
+ .iv = 0,
+ .lvl = 13,
+ .species = SPECIES_SANDSHREW,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BBA0[] = {
+ {
+ .iv = 0,
+ .lvl = 17,
+ .species = SPECIES_MACHOP,
+ },
+ {
+ .iv = 0,
+ .lvl = 17,
+ .species = SPECIES_DROWZEE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BBB0[] = {
+ {
+ .iv = 0,
+ .lvl = 15,
+ .species = SPECIES_EKANS,
+ },
+ {
+ .iv = 0,
+ .lvl = 15,
+ .species = SPECIES_ZUBAT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BBC0[] = {
+ {
+ .iv = 0,
+ .lvl = 20,
+ .species = SPECIES_RATICATE,
+ },
+ {
+ .iv = 0,
+ .lvl = 20,
+ .species = SPECIES_ZUBAT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BBD0[] = {
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_DROWZEE,
+ },
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_MACHOP,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BBE0[] = {
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_RATICATE,
+ },
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_RATICATE,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823BBF0[] = {
+ {
+ .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 sTrainerMons_823BC20[] = {
+ {
+ .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 sTrainerMons_823BC40[] = {
+ {
+ .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 sTrainerMons_823BC60[] = {
+ {
+ .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 sTrainerMons_823BCB0[] = {
+ {
+ .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 sTrainerMons_823BCC8[] = {
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_MACHOP,
+ },
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_MACHOP,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BCD8[] = {
+ {
+ .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 sTrainerMons_823BCF0[] = {
+ {
+ .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 sTrainerMons_823BD08[] = {
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_KOFFING,
+ },
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_ZUBAT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BD18[] = {
+ {
+ .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 sTrainerMons_823BD30[] = {
+ {
+ .iv = 0,
+ .lvl = 26,
+ .species = SPECIES_KOFFING,
+ },
+ {
+ .iv = 0,
+ .lvl = 26,
+ .species = SPECIES_DROWZEE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BD40[] = {
+ {
+ .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 sTrainerMons_823BD60[] = {
+ {
+ .iv = 0,
+ .lvl = 26,
+ .species = SPECIES_DROWZEE,
+ },
+ {
+ .iv = 0,
+ .lvl = 26,
+ .species = SPECIES_KOFFING,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BD70[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_CUBONE,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_ZUBAT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BD80[] = {
+ {
+ .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 sTrainerMons_823BDA8[] = {
+ {
+ .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 sTrainerMons_823BDC0[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_MACHOP,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_DROWZEE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BDD0[] = {
+ {
+ .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 sTrainerMons_823BDE8[] = {
+ {
+ .iv = 0,
+ .lvl = 33,
+ .species = SPECIES_ARBOK,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BDF0[] = {
+ {
+ .iv = 0,
+ .lvl = 33,
+ .species = SPECIES_HYPNO,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BDF8[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_MACHOP,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_MACHOKE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BE08[] = {
+ {
+ .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 sTrainerMons_823BE20[] = {
+ {
+ .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 sTrainerMons_823BE60[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_CUBONE,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_CUBONE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BE70[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_SANDSHREW,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_SANDSLASH,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BE80[] = {
+ {
+ .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 sTrainerMons_823BEA0[] = {
+ {
+ .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 sTrainerMons_823BEB8[] = {
+ {
+ .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 sTrainerMons_823BED0[] = {
+ {
+ .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 sTrainerMons_823BEE8[] = {
+ {
+ .iv = 0,
+ .lvl = 33,
+ .species = SPECIES_MACHOKE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823BEF0[] = {
+ {
+ .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 sTrainerMons_823BF18[] = {
+ {
+ .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 sTrainerMons_823BF30[] = {
+ {
+ .iv = 100,
+ .lvl = 37,
+ .species = SPECIES_SANDSLASH,
+ .moves = {MOVE_SLASH, MOVE_SWIFT, MOVE_SAND_ATTACK, MOVE_POISON_STING},
+ },
+ {
+ .iv = 100,
+ .lvl = 37,
+ .species = SPECIES_SANDSLASH,
+ .moves = {MOVE_SLASH, MOVE_SWIFT, MOVE_SAND_ATTACK, MOVE_POISON_STING},
+ },
+ {
+ .iv = 100,
+ .lvl = 38,
+ .species = SPECIES_RHYHORN,
+ .moves = {MOVE_TAKE_DOWN, MOVE_ROCK_BLAST, MOVE_FURY_ATTACK, MOVE_SCARY_FACE},
+ },
+ {
+ .iv = 100,
+ .lvl = 39,
+ .species = SPECIES_NIDORINO,
+ .moves = {MOVE_FURY_ATTACK, MOVE_HORN_ATTACK, MOVE_POISON_STING, MOVE_DOUBLE_KICK},
+ },
+ {
+ .iv = 100,
+ .lvl = 39,
+ .species = SPECIES_NIDOKING,
+ .moves = {MOVE_THRASH, MOVE_DOUBLE_KICK, MOVE_POISON_STING, MOVE_FOCUS_ENERGY},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823BF80[] = {
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_EXEGGUTOR,
+ .moves = {MOVE_EGG_BOMB, MOVE_CONFUSION, MOVE_STUN_SPORE, MOVE_SLEEP_POWDER},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_SANDSLASH,
+ .moves = {MOVE_FURY_SWIPES, MOVE_SWIFT, MOVE_POISON_STING, MOVE_SAND_ATTACK},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_CLOYSTER,
+ .moves = {MOVE_SPIKE_CANNON, MOVE_SPIKES, MOVE_AURORA_BEAM, MOVE_SUPERSONIC},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_ELECTRODE,
+ .moves = {MOVE_SPARK, MOVE_SONIC_BOOM, MOVE_SCREECH, MOVE_LIGHT_SCREEN},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_ARCANINE,
+ .moves = {MOVE_FLAME_WHEEL, MOVE_ROAR, MOVE_BITE, MOVE_TAKE_DOWN},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823BFD0[] = {
+ {
+ .iv = 100,
+ .lvl = 41,
+ .species = SPECIES_KINGLER,
+ .moves = {MOVE_GUILLOTINE, MOVE_STOMP, MOVE_MUD_SHOT, MOVE_BUBBLE},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_POLIWHIRL,
+ .moves = {MOVE_BODY_SLAM, MOVE_DOUBLE_SLAP, MOVE_WATER_GUN, MOVE_HYPNOSIS},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_TENTACRUEL,
+ .moves = {MOVE_BARRIER, MOVE_WRAP, MOVE_BUBBLE_BEAM, MOVE_ACID},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_SEADRA,
+ .moves = {MOVE_WATER_GUN, MOVE_SMOKESCREEN, MOVE_TWISTER, MOVE_LEER},
+ },
+ {
+ .iv = 100,
+ .lvl = 43,
+ .species = SPECIES_BLASTOISE,
+ .moves = {MOVE_WATER_GUN, MOVE_BITE, MOVE_RAPID_SPIN, MOVE_RAIN_DANCE},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823C020[] = {
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_SLOWPOKE,
+ .moves = {MOVE_HEADBUTT, MOVE_CONFUSION, MOVE_WATER_GUN, MOVE_DISABLE},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_SHELLDER,
+ .moves = {MOVE_AURORA_BEAM, MOVE_CLAMP, MOVE_SUPERSONIC, MOVE_LEER},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_KINGLER,
+ .moves = {MOVE_GUILLOTINE, MOVE_STOMP, MOVE_MUD_SHOT, MOVE_BUBBLE},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_STARMIE,
+ .moves = {MOVE_BUBBLE_BEAM, MOVE_SWIFT, MOVE_RECOVER, MOVE_RAPID_SPIN},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_GOLDUCK,
+ .moves = {MOVE_CONFUSION, MOVE_SCRATCH, MOVE_SCREECH, MOVE_DISABLE},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823C070[] = {
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_RATICATE,
+ .moves = {MOVE_SUPER_FANG, MOVE_PURSUIT, MOVE_SCARY_FACE, MOVE_QUICK_ATTACK},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_IVYSAUR,
+ .moves = {MOVE_RAZOR_LEAF, MOVE_SLEEP_POWDER, MOVE_SWEET_SCENT, MOVE_SYNTHESIS},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_WARTORTLE,
+ .moves = {MOVE_WATER_GUN, MOVE_BITE, MOVE_RAPID_SPIN, MOVE_TAIL_WHIP},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_CHARMELEON,
+ .moves = {MOVE_FLAMETHROWER, MOVE_SLASH, MOVE_SMOKESCREEN, MOVE_SCARY_FACE},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_CHARIZARD,
+ .moves = {MOVE_FLAMETHROWER, MOVE_WING_ATTACK, MOVE_SMOKESCREEN, MOVE_SCARY_FACE},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823C0C0[] = {
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_PIDGEOTTO,
+ .moves = {MOVE_WING_ATTACK, MOVE_FEATHER_DANCE, MOVE_WHIRLWIND, MOVE_QUICK_ATTACK},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_FEAROW,
+ .moves = {MOVE_DRILL_PECK, MOVE_MIRROR_MOVE, MOVE_PURSUIT, MOVE_LEER},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_PERSIAN,
+ .moves = {MOVE_PAY_DAY, MOVE_FAINT_ATTACK, MOVE_SCREECH, MOVE_BITE},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_LICKITUNG,
+ .moves = {MOVE_SLAM, MOVE_DISABLE, MOVE_WRAP, MOVE_SUPERSONIC},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_TAUROS,
+ .moves = {MOVE_HORN_ATTACK, MOVE_SCARY_FACE, MOVE_SWAGGER, MOVE_TAIL_WHIP},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823C110[] = {
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_NIDORINO,
+ .moves = {MOVE_SCRATCH, MOVE_POISON_STING, MOVE_DOUBLE_KICK, MOVE_BITE},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_NIDORINA,
+ .moves = {MOVE_HORN_ATTACK, MOVE_POISON_STING, MOVE_DOUBLE_KICK, MOVE_LEER},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_RATICATE,
+ .moves = {MOVE_SUPER_FANG, MOVE_PURSUIT, MOVE_SCARY_FACE, MOVE_QUICK_ATTACK},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_SANDSLASH,
+ .moves = {MOVE_FURY_SWIPES, MOVE_SWIFT, MOVE_SLASH, MOVE_POISON_STING},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_RHYHORN,
+ .moves = {MOVE_ROCK_BLAST, MOVE_SCARY_FACE, MOVE_STOMP, MOVE_TAIL_WHIP},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823C160[] = {
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_SEEL,
+ .moves = {MOVE_TAKE_DOWN, MOVE_AURORA_BEAM, MOVE_ICY_WIND, MOVE_GROWL},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_GRAVELER,
+ .moves = {MOVE_ROCK_BLAST, MOVE_MAGNITUDE, MOVE_ROCK_THROW, MOVE_MUD_SPORT},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_KINGLER,
+ .moves = {MOVE_GUILLOTINE, MOVE_STOMP, MOVE_MUD_SHOT, MOVE_BUBBLE},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_ONIX,
+ .moves = {MOVE_SLAM, MOVE_SANDSTORM, MOVE_DRAGON_BREATH, MOVE_ROCK_THROW},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_CLOYSTER,
+ .moves = {MOVE_SPIKE_CANNON, MOVE_AURORA_BEAM, MOVE_SUPERSONIC, MOVE_PROTECT},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823C1B0[] = {
+ {
+ .iv = 100,
+ .lvl = 38,
+ .species = SPECIES_SANDSLASH,
+ .moves = {MOVE_SLASH, MOVE_SWIFT, MOVE_SAND_ATTACK, MOVE_POISON_STING},
+ },
+ {
+ .iv = 100,
+ .lvl = 38,
+ .species = SPECIES_GRAVELER,
+ .moves = {MOVE_ROCK_BLAST, MOVE_MAGNITUDE, MOVE_MUD_SPORT, MOVE_DEFENSE_CURL},
+ },
+ {
+ .iv = 100,
+ .lvl = 38,
+ .species = SPECIES_ONIX,
+ .moves = {MOVE_DRAGON_BREATH, MOVE_SANDSTORM, MOVE_ROCK_THROW, MOVE_BIND},
+ },
+ {
+ .iv = 100,
+ .lvl = 38,
+ .species = SPECIES_GRAVELER,
+ .moves = {MOVE_ROCK_BLAST, MOVE_MAGNITUDE, MOVE_ROLLOUT, MOVE_DEFENSE_CURL},
+ },
+ {
+ .iv = 100,
+ .lvl = 38,
+ .species = SPECIES_MAROWAK,
+ .moves = {MOVE_BONEMERANG, MOVE_HEADBUTT, MOVE_LEER, MOVE_GROWL},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823C200[] = {
+ {
+ .iv = 100,
+ .lvl = 37,
+ .species = SPECIES_MAROWAK,
+ .moves = {MOVE_BONEMERANG, MOVE_HEADBUTT, MOVE_LEER, MOVE_GROWL},
+ },
+ {
+ .iv = 100,
+ .lvl = 37,
+ .species = SPECIES_MAROWAK,
+ .moves = {MOVE_BONEMERANG, MOVE_HEADBUTT, MOVE_LEER, MOVE_GROWL},
+ },
+ {
+ .iv = 100,
+ .lvl = 38,
+ .species = SPECIES_RHYHORN,
+ .moves = {MOVE_TAKE_DOWN, MOVE_ROCK_BLAST, MOVE_FURY_ATTACK, MOVE_SCARY_FACE},
+ },
+ {
+ .iv = 100,
+ .lvl = 39,
+ .species = SPECIES_NIDORINA,
+ .moves = {MOVE_FURY_SWIPES, MOVE_BITE, MOVE_POISON_STING, MOVE_DOUBLE_KICK},
+ },
+ {
+ .iv = 100,
+ .lvl = 39,
+ .species = SPECIES_NIDOQUEEN,
+ .moves = {MOVE_BODY_SLAM, MOVE_BITE, MOVE_POISON_STING, MOVE_DOUBLE_KICK},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823C250[] = {
+ {
+ .iv = 100,
+ .lvl = 22,
+ .species = SPECIES_BELLSPROUT,
+ .moves = {MOVE_WRAP, MOVE_STUN_SPORE, MOVE_POISON_POWDER, MOVE_GROWTH},
+ },
+ {
+ .iv = 100,
+ .lvl = 22,
+ .species = SPECIES_ODDISH,
+ .moves = {MOVE_POISON_POWDER, MOVE_STUN_SPORE, MOVE_ABSORB, MOVE_SWEET_SCENT},
+ },
+ {
+ .iv = 100,
+ .lvl = 22,
+ .species = SPECIES_WEEPINBELL,
+ .moves = {MOVE_VINE_WHIP, MOVE_STUN_SPORE, MOVE_POISON_POWDER, MOVE_GROWTH},
+ },
+ {
+ .iv = 100,
+ .lvl = 22,
+ .species = SPECIES_GLOOM,
+ .moves = {MOVE_ABSORB, MOVE_STUN_SPORE, MOVE_POISON_POWDER, MOVE_SWEET_SCENT},
+ },
+ {
+ .iv = 100,
+ .lvl = 22,
+ .species = SPECIES_IVYSAUR,
+ .moves = {MOVE_RAZOR_LEAF, MOVE_SLEEP_POWDER, MOVE_VINE_WHIP, MOVE_LEECH_SEED},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823C2A0[] = {
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_BELLSPROUT,
+ .moves = {MOVE_RAZOR_LEAF, MOVE_ACID, MOVE_STUN_SPORE, MOVE_POISON_POWDER},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_WEEPINBELL,
+ .moves = {MOVE_RAZOR_LEAF, MOVE_ACID, MOVE_SLEEP_POWDER, MOVE_POISON_POWDER},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_VICTREEBEL,
+ .moves = {MOVE_RAZOR_LEAF, MOVE_ACID, MOVE_STUN_SPORE, MOVE_SLEEP_POWDER},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_PARAS,
+ .moves = {MOVE_GROWTH, MOVE_SLASH, MOVE_LEECH_LIFE, MOVE_STUN_SPORE},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_PARASECT,
+ .moves = {MOVE_SPORE, MOVE_SLASH, MOVE_LEECH_LIFE, MOVE_POISON_POWDER},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823C2F0[] = {
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_CLEFAIRY,
+ .moves = {MOVE_LIGHT_SCREEN, MOVE_COSMIC_POWER, MOVE_DOUBLE_SLAP, MOVE_ENCORE},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_JIGGLYPUFF,
+ .moves = {MOVE_SING, MOVE_BODY_SLAM, MOVE_ROLLOUT, MOVE_DISABLE},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_PERSIAN,
+ .moves = {MOVE_PAY_DAY, MOVE_FAINT_ATTACK, MOVE_BITE, MOVE_SCREECH},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_DEWGONG,
+ .moves = {MOVE_SHEER_COLD, MOVE_TAKE_DOWN, MOVE_REST, MOVE_AURORA_BEAM},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_CHANSEY,
+ .moves = {MOVE_SING, MOVE_EGG_BOMB, MOVE_SOFT_BOILED, MOVE_MINIMIZE},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823C340[] = {
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_BEEDRILL,
+ .moves = {MOVE_PIN_MISSILE, MOVE_TWINEEDLE, MOVE_AGILITY, MOVE_PURSUIT},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_BUTTERFREE,
+ .moves = {MOVE_SAFEGUARD, MOVE_PSYBEAM, MOVE_GUST, MOVE_SUPERSONIC},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_PARASECT,
+ .moves = {MOVE_SPORE, MOVE_LEECH_LIFE, MOVE_SLASH, MOVE_GROWTH},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_VENONAT,
+ .moves = {MOVE_PSYBEAM, MOVE_STUN_SPORE, MOVE_LEECH_LIFE, MOVE_DISABLE},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_VENOMOTH,
+ .moves = {MOVE_PSYBEAM, MOVE_GUST, MOVE_SUPERSONIC, MOVE_LEECH_LIFE},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823C390[] = {
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_PERSIAN,
+ .moves = {MOVE_FURY_SWIPES, MOVE_SCREECH, MOVE_FAINT_ATTACK, MOVE_PAY_DAY},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_PONYTA,
+ .moves = {MOVE_AGILITY, MOVE_TAKE_DOWN, MOVE_FIRE_SPIN, MOVE_STOMP},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_RAPIDASH,
+ .moves = {MOVE_FURY_ATTACK, MOVE_FIRE_SPIN, MOVE_STOMP, MOVE_GROWL},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_VULPIX,
+ .moves = {MOVE_FLAMETHROWER, MOVE_CONFUSE_RAY, MOVE_QUICK_ATTACK, MOVE_IMPRISON},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_NINETALES,
+ .moves = {MOVE_SAFEGUARD, MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_FIRE_SPIN},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823C3E0[] = {
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_TANGELA,
+ .moves = {MOVE_SLAM, MOVE_BIND, MOVE_MEGA_DRAIN, MOVE_INGRAIN},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_GLOOM,
+ .moves = {MOVE_ACID, MOVE_MOONLIGHT, MOVE_SLEEP_POWDER, MOVE_STUN_SPORE},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_VILEPLUME,
+ .moves = {MOVE_MEGA_DRAIN, MOVE_ACID, MOVE_STUN_SPORE, MOVE_AROMATHERAPY},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_IVYSAUR,
+ .moves = {MOVE_RAZOR_LEAF, MOVE_SWEET_SCENT, MOVE_GROWL, MOVE_LEECH_SEED},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_VENUSAUR,
+ .moves = {MOVE_RAZOR_LEAF, MOVE_GROWTH, MOVE_SLEEP_POWDER, MOVE_POISON_POWDER},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823C430[] = {
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_RHYHORN,
+ .moves = {MOVE_HORN_DRILL, MOVE_ROCK_BLAST, MOVE_SCARY_FACE, MOVE_STOMP},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_NIDORINA,
+ .moves = {MOVE_DOUBLE_KICK, MOVE_FURY_SWIPES, MOVE_BITE, MOVE_FLATTER},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_NIDOQUEEN,
+ .moves = {MOVE_BODY_SLAM, MOVE_DOUBLE_KICK, MOVE_BITE, MOVE_GROWL},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_NIDORINO,
+ .moves = {MOVE_HORN_ATTACK, MOVE_POISON_STING, MOVE_FOCUS_ENERGY, MOVE_LEER},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_NIDOKING,
+ .moves = {MOVE_THRASH, MOVE_DOUBLE_KICK, MOVE_POISON_STING, MOVE_PECK},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823C480[] = {
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_PERSIAN,
+ .moves = {MOVE_FURY_SWIPES, MOVE_BITE, MOVE_SCREECH, MOVE_FAINT_ATTACK},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_NINETALES,
+ .moves = {MOVE_FLAMETHROWER, MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_GRUDGE},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_RAPIDASH,
+ .moves = {MOVE_FURY_ATTACK, MOVE_FIRE_SPIN, MOVE_TAKE_DOWN, MOVE_AGILITY},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_PIKACHU,
+ .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_DOUBLE_TEAM, MOVE_QUICK_ATTACK},
+ },
+ {
+ .iv = 100,
+ .lvl = 42,
+ .species = SPECIES_RAICHU,
+ .moves = {MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_SLAM, MOVE_DOUBLE_TEAM},
+ },
+};
+
+static const struct TrainerMonItemCustomMoves sTrainerMons_823C4D0[] = {
+ {
+ .iv = 250,
+ .lvl = 52,
+ .species = SPECIES_DEWGONG,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_HAIL, MOVE_SAFEGUARD},
+ },
+ {
+ .iv = 250,
+ .lvl = 51,
+ .species = SPECIES_CLOYSTER,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_SPIKES, MOVE_PROTECT, MOVE_HAIL, MOVE_DIVE},
+ },
+ {
+ .iv = 250,
+ .lvl = 52,
+ .species = SPECIES_SLOWBRO,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_AMNESIA, MOVE_YAWN},
+ },
+ {
+ .iv = 250,
+ .lvl = 54,
+ .species = SPECIES_JYNX,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_ICE_PUNCH, MOVE_DOUBLE_SLAP, MOVE_LOVELY_KISS, MOVE_ATTRACT},
+ },
+ {
+ .iv = 250,
+ .lvl = 54,
+ .species = SPECIES_LAPRAS,
+ .heldItem = ITEM_SITRUS_BERRY,
+ .moves = {MOVE_CONFUSE_RAY, MOVE_ICE_BEAM, MOVE_SURF, MOVE_BODY_SLAM},
+ },
+};
+
+static const struct TrainerMonItemCustomMoves sTrainerMons_823C520[] = {
+ {
+ .iv = 250,
+ .lvl = 51,
+ .species = SPECIES_ONIX,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_IRON_TAIL, MOVE_ROAR},
+ },
+ {
+ .iv = 250,
+ .lvl = 53,
+ .species = SPECIES_HITMONCHAN,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_SKY_UPPERCUT, MOVE_MACH_PUNCH, MOVE_ROCK_TOMB, MOVE_COUNTER},
+ },
+ {
+ .iv = 250,
+ .lvl = 53,
+ .species = SPECIES_HITMONLEE,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_MEGA_KICK, MOVE_FORESIGHT, MOVE_BRICK_BREAK, MOVE_FACADE},
+ },
+ {
+ .iv = 250,
+ .lvl = 54,
+ .species = SPECIES_ONIX,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_SAND_TOMB},
+ },
+ {
+ .iv = 250,
+ .lvl = 56,
+ .species = SPECIES_MACHAMP,
+ .heldItem = ITEM_SITRUS_BERRY,
+ .moves = {MOVE_CROSS_CHOP, MOVE_BULK_UP, MOVE_SCARY_FACE, MOVE_ROCK_TOMB},
+ },
+};
+
+static const struct TrainerMonItemCustomMoves sTrainerMons_823C570[] = {
+ {
+ .iv = 250,
+ .lvl = 54,
+ .species = SPECIES_GENGAR,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_SHADOW_PUNCH, MOVE_CONFUSE_RAY, MOVE_TOXIC, MOVE_DOUBLE_TEAM},
+ },
+ {
+ .iv = 250,
+ .lvl = 54,
+ .species = SPECIES_GOLBAT,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_CONFUSE_RAY, MOVE_POISON_FANG, MOVE_AIR_CUTTER, MOVE_BITE},
+ },
+ {
+ .iv = 250,
+ .lvl = 53,
+ .species = SPECIES_HAUNTER,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_CURSE, MOVE_MEAN_LOOK},
+ },
+ {
+ .iv = 250,
+ .lvl = 56,
+ .species = SPECIES_ARBOK,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_SCREECH, MOVE_IRON_TAIL, MOVE_BITE},
+ },
+ {
+ .iv = 250,
+ .lvl = 58,
+ .species = SPECIES_GENGAR,
+ .heldItem = ITEM_SITRUS_BERRY,
+ .moves = {MOVE_SHADOW_BALL, MOVE_SLUDGE_BOMB, MOVE_HYPNOSIS, MOVE_NIGHTMARE},
+ },
+};
+
+static const struct TrainerMonItemCustomMoves sTrainerMons_823C5C0[] = {
+ {
+ .iv = 250,
+ .lvl = 56,
+ .species = SPECIES_GYARADOS,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_HYPER_BEAM, MOVE_DRAGON_RAGE, MOVE_TWISTER, MOVE_BITE},
+ },
+ {
+ .iv = 250,
+ .lvl = 54,
+ .species = SPECIES_DRAGONAIR,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_HYPER_BEAM, MOVE_SAFEGUARD, MOVE_DRAGON_RAGE, MOVE_OUTRAGE},
+ },
+ {
+ .iv = 250,
+ .lvl = 54,
+ .species = SPECIES_DRAGONAIR,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_HYPER_BEAM, MOVE_SAFEGUARD, MOVE_THUNDER_WAVE, MOVE_OUTRAGE},
+ },
+ {
+ .iv = 250,
+ .lvl = 58,
+ .species = SPECIES_AERODACTYL,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_HYPER_BEAM, MOVE_ANCIENT_POWER, MOVE_WING_ATTACK, MOVE_SCARY_FACE},
+ },
+ {
+ .iv = 250,
+ .lvl = 60,
+ .species = SPECIES_DRAGONITE,
+ .heldItem = ITEM_SITRUS_BERRY,
+ .moves = {MOVE_HYPER_BEAM, MOVE_SAFEGUARD, MOVE_OUTRAGE, MOVE_WING_ATTACK},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823C610[] = {
+ {
+ .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 sTrainerMons_823C630[] = {
+ {
+ .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 sTrainerMons_823C650[] = {
+ {
+ .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 sTrainerMons_823C680[] = {
+ {
+ .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 sTrainerMons_823C6B0[] = {
+ {
+ .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 sTrainerMons_823C6F0[] = {
+ {
+ .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 sTrainerMons_823C730[] = {
+ {
+ .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 sTrainerMons_823C770[] = {
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_GROWLITHE,
+ },
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_GROWLITHE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823C780[] = {
+ {
+ .iv = 0,
+ .lvl = 19,
+ .species = SPECIES_NIDORAN_M,
+ },
+ {
+ .iv = 0,
+ .lvl = 19,
+ .species = SPECIES_NIDORAN_F,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823C790[] = {
+ {
+ .iv = 0,
+ .lvl = 23,
+ .species = SPECIES_PIKACHU,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823C798[] = {
+ {
+ .iv = 0,
+ .lvl = 48,
+ .species = SPECIES_PERSIAN,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823C7A0[] = {
+ {
+ .iv = 0,
+ .lvl = 17,
+ .species = SPECIES_GROWLITHE,
+ },
+ {
+ .iv = 0,
+ .lvl = 17,
+ .species = SPECIES_PONYTA,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823C7B0[] = {
+ {
+ .iv = 50,
+ .lvl = 19,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 50,
+ .lvl = 16,
+ .species = SPECIES_RATICATE,
+ },
+ {
+ .iv = 50,
+ .lvl = 18,
+ .species = SPECIES_KADABRA,
+ },
+ {
+ .iv = 100,
+ .lvl = 20,
+ .species = SPECIES_WARTORTLE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823C7D0[] = {
+ {
+ .iv = 50,
+ .lvl = 19,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 50,
+ .lvl = 16,
+ .species = SPECIES_RATICATE,
+ },
+ {
+ .iv = 50,
+ .lvl = 18,
+ .species = SPECIES_KADABRA,
+ },
+ {
+ .iv = 100,
+ .lvl = 20,
+ .species = SPECIES_IVYSAUR,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823C7F0[] = {
+ {
+ .iv = 50,
+ .lvl = 19,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 50,
+ .lvl = 16,
+ .species = SPECIES_RATICATE,
+ },
+ {
+ .iv = 50,
+ .lvl = 18,
+ .species = SPECIES_KADABRA,
+ },
+ {
+ .iv = 100,
+ .lvl = 20,
+ .species = SPECIES_CHARMELEON,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823C810[] = {
+ {
+ .iv = 100,
+ .lvl = 25,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 100,
+ .lvl = 23,
+ .species = SPECIES_GROWLITHE,
+ },
+ {
+ .iv = 100,
+ .lvl = 22,
+ .species = SPECIES_EXEGGCUTE,
+ },
+ {
+ .iv = 100,
+ .lvl = 20,
+ .species = SPECIES_KADABRA,
+ },
+ {
+ .iv = 100,
+ .lvl = 25,
+ .species = SPECIES_WARTORTLE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823C838[] = {
+ {
+ .iv = 100,
+ .lvl = 25,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 100,
+ .lvl = 23,
+ .species = SPECIES_GYARADOS,
+ },
+ {
+ .iv = 100,
+ .lvl = 22,
+ .species = SPECIES_GROWLITHE,
+ },
+ {
+ .iv = 100,
+ .lvl = 20,
+ .species = SPECIES_KADABRA,
+ },
+ {
+ .iv = 100,
+ .lvl = 25,
+ .species = SPECIES_IVYSAUR,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823C860[] = {
+ {
+ .iv = 100,
+ .lvl = 25,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 100,
+ .lvl = 23,
+ .species = SPECIES_EXEGGCUTE,
+ },
+ {
+ .iv = 100,
+ .lvl = 22,
+ .species = SPECIES_GYARADOS,
+ },
+ {
+ .iv = 100,
+ .lvl = 20,
+ .species = SPECIES_KADABRA,
+ },
+ {
+ .iv = 100,
+ .lvl = 25,
+ .species = SPECIES_CHARMELEON,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823C888[] = {
+ {
+ .iv = 100,
+ .lvl = 37,
+ .species = SPECIES_PIDGEOT,
+ },
+ {
+ .iv = 100,
+ .lvl = 38,
+ .species = SPECIES_GROWLITHE,
+ },
+ {
+ .iv = 100,
+ .lvl = 35,
+ .species = SPECIES_EXEGGCUTE,
+ },
+ {
+ .iv = 100,
+ .lvl = 35,
+ .species = SPECIES_ALAKAZAM,
+ },
+ {
+ .iv = 150,
+ .lvl = 40,
+ .species = SPECIES_BLASTOISE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823C8B0[] = {
+ {
+ .iv = 100,
+ .lvl = 37,
+ .species = SPECIES_PIDGEOT,
+ },
+ {
+ .iv = 100,
+ .lvl = 38,
+ .species = SPECIES_GYARADOS,
+ },
+ {
+ .iv = 100,
+ .lvl = 35,
+ .species = SPECIES_GROWLITHE,
+ },
+ {
+ .iv = 100,
+ .lvl = 35,
+ .species = SPECIES_ALAKAZAM,
+ },
+ {
+ .iv = 150,
+ .lvl = 40,
+ .species = SPECIES_VENUSAUR,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823C8D8[] = {
+ {
+ .iv = 100,
+ .lvl = 37,
+ .species = SPECIES_PIDGEOT,
+ },
+ {
+ .iv = 100,
+ .lvl = 38,
+ .species = SPECIES_EXEGGCUTE,
+ },
+ {
+ .iv = 100,
+ .lvl = 35,
+ .species = SPECIES_GYARADOS,
+ },
+ {
+ .iv = 100,
+ .lvl = 35,
+ .species = SPECIES_ALAKAZAM,
+ },
+ {
+ .iv = 150,
+ .lvl = 40,
+ .species = SPECIES_CHARIZARD,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823C900[] = {
+ {
+ .iv = 150,
+ .lvl = 47,
+ .species = SPECIES_PIDGEOT,
+ .moves = {MOVE_FEATHER_DANCE, MOVE_WING_ATTACK, MOVE_GUST, MOVE_QUICK_ATTACK},
+ },
+ {
+ .iv = 150,
+ .lvl = 45,
+ .species = SPECIES_RHYHORN,
+ .moves = {MOVE_TAKE_DOWN, MOVE_HORN_DRILL, MOVE_ROCK_BLAST, MOVE_FURY_ATTACK},
+ },
+ {
+ .iv = 150,
+ .lvl = 45,
+ .species = SPECIES_GROWLITHE,
+ .moves = {MOVE_FLAME_WHEEL, MOVE_TAKE_DOWN, MOVE_LEER, MOVE_AGILITY},
+ },
+ {
+ .iv = 150,
+ .lvl = 45,
+ .species = SPECIES_EXEGGCUTE,
+ .moves = {MOVE_SOLAR_BEAM, MOVE_SLEEP_POWDER, MOVE_POISON_POWDER, MOVE_STUN_SPORE},
+ },
+ {
+ .iv = 150,
+ .lvl = 47,
+ .species = SPECIES_ALAKAZAM,
+ .moves = {MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_FUTURE_SIGHT, MOVE_DISABLE},
+ },
+ {
+ .iv = 250,
+ .lvl = 53,
+ .species = SPECIES_BLASTOISE,
+ .moves = {MOVE_WATER_GUN, MOVE_RAIN_DANCE, MOVE_BITE, MOVE_RAPID_SPIN},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823C960[] = {
+ {
+ .iv = 150,
+ .lvl = 47,
+ .species = SPECIES_PIDGEOT,
+ .moves = {MOVE_FEATHER_DANCE, MOVE_WING_ATTACK, MOVE_GUST, MOVE_QUICK_ATTACK},
+ },
+ {
+ .iv = 150,
+ .lvl = 45,
+ .species = SPECIES_RHYHORN,
+ .moves = {MOVE_TAKE_DOWN, MOVE_HORN_DRILL, MOVE_ROCK_BLAST, MOVE_FURY_ATTACK},
+ },
+ {
+ .iv = 150,
+ .lvl = 45,
+ .species = SPECIES_GYARADOS,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_TWISTER, MOVE_LEER, MOVE_RAIN_DANCE},
+ },
+ {
+ .iv = 150,
+ .lvl = 45,
+ .species = SPECIES_GROWLITHE,
+ .moves = {MOVE_FLAME_WHEEL, MOVE_TAKE_DOWN, MOVE_LEER, MOVE_AGILITY},
+ },
+ {
+ .iv = 150,
+ .lvl = 47,
+ .species = SPECIES_ALAKAZAM,
+ .moves = {MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_FUTURE_SIGHT, MOVE_DISABLE},
+ },
+ {
+ .iv = 250,
+ .lvl = 53,
+ .species = SPECIES_VENUSAUR,
+ .moves = {MOVE_RAZOR_LEAF, MOVE_SWEET_SCENT, MOVE_GROWTH, MOVE_SYNTHESIS},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823C9C0[] = {
+ {
+ .iv = 150,
+ .lvl = 47,
+ .species = SPECIES_PIDGEOT,
+ .moves = {MOVE_FEATHER_DANCE, MOVE_WING_ATTACK, MOVE_GUST, MOVE_QUICK_ATTACK},
+ },
+ {
+ .iv = 150,
+ .lvl = 45,
+ .species = SPECIES_RHYHORN,
+ .moves = {MOVE_TAKE_DOWN, MOVE_HORN_DRILL, MOVE_ROCK_BLAST, MOVE_FURY_ATTACK},
+ },
+ {
+ .iv = 150,
+ .lvl = 45,
+ .species = SPECIES_EXEGGCUTE,
+ .moves = {MOVE_SOLAR_BEAM, MOVE_SLEEP_POWDER, MOVE_POISON_POWDER, MOVE_STUN_SPORE},
+ },
+ {
+ .iv = 150,
+ .lvl = 45,
+ .species = SPECIES_GYARADOS,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_TWISTER, MOVE_LEER, MOVE_RAIN_DANCE},
+ },
+ {
+ .iv = 150,
+ .lvl = 47,
+ .species = SPECIES_ALAKAZAM,
+ .moves = {MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_FUTURE_SIGHT, MOVE_DISABLE},
+ },
+ {
+ .iv = 250,
+ .lvl = 53,
+ .species = SPECIES_CHARIZARD,
+ .moves = {MOVE_FLAMETHROWER, MOVE_WING_ATTACK, MOVE_SLASH, MOVE_SCARY_FACE},
+ },
+};
+
+static const struct TrainerMonItemCustomMoves sTrainerMons_823CA20[] = {
+ {
+ .iv = 255,
+ .lvl = 59,
+ .species = SPECIES_PIDGEOT,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_AERIAL_ACE, MOVE_FEATHER_DANCE, MOVE_SAND_ATTACK, MOVE_WHIRLWIND},
+ },
+ {
+ .iv = 255,
+ .lvl = 57,
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_PSYCHIC, MOVE_FUTURE_SIGHT, MOVE_RECOVER, MOVE_REFLECT},
+ },
+ {
+ .iv = 255,
+ .lvl = 59,
+ .species = SPECIES_RHYDON,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_TAKE_DOWN, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_SCARY_FACE},
+ },
+ {
+ .iv = 255,
+ .lvl = 59,
+ .species = SPECIES_ARCANINE,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_EXTREME_SPEED, MOVE_FLAMETHROWER, MOVE_ROAR, MOVE_BITE},
+ },
+ {
+ .iv = 255,
+ .lvl = 61,
+ .species = SPECIES_EXEGGUTOR,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_GIGA_DRAIN, MOVE_EGG_BOMB, MOVE_SLEEP_POWDER, MOVE_LIGHT_SCREEN},
+ },
+ {
+ .iv = 255,
+ .lvl = 63,
+ .species = SPECIES_BLASTOISE,
+ .heldItem = ITEM_SITRUS_BERRY,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_RAIN_DANCE, MOVE_SKULL_BASH, MOVE_BITE},
+ },
+};
+
+static const struct TrainerMonItemCustomMoves sTrainerMons_823CA80[] = {
+ {
+ .iv = 255,
+ .lvl = 59,
+ .species = SPECIES_PIDGEOT,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_AERIAL_ACE, MOVE_FEATHER_DANCE, MOVE_SAND_ATTACK, MOVE_WHIRLWIND},
+ },
+ {
+ .iv = 255,
+ .lvl = 57,
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_PSYCHIC, MOVE_FUTURE_SIGHT, MOVE_RECOVER, MOVE_REFLECT},
+ },
+ {
+ .iv = 255,
+ .lvl = 59,
+ .species = SPECIES_RHYDON,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_TAKE_DOWN, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_SCARY_FACE},
+ },
+ {
+ .iv = 255,
+ .lvl = 59,
+ .species = SPECIES_GYARADOS,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_DRAGON_RAGE, MOVE_BITE, MOVE_THRASH},
+ },
+ {
+ .iv = 255,
+ .lvl = 61,
+ .species = SPECIES_ARCANINE,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_EXTREME_SPEED, MOVE_FLAMETHROWER, MOVE_ROAR, MOVE_BITE},
+ },
+ {
+ .iv = 255,
+ .lvl = 63,
+ .species = SPECIES_VENUSAUR,
+ .heldItem = ITEM_SITRUS_BERRY,
+ .moves = {MOVE_SOLAR_BEAM, MOVE_SYNTHESIS, MOVE_SUNNY_DAY, MOVE_GROWTH},
+ },
+};
+
+static const struct TrainerMonItemCustomMoves sTrainerMons_823CAE0[] = {
+ {
+ .iv = 255,
+ .lvl = 59,
+ .species = SPECIES_PIDGEOT,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_AERIAL_ACE, MOVE_FEATHER_DANCE, MOVE_SAND_ATTACK, MOVE_WHIRLWIND},
+ },
+ {
+ .iv = 255,
+ .lvl = 57,
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_PSYCHIC, MOVE_FUTURE_SIGHT, MOVE_RECOVER, MOVE_REFLECT},
+ },
+ {
+ .iv = 255,
+ .lvl = 59,
+ .species = SPECIES_RHYDON,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_TAKE_DOWN, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_SCARY_FACE},
+ },
+ {
+ .iv = 255,
+ .lvl = 59,
+ .species = SPECIES_EXEGGUTOR,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_GIGA_DRAIN, MOVE_EGG_BOMB, MOVE_SLEEP_POWDER, MOVE_LIGHT_SCREEN},
+ },
+ {
+ .iv = 255,
+ .lvl = 61,
+ .species = SPECIES_GYARADOS,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_DRAGON_RAGE, MOVE_BITE, MOVE_THRASH},
+ },
+ {
+ .iv = 255,
+ .lvl = 63,
+ .species = SPECIES_CHARIZARD,
+ .heldItem = ITEM_SITRUS_BERRY,
+ .moves = {MOVE_FIRE_BLAST, MOVE_AERIAL_ACE, MOVE_SLASH, MOVE_FIRE_SPIN},
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CB40[] = {
+ {
+ .iv = 0,
+ .lvl = 22,
+ .species = SPECIES_GASTLY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CB48[] = {
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_GASTLY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CB50[] = {
+ {
+ .iv = 0,
+ .lvl = 23,
+ .species = SPECIES_GASTLY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CB58[] = {
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_GASTLY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CB60[] = {
+ {
+ .iv = 0,
+ .lvl = 23,
+ .species = SPECIES_GASTLY,
+ },
+ {
+ .iv = 0,
+ .lvl = 23,
+ .species = SPECIES_GASTLY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CB70[] = {
+ {
+ .iv = 0,
+ .lvl = 22,
+ .species = SPECIES_GASTLY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CB78[] = {
+ {
+ .iv = 0,
+ .lvl = 23,
+ .species = SPECIES_HAUNTER,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CB80[] = {
+ {
+ .iv = 0,
+ .lvl = 22,
+ .species = SPECIES_GASTLY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CB88[] = {
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_GASTLY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CB90[] = {
+ {
+ .iv = 0,
+ .lvl = 22,
+ .species = SPECIES_GASTLY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CB98[] = {
+ {
+ .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 sTrainerMons_823CBB0[] = {
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_GASTLY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CBB8[] = {
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_GASTLY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CBC0[] = {
+ {
+ .iv = 0,
+ .lvl = 23,
+ .species = SPECIES_HAUNTER,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CBC8[] = {
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_GASTLY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CBD0[] = {
+ {
+ .iv = 0,
+ .lvl = 22,
+ .species = SPECIES_GASTLY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CBD8[] = {
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_GASTLY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CBE0[] = {
+ {
+ .iv = 0,
+ .lvl = 22,
+ .species = SPECIES_HAUNTER,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CBE8[] = {
+ {
+ .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 sTrainerMons_823CC00[] = {
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_GASTLY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CC08[] = {
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_GASTLY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CC10[] = {
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_GASTLY,
+ },
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_HAUNTER,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CC20[] = {
+ {
+ .iv = 0,
+ .lvl = 38,
+ .species = SPECIES_HAUNTER,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CC28[] = {
+ {
+ .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 sTrainerMons_823CC40[] = {
+ {
+ .iv = 0,
+ .lvl = 20,
+ .species = SPECIES_MACHOP,
+ },
+ {
+ .iv = 0,
+ .lvl = 20,
+ .species = SPECIES_ONIX,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CC50[] = {
+ {
+ .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 sTrainerMons_823CC68[] = {
+ {
+ .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 sTrainerMons_823CC90[] = {
+ {
+ .iv = 0,
+ .lvl = 30,
+ .species = SPECIES_POLIWAG,
+ },
+ {
+ .iv = 0,
+ .lvl = 30,
+ .species = SPECIES_POLIWAG,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CCA0[] = {
+ {
+ .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 sTrainerMons_823CCC0[] = {
+ {
+ .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 sTrainerMons_823CCF0[] = {
+ {
+ .iv = 0,
+ .lvl = 14,
+ .species = SPECIES_RATTATA,
+ },
+ {
+ .iv = 0,
+ .lvl = 14,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CD00[] = {
+ {
+ .iv = 0,
+ .lvl = 31,
+ .species = SPECIES_GOLDEEN,
+ },
+ {
+ .iv = 0,
+ .lvl = 31,
+ .species = SPECIES_SEAKING,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CD10[] = {
+ {
+ .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 sTrainerMons_823CD28[] = {
+ {
+ .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 sTrainerMons_823CD40[] = {
+ {
+ .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 sTrainerMons_823CD60[] = {
+ {
+ .iv = 0,
+ .lvl = 22,
+ .species = SPECIES_BELLSPROUT,
+ },
+ {
+ .iv = 0,
+ .lvl = 22,
+ .species = SPECIES_CLEFAIRY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CD70[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_NIDORAN_M,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_NIDORINO,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CD80[] = {
+ {
+ .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 sTrainerMons_823CD98[] = {
+ {
+ .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 sTrainerMons_823CDB0[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_PIKACHU,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_RAICHU,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CDC0[] = {
+ {
+ .iv = 0,
+ .lvl = 33,
+ .species = SPECIES_CLEFAIRY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CDC8[] = {
+ {
+ .iv = 0,
+ .lvl = 23,
+ .species = SPECIES_PIKACHU,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CDD0[] = {
+ {
+ .iv = 0,
+ .lvl = 17,
+ .species = SPECIES_GROWLITHE,
+ },
+ {
+ .iv = 0,
+ .lvl = 17,
+ .species = SPECIES_PONYTA,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CDE0[] = {
+ {
+ .iv = 0,
+ .lvl = 22,
+ .species = SPECIES_CLEFAIRY,
+ },
+ {
+ .iv = 0,
+ .lvl = 22,
+ .species = SPECIES_JIGGLYPUFF,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823CDF0[] = {
+ {
+ .iv = 100,
+ .lvl = 45,
+ .species = SPECIES_NIDOQUEEN,
+ .moves = {MOVE_SUPERPOWER, MOVE_BODY_SLAM, MOVE_DOUBLE_KICK, MOVE_POISON_STING},
+ },
+ {
+ .iv = 100,
+ .lvl = 45,
+ .species = SPECIES_NIDOKING,
+ .moves = {MOVE_MEGAHORN, MOVE_THRASH, MOVE_DOUBLE_KICK, MOVE_POISON_STING},
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CE10[] = {
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_NIDORAN_M,
+ },
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_NIDORAN_F,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CE20[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_CHARMANDER,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_SQUIRTLE,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823CE30[] = {
+ {
+ .iv = 50,
+ .lvl = 29,
+ .species = SPECIES_HITMONCHAN,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 50,
+ .lvl = 29,
+ .species = SPECIES_HITMONLEE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CE40[] = {
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_RAPIDASH,
+ },
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_NINETALES,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CE50[] = {
+ {
+ .iv = 0,
+ .lvl = 30,
+ .species = SPECIES_GOLDEEN,
+ },
+ {
+ .iv = 0,
+ .lvl = 30,
+ .species = SPECIES_SEAKING,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CE60[] = {
+ {
+ .iv = 0,
+ .lvl = 33,
+ .species = SPECIES_SEADRA,
+ },
+ {
+ .iv = 0,
+ .lvl = 33,
+ .species = SPECIES_STARMIE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CE70[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CE78[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CE80[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CE88[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CE90[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CE98[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CEA0[] = {
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_RATICATE,
+ },
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CEB0[] = {
+ {
+ .iv = 120,
+ .lvl = 48,
+ .species = SPECIES_RATICATE,
+ },
+ {
+ .iv = 120,
+ .lvl = 48,
+ .species = SPECIES_ARBOK,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CEC0[] = {
+ {
+ .iv = 20,
+ .lvl = 20,
+ .species = SPECIES_EKANS,
+ },
+ {
+ .iv = 20,
+ .lvl = 20,
+ .species = SPECIES_SANDSHREW,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CED0[] = {
+ {
+ .iv = 20,
+ .lvl = 20,
+ .species = SPECIES_PIDGEY,
+ },
+ {
+ .iv = 20,
+ .lvl = 20,
+ .species = SPECIES_NIDORAN_F,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CEE0[] = {
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_NIDORINA,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CEF0[] = {
+ {
+ .iv = 20,
+ .lvl = 19,
+ .species = SPECIES_RATICATE,
+ },
+ {
+ .iv = 20,
+ .lvl = 19,
+ .species = SPECIES_EKANS,
+ },
+ {
+ .iv = 20,
+ .lvl = 19,
+ .species = SPECIES_ZUBAT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CF08[] = {
+ {
+ .iv = 60,
+ .lvl = 27,
+ .species = SPECIES_RATICATE,
+ },
+ {
+ .iv = 60,
+ .lvl = 27,
+ .species = SPECIES_EKANS,
+ },
+ {
+ .iv = 60,
+ .lvl = 27,
+ .species = SPECIES_GOLBAT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CF20[] = {
+ {
+ .iv = 120,
+ .lvl = 52,
+ .species = SPECIES_RATICATE,
+ },
+ {
+ .iv = 120,
+ .lvl = 52,
+ .species = SPECIES_ARBOK,
+ },
+ {
+ .iv = 120,
+ .lvl = 52,
+ .species = SPECIES_GOLBAT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CF38[] = {
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_ARBOK,
+ },
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_SANDSHREW,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CF48[] = {
+ {
+ .iv = 20,
+ .lvl = 20,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 20,
+ .lvl = 20,
+ .species = SPECIES_PIDGEOTTO,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CF58[] = {
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_PIDGEOTTO,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CF68[] = {
+ {
+ .iv = 80,
+ .lvl = 48,
+ .species = SPECIES_ARBOK,
+ },
+ {
+ .iv = 80,
+ .lvl = 48,
+ .species = SPECIES_SANDSLASH,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CF78[] = {
+ {
+ .iv = 40,
+ .lvl = 25,
+ .species = SPECIES_MACHOKE,
+ },
+ {
+ .iv = 40,
+ .lvl = 25,
+ .species = SPECIES_GRAVELER,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CF88[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CF90[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CF98[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CFA0[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CFA8[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823CFB0[] = {
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_HOUNDOUR,
+ },
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_HOUNDOUR,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823CFC0[] = {
+ {
+ .iv = 100,
+ .lvl = 48,
+ .species = SPECIES_NATU,
+ .moves = {MOVE_NIGHT_SHADE, MOVE_CONFUSE_RAY, MOVE_FUTURE_SIGHT, MOVE_WISH},
+ },
+ {
+ .iv = 100,
+ .lvl = 48,
+ .species = SPECIES_SLOWBRO,
+ .moves = {MOVE_PSYCHIC, MOVE_HEADBUTT, MOVE_AMNESIA, MOVE_YAWN},
+ },
+ {
+ .iv = 100,
+ .lvl = 49,
+ .species = SPECIES_KADABRA,
+ .moves = {MOVE_PSYCHIC, MOVE_FUTURE_SIGHT, MOVE_RECOVER, MOVE_REFLECT},
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823CFF0[] = {
+ {
+ .iv = 50,
+ .lvl = 37,
+ .species = SPECIES_MANKEY,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 50,
+ .lvl = 37,
+ .species = SPECIES_PRIMEAPE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D000[] = {
+ {
+ .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 sTrainerMons_823D018[] = {
+ {
+ .iv = 30,
+ .lvl = 48,
+ .species = SPECIES_PIKACHU,
+ },
+ {
+ .iv = 30,
+ .lvl = 48,
+ .species = SPECIES_CLEFAIRY,
+ },
+ {
+ .iv = 30,
+ .lvl = 48,
+ .species = SPECIES_MARILL,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823D030[] = {
+ {
+ .iv = 100,
+ .lvl = 51,
+ .species = SPECIES_WEEPINBELL,
+ .moves = {MOVE_RAZOR_LEAF, MOVE_ACID, MOVE_SWEET_SCENT, MOVE_WRAP},
+ },
+ {
+ .iv = 100,
+ .lvl = 51,
+ .species = SPECIES_VICTREEBEL,
+ .moves = {MOVE_RAZOR_LEAF, MOVE_ACID, MOVE_SLEEP_POWDER, MOVE_STUN_SPORE},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823D050[] = {
+ {
+ .iv = 100,
+ .lvl = 51,
+ .species = SPECIES_GLOOM,
+ .moves = {MOVE_PETAL_DANCE, MOVE_ACID, MOVE_SWEET_SCENT, MOVE_POISON_POWDER},
+ },
+ {
+ .iv = 100,
+ .lvl = 51,
+ .species = SPECIES_VILEPLUME,
+ .moves = {MOVE_PETAL_DANCE, MOVE_MOONLIGHT, MOVE_ACID, MOVE_STUN_SPORE},
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D070[] = {
+ {
+ .iv = 0,
+ .lvl = 37,
+ .species = SPECIES_BELLSPROUT,
+ },
+ {
+ .iv = 0,
+ .lvl = 37,
+ .species = SPECIES_WEEPINBELL,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D080[] = {
+ {
+ .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 sTrainerMons_823D098[] = {
+ {
+ .iv = 0,
+ .lvl = 48,
+ .species = SPECIES_HOPPIP,
+ .heldItem = ITEM_STARDUST,
+ },
+ {
+ .iv = 0,
+ .lvl = 50,
+ .species = SPECIES_SKIPLOOM,
+ .heldItem = ITEM_STARDUST,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823D0A8[] = {
+ {
+ .iv = 50,
+ .lvl = 50,
+ .species = SPECIES_SMEARGLE,
+ .moves = {MOVE_DYNAMIC_PUNCH, MOVE_DIZZY_PUNCH, MOVE_FOCUS_PUNCH, MOVE_MEGA_PUNCH},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823D0B8[] = {
+ {
+ .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 sTrainerMons_823D0D8[] = {
+ {
+ .iv = 0,
+ .lvl = 38,
+ .species = SPECIES_KOFFING,
+ .moves = {MOVE_HAZE, MOVE_SMOKESCREEN, MOVE_SLUDGE, MOVE_TACKLE},
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D0E8[] = {
+ {
+ .iv = 0,
+ .lvl = 38,
+ .species = SPECIES_GRIMER,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D0F0[] = {
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_EKANS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D0F8[] = {
+ {
+ .iv = 0,
+ .lvl = 7,
+ .species = SPECIES_CATERPIE,
+ },
+ {
+ .iv = 0,
+ .lvl = 8,
+ .species = SPECIES_CATERPIE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D108[] = {
+ {
+ .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 sTrainerMons_823D120[] = {
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_CLEFAIRY,
+ },
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_JIGGLYPUFF,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D130[] = {
+ {
+ .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 sTrainerMons_823D148[] = {
+ {
+ .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 sTrainerMons_823D178[] = {
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_GRIMER,
+ },
+ {
+ .iv = 0,
+ .lvl = 24,
+ .species = SPECIES_GRIMER,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D188[] = {
+ {
+ .iv = 0,
+ .lvl = 37,
+ .species = SPECIES_CUBONE,
+ },
+ {
+ .iv = 0,
+ .lvl = 37,
+ .species = SPECIES_MAROWAK,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D198[] = {
+ {
+ .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 sTrainerMons_823D1B8[] = {
+ {
+ .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 sTrainerMons_823D1D0[] = {
+ {
+ .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 sTrainerMons_823D1E8[] = {
+ {
+ .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 sTrainerMons_823D200[] = {
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_HYPNO,
+ },
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_HYPNO,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823D210[] = {
+ {
+ .iv = 150,
+ .lvl = 52,
+ .species = SPECIES_MUK,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_SCREECH, MOVE_MINIMIZE, MOVE_ROCK_TOMB},
+ },
+ {
+ .iv = 150,
+ .lvl = 53,
+ .species = SPECIES_ARBOK,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_BITE, MOVE_EARTHQUAKE, MOVE_IRON_TAIL},
+ },
+ {
+ .iv = 150,
+ .lvl = 54,
+ .species = SPECIES_VILEPLUME,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_SLEEP_POWDER, MOVE_STUN_SPORE},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823D240[] = {
+ {
+ .iv = 200,
+ .lvl = 53,
+ .species = SPECIES_GOLBAT,
+ .moves = {MOVE_CONFUSE_RAY, MOVE_SLUDGE_BOMB, MOVE_AIR_CUTTER, MOVE_SHADOW_BALL},
+ },
+ {
+ .iv = 200,
+ .lvl = 54,
+ .species = SPECIES_WEEZING,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_THUNDERBOLT, MOVE_EXPLOSION, MOVE_SHADOW_BALL},
+ },
+ {
+ .iv = 200,
+ .lvl = 55,
+ .species = SPECIES_HOUNDOOM,
+ .moves = {MOVE_FLAMETHROWER, MOVE_CRUNCH, MOVE_IRON_TAIL, MOVE_SHADOW_BALL},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823D270[] = {
+ {
+ .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 sTrainerMons_823D2C0[] = {
+ {
+ .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 sTrainerMons_823D2D8[] = {
+ {
+ .iv = 0,
+ .lvl = 37,
+ .species = SPECIES_SEADRA,
+ },
+ {
+ .iv = 0,
+ .lvl = 37,
+ .species = SPECIES_SEADRA,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D2E8[] = {
+ {
+ .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 sTrainerMons_823D300[] = {
+ {
+ .iv = 0,
+ .lvl = 38,
+ .species = SPECIES_STARMIE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D308[] = {
+ {
+ .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 sTrainerMons_823D320[] = {
+ {
+ .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 sTrainerMons_823D348[] = {
+ {
+ .iv = 50,
+ .lvl = 38,
+ .species = SPECIES_HITMONLEE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 50,
+ .lvl = 38,
+ .species = SPECIES_HITMONCHAN,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823D358[] = {
+ {
+ .iv = 100,
+ .lvl = 38,
+ .species = SPECIES_MACHOP,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 100,
+ .lvl = 38,
+ .species = SPECIES_MACHOKE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823D368[] = {
+ {
+ .iv = 100,
+ .lvl = 37,
+ .species = SPECIES_MACHOP,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 100,
+ .lvl = 37,
+ .species = SPECIES_MACHOKE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D378[] = {
+ {
+ .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 sTrainerMons_823D390[] = {
+ {
+ .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 sTrainerMons_823D3B0[] = {
+ {
+ .iv = 50,
+ .lvl = 39,
+ .species = SPECIES_MACHOKE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 50,
+ .lvl = 39,
+ .species = SPECIES_PRIMEAPE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D3C0[] = {
+ {
+ .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 sTrainerMons_823D3D8[] = {
+ {
+ .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 sTrainerMons_823D3F8[] = {
+ {
+ .iv = 0,
+ .lvl = 37,
+ .species = SPECIES_CLEFAIRY,
+ },
+ {
+ .iv = 0,
+ .lvl = 37,
+ .species = SPECIES_CLEFAIRY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D408[] = {
+ {
+ .iv = 0,
+ .lvl = 38,
+ .species = SPECIES_KINGLER,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823D410[] = {
+ {
+ .iv = 50,
+ .lvl = 50,
+ .species = SPECIES_SMEARGLE,
+ .moves = {MOVE_FLY, MOVE_DIG, MOVE_DIVE, MOVE_BOUNCE},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823D420[] = {
+ {
+ .iv = 50,
+ .lvl = 50,
+ .species = SPECIES_SMEARGLE,
+ .moves = {MOVE_CROSS_CHOP, MOVE_MEGAHORN, MOVE_DOUBLE_EDGE, MOVE_SELF_DESTRUCT},
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823D430[] = {
+ {
+ .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 sTrainerMons_823D448[] = {
+ {
+ .iv = 0,
+ .lvl = 48,
+ .species = SPECIES_RATICATE,
+ },
+ {
+ .iv = 0,
+ .lvl = 48,
+ .species = SPECIES_PIDGEOTTO,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D458[] = {
+ {
+ .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 sTrainerMons_823D470[] = {
+ {
+ .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 sTrainerMons_823D488[] = {
+ {
+ .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 sTrainerMons_823D4A8[] = {
+ {
+ .iv = 50,
+ .lvl = 48,
+ .species = SPECIES_EKANS,
+ },
+ {
+ .iv = 50,
+ .lvl = 48,
+ .species = SPECIES_GLOOM,
+ },
+ {
+ .iv = 50,
+ .lvl = 48,
+ .species = SPECIES_GLOOM,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D4C0[] = {
+ {
+ .iv = 0,
+ .lvl = 47,
+ .species = SPECIES_PIDGEY,
+ },
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_PIDGEOTTO,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D4D0[] = {
+ {
+ .iv = 0,
+ .lvl = 47,
+ .species = SPECIES_SPEAROW,
+ },
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_FEAROW,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D4E0[] = {
+ {
+ .iv = 0,
+ .lvl = 47,
+ .species = SPECIES_HOOTHOOT,
+ },
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_NOCTOWL,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D4F0[] = {
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_QWILFISH,
+ },
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_QWILFISH,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D500[] = {
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_KINGLER,
+ },
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_WARTORTLE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D510[] = {
+ {
+ .iv = 0,
+ .lvl = 50,
+ .species = SPECIES_MARILL,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D518[] = {
+ {
+ .iv = 0,
+ .lvl = 50,
+ .species = SPECIES_POLIWHIRL,
+ },
+ {
+ .iv = 0,
+ .lvl = 50,
+ .species = SPECIES_STARMIE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D528[] = {
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_SUNKERN,
+ },
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_SUNFLORA,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D538[] = {
+ {
+ .iv = 0,
+ .lvl = 50,
+ .species = SPECIES_GYARADOS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D540[] = {
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_CHINCHOU,
+ },
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_LANTURN,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D550[] = {
+ {
+ .iv = 0,
+ .lvl = 50,
+ .species = SPECIES_PIKACHU,
+ },
+ {
+ .iv = 0,
+ .lvl = 50,
+ .species = SPECIES_PIKACHU,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D560[] = {
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_ONIX,
+ },
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_MACHOKE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D570[] = {
+ {
+ .iv = 0,
+ .lvl = 50,
+ .species = SPECIES_GOLEM,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D578[] = {
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_MACHOKE,
+ },
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_MACHOKE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D588[] = {
+ {
+ .iv = 0,
+ .lvl = 50,
+ .species = SPECIES_SUDOWOODO,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D590[] = {
+ {
+ .iv = 30,
+ .lvl = 49,
+ .species = SPECIES_RHYHORN,
+ },
+ {
+ .iv = 30,
+ .lvl = 49,
+ .species = SPECIES_KANGASKHAN,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823D5A0[] = {
+ {
+ .iv = 100,
+ .lvl = 52,
+ .species = SPECIES_GIRAFARIG,
+ .moves = {MOVE_CRUNCH, MOVE_PSYBEAM, MOVE_ODOR_SLEUTH, MOVE_AGILITY},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823D5B0[] = {
+ {
+ .iv = 100,
+ .lvl = 48,
+ .species = SPECIES_NATU,
+ .moves = {MOVE_NIGHT_SHADE, MOVE_CONFUSE_RAY, MOVE_WISH, MOVE_FUTURE_SIGHT},
+ },
+ {
+ .iv = 100,
+ .lvl = 48,
+ .species = SPECIES_DROWZEE,
+ .moves = {MOVE_PSYCHIC, MOVE_DISABLE, MOVE_PSYCH_UP, MOVE_FUTURE_SIGHT},
+ },
+ {
+ .iv = 100,
+ .lvl = 50,
+ .species = SPECIES_HYPNO,
+ .moves = {MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_PSYCH_UP, MOVE_FUTURE_SIGHT},
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D5E0[] = {
+ {
+ .iv = 0,
+ .lvl = 50,
+ .species = SPECIES_BELLOSSOM,
+ },
+ {
+ .iv = 0,
+ .lvl = 50,
+ .species = SPECIES_BELLOSSOM,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D5F0[] = {
+ {
+ .iv = 0,
+ .lvl = 50,
+ .species = SPECIES_GOLDUCK,
+ },
+ {
+ .iv = 0,
+ .lvl = 50,
+ .species = SPECIES_PSYDUCK,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823D600[] = {
+ {
+ .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 sTrainerMons_823D640[] = {
+ {
+ .iv = 50,
+ .lvl = 48,
+ .species = SPECIES_PRIMEAPE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 50,
+ .lvl = 48,
+ .species = SPECIES_HITMONTOP,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 50,
+ .lvl = 48,
+ .species = SPECIES_MACHOKE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823D658[] = {
+ {
+ .iv = 50,
+ .lvl = 38,
+ .species = SPECIES_HITMONCHAN,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 50,
+ .lvl = 38,
+ .species = SPECIES_HITMONCHAN,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D668[] = {
+ {
+ .iv = 40,
+ .lvl = 48,
+ .species = SPECIES_SANDSLASH,
+ },
+ {
+ .iv = 40,
+ .lvl = 48,
+ .species = SPECIES_LICKITUNG,
+ },
+ {
+ .iv = 40,
+ .lvl = 49,
+ .species = SPECIES_URSARING,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D680[] = {
+ {
+ .iv = 90,
+ .lvl = 33,
+ .species = SPECIES_RHYHORN,
+ },
+ {
+ .iv = 90,
+ .lvl = 33,
+ .species = SPECIES_LICKITUNG,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823D690[] = {
+ {
+ .iv = 100,
+ .lvl = 37,
+ .species = SPECIES_EXEGGCUTE,
+ .moves = {MOVE_SLEEP_POWDER, MOVE_POISON_POWDER, MOVE_STUN_SPORE, MOVE_CONFUSION},
+ },
+ {
+ .iv = 100,
+ .lvl = 40,
+ .species = SPECIES_EXEGGUTOR,
+ .moves = {MOVE_EGG_BOMB, MOVE_STOMP, MOVE_CONFUSION, MOVE_HYPNOSIS},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823D6B0[] = {
+ {
+ .iv = 100,
+ .lvl = 49,
+ .species = SPECIES_TANGELA,
+ .moves = {MOVE_SLAM, MOVE_MEGA_DRAIN, MOVE_BIND, MOVE_INGRAIN},
+ },
+ {
+ .iv = 100,
+ .lvl = 49,
+ .species = SPECIES_EXEGGCUTE,
+ .moves = {MOVE_CONFUSION, MOVE_POISON_POWDER, MOVE_BARRAGE, MOVE_REFLECT},
+ },
+ {
+ .iv = 100,
+ .lvl = 49,
+ .species = SPECIES_EXEGGUTOR,
+ .moves = {MOVE_CONFUSION, MOVE_EGG_BOMB, MOVE_SLEEP_POWDER, MOVE_STOMP},
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D6E0[] = {
+ {
+ .iv = 100,
+ .lvl = 38,
+ .species = SPECIES_BELLSPROUT,
+ },
+ {
+ .iv = 100,
+ .lvl = 38,
+ .species = SPECIES_GLOOM,
+ },
+ {
+ .iv = 100,
+ .lvl = 38,
+ .species = SPECIES_GLOOM,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823D6F8[] = {
+ {
+ .iv = 100,
+ .lvl = 52,
+ .species = SPECIES_CHANSEY,
+ .moves = {MOVE_EGG_BOMB, MOVE_DEFENSE_CURL, MOVE_MINIMIZE, MOVE_SOFT_BOILED},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823D708[] = {
+ {
+ .iv = 100,
+ .lvl = 47,
+ .species = SPECIES_RHYDON,
+ .moves = {MOVE_TAKE_DOWN, MOVE_HORN_DRILL, MOVE_ROCK_BLAST, MOVE_SCARY_FACE},
+ },
+ {
+ .iv = 100,
+ .lvl = 48,
+ .species = SPECIES_SLOWBRO,
+ .moves = {MOVE_PSYCHIC, MOVE_HEADBUTT, MOVE_AMNESIA, MOVE_DISABLE},
+ },
+ {
+ .iv = 100,
+ .lvl = 47,
+ .species = SPECIES_KANGASKHAN,
+ .moves = {MOVE_DIZZY_PUNCH, MOVE_BITE, MOVE_ENDURE, MOVE_REVERSAL},
+ },
+ {
+ .iv = 100,
+ .lvl = 48,
+ .species = SPECIES_MACHOKE,
+ .moves = {MOVE_CROSS_CHOP, MOVE_VITAL_THROW, MOVE_REVENGE, MOVE_SEISMIC_TOSS},
+ },
+ {
+ .iv = 100,
+ .lvl = 50,
+ .species = SPECIES_URSARING,
+ .moves = {MOVE_SLASH, MOVE_FAINT_ATTACK, MOVE_SNORE, MOVE_REST},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823D758[] = {
+ {
+ .iv = 100,
+ .lvl = 47,
+ .species = SPECIES_PERSIAN,
+ .moves = {MOVE_SLASH, MOVE_SCREECH, MOVE_FAINT_ATTACK, MOVE_BITE},
+ },
+ {
+ .iv = 100,
+ .lvl = 47,
+ .species = SPECIES_DEWGONG,
+ .moves = {MOVE_ICE_BEAM, MOVE_TAKE_DOWN, MOVE_ICY_WIND, MOVE_GROWL},
+ },
+ {
+ .iv = 100,
+ .lvl = 48,
+ .species = SPECIES_NINETALES,
+ .moves = {MOVE_FLAMETHROWER, MOVE_CONFUSE_RAY, MOVE_WILL_O_WISP, MOVE_GRUDGE},
+ },
+ {
+ .iv = 100,
+ .lvl = 48,
+ .species = SPECIES_RAPIDASH,
+ .moves = {MOVE_BOUNCE, MOVE_AGILITY, MOVE_FIRE_SPIN, MOVE_TAKE_DOWN},
+ },
+ {
+ .iv = 100,
+ .lvl = 50,
+ .species = SPECIES_GIRAFARIG,
+ .moves = {MOVE_CRUNCH, MOVE_PSYBEAM, MOVE_STOMP, MOVE_ODOR_SLEUTH},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823D7A8[] = {
+ {
+ .iv = 100,
+ .lvl = 52,
+ .species = SPECIES_MILTANK,
+ .moves = {MOVE_BODY_SLAM, MOVE_MILK_DRINK, MOVE_GROWL, MOVE_DEFENSE_CURL},
+ },
+ {
+ .iv = 100,
+ .lvl = 52,
+ .species = SPECIES_TAUROS,
+ .moves = {MOVE_THRASH, MOVE_HORN_ATTACK, MOVE_PURSUIT, MOVE_SWAGGER},
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D7C8[] = {
+ {
+ .iv = 0,
+ .lvl = 50,
+ .species = SPECIES_ONIX,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823D7D0[] = {
+ {
+ .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 sTrainerMons_823D800[] = {
+ {
+ .iv = 50,
+ .lvl = 50,
+ .species = SPECIES_SMEARGLE,
+ .moves = {MOVE_FAKE_OUT, MOVE_EXTREME_SPEED, MOVE_PROTECT, MOVE_QUICK_ATTACK},
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D810[] = {
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_MAROWAK,
+ },
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_GOLDUCK,
+ },
+};
+
+static const struct TrainerMonItemCustomMoves sTrainerMons_823D820[] = {
+ {
+ .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,
+ .moves = {MOVE_PAY_DAY, MOVE_SCRATCH, MOVE_TORMENT, MOVE_TAUNT},
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D840[] = {
+ {
+ .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 sTrainerMons_823D858[] = {
+ {
+ .iv = 100,
+ .lvl = 48,
+ .species = SPECIES_NATU,
+ },
+ {
+ .iv = 100,
+ .lvl = 48,
+ .species = SPECIES_NATU,
+ },
+ {
+ .iv = 100,
+ .lvl = 49,
+ .species = SPECIES_XATU,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D870[] = {
+ {
+ .iv = 30,
+ .lvl = 50,
+ .species = SPECIES_CHANSEY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D878[] = {
+ {
+ .iv = 30,
+ .lvl = 48,
+ .species = SPECIES_CLEFAIRY,
+ },
+ {
+ .iv = 30,
+ .lvl = 48,
+ .species = SPECIES_CLEFAIRY,
+ },
+ {
+ .iv = 30,
+ .lvl = 48,
+ .species = SPECIES_CLEFABLE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D890[] = {
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_HERACROSS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D898[] = {
+ {
+ .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 sTrainerMons_823D8B8[] = {
+ {
+ .iv = 0,
+ .lvl = 48,
+ .species = SPECIES_VENONAT,
+ },
+ {
+ .iv = 0,
+ .lvl = 48,
+ .species = SPECIES_VENOMOTH,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D8C8[] = {
+ {
+ .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 sTrainerMons_823D8E0[] = {
+ {
+ .iv = 0,
+ .lvl = 48,
+ .species = SPECIES_FARFETCHD,
+ },
+ {
+ .iv = 0,
+ .lvl = 48,
+ .species = SPECIES_FARFETCHD,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D8F0[] = {
+ {
+ .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 sTrainerMons_823D910[] = {
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_SNUBBULL,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D918[] = {
+ {
+ .iv = 0,
+ .lvl = 49,
+ .species = SPECIES_PINSIR,
+ },
+ {
+ .iv = 0,
+ .lvl = 50,
+ .species = SPECIES_HERACROSS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D928[] = {
+ {
+ .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 sTrainerMons_823D940[] = {
+ {
+ .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 sTrainerMons_823D958[] = {
+ {
+ .iv = 20,
+ .lvl = 21,
+ .species = SPECIES_NIDORAN_M,
+ },
+ {
+ .iv = 20,
+ .lvl = 21,
+ .species = SPECIES_NIDORAN_F,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D968[] = {
+ {
+ .iv = 60,
+ .lvl = 29,
+ .species = SPECIES_NIDORINO,
+ },
+ {
+ .iv = 60,
+ .lvl = 29,
+ .species = SPECIES_NIDORINA,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D978[] = {
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_NIDORINO,
+ },
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_NIDORINA,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D988[] = {
+ {
+ .iv = 20,
+ .lvl = 22,
+ .species = SPECIES_SQUIRTLE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D990[] = {
+ {
+ .iv = 60,
+ .lvl = 30,
+ .species = SPECIES_WARTORTLE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D998[] = {
+ {
+ .iv = 120,
+ .lvl = 55,
+ .species = SPECIES_WARTORTLE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D9A0[] = {
+ {
+ .iv = 20,
+ .lvl = 21,
+ .species = SPECIES_SPEAROW,
+ },
+ {
+ .iv = 20,
+ .lvl = 21,
+ .species = SPECIES_RATICATE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D9B0[] = {
+ {
+ .iv = 60,
+ .lvl = 29,
+ .species = SPECIES_FEAROW,
+ },
+ {
+ .iv = 60,
+ .lvl = 29,
+ .species = SPECIES_RATICATE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D9C0[] = {
+ {
+ .iv = 120,
+ .lvl = 54,
+ .species = SPECIES_FEAROW,
+ },
+ {
+ .iv = 120,
+ .lvl = 54,
+ .species = SPECIES_RATICATE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D9D0[] = {
+ {
+ .iv = 20,
+ .lvl = 21,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 20,
+ .lvl = 21,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 20,
+ .lvl = 18,
+ .species = SPECIES_PIDGEY,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823D9E8[] = {
+ {
+ .iv = 60,
+ .lvl = 29,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 60,
+ .lvl = 29,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 60,
+ .lvl = 26,
+ .species = SPECIES_PIDGEOTTO,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DA00[] = {
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 80,
+ .lvl = 50,
+ .species = SPECIES_PIDGEOT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DA18[] = {
+ {
+ .iv = 40,
+ .lvl = 22,
+ .species = SPECIES_RATTATA,
+ },
+ {
+ .iv = 40,
+ .lvl = 22,
+ .species = SPECIES_RATICATE,
+ },
+ {
+ .iv = 40,
+ .lvl = 22,
+ .species = SPECIES_RATICATE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DA30[] = {
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_RATICATE,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_RATICATE,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_RATICATE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DA48[] = {
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_MAGNETON,
+ },
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_MAGNETON,
+ },
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_MAGNETON,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DA60[] = {
+ {
+ .iv = 60,
+ .lvl = 29,
+ .species = SPECIES_GROWLITHE,
+ },
+ {
+ .iv = 60,
+ .lvl = 29,
+ .species = SPECIES_VULPIX,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DA70[] = {
+ {
+ .iv = 40,
+ .lvl = 24,
+ .species = SPECIES_GROWLITHE,
+ },
+ {
+ .iv = 40,
+ .lvl = 24,
+ .species = SPECIES_CHARMANDER,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DA80[] = {
+ {
+ .iv = 60,
+ .lvl = 29,
+ .species = SPECIES_GROWLITHE,
+ },
+ {
+ .iv = 60,
+ .lvl = 29,
+ .species = SPECIES_CHARMELEON,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DA90[] = {
+ {
+ .iv = 120,
+ .lvl = 54,
+ .species = SPECIES_ARCANINE,
+ },
+ {
+ .iv = 120,
+ .lvl = 54,
+ .species = SPECIES_CHARMELEON,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DAA0[] = {
+ {
+ .iv = 40,
+ .lvl = 25,
+ .species = SPECIES_MEOWTH,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DAA8[] = {
+ {
+ .iv = 60,
+ .lvl = 30,
+ .species = SPECIES_PERSIAN,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DAB0[] = {
+ {
+ .iv = 120,
+ .lvl = 55,
+ .species = SPECIES_PERSIAN,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DAB8[] = {
+ {
+ .iv = 60,
+ .lvl = 30,
+ .species = SPECIES_MACHOKE,
+ },
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_ONIX,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DAC8[] = {
+ {
+ .iv = 150,
+ .lvl = 54,
+ .species = SPECIES_RHYDON,
+ },
+ {
+ .iv = 150,
+ .lvl = 54,
+ .species = SPECIES_LICKITUNG,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DAD8[] = {
+ {
+ .iv = 90,
+ .lvl = 29,
+ .species = SPECIES_MAROWAK,
+ },
+ {
+ .iv = 90,
+ .lvl = 29,
+ .species = SPECIES_SLOWBRO,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DAE8[] = {
+ {
+ .iv = 150,
+ .lvl = 54,
+ .species = SPECIES_MAROWAK,
+ },
+ {
+ .iv = 150,
+ .lvl = 54,
+ .species = SPECIES_SLOWBRO,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DAF8[] = {
+ {
+ .iv = 60,
+ .lvl = 31,
+ .species = SPECIES_ONIX,
+ },
+ {
+ .iv = 60,
+ .lvl = 31,
+ .species = SPECIES_GRAVELER,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DB08[] = {
+ {
+ .iv = 40,
+ .lvl = 22,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 40,
+ .lvl = 22,
+ .species = SPECIES_RATICATE,
+ },
+ {
+ .iv = 40,
+ .lvl = 23,
+ .species = SPECIES_NIDORAN_M,
+ },
+ {
+ .iv = 40,
+ .lvl = 21,
+ .species = SPECIES_MEOWTH,
+ },
+ {
+ .iv = 40,
+ .lvl = 22,
+ .species = SPECIES_PIKACHU,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DB30[] = {
+ {
+ .iv = 80,
+ .lvl = 46,
+ .species = SPECIES_PIDGEOT,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_RATICATE,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_NIDORINO,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_PERSIAN,
+ },
+ {
+ .iv = 80,
+ .lvl = 48,
+ .species = SPECIES_RAICHU,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DB58[] = {
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_MUK,
+ },
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_MUK,
+ },
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_MUK,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DB70[] = {
+ {
+ .iv = 60,
+ .lvl = 30,
+ .species = SPECIES_GROWLITHE,
+ },
+ {
+ .iv = 60,
+ .lvl = 30,
+ .species = SPECIES_VULPIX,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DB80[] = {
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_MUK,
+ },
+ {
+ .iv = 60,
+ .lvl = 30,
+ .species = SPECIES_MUK,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DB90[] = {
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_POLIWHIRL,
+ },
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_CLOYSTER,
+ },
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_SEAKING,
+ },
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_SEADRA,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DBB0[] = {
+ {
+ .iv = 60,
+ .lvl = 33,
+ .species = SPECIES_ELECTRODE,
+ },
+ {
+ .iv = 60,
+ .lvl = 33,
+ .species = SPECIES_ELECTRODE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DBC0[] = {
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_CLEFAIRY,
+ },
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_PERSIAN,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DBD0[] = {
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_FEAROW,
+ },
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_FEAROW,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DBF0[] = {
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_PIDGEOT,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_PIDGEOT,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_FEAROW,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_FEAROW,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DC10[] = {
+ {
+ .iv = 60,
+ .lvl = 27,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 60,
+ .lvl = 27,
+ .species = SPECIES_MEOWTH,
+ },
+ {
+ .iv = 60,
+ .lvl = 27,
+ .species = SPECIES_RATICATE,
+ },
+ {
+ .iv = 60,
+ .lvl = 27,
+ .species = SPECIES_PIKACHU,
+ },
+ {
+ .iv = 60,
+ .lvl = 27,
+ .species = SPECIES_MEOWTH,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DC38[] = {
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_PERSIAN,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_RATICATE,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_PIKACHU,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_PERSIAN,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DC60[] = {
+ {
+ .iv = 120,
+ .lvl = 52,
+ .species = SPECIES_PIDGEOT,
+ },
+ {
+ .iv = 120,
+ .lvl = 52,
+ .species = SPECIES_PERSIAN,
+ },
+ {
+ .iv = 120,
+ .lvl = 52,
+ .species = SPECIES_RATICATE,
+ },
+ {
+ .iv = 120,
+ .lvl = 52,
+ .species = SPECIES_RAICHU,
+ },
+ {
+ .iv = 120,
+ .lvl = 52,
+ .species = SPECIES_PERSIAN,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DC88[] = {
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_KOFFING,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_KOFFING,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_MUK,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_WEEZING,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DCA8[] = {
+ {
+ .iv = 60,
+ .lvl = 32,
+ .species = SPECIES_FEAROW,
+ },
+ {
+ .iv = 60,
+ .lvl = 32,
+ .species = SPECIES_FEAROW,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DCB8[] = {
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_FEAROW,
+ },
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_FEAROW,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DCC8[] = {
+ {
+ .iv = 60,
+ .lvl = 30,
+ .species = SPECIES_FEAROW,
+ },
+ {
+ .iv = 60,
+ .lvl = 30,
+ .species = SPECIES_DODUO,
+ },
+ {
+ .iv = 60,
+ .lvl = 30,
+ .species = SPECIES_FEAROW,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DCE0[] = {
+ {
+ .iv = 80,
+ .lvl = 48,
+ .species = SPECIES_FEAROW,
+ },
+ {
+ .iv = 80,
+ .lvl = 48,
+ .species = SPECIES_DODRIO,
+ },
+ {
+ .iv = 80,
+ .lvl = 48,
+ .species = SPECIES_FEAROW,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DCF8[] = {
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_PIDGEOT,
+ },
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_WIGGLYTUFF,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DD08[] = {
+ {
+ .iv = 60,
+ .lvl = 30,
+ .species = SPECIES_DODRIO,
+ },
+ {
+ .iv = 60,
+ .lvl = 30,
+ .species = SPECIES_DODRIO,
+ },
+ {
+ .iv = 60,
+ .lvl = 30,
+ .species = SPECIES_DODUO,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DD20[] = {
+ {
+ .iv = 80,
+ .lvl = 48,
+ .species = SPECIES_DODRIO,
+ },
+ {
+ .iv = 80,
+ .lvl = 48,
+ .species = SPECIES_DODRIO,
+ },
+ {
+ .iv = 80,
+ .lvl = 48,
+ .species = SPECIES_DODRIO,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DD38[] = {
+ {
+ .iv = 60,
+ .lvl = 32,
+ .species = SPECIES_PIKACHU,
+ },
+ {
+ .iv = 60,
+ .lvl = 32,
+ .species = SPECIES_RAICHU,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DD48[] = {
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_PIKACHU,
+ },
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_RAICHU,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DD58[] = {
+ {
+ .iv = 120,
+ .lvl = 54,
+ .species = SPECIES_RAICHU,
+ },
+ {
+ .iv = 120,
+ .lvl = 54,
+ .species = SPECIES_RAICHU,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823DD68[] = {
+ {
+ .iv = 110,
+ .lvl = 33,
+ .species = SPECIES_HITMONCHAN,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 110,
+ .lvl = 33,
+ .species = SPECIES_HITMONLEE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823DD78[] = {
+ {
+ .iv = 130,
+ .lvl = 51,
+ .species = SPECIES_HITMONCHAN,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 130,
+ .lvl = 51,
+ .species = SPECIES_HITMONLEE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823DD88[] = {
+ {
+ .iv = 170,
+ .lvl = 56,
+ .species = SPECIES_HITMONCHAN,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 170,
+ .lvl = 56,
+ .species = SPECIES_HITMONLEE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DD98[] = {
+ {
+ .iv = 80,
+ .lvl = 48,
+ .species = SPECIES_WEEZING,
+ },
+ {
+ .iv = 80,
+ .lvl = 48,
+ .species = SPECIES_WEEZING,
+ },
+ {
+ .iv = 80,
+ .lvl = 48,
+ .species = SPECIES_WEEZING,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DDB0[] = {
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_PRIMEAPE,
+ },
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_MACHOKE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DDC0[] = {
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_WEEZING,
+ },
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_MUK,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DDD0[] = {
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_MACHOKE,
+ },
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_MACHAMP,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DDE0[] = {
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_PRIMEAPE,
+ },
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_MACHAMP,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DDF0[] = {
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_FEAROW,
+ },
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_SPEAROW,
+ },
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_FEAROW,
+ },
+ {
+ .iv = 60,
+ .lvl = 28,
+ .species = SPECIES_SPEAROW,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DE10[] = {
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_FEAROW,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_FEAROW,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_FEAROW,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_FEAROW,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DE30[] = {
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_SEAKING,
+ },
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_SEAKING,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DE40[] = {
+ {
+ .iv = 120,
+ .lvl = 52,
+ .species = SPECIES_SEADRA,
+ },
+ {
+ .iv = 120,
+ .lvl = 52,
+ .species = SPECIES_SEADRA,
+ },
+ {
+ .iv = 120,
+ .lvl = 52,
+ .species = SPECIES_SEADRA,
+ },
+ {
+ .iv = 120,
+ .lvl = 52,
+ .species = SPECIES_SEADRA,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DE60[] = {
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_SEAKING,
+ },
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_SEAKING,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DE70[] = {
+ {
+ .iv = 120,
+ .lvl = 54,
+ .species = SPECIES_SEAKING,
+ },
+ {
+ .iv = 120,
+ .lvl = 54,
+ .species = SPECIES_SEAKING,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DE80[] = {
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_MAGIKARP,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_MAGIKARP,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_MAGIKARP,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_MAGIKARP,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_MAGIKARP,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_MAGIKARP,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DEB0[] = {
+ {
+ .iv = 80,
+ .lvl = 50,
+ .species = SPECIES_STARMIE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DEB8[] = {
+ {
+ .iv = 80,
+ .lvl = 50,
+ .species = SPECIES_SEADRA,
+ },
+ {
+ .iv = 80,
+ .lvl = 50,
+ .species = SPECIES_STARMIE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DEC8[] = {
+ {
+ .iv = 120,
+ .lvl = 55,
+ .species = SPECIES_SEADRA,
+ },
+ {
+ .iv = 120,
+ .lvl = 55,
+ .species = SPECIES_STARMIE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DED8[] = {
+ {
+ .iv = 80,
+ .lvl = 50,
+ .species = SPECIES_STARMIE,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823DEE0[] = {
+ {
+ .iv = 130,
+ .lvl = 50,
+ .species = SPECIES_MANKEY,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 130,
+ .lvl = 50,
+ .species = SPECIES_PRIMEAPE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823DEF0[] = {
+ {
+ .iv = 170,
+ .lvl = 55,
+ .species = SPECIES_PRIMEAPE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 170,
+ .lvl = 55,
+ .species = SPECIES_PRIMEAPE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823DF00[] = {
+ {
+ .iv = 130,
+ .lvl = 50,
+ .species = SPECIES_HITMONLEE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 130,
+ .lvl = 50,
+ .species = SPECIES_HITMONCHAN,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823DF10[] = {
+ {
+ .iv = 170,
+ .lvl = 55,
+ .species = SPECIES_HITMONLEE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 170,
+ .lvl = 55,
+ .species = SPECIES_HITMONCHAN,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823DF20[] = {
+ {
+ .iv = 180,
+ .lvl = 50,
+ .species = SPECIES_MACHOKE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 180,
+ .lvl = 50,
+ .species = SPECIES_MACHOKE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823DF30[] = {
+ {
+ .iv = 220,
+ .lvl = 55,
+ .species = SPECIES_MACHOKE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 220,
+ .lvl = 55,
+ .species = SPECIES_MACHAMP,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823DF40[] = {
+ {
+ .iv = 180,
+ .lvl = 50,
+ .species = SPECIES_MACHOKE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 180,
+ .lvl = 50,
+ .species = SPECIES_MACHOKE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823DF50[] = {
+ {
+ .iv = 220,
+ .lvl = 55,
+ .species = SPECIES_MACHOKE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 220,
+ .lvl = 55,
+ .species = SPECIES_MACHAMP,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823DF60[] = {
+ {
+ .iv = 130,
+ .lvl = 51,
+ .species = SPECIES_MACHOKE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 130,
+ .lvl = 51,
+ .species = SPECIES_PRIMEAPE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823DF70[] = {
+ {
+ .iv = 170,
+ .lvl = 56,
+ .species = SPECIES_MACHAMP,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 170,
+ .lvl = 56,
+ .species = SPECIES_PRIMEAPE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DF80[] = {
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_POLIWHIRL,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_POLIWHIRL,
+ },
+ {
+ .iv = 80,
+ .lvl = 47,
+ .species = SPECIES_POLIWHIRL,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DF98[] = {
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_CLEFAIRY,
+ },
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_CLEFAIRY,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823DFA8[] = {
+ {
+ .iv = 120,
+ .lvl = 54,
+ .species = SPECIES_SMEARGLE,
+ .moves = {MOVE_CROSS_CHOP, MOVE_MEGAHORN, MOVE_DOUBLE_EDGE, MOVE_SELF_DESTRUCT},
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DFB8[] = {
+ {
+ .iv = 120,
+ .lvl = 53,
+ .species = SPECIES_RATICATE,
+ },
+ {
+ .iv = 120,
+ .lvl = 53,
+ .species = SPECIES_PIDGEOT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DFC8[] = {
+ {
+ .iv = 150,
+ .lvl = 53,
+ .species = SPECIES_PIKACHU,
+ },
+ {
+ .iv = 150,
+ .lvl = 53,
+ .species = SPECIES_CLEFAIRY,
+ },
+ {
+ .iv = 150,
+ .lvl = 53,
+ .species = SPECIES_MARILL,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DFE0[] = {
+ {
+ .iv = 60,
+ .lvl = 30,
+ .species = SPECIES_NIDORINA,
+ },
+ {
+ .iv = 60,
+ .lvl = 30,
+ .species = SPECIES_NIDORINO,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823DFF0[] = {
+ {
+ .iv = 120,
+ .lvl = 55,
+ .species = SPECIES_NIDOKING,
+ },
+ {
+ .iv = 120,
+ .lvl = 55,
+ .species = SPECIES_NIDOQUEEN,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823E000[] = {
+ {
+ .iv = 120,
+ .lvl = 53,
+ .species = SPECIES_PIDGEOTTO,
+ },
+ {
+ .iv = 120,
+ .lvl = 55,
+ .species = SPECIES_PIDGEOT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823E010[] = {
+ {
+ .iv = 120,
+ .lvl = 53,
+ .species = SPECIES_FEAROW,
+ },
+ {
+ .iv = 120,
+ .lvl = 55,
+ .species = SPECIES_FEAROW,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823E020[] = {
+ {
+ .iv = 120,
+ .lvl = 53,
+ .species = SPECIES_NOCTOWL,
+ },
+ {
+ .iv = 120,
+ .lvl = 55,
+ .species = SPECIES_NOCTOWL,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823E030[] = {
+ {
+ .iv = 120,
+ .lvl = 54,
+ .species = SPECIES_MARILL,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823E038[] = {
+ {
+ .iv = 220,
+ .lvl = 52,
+ .species = SPECIES_NATU,
+ .moves = {MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_FUTURE_SIGHT, MOVE_WISH},
+ },
+ {
+ .iv = 220,
+ .lvl = 52,
+ .species = SPECIES_SLOWBRO,
+ .moves = {MOVE_PSYCHIC, MOVE_HEADBUTT, MOVE_AMNESIA, MOVE_YAWN},
+ },
+ {
+ .iv = 220,
+ .lvl = 54,
+ .species = SPECIES_KADABRA,
+ .moves = {MOVE_PSYCHIC, MOVE_FUTURE_SIGHT, MOVE_RECOVER, MOVE_REFLECT},
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823E068[] = {
+ {
+ .iv = 120,
+ .lvl = 55,
+ .species = SPECIES_GYARADOS,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823E070[] = {
+ {
+ .iv = 120,
+ .lvl = 54,
+ .species = SPECIES_ONIX,
+ },
+ {
+ .iv = 120,
+ .lvl = 54,
+ .species = SPECIES_MACHAMP,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823E080[] = {
+ {
+ .iv = 120,
+ .lvl = 54,
+ .species = SPECIES_MACHOKE,
+ },
+ {
+ .iv = 120,
+ .lvl = 54,
+ .species = SPECIES_MACHOKE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823E090[] = {
+ {
+ .iv = 150,
+ .lvl = 55,
+ .species = SPECIES_RHYDON,
+ },
+ {
+ .iv = 150,
+ .lvl = 55,
+ .species = SPECIES_KANGASKHAN,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823E0A0[] = {
+ {
+ .iv = 220,
+ .lvl = 56,
+ .species = SPECIES_GIRAFARIG,
+ .moves = {MOVE_CRUNCH, MOVE_PSYBEAM, MOVE_ODOR_SLEUTH, MOVE_AGILITY},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823E0B0[] = {
+ {
+ .iv = 220,
+ .lvl = 53,
+ .species = SPECIES_NATU,
+ .moves = {MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_WISH, MOVE_FUTURE_SIGHT},
+ },
+ {
+ .iv = 220,
+ .lvl = 53,
+ .species = SPECIES_HYPNO,
+ .moves = {MOVE_PSYCHIC, MOVE_DISABLE, MOVE_PSYCH_UP, MOVE_FUTURE_SIGHT},
+ },
+ {
+ .iv = 220,
+ .lvl = 53,
+ .species = SPECIES_HYPNO,
+ .moves = {MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_PSYCH_UP, MOVE_FUTURE_SIGHT},
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823E0E0[] = {
+ {
+ .iv = 120,
+ .lvl = 52,
+ .species = SPECIES_ELECTRODE,
+ },
+ {
+ .iv = 120,
+ .lvl = 52,
+ .species = SPECIES_PINECO,
+ },
+ {
+ .iv = 120,
+ .lvl = 52,
+ .species = SPECIES_ELECTRODE,
+ },
+ {
+ .iv = 120,
+ .lvl = 52,
+ .species = SPECIES_PINECO,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823E100[] = {
+ {
+ .iv = 220,
+ .lvl = 55,
+ .species = SPECIES_VICTREEBEL,
+ .moves = {MOVE_RAZOR_LEAF, MOVE_ACID, MOVE_STUN_SPORE, MOVE_WRAP},
+ },
+ {
+ .iv = 220,
+ .lvl = 55,
+ .species = SPECIES_VICTREEBEL,
+ .moves = {MOVE_RAZOR_LEAF, MOVE_ACID, MOVE_SLEEP_POWDER, MOVE_SLAM},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823E120[] = {
+ {
+ .iv = 220,
+ .lvl = 55,
+ .species = SPECIES_VILEPLUME,
+ .moves = {MOVE_PETAL_DANCE, MOVE_MOONLIGHT, MOVE_ACID, MOVE_SLEEP_POWDER},
+ },
+ {
+ .iv = 220,
+ .lvl = 55,
+ .species = SPECIES_VILEPLUME,
+ .moves = {MOVE_PETAL_DANCE, MOVE_MOONLIGHT, MOVE_ACID, MOVE_STUN_SPORE},
+ },
+};
+
+static const struct TrainerMonItemDefaultMoves sTrainerMons_823E140[] = {
+ {
+ .iv = 170,
+ .lvl = 54,
+ .species = SPECIES_PRIMEAPE,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 170,
+ .lvl = 54,
+ .species = SPECIES_HITMONTOP,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+ {
+ .iv = 170,
+ .lvl = 54,
+ .species = SPECIES_MACHAMP,
+ .heldItem = ITEM_BLACK_BELT,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823E158[] = {
+ {
+ .iv = 160,
+ .lvl = 52,
+ .species = SPECIES_SANDSLASH,
+ },
+ {
+ .iv = 160,
+ .lvl = 52,
+ .species = SPECIES_LICKITUNG,
+ },
+ {
+ .iv = 160,
+ .lvl = 55,
+ .species = SPECIES_URSARING,
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823E170[] = {
+ {
+ .iv = 220,
+ .lvl = 53,
+ .species = SPECIES_TANGELA,
+ .moves = {MOVE_SLAM, MOVE_MEGA_DRAIN, MOVE_BIND, MOVE_INGRAIN},
+ },
+ {
+ .iv = 220,
+ .lvl = 54,
+ .species = SPECIES_EXEGGUTOR,
+ .moves = {MOVE_CONFUSION, MOVE_EGG_BOMB, MOVE_STUN_SPORE, MOVE_REFLECT},
+ },
+ {
+ .iv = 220,
+ .lvl = 55,
+ .species = SPECIES_EXEGGUTOR,
+ .moves = {MOVE_CONFUSION, MOVE_EGG_BOMB, MOVE_SLEEP_POWDER, MOVE_STOMP},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823E1A0[] = {
+ {
+ .iv = 220,
+ .lvl = 56,
+ .species = SPECIES_CHANSEY,
+ .moves = {MOVE_EGG_BOMB, MOVE_DEFENSE_CURL, MOVE_MINIMIZE, MOVE_SOFT_BOILED},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823E1B0[] = {
+ {
+ .iv = 220,
+ .lvl = 52,
+ .species = SPECIES_RHYDON,
+ .moves = {MOVE_EARTHQUAKE, MOVE_HORN_DRILL, MOVE_ROCK_BLAST, MOVE_SCARY_FACE},
+ },
+ {
+ .iv = 220,
+ .lvl = 54,
+ .species = SPECIES_SLOWBRO,
+ .moves = {MOVE_PSYCHIC, MOVE_HEADBUTT, MOVE_AMNESIA, MOVE_DISABLE},
+ },
+ {
+ .iv = 220,
+ .lvl = 52,
+ .species = SPECIES_KANGASKHAN,
+ .moves = {MOVE_DIZZY_PUNCH, MOVE_BITE, MOVE_ENDURE, MOVE_REVERSAL},
+ },
+ {
+ .iv = 220,
+ .lvl = 52,
+ .species = SPECIES_MACHAMP,
+ .moves = {MOVE_CROSS_CHOP, MOVE_VITAL_THROW, MOVE_REVENGE, MOVE_SEISMIC_TOSS},
+ },
+ {
+ .iv = 220,
+ .lvl = 55,
+ .species = SPECIES_URSARING,
+ .moves = {MOVE_SLASH, MOVE_FAINT_ATTACK, MOVE_SNORE, MOVE_REST},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823E200[] = {
+ {
+ .iv = 220,
+ .lvl = 53,
+ .species = SPECIES_PERSIAN,
+ .moves = {MOVE_SLASH, MOVE_SCREECH, MOVE_FAINT_ATTACK, MOVE_BITE},
+ },
+ {
+ .iv = 220,
+ .lvl = 53,
+ .species = SPECIES_DEWGONG,
+ .moves = {MOVE_ICE_BEAM, MOVE_TAKE_DOWN, MOVE_ICY_WIND, MOVE_SHEER_COLD},
+ },
+ {
+ .iv = 220,
+ .lvl = 54,
+ .species = SPECIES_NINETALES,
+ .moves = {MOVE_FLAMETHROWER, MOVE_CONFUSE_RAY, MOVE_WILL_O_WISP, MOVE_GRUDGE},
+ },
+ {
+ .iv = 220,
+ .lvl = 54,
+ .species = SPECIES_RAPIDASH,
+ .moves = {MOVE_BOUNCE, MOVE_AGILITY, MOVE_FIRE_SPIN, MOVE_TAKE_DOWN},
+ },
+ {
+ .iv = 220,
+ .lvl = 56,
+ .species = SPECIES_GIRAFARIG,
+ .moves = {MOVE_CRUNCH, MOVE_PSYBEAM, MOVE_STOMP, MOVE_ODOR_SLEUTH},
+ },
+};
+
+static const struct TrainerMonNoItemCustomMoves sTrainerMons_823E250[] = {
+ {
+ .iv = 220,
+ .lvl = 57,
+ .species = SPECIES_MILTANK,
+ .moves = {MOVE_BODY_SLAM, MOVE_MILK_DRINK, MOVE_GROWL, MOVE_DEFENSE_CURL},
+ },
+ {
+ .iv = 220,
+ .lvl = 57,
+ .species = SPECIES_TAUROS,
+ .moves = {MOVE_TAKE_DOWN, MOVE_SCARY_FACE, MOVE_PURSUIT, MOVE_SWAGGER},
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823E270[] = {
+ {
+ .iv = 20,
+ .lvl = 19,
+ .species = SPECIES_METAPOD,
+ },
+ {
+ .iv = 20,
+ .lvl = 19,
+ .species = SPECIES_WEEDLE,
+ },
+ {
+ .iv = 20,
+ .lvl = 19,
+ .species = SPECIES_METAPOD,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823E288[] = {
+ {
+ .iv = 60,
+ .lvl = 27,
+ .species = SPECIES_BUTTERFREE,
+ },
+ {
+ .iv = 60,
+ .lvl = 27,
+ .species = SPECIES_KAKUNA,
+ },
+ {
+ .iv = 60,
+ .lvl = 27,
+ .species = SPECIES_BUTTERFREE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823E2A0[] = {
+ {
+ .iv = 120,
+ .lvl = 51,
+ .species = SPECIES_BUTTERFREE,
+ },
+ {
+ .iv = 120,
+ .lvl = 54,
+ .species = SPECIES_BEEDRILL,
+ },
+ {
+ .iv = 120,
+ .lvl = 51,
+ .species = SPECIES_BUTTERFREE,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823E2B8[] = {
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_POLIWHIRL,
+ },
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_POLIWRATH,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823E2C8[] = {
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_SEADRA,
+ },
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_SEADRA,
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823E2D8[] = {
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_POLIWHIRL,
+ },
+ {
+ .iv = 80,
+ .lvl = 49,
+ .species = SPECIES_SEAKING,
+ },
+};
+
+static const struct TrainerMonItemCustomMoves sTrainerMons_823E2E8[] = {
+ {
+ .iv = 255,
+ .lvl = 64,
+ .species = SPECIES_DEWGONG,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_SIGNAL_BEAM, MOVE_DOUBLE_TEAM},
+ },
+ {
+ .iv = 255,
+ .lvl = 63,
+ .species = SPECIES_CLOYSTER,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_SUPERSONIC, MOVE_RAIN_DANCE},
+ },
+ {
+ .iv = 255,
+ .lvl = 63,
+ .species = SPECIES_PILOSWINE,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_BLIZZARD, MOVE_EARTHQUAKE, MOVE_DOUBLE_EDGE, MOVE_ROCK_SLIDE},
+ },
+ {
+ .iv = 255,
+ .lvl = 66,
+ .species = SPECIES_JYNX,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_ICE_BEAM, MOVE_PSYCHIC, MOVE_LOVELY_KISS, MOVE_ATTRACT},
+ },
+ {
+ .iv = 255,
+ .lvl = 66,
+ .species = SPECIES_LAPRAS,
+ .heldItem = ITEM_CHERI_BERRY,
+ .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_PSYCHIC, MOVE_THUNDER},
+ },
+};
+
+static const struct TrainerMonItemCustomMoves sTrainerMons_823E338[] = {
+ {
+ .iv = 255,
+ .lvl = 65,
+ .species = SPECIES_STEELIX,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_CRUNCH, MOVE_ROCK_TOMB},
+ },
+ {
+ .iv = 255,
+ .lvl = 65,
+ .species = SPECIES_HITMONCHAN,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_SKY_UPPERCUT, MOVE_MACH_PUNCH, MOVE_ROCK_SLIDE, MOVE_COUNTER},
+ },
+ {
+ .iv = 255,
+ .lvl = 65,
+ .species = SPECIES_HITMONLEE,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_MEGA_KICK, MOVE_FORESIGHT, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE},
+ },
+ {
+ .iv = 255,
+ .lvl = 66,
+ .species = SPECIES_STEELIX,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_CRUNCH, MOVE_DRAGON_BREATH},
+ },
+ {
+ .iv = 255,
+ .lvl = 68,
+ .species = SPECIES_MACHAMP,
+ .heldItem = ITEM_PERSIM_BERRY,
+ .moves = {MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_BRICK_BREAK, MOVE_ROCK_SLIDE},
+ },
+};
+
+static const struct TrainerMonItemCustomMoves sTrainerMons_823E388[] = {
+ {
+ .iv = 255,
+ .lvl = 66,
+ .species = SPECIES_GENGAR,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_HYPNOSIS},
+ },
+ {
+ .iv = 255,
+ .lvl = 66,
+ .species = SPECIES_CROBAT,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_AIR_CUTTER, MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY},
+ },
+ {
+ .iv = 255,
+ .lvl = 65,
+ .species = SPECIES_MISDREAVUS,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ATTRACT},
+ },
+ {
+ .iv = 255,
+ .lvl = 68,
+ .species = SPECIES_ARBOK,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_DOUBLE_TEAM},
+ },
+ {
+ .iv = 255,
+ .lvl = 70,
+ .species = SPECIES_GENGAR,
+ .heldItem = ITEM_CHESTO_BERRY,
+ .moves = {MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_SLUDGE_BOMB},
+ },
+};
+
+static const struct TrainerMonItemCustomMoves sTrainerMons_823E3D8[] = {
+ {
+ .iv = 255,
+ .lvl = 68,
+ .species = SPECIES_GYARADOS,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_HYPER_BEAM, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE, MOVE_THUNDER_WAVE},
+ },
+ {
+ .iv = 255,
+ .lvl = 66,
+ .species = SPECIES_DRAGONITE,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_FLAMETHROWER},
+ },
+ {
+ .iv = 255,
+ .lvl = 66,
+ .species = SPECIES_KINGDRA,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_HYPER_BEAM, MOVE_DRAGON_DANCE, MOVE_SURF, MOVE_ICE_BEAM},
+ },
+ {
+ .iv = 255,
+ .lvl = 70,
+ .species = SPECIES_AERODACTYL,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_HYPER_BEAM, MOVE_ANCIENT_POWER, MOVE_AERIAL_ACE, MOVE_EARTHQUAKE},
+ },
+ {
+ .iv = 255,
+ .lvl = 72,
+ .species = SPECIES_DRAGONITE,
+ .heldItem = ITEM_PERSIM_BERRY,
+ .moves = {MOVE_HYPER_BEAM, MOVE_OUTRAGE, MOVE_THUNDERBOLT, MOVE_ICE_BEAM},
+ },
+};
+
+static const struct TrainerMonItemCustomMoves sTrainerMons_823E428[] = {
+ {
+ .iv = 255,
+ .lvl = 72,
+ .species = SPECIES_HERACROSS,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_ROCK_TOMB},
+ },
+ {
+ .iv = 255,
+ .lvl = 73,
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_CALM_MIND, MOVE_REFLECT},
+ },
+ {
+ .iv = 255,
+ .lvl = 72,
+ .species = SPECIES_TYRANITAR,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_THUNDERBOLT, MOVE_AERIAL_ACE},
+ },
+ {
+ .iv = 255,
+ .lvl = 73,
+ .species = SPECIES_ARCANINE,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_EXTREME_SPEED, MOVE_OVERHEAT, MOVE_AERIAL_ACE, MOVE_IRON_TAIL},
+ },
+ {
+ .iv = 255,
+ .lvl = 73,
+ .species = SPECIES_EXEGGUTOR,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_GIGA_DRAIN, MOVE_PSYCHIC, MOVE_SLEEP_POWDER, MOVE_LIGHT_SCREEN},
+ },
+ {
+ .iv = 255,
+ .lvl = 75,
+ .species = SPECIES_BLASTOISE,
+ .heldItem = ITEM_SITRUS_BERRY,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_RAIN_DANCE},
+ },
+};
+
+static const struct TrainerMonItemCustomMoves sTrainerMons_823E488[] = {
+ {
+ .iv = 255,
+ .lvl = 72,
+ .species = SPECIES_HERACROSS,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_ROCK_TOMB},
+ },
+ {
+ .iv = 255,
+ .lvl = 73,
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_CALM_MIND, MOVE_REFLECT},
+ },
+ {
+ .iv = 255,
+ .lvl = 72,
+ .species = SPECIES_TYRANITAR,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_THUNDERBOLT, MOVE_AERIAL_ACE},
+ },
+ {
+ .iv = 255,
+ .lvl = 73,
+ .species = SPECIES_GYARADOS,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM},
+ },
+ {
+ .iv = 255,
+ .lvl = 73,
+ .species = SPECIES_ARCANINE,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_EXTREME_SPEED, MOVE_OVERHEAT, MOVE_AERIAL_ACE, MOVE_IRON_TAIL},
+ },
+ {
+ .iv = 255,
+ .lvl = 75,
+ .species = SPECIES_VENUSAUR,
+ .heldItem = ITEM_SITRUS_BERRY,
+ .moves = {MOVE_SOLAR_BEAM, MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_SUNNY_DAY},
+ },
+};
+
+static const struct TrainerMonItemCustomMoves sTrainerMons_823E4E8[] = {
+ {
+ .iv = 255,
+ .lvl = 72,
+ .species = SPECIES_HERACROSS,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_ROCK_TOMB},
+ },
+ {
+ .iv = 255,
+ .lvl = 73,
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_CALM_MIND, MOVE_REFLECT},
+ },
+ {
+ .iv = 255,
+ .lvl = 72,
+ .species = SPECIES_TYRANITAR,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_THUNDERBOLT, MOVE_AERIAL_ACE},
+ },
+ {
+ .iv = 255,
+ .lvl = 73,
+ .species = SPECIES_EXEGGUTOR,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_GIGA_DRAIN, MOVE_PSYCHIC, MOVE_SLEEP_POWDER, MOVE_LIGHT_SCREEN},
+ },
+ {
+ .iv = 255,
+ .lvl = 73,
+ .species = SPECIES_GYARADOS,
+ .heldItem = ITEM_NONE,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM},
+ },
+ {
+ .iv = 255,
+ .lvl = 75,
+ .species = SPECIES_CHARIZARD,
+ .heldItem = ITEM_SITRUS_BERRY,
+ .moves = {MOVE_FIRE_BLAST, MOVE_DRAGON_CLAW, MOVE_AERIAL_ACE, MOVE_EARTHQUAKE},
+ },
+};
+
+static const struct TrainerMonNoItemDefaultMoves sTrainerMons_823E548[] = {
+ {
+ .iv = 50,
+ .lvl = 39,
+ .species = SPECIES_WEEZING,
+ },
+ {
+ .iv = 50,
+ .lvl = 39,
+ .species = SPECIES_MUK,
+ },
+};
diff --git a/src/data/trainers.h b/src/data/trainers.h
new file mode 100644
index 000000000..46c4ef210
--- /dev/null
+++ b/src/data/trainers.h
@@ -0,0 +1,8918 @@
+const struct Trainer gTrainers[] = {
+ [TRAINER_NONE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PKMN_TRAINER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_AQUA_LEADER_ARCHIE,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = 0,
+ .partySize = 0,
+ .party = NULL
+ },
+ [TRAINER_AQUA_LEADER_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_AQUA_LEADER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_AQUA_LEADER_ARCHIE,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A1A0}
+ },
+ [TRAINER_TEAM_AQUA_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_AQUA,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_AQUA_GRUNT_M,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A1A8}
+ },
+ [TRAINER_TEAM_AQUA_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_AQUA,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_AQUA_GRUNT_F,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A1B0}
+ },
+ [TRAINER_AROMA_LADY_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_AROMA_LADY,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_RS_AROMA_LADY,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A1B8}
+ },
+ [TRAINER_RUIN_MANIAC_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_RUIN_MANIAC,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_RS_RUIN_MANIAC,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A1C0}
+ },
+ [TRAINER_INTERVIEWER_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_INTERVIEWER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER,
+ .trainerPic = TRAINER_PIC_INTERVIEWER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A1C8}
+ },
+ [TRAINER_TUBER_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TUBER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
+ .trainerPic = TRAINER_PIC_RS_TUBER_F,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A1D0}
+ },
+ [TRAINER_TUBER_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TUBER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_TUBER_M,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A1D8}
+ },
+ [TRAINER_COOLTRAINER_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_COOLTRAINER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_RS_COOLTRAINER_M,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A1E0}
+ },
+ [TRAINER_COOLTRAINER_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_COOLTRAINER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_RS_COOLTRAINER_F,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A1E8}
+ },
+ [TRAINER_HEX_MANIAC_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_HEX_MANIAC,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_HEX_MANIAC,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A1F0}
+ },
+ [TRAINER_LADY_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LADY,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_RS_LADY,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A1F8}
+ },
+ [TRAINER_BEAUTY_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BEAUTY,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_RS_BEAUTY,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A200}
+ },
+ [TRAINER_RICH_BOY_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_RICH_BOY,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH,
+ .trainerPic = TRAINER_PIC_RICH_BOY,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A208}
+ },
+ [TRAINER_POKEMANIAC_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_POKEMANIAC,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_RS_POKEMANIAC,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A210}
+ },
+ [TRAINER_SWIMMER_MALE_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_RS_SWIMMER_M,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A218}
+ },
+ [TRAINER_BLACK_BELT_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BLACK_BELT,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_RS_BLACK_BELT,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A220}
+ },
+ [TRAINER_GUITARIST_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_GUITARIST,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_GUITARIST,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A228}
+ },
+ [TRAINER_KINDLER_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_KINDLER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_KINDLER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A230}
+ },
+ [TRAINER_CAMPER_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CAMPER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RS_CAMPER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A238}
+ },
+ [TRAINER_BUG_MANIAC_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_MANIAC,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_BUG_MANIAC,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A240}
+ },
+ [TRAINER_PSYCHIC_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PSYCHIC,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_RS_PSYCHIC_M,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A248}
+ },
+ [TRAINER_PSYCHIC_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PSYCHIC,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_RS_PSYCHIC_F,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A250}
+ },
+ [TRAINER_GENTLEMAN_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_GENTLEMAN,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH,
+ .trainerPic = TRAINER_PIC_RS_GENTLEMAN,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A258}
+ },
+ [TRAINER_ELITE_FOUR_SIDNEY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_ELITE_FOUR,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR,
+ .trainerPic = TRAINER_PIC_ELITE_FOUR_SIDNEY,
+ .trainerName = _("SIDNEY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A260}
+ },
+ [TRAINER_ELITE_FOUR_PHOEBE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_ELITE_FOUR,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR,
+ .trainerPic = TRAINER_PIC_ELITE_FOUR_PHOEBE,
+ .trainerName = _("PHOEBE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A268}
+ },
+ [TRAINER_LEADER_ROXANNE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LEADER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_LEADER_ROXANNE,
+ .trainerName = _("ROXANNE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A270}
+ },
+ [TRAINER_LEADER_BRAWLY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LEADER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_LEADER_BRAWLY,
+ .trainerName = _("BRAWLY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A278}
+ },
+ [TRAINER_LEADER_TATE_LIZA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LEADER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_LEADER_TATE_AND_LIZA,
+ .trainerName = _("TATE&LIZA"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A280}
+ },
+ [TRAINER_SCHOOL_KID_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SCHOOL_KID,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_SCHOOL_KID_M,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A288}
+ },
+ [TRAINER_SCHOOL_KID_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SCHOOL_KID,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_SCHOOL_KID_F,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A290}
+ },
+ [TRAINER_SR_AND_JR_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SR_AND_JR,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
+ .trainerPic = TRAINER_PIC_SR_AND_JR,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A298}
+ },
+ [TRAINER_POKEFAN_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_POKEFAN,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
+ .trainerPic = TRAINER_PIC_POKEFAN_M,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A2A0}
+ },
+ [TRAINER_POKEFAN_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_POKEFAN,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
+ .trainerPic = TRAINER_PIC_POKEFAN_F,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A2A8}
+ },
+ [TRAINER_EXPERT_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_EXPERT,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_EXPERT_M,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A2B0}
+ },
+ [TRAINER_EXPERT_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_EXPERT,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_EXPERT_F,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A2B8}
+ },
+ [TRAINER_YOUNGSTER_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RS_YOUNGSTER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A2C0}
+ },
+ [TRAINER_CHAMPION_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHAMPION,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CHAMPION_STEVEN,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A2C8}
+ },
+ [TRAINER_FISHERMAN_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_FISHERMAN,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_RS_FISHERMAN,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A2D0}
+ },
+ [TRAINER_TRIATHLETE_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TRIATHLETE,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A2D8}
+ },
+ [TRAINER_TRIATHLETE_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TRIATHLETE,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A2E0}
+ },
+ [TRAINER_TRIATHLETE_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TRIATHLETE,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A2E8}
+ },
+ [TRAINER_TRIATHLETE_4] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TRIATHLETE,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A2F0}
+ },
+ [TRAINER_TRIATHLETE_5] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TRIATHLETE,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A2F8}
+ },
+ [TRAINER_TRIATHLETE_6] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TRIATHLETE,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A300}
+ },
+ [TRAINER_DRAGON_TAMER_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_DRAGON_TAMER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_DRAGON_TAMER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A308}
+ },
+ [TRAINER_BIRD_KEEPER_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_RS_BIRD_KEEPER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A310}
+ },
+ [TRAINER_NINJA_BOY_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_NINJA_BOY,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_NINJA_BOY,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A318}
+ },
+ [TRAINER_BATTLE_GIRL_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BATTLE_GIRL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_BATTLE_GIRL,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A320}
+ },
+ [TRAINER_PARASOL_LADY_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PARASOL_LADY,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_PARASOL_LADY,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A328}
+ },
+ [TRAINER_SWIMMER_FEMALE_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_FEMALE,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_RS_SWIMMER_F,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A330}
+ },
+ [TRAINER_PICNICKER_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
+ .trainerPic = TRAINER_PIC_RS_PICNICKER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A338}
+ },
+ [TRAINER_TWINS_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TWINS,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
+ .trainerPic = TRAINER_PIC_RS_TWINS,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A340}
+ },
+ [TRAINER_SAILOR_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SAILOR,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RS_SAILOR,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A348}
+ },
+ [TRAINER_BOARDER_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BOARDER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RS_YOUNGSTER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A350}
+ },
+ [TRAINER_BOARDER_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BOARDER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RS_YOUNGSTER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A358}
+ },
+ [TRAINER_COLLECTOR_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_COLLECTOR,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_COLLECTOR,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A360}
+ },
+ [TRAINER_PKMN_TRAINER_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PKMN_TRAINER_3,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_WALLY,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A368}
+ },
+ [TRAINER_PKMN_TRAINER_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PKMN_TRAINER_3,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RS_BRENDAN_1,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A370}
+ },
+ [TRAINER_PKMN_TRAINER_4] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PKMN_TRAINER_3,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RS_BRENDAN_1,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A378}
+ },
+ [TRAINER_PKMN_TRAINER_5] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PKMN_TRAINER_3,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RS_BRENDAN_1,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A380}
+ },
+ [TRAINER_PKMN_TRAINER_6] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PKMN_TRAINER_3,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_RS_MAY_1,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A388}
+ },
+ [TRAINER_PKMN_TRAINER_7] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PKMN_TRAINER_3,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_RS_MAY_1,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A390}
+ },
+ [TRAINER_PKMN_TRAINER_8] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PKMN_TRAINER_3,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_RS_MAY_1,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A398}
+ },
+ [TRAINER_PKMN_BREEDER_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PKMN_BREEDER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A3A0}
+ },
+ [TRAINER_PKMN_BREEDER_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PKMN_BREEDER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_RS_POKEMON_BREEDER_F,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A3A8}
+ },
+ [TRAINER_PKMN_RANGER_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PKMN_RANGER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_RS_POKEMON_RANGER_M,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A3B0}
+ },
+ [TRAINER_PKMN_RANGER_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PKMN_RANGER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_RS_POKEMON_RANGER_F,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A3B8}
+ },
+ [TRAINER_MAGMA_LEADER_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_MAGMA_LEADER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA,
+ .trainerPic = TRAINER_PIC_MAGMA_LEADER_MAXIE,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A3C0}
+ },
+ [TRAINER_TEAM_MAGMA_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_MAGMA,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA,
+ .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A3C8}
+ },
+ [TRAINER_TEAM_MAGMA_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_MAGMA,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA,
+ .trainerPic = TRAINER_PIC_MAGMA_GRUNT_F,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A3D0}
+ },
+ [TRAINER_LASS_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_RS_LASS,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A3D8}
+ },
+ [TRAINER_BUG_CATCHER_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RS_BUG_CATCHER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A3E0}
+ },
+ [TRAINER_HIKER_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_HIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_RS_HIKER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A3E8}
+ },
+ [TRAINER_YOUNG_COUPLE_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNG_COUPLE,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
+ .trainerPic = TRAINER_PIC_RS_YOUNG_COUPLE,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A3F0}
+ },
+ [TRAINER_OLD_COUPLE_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_OLD_COUPLE,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_OLD_COUPLE,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A400}
+ },
+ [TRAINER_SIS_AND_BRO_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SIS_AND_BRO,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_RS_SIS_AND_BRO,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A408}
+ },
+ [TRAINER_AQUA_ADMIN_MATT] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_AQUA_ADMIN,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_AQUA_ADMIN_M,
+ .trainerName = _("MATT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A410}
+ },
+ [TRAINER_AQUA_ADMIN_SHELLY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_AQUA_ADMIN,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_AQUA_ADMIN_F,
+ .trainerName = _("SHELLY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A418}
+ },
+ [TRAINER_MAGMA_ADMIN_TABITHA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_MAGMA_ADMIN,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA,
+ .trainerPic = TRAINER_PIC_MAGMA_ADMIN_M,
+ .trainerName = _("TABITHA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A420}
+ },
+ [TRAINER_MAGMA_ADMIN_COURTNEY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_MAGMA_ADMIN,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA,
+ .trainerPic = TRAINER_PIC_MAGMA_ADMIN_F,
+ .trainerName = _("COURTNEY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A428}
+ },
+ [TRAINER_LEADER_WATTSON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LEADER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_LEADER_WATTSON,
+ .trainerName = _("WATTSON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A430}
+ },
+ [TRAINER_LEADER_FLANNERY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LEADER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_LEADER_FLANNERY,
+ .trainerName = _("FLANNERY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A438}
+ },
+ [TRAINER_LEADER_NORMAN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LEADER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_LEADER_NORMAN,
+ .trainerName = _("NORMAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A440}
+ },
+ [TRAINER_LEADER_WINONA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LEADER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_LEADER_WINONA,
+ .trainerName = _("WINONA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A448}
+ },
+ [TRAINER_LEADER_WALLACE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LEADER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_LEADER_WALLACE,
+ .trainerName = _("WALLACE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A450}
+ },
+ [TRAINER_ELITE_FOUR_GLACIA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_ELITE_FOUR,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR,
+ .trainerPic = TRAINER_PIC_ELITE_FOUR_GLACIA,
+ .trainerName = _("GLACIA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A458}
+ },
+ [TRAINER_ELITE_FOUR_DRAKE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_ELITE_FOUR,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR,
+ .trainerPic = TRAINER_PIC_ELITE_FOUR_DRAKE,
+ .trainerName = _("DRAKE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A460}
+ },
+ [TRAINER_YOUNGSTER_BEN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("BEN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A468}
+ },
+ [TRAINER_YOUNGSTER_CALVIN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("CALVIN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A478}
+ },
+ [TRAINER_YOUNGSTER_JOSH] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("JOSH"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A480}
+ },
+ [TRAINER_YOUNGSTER_TIMMY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("TIMMY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A498}
+ },
+ [TRAINER_YOUNGSTER_JOEY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("JOEY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A4A8}
+ },
+ [TRAINER_YOUNGSTER_DAN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("DAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A4B8}
+ },
+ [TRAINER_YOUNGSTER_CHAD] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("CHAD"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A4C0}
+ },
+ [TRAINER_YOUNGSTER_TYLER] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("TYLER"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A4D0}
+ },
+ [TRAINER_YOUNGSTER_EDDIE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("EDDIE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A4D8}
+ },
+ [TRAINER_YOUNGSTER_DILLON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("DILLON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A4E0}
+ },
+ [TRAINER_YOUNGSTER_YASU] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("YASU"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A4F0}
+ },
+ [TRAINER_YOUNGSTER_DAVE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("DAVE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A508}
+ },
+ [TRAINER_YOUNGSTER_BEN_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("BEN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A518}
+ },
+ [TRAINER_BUG_CATCHER_RICK] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _("RICK"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A528}
+ },
+ [TRAINER_BUG_CATCHER_DOUG] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _("DOUG"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A538}
+ },
+ [TRAINER_BUG_CATCHER_SAMMY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _("SAMMY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A550}
+ },
+ [TRAINER_BUG_CATCHER_COLTON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _("COLTON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A558}
+ },
+ [TRAINER_BUG_CATCHER_GREG] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _("GREG"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A570}
+ },
+ [TRAINER_BUG_CATCHER_JAMES] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _("JAMES"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A590}
+ },
+ [TRAINER_BUG_CATCHER_KENT] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _("KENT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A5A0}
+ },
+ [TRAINER_BUG_CATCHER_ROBBY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _("ROBBY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A5B0}
+ },
+ [TRAINER_BUG_CATCHER_CALE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _("CALE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A5C8}
+ },
+ [TRAINER_BUG_CATCHER_KEIGO] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _("KEIGO"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A5E8}
+ },
+ [TRAINER_BUG_CATCHER_ELIJAH] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _("ELIJAH"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A600}
+ },
+ [TRAINER_BUG_CATCHER_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A608}
+ },
+ [TRAINER_BUG_CATCHER_BRENT] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _("BRENT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A620}
+ },
+ [TRAINER_BUG_CATCHER_CONNER] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _("CONNER"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A630}
+ },
+ [TRAINER_LASS_JANICE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("JANICE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A648}
+ },
+ [TRAINER_LASS_SALLY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("SALLY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A658}
+ },
+ [TRAINER_LASS_ROBIN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("ROBIN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A668}
+ },
+ [TRAINER_LASS_CRISSY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("CRISSY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A670}
+ },
+ [TRAINER_LASS_MIRIAM] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("MIRIAM"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A688}
+ },
+ [TRAINER_LASS_IRIS] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("IRIS"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A698}
+ },
+ [TRAINER_LASS_RELI] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("RELI"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A6A0}
+ },
+ [TRAINER_LASS_ALI] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("ALI"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A6B0}
+ },
+ [TRAINER_LASS_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A6C8}
+ },
+ [TRAINER_LASS_HALEY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("HALEY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A6D8}
+ },
+ [TRAINER_LASS_ANN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("ANN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A6F0}
+ },
+ [TRAINER_LASS_DAWN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("DAWN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A700}
+ },
+ [TRAINER_LASS_PAIGE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("PAIGE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A710}
+ },
+ [TRAINER_LASS_ANDREA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("ANDREA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A720}
+ },
+ [TRAINER_LASS_MEGAN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("MEGAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 5,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A738}
+ },
+ [TRAINER_LASS_JULIA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("JULIA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A760}
+ },
+ [TRAINER_LASS_KAY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("KAY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A770}
+ },
+ [TRAINER_LASS_LISA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("LISA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A780}
+ },
+ [TRAINER_SAILOR_EDMOND] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SAILOR_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_SAILOR,
+ .trainerName = _("EDMOND"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A790}
+ },
+ [TRAINER_SAILOR_TREVOR] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SAILOR_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_SAILOR,
+ .trainerName = _("TREVOR"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A7A0}
+ },
+ [TRAINER_SAILOR_LEONARD] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SAILOR_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_SAILOR,
+ .trainerName = _("LEONARD"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A7B0}
+ },
+ [TRAINER_SAILOR_DUNCAN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SAILOR_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_SAILOR,
+ .trainerName = _("DUNCAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A7B8}
+ },
+ [TRAINER_SAILOR_HUEY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SAILOR_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_SAILOR,
+ .trainerName = _("HUEY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A7D0}
+ },
+ [TRAINER_SAILOR_DYLAN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SAILOR_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_SAILOR,
+ .trainerName = _("DYLAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A7E0}
+ },
+ [TRAINER_SAILOR_PHILLIP] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SAILOR_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_SAILOR,
+ .trainerName = _("PHILLIP"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A7F8}
+ },
+ [TRAINER_SAILOR_DWAYNE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SAILOR_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_SAILOR,
+ .trainerName = _("DWAYNE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A800}
+ },
+ [TRAINER_CAMPER_LIAM] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_CAMPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CAMPER,
+ .trainerName = _("LIAM"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823A810}
+ },
+ [TRAINER_CAMPER_SHANE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CAMPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CAMPER,
+ .trainerName = _("SHANE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A830}
+ },
+ [TRAINER_CAMPER_ETHAN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CAMPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CAMPER,
+ .trainerName = _("ETHAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A840}
+ },
+ [TRAINER_CAMPER_RICKY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CAMPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CAMPER,
+ .trainerName = _("RICKY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A848}
+ },
+ [TRAINER_CAMPER_JEFF] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CAMPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CAMPER,
+ .trainerName = _("JEFF"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A850}
+ },
+ [TRAINER_CAMPER_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CAMPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CAMPER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A860}
+ },
+ [TRAINER_CAMPER_CHRIS] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CAMPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CAMPER,
+ .trainerName = _("CHRIS"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A868}
+ },
+ [TRAINER_CAMPER_DREW] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CAMPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CAMPER,
+ .trainerName = _("DREW"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A878}
+ },
+ [TRAINER_PICNICKER_DIANA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("DIANA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A898}
+ },
+ [TRAINER_PICNICKER_NANCY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("NANCY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A8A0}
+ },
+ [TRAINER_PICNICKER_ISABELLE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("ISABELLE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A8B0}
+ },
+ [TRAINER_PICNICKER_KELSEY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("KELSEY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A8C8}
+ },
+ [TRAINER_PICNICKER_ALICIA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("ALICIA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A8D8}
+ },
+ [TRAINER_PICNICKER_CAITLIN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("CAITLIN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A8F8}
+ },
+ [TRAINER_PICNICKER_HEIDI] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("HEIDI"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A900}
+ },
+ [TRAINER_PICNICKER_CAROL] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("CAROL"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A910}
+ },
+ [TRAINER_PICNICKER_SOFIA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("SOFIA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A920}
+ },
+ [TRAINER_PICNICKER_MARTHA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("MARTHA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A938}
+ },
+ [TRAINER_PICNICKER_TINA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("TINA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A948}
+ },
+ [TRAINER_PICNICKER_HANNAH] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("HANNAH"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 5,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A958}
+ },
+ [TRAINER_POKEMANIAC_MARK] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_POKEMANIAC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_POKEMANIAC,
+ .trainerName = _("MARK"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A980}
+ },
+ [TRAINER_POKEMANIAC_HERMAN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_POKEMANIAC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_POKEMANIAC,
+ .trainerName = _("HERMAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A990}
+ },
+ [TRAINER_POKEMANIAC_COOPER] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_POKEMANIAC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_POKEMANIAC,
+ .trainerName = _("COOPER"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A9A0}
+ },
+ [TRAINER_POKEMANIAC_STEVE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_POKEMANIAC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_POKEMANIAC,
+ .trainerName = _("STEVE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A9B8}
+ },
+ [TRAINER_POKEMANIAC_WINSTON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_POKEMANIAC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_POKEMANIAC,
+ .trainerName = _("WINSTON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A9C8}
+ },
+ [TRAINER_POKEMANIAC_DAWSON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_POKEMANIAC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_POKEMANIAC,
+ .trainerName = _("DAWSON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A9D0}
+ },
+ [TRAINER_POKEMANIAC_ASHTON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_POKEMANIAC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_POKEMANIAC,
+ .trainerName = _("ASHTON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A9E8}
+ },
+ [TRAINER_SUPER_NERD_JOVAN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SUPER_NERD,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SUPER_NERD,
+ .trainerName = _("JOVAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823A9F8}
+ },
+ [TRAINER_SUPER_NERD_MIGUEL] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SUPER_NERD,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SUPER_NERD,
+ .trainerName = _("MIGUEL"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AA08}
+ },
+ [TRAINER_SUPER_NERD_AIDAN] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_SUPER_NERD,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SUPER_NERD,
+ .trainerName = _("AIDAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemCustomMoves = sTrainerMons_823AA20}
+ },
+ [TRAINER_SUPER_NERD_GLENN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SUPER_NERD,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SUPER_NERD,
+ .trainerName = _("GLENN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AA60}
+ },
+ [TRAINER_SUPER_NERD_LESLIE] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_SUPER_NERD,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SUPER_NERD,
+ .trainerName = _("LESLIE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemCustomMoves = sTrainerMons_823AA78}
+ },
+ [TRAINER_SUPER_NERD_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SUPER_NERD,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SUPER_NERD,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AA88}
+ },
+ [TRAINER_SUPER_NERD_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SUPER_NERD,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SUPER_NERD,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AAA0}
+ },
+ [TRAINER_SUPER_NERD_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SUPER_NERD,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SUPER_NERD,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AAC0}
+ },
+ [TRAINER_SUPER_NERD_ERIK] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SUPER_NERD,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SUPER_NERD,
+ .trainerName = _("ERIK"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AAD0}
+ },
+ [TRAINER_SUPER_NERD_AVERY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SUPER_NERD,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SUPER_NERD,
+ .trainerName = _("AVERY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AAE8}
+ },
+ [TRAINER_SUPER_NERD_DEREK] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SUPER_NERD,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SUPER_NERD,
+ .trainerName = _("DEREK"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AB08}
+ },
+ [TRAINER_SUPER_NERD_ZAC] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SUPER_NERD,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SUPER_NERD,
+ .trainerName = _("ZAC"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AB10}
+ },
+ [TRAINER_HIKER_MARCOS] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_HIKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_HIKER,
+ .trainerName = _("MARCOS"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AB20}
+ },
+ [TRAINER_HIKER_FRANKLIN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_HIKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_HIKER,
+ .trainerName = _("FRANKLIN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AB38}
+ },
+ [TRAINER_HIKER_NOB] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_HIKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_HIKER,
+ .trainerName = _("NOB"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AB48}
+ },
+ [TRAINER_HIKER_WAYNE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_HIKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_HIKER,
+ .trainerName = _("WAYNE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AB68}
+ },
+ [TRAINER_HIKER_ALAN] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_HIKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_HIKER,
+ .trainerName = _("ALAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823AB70}
+ },
+ [TRAINER_HIKER_BRICE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_HIKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_HIKER,
+ .trainerName = _("BRICE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AB90}
+ },
+ [TRAINER_HIKER_CLARK] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_HIKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_HIKER,
+ .trainerName = _("CLARK"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823ABA8}
+ },
+ [TRAINER_HIKER_TRENT] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_HIKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_HIKER,
+ .trainerName = _("TRENT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823ABC8}
+ },
+ [TRAINER_HIKER_DUDLEY] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_HIKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_HIKER,
+ .trainerName = _("DUDLEY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemCustomMoves = sTrainerMons_823ABD8}
+ },
+ [TRAINER_HIKER_ALLEN] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_HIKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_HIKER,
+ .trainerName = _("ALLEN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemCustomMoves = sTrainerMons_823AC08}
+ },
+ [TRAINER_HIKER_ERIC] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_HIKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_HIKER,
+ .trainerName = _("ERIC"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AC18}
+ },
+ [TRAINER_HIKER_LENNY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_HIKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_HIKER,
+ .trainerName = _("LENNY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AC28}
+ },
+ [TRAINER_HIKER_OLIVER] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_HIKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_HIKER,
+ .trainerName = _("OLIVER"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AC48}
+ },
+ [TRAINER_HIKER_LUCAS] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_HIKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_HIKER,
+ .trainerName = _("LUCAS"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823AC60}
+ },
+ [TRAINER_BIKER_JARED] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("JARED"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemCustomMoves = sTrainerMons_823AC80}
+ },
+ [TRAINER_BIKER_MALIK] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("MALIK"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823ACB0}
+ },
+ [TRAINER_BIKER_ERNEST] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("ERNEST"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823ACD0}
+ },
+ [TRAINER_BIKER_ALEX] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("ALEX"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemCustomMoves = sTrainerMons_823AD20}
+ },
+ [TRAINER_BIKER_LAO] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("LAO"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823AD50}
+ },
+ [TRAINER_BIKER_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AD70}
+ },
+ [TRAINER_BIKER_HIDEO] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("HIDEO"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AD78}
+ },
+ [TRAINER_BIKER_RUBEN] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("RUBEN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemCustomMoves = sTrainerMons_823AD80}
+ },
+ [TRAINER_BIKER_BILLY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("BILLY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823ADB0}
+ },
+ [TRAINER_BIKER_NIKOLAS] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("NIKOLAS"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823ADB8}
+ },
+ [TRAINER_BIKER_JAXON] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("JAXON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823ADD8}
+ },
+ [TRAINER_BIKER_WILLIAM] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("WILLIAM"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823ADF8}
+ },
+ [TRAINER_BIKER_LUKAS] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("LUKAS"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemCustomMoves = sTrainerMons_823AE48}
+ },
+ [TRAINER_BIKER_ISAAC] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("ISAAC"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemCustomMoves = sTrainerMons_823AE88}
+ },
+ [TRAINER_BIKER_GERALD] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("GERALD"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823AEB8}
+ },
+ [TRAINER_BURGLAR_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BURGLAR,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_BURGLAR,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AED8}
+ },
+ [TRAINER_BURGLAR_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BURGLAR,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_BURGLAR,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AEE8}
+ },
+ [TRAINER_BURGLAR_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BURGLAR,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_BURGLAR,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AEF0}
+ },
+ [TRAINER_BURGLAR_QUINN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BURGLAR,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_BURGLAR,
+ .trainerName = _("QUINN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AF08}
+ },
+ [TRAINER_BURGLAR_RAMON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BURGLAR,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_BURGLAR,
+ .trainerName = _("RAMON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AF20}
+ },
+ [TRAINER_BURGLAR_DUSTY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BURGLAR,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_BURGLAR,
+ .trainerName = _("DUSTY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AF28}
+ },
+ [TRAINER_BURGLAR_ARNIE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BURGLAR,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_BURGLAR,
+ .trainerName = _("ARNIE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AF38}
+ },
+ [TRAINER_BURGLAR_4] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BURGLAR,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_BURGLAR,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AF48}
+ },
+ [TRAINER_BURGLAR_SIMON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BURGLAR,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_BURGLAR,
+ .trainerName = _("SIMON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AF58}
+ },
+ [TRAINER_BURGLAR_LEWIS] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BURGLAR,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_BURGLAR,
+ .trainerName = _("LEWIS"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AF60}
+ },
+ [TRAINER_ENGINEER_BAILY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_ENGINEER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_ENGINEER,
+ .trainerName = _("BAILY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AF70}
+ },
+ [TRAINER_ENGINEER_BRAXTON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_ENGINEER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_ENGINEER,
+ .trainerName = _("BRAXTON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AF80}
+ },
+ [TRAINER_ENGINEER_BERNIE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_ENGINEER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_ENGINEER,
+ .trainerName = _("BERNIE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AF88}
+ },
+ [TRAINER_FISHERMAN_DALE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_FISHERMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_FISHERMAN,
+ .trainerName = _("DALE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AFA0}
+ },
+ [TRAINER_FISHERMAN_BARNY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_FISHERMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_FISHERMAN,
+ .trainerName = _("BARNY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AFB8}
+ },
+ [TRAINER_FISHERMAN_NED] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_FISHERMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_FISHERMAN,
+ .trainerName = _("NED"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AFD0}
+ },
+ [TRAINER_FISHERMAN_CHIP] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_FISHERMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_FISHERMAN,
+ .trainerName = _("CHIP"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AFE8}
+ },
+ [TRAINER_FISHERMAN_HANK] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_FISHERMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_FISHERMAN,
+ .trainerName = _("HANK"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823AFF8}
+ },
+ [TRAINER_FISHERMAN_ELLIOT] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_FISHERMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_FISHERMAN,
+ .trainerName = _("ELLIOT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B000}
+ },
+ [TRAINER_FISHERMAN_RONALD] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_FISHERMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_FISHERMAN,
+ .trainerName = _("RONALD"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B020}
+ },
+ [TRAINER_FISHERMAN_CLAUDE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_FISHERMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_FISHERMAN,
+ .trainerName = _("CLAUDE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B040}
+ },
+ [TRAINER_FISHERMAN_WADE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_FISHERMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_FISHERMAN,
+ .trainerName = _("WADE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 6,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B050}
+ },
+ [TRAINER_FISHERMAN_NOLAN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_FISHERMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_FISHERMAN,
+ .trainerName = _("NOLAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B080}
+ },
+ [TRAINER_FISHERMAN_ANDREW] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_FISHERMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_FISHERMAN,
+ .trainerName = _("ANDREW"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B090}
+ },
+ [TRAINER_SWIMMER_MALE_LUIS] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("LUIS"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B0A0}
+ },
+ [TRAINER_SWIMMER_MALE_RICHARD] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("RICHARD"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B0B0}
+ },
+ [TRAINER_SWIMMER_MALE_REECE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("REECE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B0C0}
+ },
+ [TRAINER_SWIMMER_MALE_MATTHEW] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("MATTHEW"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B0D8}
+ },
+ [TRAINER_SWIMMER_MALE_DOUGLAS] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("DOUGLAS"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B0E8}
+ },
+ [TRAINER_SWIMMER_MALE_DAVID] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("DAVID"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B108}
+ },
+ [TRAINER_SWIMMER_MALE_TONY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("TONY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B120}
+ },
+ [TRAINER_SWIMMER_MALE_AXLE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("AXLE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 5,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B130}
+ },
+ [TRAINER_SWIMMER_MALE_BARRY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("BARRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B158}
+ },
+ [TRAINER_SWIMMER_MALE_DEAN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("DEAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B168}
+ },
+ [TRAINER_SWIMMER_MALE_DARRIN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("DARRIN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B170}
+ },
+ [TRAINER_SWIMMER_MALE_SPENCER] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("SPENCER"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B190}
+ },
+ [TRAINER_SWIMMER_MALE_JACK] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("JACK"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B1A0}
+ },
+ [TRAINER_SWIMMER_MALE_JEROME] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("JEROME"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B1A8}
+ },
+ [TRAINER_SWIMMER_MALE_ROLAND] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("ROLAND"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B1B8}
+ },
+ [TRAINER_CUE_BALL_KOJI] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CUE_BALL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CUE_BALL,
+ .trainerName = _("KOJI"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B1D0}
+ },
+ [TRAINER_CUE_BALL_LUKE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CUE_BALL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CUE_BALL,
+ .trainerName = _("LUKE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B1E8}
+ },
+ [TRAINER_CUE_BALL_CAMRON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CUE_BALL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CUE_BALL,
+ .trainerName = _("CAMRON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B1F8}
+ },
+ [TRAINER_CUE_BALL_RAUL] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CUE_BALL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CUE_BALL,
+ .trainerName = _("RAUL"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B208}
+ },
+ [TRAINER_CUE_BALL_ISAIAH] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CUE_BALL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CUE_BALL,
+ .trainerName = _("ISAIAH"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B218}
+ },
+ [TRAINER_CUE_BALL_ZEEK] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CUE_BALL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CUE_BALL,
+ .trainerName = _("ZEEK"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B228}
+ },
+ [TRAINER_CUE_BALL_JAMAL] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CUE_BALL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CUE_BALL,
+ .trainerName = _("JAMAL"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B230}
+ },
+ [TRAINER_CUE_BALL_COREY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CUE_BALL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CUE_BALL,
+ .trainerName = _("COREY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B250}
+ },
+ [TRAINER_CUE_BALL_CHASE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CUE_BALL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CUE_BALL,
+ .trainerName = _("CHASE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B260}
+ },
+ [TRAINER_GAMER_HUGO] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_GAMER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_GAMER,
+ .trainerName = _("HUGO"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B278}
+ },
+ [TRAINER_GAMER_JASPER] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_GAMER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_GAMER,
+ .trainerName = _("JASPER"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B288}
+ },
+ [TRAINER_GAMER_DIRK] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_GAMER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_GAMER,
+ .trainerName = _("DIRK"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B298}
+ },
+ [TRAINER_GAMER_DARIAN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_GAMER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_GAMER,
+ .trainerName = _("DARIAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B2A8}
+ },
+ [TRAINER_GAMER_STAN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_GAMER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_GAMER,
+ .trainerName = _("STAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B2B8}
+ },
+ [TRAINER_GAMER_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_GAMER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_GAMER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B2D0}
+ },
+ [TRAINER_GAMER_RICH] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_GAMER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_GAMER,
+ .trainerName = _("RICH"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B2D8}
+ },
+ [TRAINER_BEAUTY_BRIDGET] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BEAUTY_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_BEAUTY,
+ .trainerName = _("BRIDGET"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B2E8}
+ },
+ [TRAINER_BEAUTY_TAMIA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BEAUTY_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_BEAUTY,
+ .trainerName = _("TAMIA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B308}
+ },
+ [TRAINER_BEAUTY_LORI] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BEAUTY_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_BEAUTY,
+ .trainerName = _("LORI"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B318}
+ },
+ [TRAINER_BEAUTY_LOLA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BEAUTY_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_BEAUTY,
+ .trainerName = _("LOLA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B320}
+ },
+ [TRAINER_BEAUTY_SHEILA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BEAUTY_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_BEAUTY,
+ .trainerName = _("SHEILA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B338}
+ },
+ [TRAINER_SWIMMER_FEMALE_TIFFANY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_FEMALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_SWIMMER_F,
+ .trainerName = _("TIFFANY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B348}
+ },
+ [TRAINER_SWIMMER_FEMALE_NORA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_FEMALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_SWIMMER_F,
+ .trainerName = _("NORA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B350}
+ },
+ [TRAINER_SWIMMER_FEMALE_MELISSA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_FEMALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_SWIMMER_F,
+ .trainerName = _("MELISSA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B368}
+ },
+ [TRAINER_BEAUTY_GRACE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BEAUTY_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_BEAUTY,
+ .trainerName = _("GRACE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B378}
+ },
+ [TRAINER_BEAUTY_OLIVIA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BEAUTY_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_BEAUTY,
+ .trainerName = _("OLIVIA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B388}
+ },
+ [TRAINER_BEAUTY_LAUREN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BEAUTY_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_SWIMMER_F,
+ .trainerName = _("LAUREN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B398}
+ },
+ [TRAINER_SWIMMER_FEMALE_ANYA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_FEMALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_SWIMMER_F,
+ .trainerName = _("ANYA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 5,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B3B0}
+ },
+ [TRAINER_SWIMMER_FEMALE_ALICE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_FEMALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_SWIMMER_F,
+ .trainerName = _("ALICE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B3D8}
+ },
+ [TRAINER_SWIMMER_FEMALE_CONNIE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_FEMALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_SWIMMER_F,
+ .trainerName = _("CONNIE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B3E8}
+ },
+ [TRAINER_SWIMMER_FEMALE_SHIRLEY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_FEMALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_SWIMMER_F,
+ .trainerName = _("SHIRLEY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B400}
+ },
+ [TRAINER_PSYCHIC_JOHAN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PSYCHIC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_PSYCHIC_M,
+ .trainerName = _("JOHAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B418}
+ },
+ [TRAINER_PSYCHIC_TYRON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PSYCHIC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_PSYCHIC_M,
+ .trainerName = _("TYRON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B438}
+ },
+ [TRAINER_PSYCHIC_CAMERON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PSYCHIC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_PSYCHIC_M,
+ .trainerName = _("CAMERON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B448}
+ },
+ [TRAINER_PSYCHIC_PRESTON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PSYCHIC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_PSYCHIC_M,
+ .trainerName = _("PRESTON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B460}
+ },
+ [TRAINER_ROCKER_RANDALL] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_ROCKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_ROCKER,
+ .trainerName = _("RANDALL"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B468}
+ },
+ [TRAINER_ROCKER_LUCA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_ROCKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_ROCKER,
+ .trainerName = _("LUCA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B480}
+ },
+ [TRAINER_JUGGLER_DALTON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_JUGGLER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_JUGGLER,
+ .trainerName = _("DALTON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B490}
+ },
+ [TRAINER_JUGGLER_NELSON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_JUGGLER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_JUGGLER,
+ .trainerName = _("NELSON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B4A0}
+ },
+ [TRAINER_JUGGLER_KIRK] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_JUGGLER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_JUGGLER,
+ .trainerName = _("KIRK"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B4C0}
+ },
+ [TRAINER_JUGGLER_SHAWN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_JUGGLER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_JUGGLER,
+ .trainerName = _("SHAWN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B4E0}
+ },
+ [TRAINER_JUGGLER_GREGORY] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_JUGGLER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_JUGGLER,
+ .trainerName = _("GREGORY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemCustomMoves = sTrainerMons_823B4F0}
+ },
+ [TRAINER_JUGGLER_EDWARD] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_JUGGLER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_JUGGLER,
+ .trainerName = _("EDWARD"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemCustomMoves = sTrainerMons_823B500}
+ },
+ [TRAINER_JUGGLER_KAYDEN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_JUGGLER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_JUGGLER,
+ .trainerName = _("KAYDEN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B540}
+ },
+ [TRAINER_JUGGLER_NATE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_JUGGLER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_JUGGLER,
+ .trainerName = _("NATE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B548}
+ },
+ [TRAINER_TAMER_PHIL] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TAMER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_TAMER,
+ .trainerName = _("PHIL"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B558}
+ },
+ [TRAINER_TAMER_EDGAR] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TAMER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_TAMER,
+ .trainerName = _("EDGAR"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B568}
+ },
+ [TRAINER_TAMER_JASON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TAMER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_TAMER,
+ .trainerName = _("JASON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B580}
+ },
+ [TRAINER_TAMER_COLE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TAMER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_TAMER,
+ .trainerName = _("COLE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B588}
+ },
+ [TRAINER_TAMER_VINCENT] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TAMER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_TAMER,
+ .trainerName = _("VINCENT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B598}
+ },
+ [TRAINER_TAMER_JOHN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TAMER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_TAMER,
+ .trainerName = _("JOHN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B5A8}
+ },
+ [TRAINER_BIRD_KEEPER_SEBASTIAN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("SEBASTIAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B5C8}
+ },
+ [TRAINER_BIRD_KEEPER_PERRY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("PERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 5,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B5D8}
+ },
+ [TRAINER_BIRD_KEEPER_ROBERT] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("ROBERT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B600}
+ },
+ [TRAINER_BIRD_KEEPER_DONALD] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("DONALD"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B620}
+ },
+ [TRAINER_BIRD_KEEPER_BENNY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("BENNY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B628}
+ },
+ [TRAINER_BIRD_KEEPER_EDWIN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("EDWIN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B638}
+ },
+ [TRAINER_BIRD_KEEPER_CHESTER] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("CHESTER"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B658}
+ },
+ [TRAINER_BIRD_KEEPER_WILTON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("WILTON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B670}
+ },
+ [TRAINER_BIRD_KEEPER_RAMIRO] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("RAMIRO"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B680}
+ },
+ [TRAINER_BIRD_KEEPER_JACOB] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("JACOB"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B688}
+ },
+ [TRAINER_BIRD_KEEPER_ROGER] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("ROGER"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B6A8}
+ },
+ [TRAINER_BIRD_KEEPER_REED] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("REED"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B6C0}
+ },
+ [TRAINER_BIRD_KEEPER_KEITH] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("KEITH"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B6E0}
+ },
+ [TRAINER_BIRD_KEEPER_CARTER] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("CARTER"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B6F0}
+ },
+ [TRAINER_BIRD_KEEPER_MITCH] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("MITCH"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B708}
+ },
+ [TRAINER_BIRD_KEEPER_BECK] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("BECK"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B728}
+ },
+ [TRAINER_BIRD_KEEPER_MARLON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("MARLON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B738}
+ },
+ [TRAINER_BLACK_BELT_KOICHI] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_BLACK_BELT_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_BLACK_BELT,
+ .trainerName = _("KOICHI"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823B750}
+ },
+ [TRAINER_BLACK_BELT_MIKE] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_BLACK_BELT_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_BLACK_BELT,
+ .trainerName = _("MIKE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.ItemDefaultMoves = sTrainerMons_823B760}
+ },
+ [TRAINER_BLACK_BELT_HIDEKI] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_BLACK_BELT_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_BLACK_BELT,
+ .trainerName = _("HIDEKI"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823B778}
+ },
+ [TRAINER_BLACK_BELT_AARON] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_BLACK_BELT_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_BLACK_BELT,
+ .trainerName = _("AARON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.ItemDefaultMoves = sTrainerMons_823B788}
+ },
+ [TRAINER_BLACK_BELT_HITOSHI] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_BLACK_BELT_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_BLACK_BELT,
+ .trainerName = _("HITOSHI"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.ItemDefaultMoves = sTrainerMons_823B790}
+ },
+ [TRAINER_BLACK_BELT_ATSUSHI] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_BLACK_BELT_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_BLACK_BELT,
+ .trainerName = _("ATSUSHI"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823B7A8}
+ },
+ [TRAINER_BLACK_BELT_KIYO] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_BLACK_BELT_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_BLACK_BELT,
+ .trainerName = _("KIYO"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.ItemDefaultMoves = sTrainerMons_823B7B8}
+ },
+ [TRAINER_BLACK_BELT_TAKASHI] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_BLACK_BELT_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_BLACK_BELT,
+ .trainerName = _("TAKASHI"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.ItemDefaultMoves = sTrainerMons_823B7C0}
+ },
+ [TRAINER_BLACK_BELT_DAISUKE] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_BLACK_BELT_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_BLACK_BELT,
+ .trainerName = _("DAISUKE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.ItemDefaultMoves = sTrainerMons_823B7D8}
+ },
+ [TRAINER_RIVAL_OAKS_LAB_SQUIRTLE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_RIVAL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RIVAL_1,
+ .trainerName = _("TERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B7F0}
+ },
+ [TRAINER_RIVAL_OAKS_LAB_BULBASAUR] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_RIVAL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RIVAL_1,
+ .trainerName = _("TERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B7F8}
+ },
+ [TRAINER_RIVAL_OAKS_LAB_CHARMANDER] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_RIVAL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RIVAL_1,
+ .trainerName = _("TERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B800}
+ },
+ [TRAINER_RIVAL_ROUTE22_EARLY_SQUIRTLE] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_RIVAL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RIVAL_1,
+ .trainerName = _("TERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823B808}
+ },
+ [TRAINER_RIVAL_ROUTE22_EARLY_BULBASAUR] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_RIVAL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RIVAL_1,
+ .trainerName = _("TERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823B828}
+ },
+ [TRAINER_RIVAL_ROUTE22_EARLY_CHARMANDER] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_RIVAL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RIVAL_1,
+ .trainerName = _("TERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823B848}
+ },
+ [TRAINER_RIVAL_CERULEAN_SQUIRTLE] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_RIVAL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RIVAL_1,
+ .trainerName = _("TERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 4,
+ .party = {.NoItemCustomMoves = sTrainerMons_823B868}
+ },
+ [TRAINER_RIVAL_CERULEAN_BULBASAUR] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_RIVAL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RIVAL_1,
+ .trainerName = _("TERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 4,
+ .party = {.NoItemCustomMoves = sTrainerMons_823B8A8}
+ },
+ [TRAINER_RIVAL_CERULEAN_CHARMANDER] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_RIVAL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RIVAL_1,
+ .trainerName = _("TERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 4,
+ .party = {.NoItemCustomMoves = sTrainerMons_823B8E8}
+ },
+ [TRAINER_SCIENTIST_TED] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SCIENTIST,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SCIENTIST,
+ .trainerName = _("TED"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B928}
+ },
+ [TRAINER_SCIENTIST_CONNOR] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_SCIENTIST,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SCIENTIST,
+ .trainerName = _("CONNOR"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemCustomMoves = sTrainerMons_823B938}
+ },
+ [TRAINER_SCIENTIST_JERRY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SCIENTIST,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SCIENTIST,
+ .trainerName = _("JERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B978}
+ },
+ [TRAINER_SCIENTIST_JOSE] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_SCIENTIST,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SCIENTIST,
+ .trainerName = _("JOSE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823B990}
+ },
+ [TRAINER_SCIENTIST_RODNEY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SCIENTIST,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SCIENTIST,
+ .trainerName = _("RODNEY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823B9B0}
+ },
+ [TRAINER_SCIENTIST_BEAU] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_SCIENTIST,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SCIENTIST,
+ .trainerName = _("BEAU"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemCustomMoves = sTrainerMons_823B9B8}
+ },
+ [TRAINER_SCIENTIST_TAYLOR] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_SCIENTIST,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SCIENTIST,
+ .trainerName = _("TAYLOR"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823B9F8}
+ },
+ [TRAINER_SCIENTIST_JOSHUA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SCIENTIST,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SCIENTIST,
+ .trainerName = _("JOSHUA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BA48}
+ },
+ [TRAINER_SCIENTIST_PARKER] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SCIENTIST,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SCIENTIST,
+ .trainerName = _("PARKER"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BA58}
+ },
+ [TRAINER_SCIENTIST_ED] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_SCIENTIST,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SCIENTIST,
+ .trainerName = _("ED"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemCustomMoves = sTrainerMons_823BA68}
+ },
+ [TRAINER_SCIENTIST_TRAVIS] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SCIENTIST,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SCIENTIST,
+ .trainerName = _("TRAVIS"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BA98}
+ },
+ [TRAINER_SCIENTIST_BRAYDON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SCIENTIST,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SCIENTIST,
+ .trainerName = _("BRAYDON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BAA8}
+ },
+ [TRAINER_SCIENTIST_IVAN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SCIENTIST,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SCIENTIST,
+ .trainerName = _("IVAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BAC0}
+ },
+ [TRAINER_BOSS_GIOVANNI] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BOSS,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_LEADER_GIOVANNI,
+ .trainerName = _("GIOVANNI"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BAD0}
+ },
+ [TRAINER_BOSS_GIOVANNI_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BOSS,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_LEADER_GIOVANNI,
+ .trainerName = _("GIOVANNI"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BAE8}
+ },
+ [TRAINER_LEADER_GIOVANNI] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_LEADER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_LEADER_GIOVANNI,
+ .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,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823BB08}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BB58}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BB68}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BB80}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_4] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BB90}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_5] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BBA0}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_6] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BBB0}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_7] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BBC0}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_8] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BBD0}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_9] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BBE0}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_10] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemCustomMoves = sTrainerMons_823BBF0}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_11] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BC20}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_12] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823BC40}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_13] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823BC60}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_14] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BCB0}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_15] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BCC8}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_16] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BCD8}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_17] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BCF0}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_18] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BD08}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_19] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BD18}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_20] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BD30}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_21] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BD40}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_22] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BD60}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_23] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BD70}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_24] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 5,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BD80}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_25] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BDA8}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_26] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BDC0}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_27] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BDD0}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_28] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BDE8}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_29] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BDF0}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_30] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BDF8}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_31] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BE08}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_32] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemCustomMoves = sTrainerMons_823BE20}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_33] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BE60}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_34] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BE70}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_35] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BE80}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_36] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BEA0}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_37] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BEB8}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_38] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BED0}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_39] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BEE8}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_40] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 5,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BEF0}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_41] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823BF18}
+ },
+ [TRAINER_COOLTRAINER_SAMUEL] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOLTRAINER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
+ .trainerName = _("SAMUEL"),
+ .items = {ITEM_SUPER_POTION},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823BF30}
+ },
+ [TRAINER_COOLTRAINER_GEORGE] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOLTRAINER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
+ .trainerName = _("GEORGE"),
+ .items = {ITEM_HYPER_POTION},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823BF80}
+ },
+ [TRAINER_COOLTRAINER_COLBY] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOLTRAINER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
+ .trainerName = _("COLBY"),
+ .items = {ITEM_HYPER_POTION},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823BFD0}
+ },
+ [TRAINER_COOLTRAINER_PAUL] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOLTRAINER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
+ .trainerName = _("PAUL"),
+ .items = {ITEM_FULL_RESTORE},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C020}
+ },
+ [TRAINER_COOLTRAINER_ROLANDO] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOLTRAINER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
+ .trainerName = _("ROLANDO"),
+ .items = {ITEM_HYPER_POTION},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C070}
+ },
+ [TRAINER_COOLTRAINER_GILBERT] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOLTRAINER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
+ .trainerName = _("GILBERT"),
+ .items = {ITEM_HYPER_POTION},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C0C0}
+ },
+ [TRAINER_COOLTRAINER_OWEN] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOLTRAINER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
+ .trainerName = _("OWEN"),
+ .items = {ITEM_HYPER_POTION},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C110}
+ },
+ [TRAINER_COOLTRAINER_BERKE] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOLTRAINER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
+ .trainerName = _("BERKE"),
+ .items = {ITEM_FULL_RESTORE},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C160}
+ },
+ [TRAINER_COOLTRAINER_YUJI] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOLTRAINER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
+ .trainerName = _("YUJI"),
+ .items = {ITEM_HYPER_POTION},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C1B0}
+ },
+ [TRAINER_COOLTRAINER_WARREN] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOLTRAINER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
+ .trainerName = _("WARREN"),
+ .items = {ITEM_HYPER_POTION},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C200}
+ },
+ [TRAINER_COOLTRAINER_MARY] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOLTRAINER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
+ .trainerName = _("MARY"),
+ .items = {ITEM_SUPER_POTION},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C250}
+ },
+ [TRAINER_COOLTRAINER_CAROLINE] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOLTRAINER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
+ .trainerName = _("CAROLINE"),
+ .items = {ITEM_HYPER_POTION},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C2A0}
+ },
+ [TRAINER_COOLTRAINER_ALEXA] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOLTRAINER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
+ .trainerName = _("ALEXA"),
+ .items = {ITEM_FULL_RESTORE},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C2F0}
+ },
+ [TRAINER_COOLTRAINER_SHANNON] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOLTRAINER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
+ .trainerName = _("SHANNON"),
+ .items = {ITEM_FULL_RESTORE},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C340}
+ },
+ [TRAINER_COOLTRAINER_NAOMI] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOLTRAINER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
+ .trainerName = _("NAOMI"),
+ .items = {ITEM_HYPER_POTION},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C390}
+ },
+ [TRAINER_COOLTRAINER_BROOKE] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOLTRAINER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
+ .trainerName = _("BROOKE"),
+ .items = {ITEM_FULL_RESTORE},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C3E0}
+ },
+ [TRAINER_COOLTRAINER_AUSTINA] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOLTRAINER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
+ .trainerName = _("AUSTINA"),
+ .items = {ITEM_FULL_RESTORE},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C430}
+ },
+ [TRAINER_COOLTRAINER_JULIE] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOLTRAINER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
+ .trainerName = _("JULIE"),
+ .items = {ITEM_HYPER_POTION},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C480}
+ },
+ [TRAINER_ELITE_FOUR_LORELEI] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_ELITE_FOUR_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_ELITE_FOUR_LORELEI,
+ .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,
+ .partySize = 5,
+ .party = {.ItemCustomMoves = sTrainerMons_823C4D0}
+ },
+ [TRAINER_ELITE_FOUR_BRUNO] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_ELITE_FOUR_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR,
+ .trainerPic = TRAINER_PIC_ELITE_FOUR_BRUNO,
+ .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,
+ .partySize = 5,
+ .party = {.ItemCustomMoves = sTrainerMons_823C520}
+ },
+ [TRAINER_ELITE_FOUR_AGATHA] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_ELITE_FOUR_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_ELITE_FOUR_AGATHA,
+ .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,
+ .partySize = 5,
+ .party = {.ItemCustomMoves = sTrainerMons_823C570}
+ },
+ [TRAINER_ELITE_FOUR_LANCE] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_ELITE_FOUR_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR,
+ .trainerPic = TRAINER_PIC_ELITE_FOUR_LANCE,
+ .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,
+ .partySize = 5,
+ .party = {.ItemCustomMoves = sTrainerMons_823C5C0}
+ },
+ [TRAINER_LEADER_BROCK] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_LEADER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_LEADER_BROCK,
+ .trainerName = _("BROCK"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C610}
+ },
+ [TRAINER_LEADER_MISTY] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_LEADER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LEADER_MISTY,
+ .trainerName = _("MISTY"),
+ .items = {ITEM_SUPER_POTION},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C630}
+ },
+ [TRAINER_LEADER_LT_SURGE] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_LEADER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_LEADER_LT_SURGE,
+ .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,
+ .partySize = 3,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C650}
+ },
+ [TRAINER_LEADER_ERIKA] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_LEADER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LEADER_ERIKA,
+ .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,
+ .partySize = 3,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C680}
+ },
+ [TRAINER_LEADER_KOGA] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_LEADER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_LEADER_KOGA,
+ .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,
+ .partySize = 4,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C6B0}
+ },
+ [TRAINER_LEADER_BLAINE] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_LEADER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_LEADER_BLAINE,
+ .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,
+ .partySize = 4,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C6F0}
+ },
+ [TRAINER_LEADER_SABRINA] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_LEADER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LEADER_SABRINA,
+ .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,
+ .partySize = 4,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C730}
+ },
+ [TRAINER_GENTLEMAN_THOMAS] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_GENTLEMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH,
+ .trainerPic = TRAINER_PIC_GENTLEMAN,
+ .trainerName = _("THOMAS"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823C770}
+ },
+ [TRAINER_GENTLEMAN_ARTHUR] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_GENTLEMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH,
+ .trainerPic = TRAINER_PIC_GENTLEMAN,
+ .trainerName = _("ARTHUR"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823C780}
+ },
+ [TRAINER_GENTLEMAN_TUCKER] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_GENTLEMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH,
+ .trainerPic = TRAINER_PIC_GENTLEMAN,
+ .trainerName = _("TUCKER"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823C790}
+ },
+ [TRAINER_GENTLEMAN_NORTON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_GENTLEMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH,
+ .trainerPic = TRAINER_PIC_GENTLEMAN,
+ .trainerName = _("NORTON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823C798}
+ },
+ [TRAINER_GENTLEMAN_WALTER] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_GENTLEMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH,
+ .trainerPic = TRAINER_PIC_GENTLEMAN,
+ .trainerName = _("WALTER"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823C7A0}
+ },
+ [TRAINER_RIVAL_SS_ANNE_SQUIRTLE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_RIVAL_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RIVAL_2,
+ .trainerName = _("TERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823C7B0}
+ },
+ [TRAINER_RIVAL_SS_ANNE_BULBASAUR] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_RIVAL_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RIVAL_2,
+ .trainerName = _("TERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823C7D0}
+ },
+ [TRAINER_RIVAL_SS_ANNE_CHARMANDER] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_RIVAL_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RIVAL_2,
+ .trainerName = _("TERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823C7F0}
+ },
+ [TRAINER_RIVAL_POKENON_TOWER_SQUIRTLE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_RIVAL_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RIVAL_2,
+ .trainerName = _("TERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823C810}
+ },
+ [TRAINER_RIVAL_POKENON_TOWER_BULBASAUR] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_RIVAL_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RIVAL_2,
+ .trainerName = _("TERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823C838}
+ },
+ [TRAINER_RIVAL_POKENON_TOWER_CHARMANDER] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_RIVAL_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RIVAL_2,
+ .trainerName = _("TERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823C860}
+ },
+ [TRAINER_RIVAL_SILPH_SQUIRTLE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_RIVAL_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RIVAL_2,
+ .trainerName = _("TERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823C888}
+ },
+ [TRAINER_RIVAL_SILPH_BULBASAUR] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_RIVAL_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RIVAL_2,
+ .trainerName = _("TERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823C8B0}
+ },
+ [TRAINER_RIVAL_SILPH_CHARMANDER] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_RIVAL_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RIVAL_2,
+ .trainerName = _("TERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823C8D8}
+ },
+ [TRAINER_RIVAL_ROUTE22_LATE_SQUIRTLE] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_RIVAL_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RIVAL_2,
+ .trainerName = _("TERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 6,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C900}
+ },
+ [TRAINER_RIVAL_ROUTE22_LATE_BULBASAUR] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_RIVAL_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RIVAL_2,
+ .trainerName = _("TERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 6,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C960}
+ },
+ [TRAINER_RIVAL_ROUTE22_LATE_CHARMANDER] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_RIVAL_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RIVAL_2,
+ .trainerName = _("TERRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 6,
+ .party = {.NoItemCustomMoves = sTrainerMons_823C9C0}
+ },
+ [TRAINER_CHAMPION_FIRST_SQUIRTLE] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_CHAMPION_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CHAMPION_RIVAL,
+ .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,
+ .partySize = 6,
+ .party = {.ItemCustomMoves = sTrainerMons_823CA20}
+ },
+ [TRAINER_CHAMPION_FIRST_BULBASAUR] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_CHAMPION_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CHAMPION_RIVAL,
+ .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,
+ .partySize = 6,
+ .party = {.ItemCustomMoves = sTrainerMons_823CA80}
+ },
+ [TRAINER_CHAMPION_FIRST_CHARMANDER] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_CHAMPION_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CHAMPION_RIVAL,
+ .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,
+ .partySize = 6,
+ .party = {.ItemCustomMoves = sTrainerMons_823CAE0}
+ },
+ [TRAINER_CHANNELER_PATRICIA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _("PATRICIA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CB40}
+ },
+ [TRAINER_CHANNELER_CARLY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _("CARLY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CB48}
+ },
+ [TRAINER_CHANNELER_HOPE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _("HOPE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CB50}
+ },
+ [TRAINER_CHANNELER_PAULA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _("PAULA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CB58}
+ },
+ [TRAINER_CHANNELER_LAUREL] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _("LAUREL"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CB60}
+ },
+ [TRAINER_CHANNELER_JODY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _("JODY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CB70}
+ },
+ [TRAINER_CHANNELER_TAMMY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _("TAMMY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CB78}
+ },
+ [TRAINER_CHANNELER_RUTH] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _("RUTH"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CB80}
+ },
+ [TRAINER_CHANNELER_KARINA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _("KARINA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CB88}
+ },
+ [TRAINER_CHANNELER_JANAE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _("JANAE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CB90}
+ },
+ [TRAINER_CHANNELER_ANGELICA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _("ANGELICA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CB98}
+ },
+ [TRAINER_CHANNELER_EMILIA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _("EMILIA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CBB0}
+ },
+ [TRAINER_CHANNELER_JENNIFER] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _("JENNIFER"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CBB8}
+ },
+ [TRAINER_CHANNELER_1] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CBC0}
+ },
+ [TRAINER_CHANNELER_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CBC8}
+ },
+ [TRAINER_CHANNELER_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CBD0}
+ },
+ [TRAINER_CHANNELER_4] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CBD8}
+ },
+ [TRAINER_CHANNELER_5] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CBE0}
+ },
+ [TRAINER_CHANNELER_6] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CBE8}
+ },
+ [TRAINER_CHANNELER_7] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CC00}
+ },
+ [TRAINER_CHANNELER_8] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CC08}
+ },
+ [TRAINER_CHANNELER_AMANDA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _("AMANDA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CC10}
+ },
+ [TRAINER_CHANNELER_STACY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _("STACY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CC20}
+ },
+ [TRAINER_CHANNELER_TASHA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CHANNELER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_CHANNELER,
+ .trainerName = _("TASHA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CC28}
+ },
+ [TRAINER_HIKER_JEREMY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_HIKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_HIKER,
+ .trainerName = _("JEREMY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CC40}
+ },
+ [TRAINER_PICNICKER_ALMA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("ALMA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CC50}
+ },
+ [TRAINER_PICNICKER_SUSIE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("SUSIE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 5,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CC68}
+ },
+ [TRAINER_PICNICKER_VALERIE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("VALERIE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CC90}
+ },
+ [TRAINER_PICNICKER_GWEN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("GWEN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CCA0}
+ },
+ [TRAINER_BIKER_VIRGIL] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("VIRGIL"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemCustomMoves = sTrainerMons_823CCC0}
+ },
+ [TRAINER_CAMPER_FLINT] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CAMPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CAMPER,
+ .trainerName = _("FLINT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CCF0}
+ },
+ [TRAINER_PICNICKER_MISSY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("MISSY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CD00}
+ },
+ [TRAINER_PICNICKER_IRENE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("IRENE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CD10}
+ },
+ [TRAINER_PICNICKER_DANA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("DANA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CD28}
+ },
+ [TRAINER_PICNICKER_ARIANA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("ARIANA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CD40}
+ },
+ [TRAINER_PICNICKER_LEAH] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("LEAH"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CD60}
+ },
+ [TRAINER_CAMPER_JUSTIN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CAMPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CAMPER,
+ .trainerName = _("JUSTIN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CD70}
+ },
+ [TRAINER_PICNICKER_YAZMIN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("YAZMIN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CD80}
+ },
+ [TRAINER_PICNICKER_KINDRA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("KINDRA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CD98}
+ },
+ [TRAINER_PICNICKER_BECKY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("BECKY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CDB0}
+ },
+ [TRAINER_PICNICKER_CELIA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("CELIA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CDC0}
+ },
+ [TRAINER_GENTLEMAN_BROOKS] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_GENTLEMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH,
+ .trainerPic = TRAINER_PIC_GENTLEMAN,
+ .trainerName = _("BROOKS"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CDC8}
+ },
+ [TRAINER_GENTLEMAN_LAMAR] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_GENTLEMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH,
+ .trainerPic = TRAINER_PIC_GENTLEMAN,
+ .trainerName = _("LAMAR"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CDD0}
+ },
+ [TRAINER_TWINS_ELI_ANNE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TWINS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
+ .trainerPic = TRAINER_PIC_TWINS,
+ .trainerName = _("ELI & ANNE"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CDE0}
+ },
+ [TRAINER_COOL_COUPLE_RAY_TYRA] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOL_COUPLE,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_COOL_COUPLE,
+ .trainerName = _("RAY & TYRA"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823CDF0}
+ },
+ [TRAINER_YOUNG_COUPLE_GIA_JES] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNG_COUPLE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
+ .trainerPic = TRAINER_PIC_YOUNG_COUPLE,
+ .trainerName = _("GIA & JES"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CE10}
+ },
+ [TRAINER_TWINS_KIRI_JAN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TWINS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
+ .trainerPic = TRAINER_PIC_TWINS,
+ .trainerName = _("KIRI & JAN"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CE20}
+ },
+ [TRAINER_CRUSH_KIN_RON_MYA] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_CRUSH_KIN,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_CRUSH_KIN,
+ .trainerName = _("RON & MYA"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823CE30}
+ },
+ [TRAINER_YOUNG_COUPLE_LEA_JED] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNG_COUPLE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
+ .trainerPic = TRAINER_PIC_YOUNG_COUPLE,
+ .trainerName = _("LEA & JED"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CE40}
+ },
+ [TRAINER_SIS_AND_BRO_LIA_LUC] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SIS_AND_BRO_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SIS_AND_BRO,
+ .trainerName = _("LIA & LUC"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CE50}
+ },
+ [TRAINER_SIS_AND_BRO_LIL_IAN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SIS_AND_BRO_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SIS_AND_BRO,
+ .trainerName = _("LIL & IAN"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CE60}
+ },
+ [TRAINER_BUG_CATCHER_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CE70}
+ },
+ [TRAINER_BUG_CATCHER_4] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CE78}
+ },
+ [TRAINER_BUG_CATCHER_5] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CE80}
+ },
+ [TRAINER_BUG_CATCHER_6] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CE88}
+ },
+ [TRAINER_BUG_CATCHER_7] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CE90}
+ },
+ [TRAINER_BUG_CATCHER_8] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CE98}
+ },
+ [TRAINER_YOUNGSTER_BEN_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("BEN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CEA0}
+ },
+ [TRAINER_YOUNGSTER_BEN_4] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("BEN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CEB0}
+ },
+ [TRAINER_YOUNGSTER_CHAD_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("CHAD"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CEC0}
+ },
+ [TRAINER_LASS_RELI_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("RELI"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CED0}
+ },
+ [TRAINER_LASS_RELI_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("RELI"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CEE0}
+ },
+ [TRAINER_YOUNGSTER_TIMMY_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("TIMMY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CEF0}
+ },
+ [TRAINER_YOUNGSTER_TIMMY_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("TIMMY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CF08}
+ },
+ [TRAINER_YOUNGSTER_TIMMY_4] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("TIMMY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CF20}
+ },
+ [TRAINER_YOUNGSTER_CHAD_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("CHAD"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CF38}
+ },
+ [TRAINER_LASS_JANICE_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("JANICE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CF48}
+ },
+ [TRAINER_LASS_JANICE_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("JANICE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CF58}
+ },
+ [TRAINER_YOUNGSTER_CHAD_4] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("CHAD"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CF68}
+ },
+ [TRAINER_HIKER_FRANKLIN_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_HIKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_HIKER,
+ .trainerName = _("FRANKLIN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CF78}
+ },
+ [TRAINER_PKMN_PROF_PROF_OAK] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PKMN_PROF,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_PROFESSOR_OAK,
+ .trainerName = _("PROF. OAK"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CF88}
+ },
+ [TRAINER_PLAYER_BRENDAN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PLAYER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RS_BRENDAN_2,
+ .trainerName = _("BRENDAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CF90}
+ },
+ [TRAINER_PLAYER_MAY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PLAYER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_RS_MAY_2,
+ .trainerName = _("MAY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CF98}
+ },
+ [TRAINER_PLAYER_RED] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PLAYER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_RED,
+ .trainerName = _("RED"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CFA0}
+ },
+ [TRAINER_PLAYER_LEAF] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PLAYER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_LEAF,
+ .trainerName = _("LEAF"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CFA8}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_42] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_F,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823CFB0}
+ },
+ [TRAINER_PSYCHIC_JACLYN] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_PSYCHIC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PSYCHIC_F,
+ .trainerName = _("JACLYN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemCustomMoves = sTrainerMons_823CFC0}
+ },
+ [TRAINER_CRUSH_GIRL_SHARON] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_CRUSH_GIRL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_CRUSH_GIRL,
+ .trainerName = _("SHARON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823CFF0}
+ },
+ [TRAINER_TUBER_AMIRA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TUBER_3,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
+ .trainerPic = TRAINER_PIC_TUBER_F,
+ .trainerName = _("AMIRA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D000}
+ },
+ [TRAINER_PKMN_BREEDER_ALIZE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PKMN_BREEDER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F,
+ .trainerName = _("ALIZE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D018}
+ },
+ [TRAINER_PKMN_RANGER_NICOLAS] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_PKMN_RANGER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_POKEMON_RANGER_M,
+ .trainerName = _("NICOLAS"),
+ .items = {ITEM_FULL_RESTORE},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D030}
+ },
+ [TRAINER_PKMN_RANGER_MADELINE] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_PKMN_RANGER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_POKEMON_RANGER_F,
+ .trainerName = _("MADELINE"),
+ .items = {ITEM_FULL_RESTORE},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D050}
+ },
+ [TRAINER_AROMA_LADY_NIKKI] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_AROMA_LADY_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_AROMA_LADY,
+ .trainerName = _("NIKKI"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D070}
+ },
+ [TRAINER_RUIN_MANIAC_STANLY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_RUIN_MANIAC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_RUIN_MANIAC,
+ .trainerName = _("STANLY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D080}
+ },
+ [TRAINER_LADY_JACKI] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_LADY_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_LADY,
+ .trainerName = _("JACKI"),
+ .items = {ITEM_FULL_RESTORE},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823D098}
+ },
+ [TRAINER_PAINTER_DAISY] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_PAINTER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_PAINTER,
+ .trainerName = _("DAISY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D0A8}
+ },
+ [TRAINER_BIKER_GOON] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("GOON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D0B8}
+ },
+ [TRAINER_BIKER_GOON_2] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("GOON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D0D8}
+ },
+ [TRAINER_BIKER_GOON_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("GOON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D0E8}
+ },
+ [TRAINER_BIKER_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _(""),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D0F0}
+ },
+ [TRAINER_BUG_CATCHER_ANTHONY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _("ANTHONY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D0F8}
+ },
+ [TRAINER_BUG_CATCHER_CHARLIE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _("CHARLIE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D108}
+ },
+ [TRAINER_TWINS_ELI_ANNE_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TWINS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
+ .trainerPic = TRAINER_PIC_TWINS,
+ .trainerName = _("ELI & ANNE"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D120}
+ },
+ [TRAINER_YOUNGSTER_JOHNSON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("JOHNSON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D130}
+ },
+ [TRAINER_BIKER_RICARDO] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("RICARDO"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D148}
+ },
+ [TRAINER_BIKER_JAREN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("JAREN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D178}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_43] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D188}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_44] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D198}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_45] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D1B8}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_46] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D1D0}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_47] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D1E8}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_48] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D200}
+ },
+ [TRAINER_TEAM_ROCKET_ADMIN] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_F,
+ .trainerName = _("ADMIN"),
+ .items = {ITEM_HYPER_POTION},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 3,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D210}
+ },
+ [TRAINER_TEAM_ROCKET_ADMIN_2] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("ADMIN"),
+ .items = {ITEM_HYPER_POTION},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 3,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D240}
+ },
+ [TRAINER_SCIENTIST_GIDEON] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_SCIENTIST,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SCIENTIST,
+ .trainerName = _("GIDEON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D270}
+ },
+ [TRAINER_SWIMMER_FEMALE_AMARA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_FEMALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_SWIMMER_F,
+ .trainerName = _("AMARA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D2C0}
+ },
+ [TRAINER_SWIMMER_FEMALE_MARIA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_FEMALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_SWIMMER_F,
+ .trainerName = _("MARIA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D2D8}
+ },
+ [TRAINER_SWIMMER_FEMALE_ABIGAIL] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_FEMALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_SWIMMER_F,
+ .trainerName = _("ABIGAIL"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D2E8}
+ },
+ [TRAINER_SWIMMER_MALE_FINN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("FINN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D300}
+ },
+ [TRAINER_SWIMMER_MALE_GARRETT] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("GARRETT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D308}
+ },
+ [TRAINER_FISHERMAN_TOMMY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_FISHERMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_FISHERMAN,
+ .trainerName = _("TOMMY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 5,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D320}
+ },
+ [TRAINER_CRUSH_GIRL_TANYA] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_CRUSH_GIRL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_CRUSH_GIRL,
+ .trainerName = _("TANYA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823D348}
+ },
+ [TRAINER_BLACK_BELT_SHEA] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_BLACK_BELT_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_BLACK_BELT,
+ .trainerName = _("SHEA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823D358}
+ },
+ [TRAINER_BLACK_BELT_HUGH] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_BLACK_BELT_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_BLACK_BELT,
+ .trainerName = _("HUGH"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823D368}
+ },
+ [TRAINER_CAMPER_BRYCE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CAMPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CAMPER,
+ .trainerName = _("BRYCE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D378}
+ },
+ [TRAINER_PICNICKER_CLAIRE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("CLAIRE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D390}
+ },
+ [TRAINER_CRUSH_KIN_MIK_KIA] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_CRUSH_KIN,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_CRUSH_KIN,
+ .trainerName = _("MIK & KIA"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823D3B0}
+ },
+ [TRAINER_AROMA_LADY_VIOLET] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_AROMA_LADY_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_AROMA_LADY,
+ .trainerName = _("VIOLET"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D3C0}
+ },
+ [TRAINER_TUBER_ALEXIS] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TUBER_3,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
+ .trainerPic = TRAINER_PIC_TUBER_F,
+ .trainerName = _("ALEXIS"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D3D8}
+ },
+ [TRAINER_TWINS_JOY_MEG] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TWINS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
+ .trainerPic = TRAINER_PIC_TWINS,
+ .trainerName = _("JOY & MEG"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D3F8}
+ },
+ [TRAINER_SWIMMER_FEMALE_TISHA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_FEMALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_SWIMMER_F,
+ .trainerName = _("TISHA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D408}
+ },
+ [TRAINER_PAINTER_CELINA] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_PAINTER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_PAINTER,
+ .trainerName = _("CELINA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D410}
+ },
+ [TRAINER_PAINTER_RAYNA] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_PAINTER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_PAINTER,
+ .trainerName = _("RAYNA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D420}
+ },
+ [TRAINER_LADY_GILLIAN] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_LADY_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_LADY,
+ .trainerName = _("GILLIAN"),
+ .items = {ITEM_FULL_RESTORE},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.ItemDefaultMoves = sTrainerMons_823D430}
+ },
+ [TRAINER_YOUNGSTER_DESTIN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("DESTIN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D448}
+ },
+ [TRAINER_SWIMMER_MALE_TOBY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("TOBY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D458}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_49] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D470}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_50] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_M,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D488}
+ },
+ [TRAINER_TEAM_ROCKET_GRUNT_51] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TEAM_ROCKET,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA,
+ .trainerPic = TRAINER_PIC_ROCKET_GRUNT_F,
+ .trainerName = _("GRUNT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D4A8}
+ },
+ [TRAINER_BIRD_KEEPER_MILO] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("MILO"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D4C0}
+ },
+ [TRAINER_BIRD_KEEPER_CHAZ] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("CHAZ"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D4D0}
+ },
+ [TRAINER_BIRD_KEEPER_HAROLD] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("HAROLD"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D4E0}
+ },
+ [TRAINER_FISHERMAN_TYLOR] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_FISHERMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_FISHERMAN,
+ .trainerName = _("TYLOR"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D4F0}
+ },
+ [TRAINER_SWIMMER_MALE_MYMO] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("MYMO"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D500}
+ },
+ [TRAINER_SWIMMER_FEMALE_NICOLE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_FEMALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_SWIMMER_F,
+ .trainerName = _("NICOLE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D510}
+ },
+ [TRAINER_SIS_AND_BRO_AVA_GEB] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SIS_AND_BRO_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SIS_AND_BRO,
+ .trainerName = _("AVA & GEB"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D518}
+ },
+ [TRAINER_AROMA_LADY_ROSE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_AROMA_LADY_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_AROMA_LADY,
+ .trainerName = _("ROSE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D528}
+ },
+ [TRAINER_SWIMMER_MALE_SAMIR] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("SAMIR"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D538}
+ },
+ [TRAINER_SWIMMER_FEMALE_DENISE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_FEMALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_SWIMMER_F,
+ .trainerName = _("DENISE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D540}
+ },
+ [TRAINER_TWINS_MIU_MIA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TWINS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
+ .trainerPic = TRAINER_PIC_TWINS,
+ .trainerName = _("MIU & MIA"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D550}
+ },
+ [TRAINER_HIKER_EARL] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_HIKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_HIKER,
+ .trainerName = _("EARL"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D560}
+ },
+ [TRAINER_RUIN_MANIAC_FOSTER] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_RUIN_MANIAC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_RUIN_MANIAC,
+ .trainerName = _("FOSTER"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D570}
+ },
+ [TRAINER_RUIN_MANIAC_LARRY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_RUIN_MANIAC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_RUIN_MANIAC,
+ .trainerName = _("LARRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D578}
+ },
+ [TRAINER_HIKER_DARYL] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_HIKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_HIKER,
+ .trainerName = _("DARYL"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D588}
+ },
+ [TRAINER_POKEMANIAC_HECTOR] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_POKEMANIAC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_POKEMANIAC,
+ .trainerName = _("HECTOR"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D590}
+ },
+ [TRAINER_PSYCHIC_DARIO] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_PSYCHIC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_PSYCHIC_M,
+ .trainerName = _("DARIO"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D5A0}
+ },
+ [TRAINER_PSYCHIC_RODETTE] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_PSYCHIC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PSYCHIC_F,
+ .trainerName = _("RODETTE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D5B0}
+ },
+ [TRAINER_AROMA_LADY_MIAH] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_AROMA_LADY_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_AROMA_LADY,
+ .trainerName = _("MIAH"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D5E0}
+ },
+ [TRAINER_YOUNG_COUPLE_EVE_JON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNG_COUPLE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
+ .trainerPic = TRAINER_PIC_YOUNG_COUPLE,
+ .trainerName = _("EVE & JON"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D5F0}
+ },
+ [TRAINER_JUGGLER_MASON] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_JUGGLER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_JUGGLER,
+ .trainerName = _("MASON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D600}
+ },
+ [TRAINER_CRUSH_GIRL_CYNDY] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_CRUSH_GIRL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_CRUSH_GIRL,
+ .trainerName = _("CYNDY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.ItemDefaultMoves = sTrainerMons_823D640}
+ },
+ [TRAINER_CRUSH_GIRL_JOCELYN] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_CRUSH_GIRL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_CRUSH_GIRL,
+ .trainerName = _("JOCELYN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823D658}
+ },
+ [TRAINER_TAMER_EVAN] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TAMER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_TAMER,
+ .trainerName = _("EVAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D668}
+ },
+ [TRAINER_POKEMANIAC_MARK_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_POKEMANIAC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_POKEMANIAC,
+ .trainerName = _("MARK"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D680}
+ },
+ [TRAINER_PKMN_RANGER_LOGAN] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_PKMN_RANGER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_POKEMON_RANGER_M,
+ .trainerName = _("LOGAN"),
+ .items = {ITEM_FULL_RESTORE},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D690}
+ },
+ [TRAINER_PKMN_RANGER_JACKSON] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_PKMN_RANGER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_POKEMON_RANGER_M,
+ .trainerName = _("JACKSON"),
+ .items = {ITEM_FULL_RESTORE},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 3,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D6B0}
+ },
+ [TRAINER_PKMN_RANGER_BETH] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PKMN_RANGER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_POKEMON_RANGER_F,
+ .trainerName = _("BETH"),
+ .items = {ITEM_FULL_RESTORE},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D6E0}
+ },
+ [TRAINER_PKMN_RANGER_KATELYN] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_PKMN_RANGER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_POKEMON_RANGER_F,
+ .trainerName = _("KATELYN"),
+ .items = {ITEM_FULL_RESTORE},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 1,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D6F8}
+ },
+ [TRAINER_COOLTRAINER_LEROY] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOLTRAINER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
+ .trainerName = _("LEROY"),
+ .items = {ITEM_FULL_RESTORE},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D708}
+ },
+ [TRAINER_COOLTRAINER_MICHELLE] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOLTRAINER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
+ .trainerName = _("MICHELLE"),
+ .items = {ITEM_HYPER_POTION},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D758}
+ },
+ [TRAINER_COOL_COUPLE_LEX_NYA] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOL_COUPLE,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_COOL_COUPLE,
+ .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,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D7A8}
+ },
+ [TRAINER_RUIN_MANIAC_BRANDON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_RUIN_MANIAC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_RUIN_MANIAC,
+ .trainerName = _("BRANDON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D7C8}
+ },
+ [TRAINER_RUIN_MANIAC_BENJAMIN] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_RUIN_MANIAC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_RUIN_MANIAC,
+ .trainerName = _("BENJAMIN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D7D0}
+ },
+ [TRAINER_PAINTER_EDNA] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_PAINTER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_PAINTER,
+ .trainerName = _("EDNA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemCustomMoves = sTrainerMons_823D800}
+ },
+ [TRAINER_GENTLEMAN_CLIFFORD] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_GENTLEMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH,
+ .trainerPic = TRAINER_PIC_GENTLEMAN,
+ .trainerName = _("CLIFFORD"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D810}
+ },
+ [TRAINER_LADY_SELPHY] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_LADY_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_LADY,
+ .trainerName = _("SELPHY"),
+ .items = {ITEM_FULL_RESTORE},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemCustomMoves = sTrainerMons_823D820}
+ },
+ [TRAINER_RUIN_MANIAC_LAWSON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_RUIN_MANIAC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_RUIN_MANIAC,
+ .trainerName = _("LAWSON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D840}
+ },
+ [TRAINER_PSYCHIC_LAURA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PSYCHIC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PSYCHIC_F,
+ .trainerName = _("LAURA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D858}
+ },
+ [TRAINER_PKMN_BREEDER_BETHANY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PKMN_BREEDER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F,
+ .trainerName = _("BETHANY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D870}
+ },
+ [TRAINER_PKMN_BREEDER_ALLISON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PKMN_BREEDER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F,
+ .trainerName = _("ALLISON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D878}
+ },
+ [TRAINER_BUG_CATCHER_GARRET] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _("GARRET"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D890}
+ },
+ [TRAINER_BUG_CATCHER_JONAH] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _("JONAH"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D898}
+ },
+ [TRAINER_BUG_CATCHER_VANCE] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _("VANCE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D8B8}
+ },
+ [TRAINER_YOUNGSTER_NASH] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("NASH"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D8C8}
+ },
+ [TRAINER_YOUNGSTER_CORDELL] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("CORDELL"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D8E0}
+ },
+ [TRAINER_LASS_DALIA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("DALIA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D8F0}
+ },
+ [TRAINER_LASS_JOANA] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("JOANA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D910}
+ },
+ [TRAINER_CAMPER_RILEY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CAMPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CAMPER,
+ .trainerName = _("RILEY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D918}
+ },
+ [TRAINER_PICNICKER_MARCY] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("MARCY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D928}
+ },
+ [TRAINER_RUIN_MANIAC_LAYTON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_RUIN_MANIAC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_RUIN_MANIAC,
+ .trainerName = _("LAYTON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D940}
+ },
+ [TRAINER_PICNICKER_KELSEY_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("KELSEY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D958}
+ },
+ [TRAINER_PICNICKER_KELSEY_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("KELSEY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D968}
+ },
+ [TRAINER_PICNICKER_KELSEY_4] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("KELSEY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D978}
+ },
+ [TRAINER_CAMPER_RICKY_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CAMPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CAMPER,
+ .trainerName = _("RICKY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D988}
+ },
+ [TRAINER_CAMPER_RICKY_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CAMPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CAMPER,
+ .trainerName = _("RICKY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D990}
+ },
+ [TRAINER_CAMPER_RICKY_4] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CAMPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CAMPER,
+ .trainerName = _("RICKY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D998}
+ },
+ [TRAINER_CAMPER_JEFF_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CAMPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CAMPER,
+ .trainerName = _("JEFF"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D9A0}
+ },
+ [TRAINER_CAMPER_JEFF_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CAMPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CAMPER,
+ .trainerName = _("JEFF"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D9B0}
+ },
+ [TRAINER_CAMPER_JEFF_4] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CAMPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CAMPER,
+ .trainerName = _("JEFF"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D9C0}
+ },
+ [TRAINER_PICNICKER_ISABELLE_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("ISABELLE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D9D0}
+ },
+ [TRAINER_PICNICKER_ISABELLE_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("ISABELLE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823D9E8}
+ },
+ [TRAINER_PICNICKER_ISABELLE_4] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("ISABELLE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DA00}
+ },
+ [TRAINER_YOUNGSTER_YASU_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("YASU"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DA18}
+ },
+ [TRAINER_YOUNGSTER_YASU_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("YASU"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DA30}
+ },
+ [TRAINER_ENGINEER_BERNIE_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_ENGINEER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_ENGINEER,
+ .trainerName = _("BERNIE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DA48}
+ },
+ [TRAINER_GAMER_DARIAN_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_GAMER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_GAMER,
+ .trainerName = _("DARIAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DA60}
+ },
+ [TRAINER_CAMPER_CHRIS_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CAMPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CAMPER,
+ .trainerName = _("CHRIS"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DA70}
+ },
+ [TRAINER_CAMPER_CHRIS_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CAMPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CAMPER,
+ .trainerName = _("CHRIS"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DA80}
+ },
+ [TRAINER_CAMPER_CHRIS_4] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CAMPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CAMPER,
+ .trainerName = _("CHRIS"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DA90}
+ },
+ [TRAINER_PICNICKER_ALICIA_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("ALICIA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DAA0}
+ },
+ [TRAINER_PICNICKER_ALICIA_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("ALICIA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DAA8}
+ },
+ [TRAINER_PICNICKER_ALICIA_4] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("ALICIA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DAB0}
+ },
+ [TRAINER_HIKER_JEREMY_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_HIKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_HIKER,
+ .trainerName = _("JEREMY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DAB8}
+ },
+ [TRAINER_POKEMANIAC_MARK_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_POKEMANIAC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_POKEMANIAC,
+ .trainerName = _("MARK"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DAC8}
+ },
+ [TRAINER_POKEMANIAC_HERMAN_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_POKEMANIAC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_POKEMANIAC,
+ .trainerName = _("HERMAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DAD8}
+ },
+ [TRAINER_POKEMANIAC_HERMAN_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_POKEMANIAC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_POKEMANIAC,
+ .trainerName = _("HERMAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DAE8}
+ },
+ [TRAINER_HIKER_TRENT_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_HIKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_HIKER,
+ .trainerName = _("TRENT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DAF8}
+ },
+ [TRAINER_LASS_MEGAN_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("MEGAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 5,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DB08}
+ },
+ [TRAINER_LASS_MEGAN_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_LASS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_LASS,
+ .trainerName = _("MEGAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 5,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DB30}
+ },
+ [TRAINER_SUPER_NERD_GLENN_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SUPER_NERD,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_SUPER_NERD,
+ .trainerName = _("GLENN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DB58}
+ },
+ [TRAINER_GAMER_RICH_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_GAMER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_GAMER,
+ .trainerName = _("RICH"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DB70}
+ },
+ [TRAINER_BIKER_JAREN_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("JAREN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DB80}
+ },
+ [TRAINER_FISHERMAN_ELLIOT_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_FISHERMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_FISHERMAN,
+ .trainerName = _("ELLIOT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DB90}
+ },
+ [TRAINER_ROCKER_LUCA_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_ROCKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_ROCKER,
+ .trainerName = _("LUCA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DBB0}
+ },
+ [TRAINER_BEAUTY_SHEILA_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BEAUTY_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_BEAUTY,
+ .trainerName = _("SHEILA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DBC0}
+ },
+ [TRAINER_BIRD_KEEPER_ROBERT_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("ROBERT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DBD0}
+ },
+ [TRAINER_BIRD_KEEPER_ROBERT_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("ROBERT"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DBF0}
+ },
+ [TRAINER_PICNICKER_SUSIE_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("SUSIE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 5,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DC10}
+ },
+ [TRAINER_PICNICKER_SUSIE_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("SUSIE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 5,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DC38}
+ },
+ [TRAINER_PICNICKER_SUSIE_4] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("SUSIE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 5,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DC60}
+ },
+ [TRAINER_BIKER_LUKAS_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("LUKAS"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DC88}
+ },
+ [TRAINER_BIRD_KEEPER_BENNY_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("BENNY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DCA8}
+ },
+ [TRAINER_BIRD_KEEPER_BENNY_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("BENNY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DCB8}
+ },
+ [TRAINER_BIRD_KEEPER_MARLON_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("MARLON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DCC8}
+ },
+ [TRAINER_BIRD_KEEPER_MARLON_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("MARLON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DCE0}
+ },
+ [TRAINER_BEAUTY_GRACE_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BEAUTY_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_BEAUTY,
+ .trainerName = _("GRACE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DCF8}
+ },
+ [TRAINER_BIRD_KEEPER_CHESTER_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("CHESTER"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DD08}
+ },
+ [TRAINER_BIRD_KEEPER_CHESTER_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("CHESTER"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DD20}
+ },
+ [TRAINER_PICNICKER_BECKY_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("BECKY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DD38}
+ },
+ [TRAINER_PICNICKER_BECKY_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("BECKY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DD48}
+ },
+ [TRAINER_PICNICKER_BECKY_4] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("BECKY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DD58}
+ },
+ [TRAINER_CRUSH_KIN_RON_MYA_2] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_CRUSH_KIN,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_CRUSH_KIN,
+ .trainerName = _("RON & MYA"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823DD68}
+ },
+ [TRAINER_CRUSH_KIN_RON_MYA_3] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_CRUSH_KIN,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_CRUSH_KIN,
+ .trainerName = _("RON & MYA"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823DD78}
+ },
+ [TRAINER_CRUSH_KIN_RON_MYA_4] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_CRUSH_KIN,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_CRUSH_KIN,
+ .trainerName = _("RON & MYA"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823DD88}
+ },
+ [TRAINER_BIKER_RUBEN_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("RUBEN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DD98}
+ },
+ [TRAINER_CUE_BALL_CAMRON_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CUE_BALL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CUE_BALL,
+ .trainerName = _("CAMRON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DDB0}
+ },
+ [TRAINER_BIKER_JAXON_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIKER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BIKER,
+ .trainerName = _("JAXON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DDC0}
+ },
+ [TRAINER_CUE_BALL_ISAIAH_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CUE_BALL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CUE_BALL,
+ .trainerName = _("ISAIAH"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DDD0}
+ },
+ [TRAINER_CUE_BALL_COREY_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CUE_BALL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CUE_BALL,
+ .trainerName = _("COREY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DDE0}
+ },
+ [TRAINER_BIRD_KEEPER_JACOB_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("JACOB"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DDF0}
+ },
+ [TRAINER_BIRD_KEEPER_JACOB_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("JACOB"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DE10}
+ },
+ [TRAINER_SWIMMER_FEMALE_ALICE_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_FEMALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_SWIMMER_F,
+ .trainerName = _("ALICE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DE30}
+ },
+ [TRAINER_SWIMMER_MALE_DARRIN_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("DARRIN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DE40}
+ },
+ [TRAINER_PICNICKER_MISSY_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("MISSY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DE60}
+ },
+ [TRAINER_PICNICKER_MISSY_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PICNICKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PICNICKER,
+ .trainerName = _("MISSY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DE70}
+ },
+ [TRAINER_FISHERMAN_WADE_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_FISHERMAN_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_FISHERMAN,
+ .trainerName = _("WADE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 6,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DE80}
+ },
+ [TRAINER_SWIMMER_MALE_JACK_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("JACK"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DEB0}
+ },
+ [TRAINER_SIS_AND_BRO_LIL_IAN_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SIS_AND_BRO_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SIS_AND_BRO,
+ .trainerName = _("LIL & IAN"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DEB8}
+ },
+ [TRAINER_SIS_AND_BRO_LIL_IAN_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SIS_AND_BRO_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SIS_AND_BRO,
+ .trainerName = _("LIL & IAN"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DEC8}
+ },
+ [TRAINER_SWIMMER_MALE_FINN_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("FINN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DED8}
+ },
+ [TRAINER_CRUSH_GIRL_SHARON_2] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_CRUSH_GIRL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_CRUSH_GIRL,
+ .trainerName = _("SHARON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823DEE0}
+ },
+ [TRAINER_CRUSH_GIRL_SHARON_3] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_CRUSH_GIRL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_CRUSH_GIRL,
+ .trainerName = _("SHARON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823DEF0}
+ },
+ [TRAINER_CRUSH_GIRL_TANYA_2] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_CRUSH_GIRL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_CRUSH_GIRL,
+ .trainerName = _("TANYA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823DF00}
+ },
+ [TRAINER_CRUSH_GIRL_TANYA_3] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_CRUSH_GIRL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_CRUSH_GIRL,
+ .trainerName = _("TANYA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823DF10}
+ },
+ [TRAINER_BLACK_BELT_SHEA_2] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_BLACK_BELT_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_BLACK_BELT,
+ .trainerName = _("SHEA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823DF20}
+ },
+ [TRAINER_BLACK_BELT_SHEA_3] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_BLACK_BELT_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_BLACK_BELT,
+ .trainerName = _("SHEA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823DF30}
+ },
+ [TRAINER_BLACK_BELT_HUGH_2] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_BLACK_BELT_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_BLACK_BELT,
+ .trainerName = _("HUGH"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823DF40}
+ },
+ [TRAINER_BLACK_BELT_HUGH_3] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_BLACK_BELT_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_BLACK_BELT,
+ .trainerName = _("HUGH"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823DF50}
+ },
+ [TRAINER_CRUSH_KIN_MIK_KIA_2] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_CRUSH_KIN,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_CRUSH_KIN,
+ .trainerName = _("MIK & KIA"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823DF60}
+ },
+ [TRAINER_CRUSH_KIN_MIK_KIA_3] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_CRUSH_KIN,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_CRUSH_KIN,
+ .trainerName = _("MIK & KIA"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.ItemDefaultMoves = sTrainerMons_823DF70}
+ },
+ [TRAINER_TUBER_AMIRA_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TUBER_3,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
+ .trainerPic = TRAINER_PIC_TUBER_F,
+ .trainerName = _("AMIRA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DF80}
+ },
+ [TRAINER_TWINS_JOY_MEG_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TWINS_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
+ .trainerPic = TRAINER_PIC_TWINS,
+ .trainerName = _("JOY & MEG"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DF98}
+ },
+ [TRAINER_PAINTER_RAYNA_2] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_PAINTER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_PAINTER,
+ .trainerName = _("RAYNA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemCustomMoves = sTrainerMons_823DFA8}
+ },
+ [TRAINER_YOUNGSTER_DESTIN_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNGSTER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_YOUNGSTER,
+ .trainerName = _("DESTIN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DFB8}
+ },
+ [TRAINER_PKMN_BREEDER_ALIZE_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_PKMN_BREEDER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE,
+ .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F,
+ .trainerName = _("ALIZE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DFC8}
+ },
+ [TRAINER_YOUNG_COUPLE_GIA_JES_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNG_COUPLE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
+ .trainerPic = TRAINER_PIC_YOUNG_COUPLE,
+ .trainerName = _("GIA & JES"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DFE0}
+ },
+ [TRAINER_YOUNG_COUPLE_GIA_JES_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_YOUNG_COUPLE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
+ .trainerPic = TRAINER_PIC_YOUNG_COUPLE,
+ .trainerName = _("GIA & JES"),
+ .items = {},
+ .doubleBattle = TRUE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823DFF0}
+ },
+ [TRAINER_BIRD_KEEPER_MILO_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("MILO"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823E000}
+ },
+ [TRAINER_BIRD_KEEPER_CHAZ_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("CHAZ"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823E010}
+ },
+ [TRAINER_BIRD_KEEPER_HAROLD_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BIRD_KEEPER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_BIRD_KEEPER,
+ .trainerName = _("HAROLD"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823E020}
+ },
+ [TRAINER_SWIMMER_FEMALE_NICOLE_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_FEMALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_SWIMMER_F,
+ .trainerName = _("NICOLE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823E030}
+ },
+ [TRAINER_PSYCHIC_JACLYN_2] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_PSYCHIC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PSYCHIC_F,
+ .trainerName = _("JACLYN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemCustomMoves = sTrainerMons_823E038}
+ },
+ [TRAINER_SWIMMER_MALE_SAMIR_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("SAMIR"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823E068}
+ },
+ [TRAINER_HIKER_EARL_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_HIKER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_HIKER,
+ .trainerName = _("EARL"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823E070}
+ },
+ [TRAINER_RUIN_MANIAC_LARRY_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_RUIN_MANIAC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_RUIN_MANIAC,
+ .trainerName = _("LARRY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823E080}
+ },
+ [TRAINER_POKEMANIAC_HECTOR_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_POKEMANIAC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS,
+ .trainerPic = TRAINER_PIC_POKEMANIAC,
+ .trainerName = _("HECTOR"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823E090}
+ },
+ [TRAINER_PSYCHIC_DARIO_2] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_PSYCHIC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_PSYCHIC_M,
+ .trainerName = _("DARIO"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 1,
+ .party = {.NoItemCustomMoves = sTrainerMons_823E0A0}
+ },
+ [TRAINER_PSYCHIC_RODETTE_2] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_PSYCHIC_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_PSYCHIC_F,
+ .trainerName = _("RODETTE"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemCustomMoves = sTrainerMons_823E0B0}
+ },
+ [TRAINER_JUGGLER_MASON_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_JUGGLER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_JUGGLER,
+ .trainerName = _("MASON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 4,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823E0E0}
+ },
+ [TRAINER_PKMN_RANGER_NICOLAS_2] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_PKMN_RANGER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_POKEMON_RANGER_M,
+ .trainerName = _("NICOLAS"),
+ .items = {ITEM_FULL_RESTORE},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823E100}
+ },
+ [TRAINER_PKMN_RANGER_MADELINE_2] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_PKMN_RANGER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_POKEMON_RANGER_F,
+ .trainerName = _("MADELINE"),
+ .items = {ITEM_FULL_RESTORE},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823E120}
+ },
+ [TRAINER_CRUSH_GIRL_CYNDY_2] = {
+ .partyFlags = F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_CRUSH_GIRL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE,
+ .trainerPic = TRAINER_PIC_CRUSH_GIRL,
+ .trainerName = _("CYNDY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.ItemDefaultMoves = sTrainerMons_823E140}
+ },
+ [TRAINER_TAMER_EVAN_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_TAMER,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER,
+ .trainerPic = TRAINER_PIC_TAMER,
+ .trainerName = _("EVAN"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823E158}
+ },
+ [TRAINER_PKMN_RANGER_JACKSON_2] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_PKMN_RANGER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_POKEMON_RANGER_M,
+ .trainerName = _("JACKSON"),
+ .items = {ITEM_FULL_RESTORE},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 3,
+ .party = {.NoItemCustomMoves = sTrainerMons_823E170}
+ },
+ [TRAINER_PKMN_RANGER_KATELYN_2] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_PKMN_RANGER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_POKEMON_RANGER_F,
+ .trainerName = _("KATELYN"),
+ .items = {ITEM_FULL_RESTORE},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 1,
+ .party = {.NoItemCustomMoves = sTrainerMons_823E1A0}
+ },
+ [TRAINER_COOLTRAINER_LEROY_2] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOLTRAINER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
+ .trainerName = _("LEROY"),
+ .items = {ITEM_FULL_RESTORE},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823E1B0}
+ },
+ [TRAINER_COOLTRAINER_MICHELLE_2] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOLTRAINER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
+ .trainerName = _("MICHELLE"),
+ .items = {ITEM_HYPER_POTION},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY,
+ .partySize = 5,
+ .party = {.NoItemCustomMoves = sTrainerMons_823E200}
+ },
+ [TRAINER_COOL_COUPLE_LEX_NYA_2] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
+ .trainerClass = CLASS_COOL_COUPLE,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
+ .trainerPic = TRAINER_PIC_COOL_COUPLE,
+ .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,
+ .partySize = 2,
+ .party = {.NoItemCustomMoves = sTrainerMons_823E250}
+ },
+ [TRAINER_BUG_CATCHER_COLTON_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _("COLTON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823E270}
+ },
+ [TRAINER_BUG_CATCHER_COLTON_3] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _("COLTON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823E288}
+ },
+ [TRAINER_BUG_CATCHER_COLTON_4] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_BUG_CATCHER_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_BUG_CATCHER,
+ .trainerName = _("COLTON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 3,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823E2A0}
+ },
+ [TRAINER_SWIMMER_MALE_MATTHEW_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("MATTHEW"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823E2B8}
+ },
+ [TRAINER_SWIMMER_MALE_TONY_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_MALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER,
+ .trainerPic = TRAINER_PIC_SWIMMER_M,
+ .trainerName = _("TONY"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823E2C8}
+ },
+ [TRAINER_SWIMMER_FEMALE_MELISSA_2] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_SWIMMER_FEMALE_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE | F_TRAINER_FEMALE,
+ .trainerPic = TRAINER_PIC_SWIMMER_F,
+ .trainerName = _("MELISSA"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823E2D8}
+ },
+ [TRAINER_ELITE_FOUR_LORELEI_2] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_ELITE_FOUR_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR,
+ .trainerPic = TRAINER_PIC_ELITE_FOUR_LORELEI,
+ .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,
+ .partySize = 5,
+ .party = {.ItemCustomMoves = sTrainerMons_823E2E8}
+ },
+ [TRAINER_ELITE_FOUR_BRUNO_2] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_ELITE_FOUR_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR,
+ .trainerPic = TRAINER_PIC_ELITE_FOUR_BRUNO,
+ .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,
+ .partySize = 5,
+ .party = {.ItemCustomMoves = sTrainerMons_823E338}
+ },
+ [TRAINER_ELITE_FOUR_AGATHA_2] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_ELITE_FOUR_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR,
+ .trainerPic = TRAINER_PIC_ELITE_FOUR_AGATHA,
+ .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,
+ .partySize = 5,
+ .party = {.ItemCustomMoves = sTrainerMons_823E388}
+ },
+ [TRAINER_ELITE_FOUR_LANCE_2] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_ELITE_FOUR_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR,
+ .trainerPic = TRAINER_PIC_ELITE_FOUR_LANCE,
+ .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,
+ .partySize = 5,
+ .party = {.ItemCustomMoves = sTrainerMons_823E3D8}
+ },
+ [TRAINER_CHAMPION_REMATCH_SQUIRTLE] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_CHAMPION_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CHAMPION_RIVAL,
+ .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,
+ .partySize = 6,
+ .party = {.ItemCustomMoves = sTrainerMons_823E428}
+ },
+ [TRAINER_CHAMPION_REMATCH_BULBASAUR] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_CHAMPION_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CHAMPION_RIVAL,
+ .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,
+ .partySize = 6,
+ .party = {.ItemCustomMoves = sTrainerMons_823E488}
+ },
+ [TRAINER_CHAMPION_REMATCH_CHARMANDER] = {
+ .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM,
+ .trainerClass = CLASS_CHAMPION_2,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CHAMPION_RIVAL,
+ .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,
+ .partySize = 6,
+ .party = {.ItemCustomMoves = sTrainerMons_823E4E8}
+ },
+ [TRAINER_CUE_BALL_PAXTON] = {
+ .partyFlags = 0,
+ .trainerClass = CLASS_CUE_BALL,
+ .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
+ .trainerPic = TRAINER_PIC_CUE_BALL,
+ .trainerName = _("PAXTON"),
+ .items = {},
+ .doubleBattle = FALSE,
+ .aiFlags = AI_SCRIPT_CHECK_BAD_MOVE,
+ .partySize = 2,
+ .party = {.NoItemDefaultMoves = sTrainerMons_823E548}
+ },
+};
diff --git a/src/event_data.c b/src/event_data.c
new file mode 100644
index 000000000..4aca57e50
--- /dev/null
+++ b/src/event_data.c
@@ -0,0 +1,325 @@
+#include "global.h"
+#include "event_data.h"
+#include "item_menu.h"
+#include "quest_log.h"
+
+static bool8 IsFlagOrVarStoredInQuestLog(u16 idx, u8 a1);
+
+EWRAM_DATA u16 gSpecialVar_0x8000 = 0;
+EWRAM_DATA u16 gSpecialVar_0x8001 = 0;
+EWRAM_DATA u16 gSpecialVar_0x8002 = 0;
+EWRAM_DATA u16 gSpecialVar_0x8003 = 0;
+EWRAM_DATA u16 gSpecialVar_0x8004 = 0;
+EWRAM_DATA u16 gSpecialVar_0x8005 = 0;
+EWRAM_DATA u16 gSpecialVar_0x8006 = 0;
+EWRAM_DATA u16 gSpecialVar_0x8007 = 0;
+EWRAM_DATA u16 gSpecialVar_0x8008 = 0;
+EWRAM_DATA u16 gSpecialVar_0x8009 = 0;
+EWRAM_DATA u16 gSpecialVar_0x800A = 0;
+EWRAM_DATA u16 gSpecialVar_0x800B = 0;
+EWRAM_DATA u16 gSpecialVar_Result = 0;
+EWRAM_DATA u16 gSpecialVar_LastTalked = 0;
+EWRAM_DATA u16 gSpecialVar_Facing = 0;
+EWRAM_DATA u16 gSpecialVar_MonBoxId = 0;
+EWRAM_DATA u16 gSpecialVar_MonBoxPos = 0;
+EWRAM_DATA u16 gSpecialVar_TextColor = 0;
+EWRAM_DATA u16 gSpecialVar_PrevTextColor = 0;
+EWRAM_DATA u16 gUnknown_20370DE = 0;
+EWRAM_DATA u8 sSpecialFlags[SPECIAL_FLAGS_COUNT] = {};
+
+u16 gLastQuestLogStoredFlagOrVarIdx;
+
+extern u16 *const gSpecialVars[];
+
+void InitEventData(void)
+{
+ memset(gSaveBlock1Ptr->flags, 0, FLAGS_COUNT);
+ memset(gSaveBlock1Ptr->vars, 0, VARS_COUNT * 2);
+ memset(sSpecialFlags, 0, SPECIAL_FLAGS_COUNT);
+}
+
+void sub_806E110(void)
+{
+ memset(gSaveBlock1Ptr->flags, 0, 4);
+ memset(gSaveBlock1Ptr->vars, 0, 16 * 2);
+ FlagClear(FLAG_SYS_WHITE_FLUTE_ACTIVE);
+ FlagClear(FLAG_SYS_BLACK_FLUTE_ACTIVE);
+ FlagClear(FLAG_SYS_STRENGTH_ACTIVE);
+ FlagClear(FLAG_SYS_SPECIAL_WILD_BATTLE);
+ FlagClear(FLAG_SYS_INFORMED_OF_LOCAL_WIRELESS_PLAYER);
+}
+
+void sub_806E168(void)
+{
+ u16 *ptr = GetVarPointer(VAR_0x403C);
+ gSaveBlock2Ptr->pokedex.nationalMagic = 0;
+ *ptr = 0;
+ FlagClear(FLAG_0x838);
+}
+
+void sub_806E190(void)
+{
+ u16 *ptr = GetVarPointer(VAR_0x403C);
+ gSaveBlock2Ptr->pokedex.nationalMagic = 0xDA;
+ *ptr = 0x0302;
+ FlagSet(FLAG_0x838);
+}
+
+bool32 sub_806E1C0(void)
+{
+ if (gSaveBlock2Ptr->pokedex.nationalMagic != 0xDA)
+ return FALSE;
+ if (VarGet(VAR_0x403C) != 0x0302)
+ return FALSE;
+ if (!FlagGet(FLAG_0x838))
+ return FALSE;
+ return TRUE;
+}
+
+void sub_806E204(void)
+{
+ u16 *ptr = GetVarPointer(VAR_0x404E);
+ gSaveBlock2Ptr->pokedex.unknown2 = 0;
+ *ptr = 0;
+ FlagClear(FLAG_SYS_NATIONAL_DEX);
+}
+
+void EnableNationalPokedex(void)
+{
+ u16 *ptr = GetVarPointer(VAR_0x404E);
+ gSaveBlock2Ptr->pokedex.unknown2 = 0xB9;
+ *ptr = 0x6258;
+ FlagSet(FLAG_SYS_NATIONAL_DEX);
+}
+
+bool32 IsNationalPokedexEnabled(void)
+{
+ if (gSaveBlock2Ptr->pokedex.unknown2 != 0xB9)
+ return FALSE;
+ if (VarGet(VAR_0x404E) != 0x6258)
+ return FALSE;
+ if (!FlagGet(FLAG_SYS_NATIONAL_DEX))
+ return FALSE;
+ return TRUE;
+}
+
+void DisableMysteryGift(void)
+{
+ FlagClear(FLAG_SYS_MYSTERY_GIFT_ENABLED);
+}
+
+void EnableMysteryGift(void)
+{
+ FlagSet(FLAG_SYS_MYSTERY_GIFT_ENABLED);
+}
+
+bool32 IsMysteryGiftEnabled(void)
+{
+ return FlagGet(FLAG_SYS_MYSTERY_GIFT_ENABLED);
+}
+
+void sub_806E2D0(void)
+{
+ FlagClear(FLAG_MYSTERY_EVENT_DONE);
+ FlagClear(FLAG_0x3D9);
+ FlagClear(FLAG_0x3DA);
+ FlagClear(FLAG_0x3DB);
+ FlagClear(FLAG_0x3DC);
+ FlagClear(FLAG_0x3DD);
+ FlagClear(FLAG_0x3DE);
+ FlagClear(FLAG_0x3DF);
+ FlagClear(FLAG_0x3E0);
+ FlagClear(FLAG_0x3E1);
+ FlagClear(FLAG_0x3E2);
+ FlagClear(FLAG_0x3E3);
+ FlagClear(FLAG_0x3E4);
+ FlagClear(FLAG_0x3E5);
+ FlagClear(FLAG_0x3E6);
+ FlagClear(FLAG_0x3E7);
+}
+
+void sub_806E370(void)
+{
+ VarSet(VAR_EVENT_PICHU_SLOT, 0);
+ VarSet(VAR_0x40B6, 0);
+ VarSet(VAR_0x40B7, 0);
+ VarSet(VAR_0x40B8, 0);
+ VarSet(VAR_0x40B9, 0);
+ VarSet(VAR_0x40BA, 0);
+ VarSet(VAR_0x40BB, 0);
+ VarSet(VAR_0x40BC, 0);
+ VarSet(VAR_ALTERING_CAVE_WILD_SET, 0);
+}
+
+void DisableResetRTC(void)
+{
+ VarSet(VAR_0x4032, 0);
+ FlagClear(FLAG_0x837);
+}
+
+void EnableResetRTC(void)
+{
+ VarSet(VAR_0x4032, 0x0920);
+ FlagSet(FLAG_0x837);
+}
+
+bool32 CanResetRTC(void)
+{
+ if (!FlagGet(FLAG_0x837))
+ return FALSE;
+ if (VarGet(VAR_0x4032) != 0x0920)
+ return FALSE;
+ return TRUE;
+}
+
+u16 *GetVarPointer(u16 idx)
+{
+ u16 *ptr;
+ if (idx < VARS_START)
+ return NULL;
+ if (idx < SPECIAL_VARS_START)
+ {
+ switch (gUnknown_3005E88)
+ {
+ case 0:
+ default:
+ break;
+ case 1:
+ ptr = QuestLogGetFlagOrVarPtr(FALSE, idx);
+ if (ptr != NULL)
+ gSaveBlock1Ptr->vars[idx - VARS_START] = *ptr;
+ break;
+ case 2:
+ if (IsFlagOrVarStoredInQuestLog(idx - VARS_START, TRUE) == TRUE)
+ {
+ gLastQuestLogStoredFlagOrVarIdx = idx - VARS_START;
+ QuestLogSetFlagOrVar(FALSE, idx, gSaveBlock1Ptr->vars[idx - VARS_START]);
+ }
+ break;
+ }
+ return &gSaveBlock1Ptr->vars[idx - VARS_START];
+ }
+ return gSpecialVars[idx - SPECIAL_VARS_START];
+}
+
+static bool8 IsFlagOrVarStoredInQuestLog(u16 idx, bool8 isVar)
+{
+ if (!isVar)
+ {
+ if (idx < STORY_FLAGS_START)
+ return FALSE;
+ if (idx >= SYS_FLAGS && idx < PERMA_SYS_FLAGS_START)
+ return FALSE;
+ }
+ else
+ {
+ if (idx < VAR_0x4030 - VARS_START)
+ return FALSE;
+ if (idx >= VAR_MAP_SCENE_PALLET_TOWN_OAK - VARS_START && idx < VAR_PORTHOLE - VARS_START)
+ return FALSE;
+ }
+ return TRUE;
+}
+
+u16 VarGet(u16 idx)
+{
+ u16 *ptr = GetVarPointer(idx);
+ if (ptr == NULL)
+ return idx;
+ return *ptr;
+}
+
+bool8 VarSet(u16 idx, u16 val)
+{
+ u16 *ptr = GetVarPointer(idx);
+ if (ptr == NULL)
+ return FALSE;
+ *ptr = val;
+ return TRUE;
+}
+
+u8 VarGetFieldObjectGraphicsId(u8 idx)
+{
+ return VarGet(VAR_OBJ_GFX_ID_0 + idx);
+}
+
+u8 *GetFlagAddr(u16 idx)
+{
+ u8 *ptr;
+ if (idx == 0)
+ return NULL;
+ if (idx < SPECIAL_FLAGS_START)
+ {
+ switch (gUnknown_3005E88)
+ {
+ case 0:
+ default:
+ break;
+ case 1:
+ ptr = QuestLogGetFlagOrVarPtr(TRUE, idx);
+ if (ptr != NULL)
+ gSaveBlock1Ptr->flags[idx >> 3] = *ptr;
+ break;
+ case 2:
+ if (IsFlagOrVarStoredInQuestLog(idx, FALSE) == TRUE)
+ {
+ gLastQuestLogStoredFlagOrVarIdx = idx;
+ QuestLogSetFlagOrVar(TRUE, idx, gSaveBlock1Ptr->flags[idx / 8]);
+ }
+ break;
+ }
+ return &gSaveBlock1Ptr->flags[idx / 8];
+ }
+ return &sSpecialFlags[(idx - SPECIAL_FLAGS_START) / 8];
+}
+
+bool8 FlagSet(u16 idx)
+{
+ u8 *ptr = GetFlagAddr(idx);
+ if (ptr != NULL)
+ *ptr |= 1 << (idx & 7);
+ return FALSE;
+}
+
+bool8 FlagClear(u16 idx)
+{
+ u8 *ptr = GetFlagAddr(idx);
+ if (ptr != NULL)
+ *ptr &= ~(1 << (idx & 7));
+ return FALSE;
+}
+
+bool8 FlagGet(u16 idx)
+{
+ u8 *ptr = GetFlagAddr(idx);
+ if (ptr == NULL)
+ return FALSE;
+ if (!(*ptr & 1 << (idx & 7)))
+ return FALSE;
+ return TRUE;
+}
+
+void ResetSpecialVars(void)
+{
+ gSpecialVar_0x8000 = 0;
+ gSpecialVar_0x8001 = 0;
+ gSpecialVar_0x8002 = 0;
+ gSpecialVar_0x8003 = 0;
+ gSpecialVar_0x8004 = 0;
+ gSpecialVar_0x8005 = 0;
+ gSpecialVar_0x8006 = 0;
+ gSpecialVar_0x8007 = 0;
+ gSpecialVar_0x8008 = 0;
+ gSpecialVar_0x8009 = 0;
+ gSpecialVar_0x800A = 0;
+ gSpecialVar_0x800B = 0;
+ gSpecialVar_Facing = 0;
+ gSpecialVar_Result = 0;
+ gSpecialVar_ItemId = 0;
+ gSpecialVar_LastTalked = 0;
+ gSpecialVar_MonBoxId = 0;
+ gSpecialVar_MonBoxPos = 0;
+ gSpecialVar_TextColor = 0;
+ gSpecialVar_PrevTextColor = 0;
+ gUnknown_20370DE = 0;
+}
diff --git a/src/heal_location.c b/src/heal_location.c
index 5c6dbc882..89d9478c0 100644
--- a/src/heal_location.c
+++ b/src/heal_location.c
@@ -122,10 +122,10 @@ void SetBlackoutRespawnWarpAndHealerNpc(struct WarpData * warp)
{
u32 healLocationIdx;
- if (VarGet(VAR_0x4082) == 1)
+ if (VarGet(VAR_MAP_SCENE_TRAINER_TOWER) == 1)
{
if (!gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_2)
- VarSet(VAR_0x4082, 0);
+ VarSet(VAR_MAP_SCENE_TRAINER_TOWER, 0);
gSpecialVar_LastTalked = 1;
warp->x = 4;
warp->y = 11;
@@ -159,7 +159,7 @@ void SetBlackoutRespawnWarpAndHealerNpc(struct WarpData * warp)
{
warp->x = 4;
warp->y = 11;
- VarSet(VAR_0x4082, 0);
+ VarSet(VAR_MAP_SCENE_TRAINER_TOWER, 0);
}
else
{
diff --git a/src/help_system_812B1E0.c b/src/help_system_812B1E0.c
index afb792072..1f3acdb2d 100644
--- a/src/help_system_812B1E0.c
+++ b/src/help_system_812B1E0.c
@@ -950,7 +950,7 @@ static bool8 IsInDungeonMap(void)
if (
sDungeonMaps[i][0] == gSaveBlock1Ptr->location.mapGroup
&& sDungeonMaps[i][1] + j == gSaveBlock1Ptr->location.mapNum
- && (i != 15 /* TANOBY */ || FlagGet(FLAG_0x849) == TRUE)
+ && (i != 15 /* TANOBY */ || FlagGet(FLAG_SYS_UNLOCKED_TANOBY_RUINS) == TRUE)
)
return TRUE;
}
@@ -990,10 +990,10 @@ bool8 sub_812B40C(void)
if (gUnknown_203B0EE == 1)
return FALSE;
- if (gSaveFileStatus != SAVE_STATUS_EMPTY && gSaveFileStatus != SAVE_STATUS_INVALID && FlagGet(FLAG_0x83C))
+ if (gSaveFileStatus != SAVE_STATUS_EMPTY && gSaveFileStatus != SAVE_STATUS_INVALID && FlagGet(FLAG_SYS_SAW_HELP_SYSTEM_INTRO))
return FALSE;
- FlagSet(FLAG_0x83C);
+ FlagSet(FLAG_SYS_SAW_HELP_SYSTEM_INTRO);
gUnknown_203B0EE = 1;
return TRUE;
}
@@ -1125,7 +1125,7 @@ static void sub_812B614(struct HelpSystemListMenu * a0, struct ListMenuItem * a1
static bool8 sub_812B754(void)
{
- if (FlagGet(FLAG_0x4B0) == TRUE && gUnknown_3005E9C[1] == 2)
+ if (FlagGet(FLAG_DEFEATED_BROCK) == TRUE && gUnknown_3005E9C[1] == 2)
return TRUE;
return FALSE;
}
@@ -1150,7 +1150,7 @@ static bool8 sub_812B780(u8 id)
case 43:
return TRUE;
case 4:
- return FlagGet(FLAG_0x2CF);
+ return FlagGet(FLAG_VISITED_OAKS_LAB);
case 6:
case 10:
case 16:
@@ -1163,7 +1163,7 @@ static bool8 sub_812B780(u8 id)
return FlagGet(FLAG_WORLD_MAP_VERMILION_CITY);
case 11:
case 24:
- return FlagGet(FLAG_0x8A4);
+ return FlagGet(FLAG_WORLD_MAP_VIRIDIAN_FOREST);
case 9:
case 13:
case 14:
@@ -1175,22 +1175,22 @@ static bool8 sub_812B780(u8 id)
case 29:
case 31:
case 37:
- return FlagGet(FLAG_0x828);
+ return FlagGet(FLAG_SYS_POKEMON_GET);
case 21:
case 23:
- return FlagGet(FLAG_0x829);
+ return FlagGet(FLAG_SYS_POKEDEX_GET);
case 12:
case 25:
case 27:
case 30:
case 32:
case 33:
- return FlagGet(FLAG_UNK820);
+ return FlagGet(FLAG_BADGE01_GET);
case 28:
case 40:
return sub_812BB10();
case 39:
- return FlagGet(FLAG_0x29B);
+ return FlagGet(FLAG_GOT_FAME_CHECKER);
case 44:
return FlagGet(FLAG_WORLD_MAP_PEWTER_CITY);
}
@@ -1229,7 +1229,7 @@ static bool8 sub_812B780(u8 id)
case 1:
case 30:
case 37:
- return FlagGet(FLAG_0x829);
+ return FlagGet(FLAG_SYS_POKEDEX_GET);
case 14:
return CheckBagHasItem(ITEM_TOWN_MAP, 1);
case 2:
@@ -1244,21 +1244,21 @@ static bool8 sub_812B780(u8 id)
case 35:
case 43:
case 44:
- return FlagGet(FLAG_0x828);
+ return FlagGet(FLAG_SYS_POKEMON_GET);
case 4:
case 34:
if (GetKantoPokedexCount(1) > 1)
return TRUE;
return FALSE;
case 15:
- return FlagGet(FLAG_UNK820);
+ return FlagGet(FLAG_BADGE01_GET);
case 16:
case 17:
return sub_812BB10();
case 18:
- return FlagGet(FLAG_0x271);
+ return FlagGet(FLAG_GOT_BICYCLE);
case 48:
- return FlagGet(FLAG_0x82C);
+ return FlagGet(FLAG_SYS_GAME_CLEAR);
}
return FALSE;
}
@@ -1308,7 +1308,7 @@ static bool8 sub_812B780(u8 id)
case 19:
case 20:
case 21:
- return FlagGet(FLAG_0x828);
+ return FlagGet(FLAG_SYS_POKEMON_GET);
case 36:
case 37:
return sub_812BB10();
@@ -1316,7 +1316,7 @@ static bool8 sub_812B780(u8 id)
case 15:
case 18:
case 39:
- return FlagGet(FLAG_0x8A4);
+ return FlagGet(FLAG_WORLD_MAP_VIRIDIAN_FOREST);
}
return TRUE;
}
@@ -1325,9 +1325,9 @@ static bool8 sub_812B780(u8 id)
switch (id)
{
case 5:
- return FlagGet(FLAG_UNK820);
+ return FlagGet(FLAG_BADGE01_GET);
case 6:
- return FlagGet(FLAG_0x821);
+ return FlagGet(FLAG_BADGE02_GET);
}
return TRUE;
}
@@ -1341,19 +1341,19 @@ static bool8 sub_812B780(u8 id)
static bool8 sub_812BB10(void)
{
- if (FlagGet(FLAG_0x237) == TRUE)
+ if (FlagGet(FLAG_GOT_HM01) == TRUE)
return TRUE;
- if (FlagGet(FLAG_0x238) == TRUE)
+ if (FlagGet(FLAG_GOT_HM02) == TRUE)
return TRUE;
- if (FlagGet(FLAG_0x239) == TRUE)
+ if (FlagGet(FLAG_GOT_HM03) == TRUE)
return TRUE;
- if (FlagGet(FLAG_0x23A) == TRUE)
+ if (FlagGet(FLAG_GOT_HM04) == TRUE)
return TRUE;
- if (FlagGet(FLAG_0x23B) == TRUE)
+ if (FlagGet(FLAG_GOT_HM05) == TRUE)
return TRUE;
- if (FlagGet(FLAG_0x2EF) == TRUE)
+ if (FlagGet(FLAG_GOT_HM06) == TRUE)
return TRUE;
- if (FlagGet(FLAG_0x1F1) == TRUE)
+ if (FlagGet(FLAG_HIDE_FOUR_ISLAND_ICEFALL_CAVE_1F_HM07) == TRUE)
return TRUE;
return FALSE;
}
diff --git a/src/item.c b/src/item.c
index 750c4481d..f21b3b3d1 100644
--- a/src/item.c
+++ b/src/item.c
@@ -245,11 +245,11 @@ bool8 AddBagItem(u16 itemId, u16 count)
return FALSE;
gBagPockets[POCKET_KEY_ITEMS - 1].itemSlots[idx].itemId = ITEM_BERRY_POUCH;
SetBagItemQuantity(&gBagPockets[POCKET_KEY_ITEMS - 1].itemSlots[idx].quantity, 1);
- FlagSet(FLAG_0x847);
+ FlagSet(FLAG_SYS_GOT_BERRY_POUCH);
}
if (itemId == ITEM_BERRY_POUCH)
- FlagSet(FLAG_0x847);
+ FlagSet(FLAG_SYS_GOT_BERRY_POUCH);
idx = BagPocketGetFirstEmptySlot(pocket);
if (idx == -1)
diff --git a/src/item_use.c b/src/item_use.c
index 416edfe88..2a2804510 100644
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -203,7 +203,7 @@ void FieldUseFunc_MachBike(u8 taskId)
PlayerGetDestCoords(&x, &y);
behavior = MapGridGetMetatileBehaviorAt(x, y);
- if (FlagGet(FLAG_0x830) == TRUE
+ if (FlagGet(FLAG_SYS_ON_CYCLING_ROAD) == TRUE
|| MetatileBehavior_ReturnFalse_17(behavior) == TRUE
|| MetatileBehavior_ReturnFalse_18(behavior) == TRUE
|| MetatileBehavior_ReturnFalse_15(behavior) == TRUE
@@ -530,8 +530,8 @@ void FieldUseFunc_BlackFlute(u8 taskId)
ItemUse_SetQuestLogEvent(4, NULL, gSpecialVar_ItemId, 0xFFFF);
if (gSpecialVar_ItemId == ITEM_WHITE_FLUTE)
{
- FlagSet(FLAG_WHITE_FLUTE_ACTIVE);
- FlagClear(FLAG_BLACK_FLUTE_ACTIVE);
+ FlagSet(FLAG_SYS_WHITE_FLUTE_ACTIVE);
+ FlagClear(FLAG_SYS_BLACK_FLUTE_ACTIVE);
CopyItemName(gSpecialVar_ItemId, gStringVar2);
StringExpandPlaceholders(gStringVar4, gUnknown_84165D2);
gTasks[taskId].func = sub_80A1B48;
@@ -539,8 +539,8 @@ void FieldUseFunc_BlackFlute(u8 taskId)
}
else if (gSpecialVar_ItemId == ITEM_BLACK_FLUTE)
{
- FlagSet(FLAG_BLACK_FLUTE_ACTIVE);
- FlagClear(FLAG_WHITE_FLUTE_ACTIVE);
+ FlagSet(FLAG_SYS_BLACK_FLUTE_ACTIVE);
+ FlagClear(FLAG_SYS_WHITE_FLUTE_ACTIVE);
CopyItemName(gSpecialVar_ItemId, gStringVar2);
StringExpandPlaceholders(gStringVar4, gUnknown_8416600);
gTasks[taskId].func = sub_80A1B48;
diff --git a/src/link.c b/src/link.c
index bb0401907..ac9cf9cfe 100644
--- a/src/link.c
+++ b/src/link.c
@@ -329,7 +329,7 @@ static void InitLocalLinkPlayer(void)
gLocalLinkPlayer.version = gGameVersion + 0x4000;
gLocalLinkPlayer.lp_field_2 = 0x8000;
gLocalLinkPlayer.name[8] = IsNationalPokedexEnabled();
- if (FlagGet(FLAG_0x844))
+ if (FlagGet(FLAG_SYS_CAN_LINK_WITH_RS))
{
gLocalLinkPlayer.name[8] |= 0x10;
}
diff --git a/src/mail.c b/src/mail.c
index f6b7e2c4d..a9cb66683 100644
--- a/src/mail.c
+++ b/src/mail.c
@@ -596,16 +596,16 @@ static bool8 DoInitMailView(void)
gPaletteFade.bufferTransferDisabled = TRUE;
break;
case 17:
- iconId = sub_8096FD4(sMailViewResources->mail->species);
+ iconId = MailSpeciesToIconSpecies(sMailViewResources->mail->species);
switch (sMailViewResources->monIconType)
{
case MAIL_ICON_BEAD:
- sub_80970E0(iconId);
- sMailViewResources->monIconSpriteId = sub_8096ECC(iconId, SpriteCallbackDummy, 0x60, 0x80, 0, FALSE);
+ LoadMonIconPalette(iconId);
+ sMailViewResources->monIconSpriteId = CreateMonIcon_HandleDeoxys(iconId, SpriteCallbackDummy, 0x60, 0x80, 0, FALSE);
break;
case MAIL_ICON_DREAM:
- sub_80970E0(iconId);
- sMailViewResources->monIconSpriteId = sub_8096ECC(iconId, SpriteCallbackDummy, 0x28, 0x80, 0, FALSE);
+ LoadMonIconPalette(iconId);
+ sMailViewResources->monIconSpriteId = CreateMonIcon_HandleDeoxys(iconId, SpriteCallbackDummy, 0x28, 0x80, 0, FALSE);
break;
}
break;
@@ -726,8 +726,8 @@ static void ShowMailCB_Teardown(void)
{
case MAIL_ICON_BEAD:
case MAIL_ICON_DREAM:
- sub_8097168(sub_8096FD4(sMailViewResources->mail->species));
- sub_8097070(&gSprites[sMailViewResources->monIconSpriteId]);
+ FreeMonIconPalette(MailSpeciesToIconSpecies(sMailViewResources->mail->species));
+ DestroyMonIcon(&gSprites[sMailViewResources->monIconSpriteId]);
break;
}
*sMailViewResources = (struct MailViewResources){};
diff --git a/src/main_menu.c b/src/main_menu.c
index 72056d750..542bcf8ea 100644
--- a/src/main_menu.c
+++ b/src/main_menu.c
@@ -240,7 +240,7 @@ static void Task_SetWin0BldRegsAndCheckSaveFile(u8 taskId)
{
case SAVE_STATUS_OK:
LoadUserFrameToBg(0);
- if (Flag_0x839_IsSet() == TRUE)
+ if (IsMysteryGiftEnabled() == TRUE)
{
gTasks[taskId].tMenuType = MAIN_MENU_MYSTERYGIFT;
}
@@ -259,7 +259,7 @@ static void Task_SetWin0BldRegsAndCheckSaveFile(u8 taskId)
SetStdFrame0OnBg(0);
gTasks[taskId].tMenuType = MAIN_MENU_CONTINUE;
PrintSaveErrorStatus(taskId, gText_SaveFileCorruptedPrevWillBeLoaded);
- if (Flag_0x839_IsSet() == TRUE)
+ if (IsMysteryGiftEnabled() == TRUE)
{
gTasks[taskId].tMenuType = MAIN_MENU_MYSTERYGIFT;
}
@@ -652,7 +652,7 @@ static void PrintDexCount(void)
u8 strbuf[30];
u8 *ptr;
u16 dexcount;
- if (FlagGet(FLAG_0x829) == TRUE)
+ if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE)
{
if (IsNationalPokedexEnabled())
dexcount = GetNationalPokedexCount(FLAG_GET_CAUGHT);
@@ -671,7 +671,7 @@ static void PrintBadgeCount(void)
u8 *ptr;
u32 flagId;
u8 nbadges = 0;
- for (flagId = FLAG_UNK820; flagId < FLAG_UNK820 + 8; flagId++)
+ for (flagId = FLAG_BADGE01_GET; flagId < FLAG_BADGE01_GET + 8; flagId++)
{
if (FlagGet(flagId))
nbadges++;
diff --git a/src/menews_jisan.c b/src/menews_jisan.c
index 2f6172bbc..f38de9cfd 100644
--- a/src/menews_jisan.c
+++ b/src/menews_jisan.c
@@ -3,16 +3,17 @@
#include "random.h"
#include "event_data.h"
#include "menews_jisan.h"
+#include "constants/items.h"
-static u32 sub_8146D74(struct MysteryEventStruct *);
-static void sub_8146DD8(struct MysteryEventStruct *);
-static u32 sub_8146E0C(struct MysteryEventStruct *);
-static void sub_8146DA0(struct MysteryEventStruct *);
-static void sub_8146D94(struct MysteryEventStruct *);
+static u32 GetMENewsJisanRewardItem(struct MENewsJisanStruct *);
+static void MENewsJisanIncrementCounterUnk0_5(struct MENewsJisanStruct *);
+static u32 GetMENewsJisanState(struct MENewsJisanStruct *);
+static void MENewsJisanIncrementCounterUnk0_2(struct MENewsJisanStruct *);
+static void MENewsJisanResetCounterUnk0_2(struct MENewsJisanStruct *);
-void GenerateRandomNews(u32 a0)
+void MENewsJisan_SetRandomReward(u32 a0)
{
- struct MysteryEventStruct *r5 = sub_8143D94();
+ struct MENewsJisanStruct *r5 = GetMENewsJisanStructPtr();
r5->unk_0_0 = a0;
switch (a0)
@@ -21,68 +22,68 @@ void GenerateRandomNews(u32 a0)
break;
case 1:
case 2:
- r5->unk_1 = (Random() % 15) + 16;
+ r5->berry = (Random() % 15) + ITEM_TO_BERRY(ITEM_RAZZ_BERRY);
break;
case 3:
- r5->unk_1 = (Random() % 15) + 1;
+ r5->berry = (Random() % 15) + ITEM_TO_BERRY(ITEM_CHERI_BERRY);
break;
}
}
-void sub_8146C88(void)
+void MENewsJisanReset(void)
{
- struct MysteryEventStruct *r5 = sub_8143D94();
+ struct MENewsJisanStruct *r5 = GetMENewsJisanStructPtr();
r5->unk_0_0 = 0;
r5->unk_0_2 = 0;
r5->unk_0_5 = 0;
- r5->unk_1 = 0;
- VarSet(VAR_0x4028, 0);
+ r5->berry = 0;
+ VarSet(VAR_MENEWS_JISAN_STEP_COUNTER, 0);
}
-void sub_8146CA4(void)
+void MENewsJisanStepCounter(void)
{
- u16 *r4 = GetVarPointer(VAR_0x4028);
- struct MysteryEventStruct *r2 = sub_8143D94();
- struct MysteryEventStruct r0 = *r2;
+ u16 *r4 = GetVarPointer(VAR_MENEWS_JISAN_STEP_COUNTER);
+ struct MENewsJisanStruct *r2 = GetMENewsJisanStructPtr();
+ struct MENewsJisanStruct r0 = *r2;
- if ((u8)r0.unk_0_5 > 4 && ++(*r4) > 0x1f3)
+ if ((u8)r0.unk_0_5 > 4 && ++(*r4) >= 500)
{
r2->unk_0_5 = 0;
*r4 = 0;
}
}
-u16 sub_8146CE8(void)
+u16 Special_GetMENewsJisanItemAndState(void)
{
u16 *r6 = &gSpecialVar_Result;
- struct MysteryEventStruct *r4 = sub_8143D94();
+ struct MENewsJisanStruct *r4 = GetMENewsJisanStructPtr();
u16 r5;
- if (!Flag_0x839_IsSet() || !ValidateReceivedWonderNews())
+ if (!IsMysteryGiftEnabled() || !ValidateReceivedWonderNews())
return 0;
- r5 = sub_8146E0C(r4);
+ r5 = GetMENewsJisanState(r4);
switch (r5)
{
case 0:
break;
case 1:
- *r6 = sub_8146D74(r4);
+ *r6 = GetMENewsJisanRewardItem(r4);
break;
case 2:
- *r6 = sub_8146D74(r4);
+ *r6 = GetMENewsJisanRewardItem(r4);
break;
case 3:
break;
case 4:
- *r6 = sub_8146D74(r4);
- sub_8146DA0(r4);
+ *r6 = GetMENewsJisanRewardItem(r4);
+ MENewsJisanIncrementCounterUnk0_2(r4);
break;
case 5:
- *r6 = sub_8146D74(r4);
- sub_8146D94(r4);
+ *r6 = GetMENewsJisanRewardItem(r4);
+ MENewsJisanResetCounterUnk0_2(r4);
break;
case 6:
break;
@@ -91,39 +92,39 @@ u16 sub_8146CE8(void)
return r5;
}
-static u32 sub_8146D74(struct MysteryEventStruct *a0)
+static u32 GetMENewsJisanRewardItem(struct MENewsJisanStruct *a0)
{
u32 r4;
a0->unk_0_0 = 0;
- r4 = a0->unk_1 + 0x84;
- a0->unk_1 = 0;
- sub_8146DD8(a0);
+ r4 = a0->berry + FIRST_BERRY_INDEX - 1;
+ a0->berry = 0;
+ MENewsJisanIncrementCounterUnk0_5(a0);
return r4;
}
-static void sub_8146D94(struct MysteryEventStruct *a0)
+static void MENewsJisanResetCounterUnk0_2(struct MENewsJisanStruct *a0)
{
a0->unk_0_2 = 0;
}
-static void sub_8146DA0(struct MysteryEventStruct *a0)
+static void MENewsJisanIncrementCounterUnk0_2(struct MENewsJisanStruct *a0)
{
a0->unk_0_2++;
if ((u8)a0->unk_0_2 > 4)
a0->unk_0_2 = 4;
}
-static void sub_8146DD8(struct MysteryEventStruct *a0)
+static void MENewsJisanIncrementCounterUnk0_5(struct MENewsJisanStruct *a0)
{
a0->unk_0_5++;
if ((u8)a0->unk_0_5 > 5)
a0->unk_0_5 = 5;
}
-static u32 sub_8146E0C(struct MysteryEventStruct *a0)
+static u32 GetMENewsJisanState(struct MENewsJisanStruct *a0)
{
- struct MysteryEventStruct r0;
+ struct MENewsJisanStruct r0;
if ((u8)a0->unk_0_5 == 5)
return 6;
diff --git a/src/mevent.c b/src/mevent.c
index f1c9d8a4c..74dca5a75 100644
--- a/src/mevent.c
+++ b/src/mevent.c
@@ -423,7 +423,7 @@ void sub_8143910(u8 taskId)
}
break;
case 15:
- data->t0E = ValidateTrainerTowerData((struct TrainerTowerData *)gDecompressionBuffer);
+ data->t0E = ValidateTrainerTowerData((struct EReaderTrainerHillSet *)gDecompressionBuffer);
sub_800AA80(data->t0E);
data->state = 16;
break;
@@ -437,7 +437,7 @@ void sub_8143910(u8 taskId)
}
break;
case 17:
- if (CEReaderTool_SaveTrainerTower((struct TrainerTowerData *)gDecompressionBuffer))
+ if (CEReaderTool_SaveTrainerTower((struct EReaderTrainerHillSet *)gDecompressionBuffer))
{
AddTextPrinterToWindow1(gUnknown_841DE99);
ResetDelayTimer(&data->t00);
@@ -505,7 +505,7 @@ struct MEventBuffer_3430_Sub * sav1_get_mevent_buffer_2(void)
return &gSaveBlock1Ptr->unk_3120.buffer_310.data;
}
-struct MysteryEventStruct * sub_8143D94(void)
+struct MENewsJisanStruct * GetMENewsJisanStructPtr(void)
{
return &gSaveBlock1Ptr->unk_3120.unk_340;
}
@@ -562,8 +562,8 @@ void sub_8143E9C(void)
void sub_8143ED0(void)
{
- CpuFill32(0, sub_8143D94(), sizeof(struct MysteryEventStruct));
- sub_8146C88();
+ CpuFill32(0, GetMENewsJisanStructPtr(), sizeof(struct MENewsJisanStruct));
+ MENewsJisanReset();
}
bool32 sub_8143EF4(const u8 * src)
diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c
index 85c1dfccb..e42b49627 100644
--- a/src/mevent_8145654.c
+++ b/src/mevent_8145654.c
@@ -200,7 +200,7 @@ s32 FadeToWonderCardMenu(void)
CopyBgTilemapBufferToVram(1);
break;
case 6:
- sub_809707C();
+ LoadMonIconPalettes();
break;
case 7:
ShowBg(1);
@@ -398,7 +398,7 @@ void sub_8146060(void)
gUnknown_203F3C8->unk_017C = 0xFF;
if (gUnknown_203F3C8->unk_014C.unk_06 != SPECIES_NONE)
{
- gUnknown_203F3C8->unk_017C = sub_8096ECC(sub_8096FD4(gUnknown_203F3C8->unk_014C.unk_06), SpriteCallbackDummy, 0xDC, 0x14, 0, FALSE);
+ gUnknown_203F3C8->unk_017C = CreateMonIcon_HandleDeoxys(MailSpeciesToIconSpecies(gUnknown_203F3C8->unk_014C.unk_06), SpriteCallbackDummy, 0xDC, 0x14, 0, FALSE);
gSprites[gUnknown_203F3C8->unk_017C].oam.priority = 2;
}
if (gUnknown_203F3C8->unk_0000.unk_09 != 0 && gUnknown_203F3C8->unk_0000.unk_08_0 == 1)
@@ -412,7 +412,7 @@ void sub_8146060(void)
gUnknown_203F3C8->unk_017D[r7][0] = CreateSprite(&gUnknown_8467FA0, 0xd8 - 32 * r7, 0x90, 8);
if (gUnknown_203F3C8->unk_014C.unk_08[0][r7] != 0)
{
- gUnknown_203F3C8->unk_017D[r7][1] = sub_8096ECC(sub_8096FD4(gUnknown_203F3C8->unk_014C.unk_08[0][r7]), SpriteCallbackDummy, 0xd8 - 32 * r7, 0x88, 0, 0);
+ gUnknown_203F3C8->unk_017D[r7][1] = CreateMonIcon_HandleDeoxys(MailSpeciesToIconSpecies(gUnknown_203F3C8->unk_014C.unk_08[0][r7]), SpriteCallbackDummy, 0xd8 - 32 * r7, 0x88, 0, 0);
gSprites[gUnknown_203F3C8->unk_017D[r7][1]].oam.priority = 2;
}
}
@@ -423,7 +423,7 @@ void sub_81461D8(void)
{
u8 r6 = 0;
if (gUnknown_203F3C8->unk_017C != 0xFF)
- sub_8097070(&gSprites[gUnknown_203F3C8->unk_017C]);
+ DestroyMonIcon(&gSprites[gUnknown_203F3C8->unk_017C]);
if (gUnknown_203F3C8->unk_0000.unk_09 != 0 && gUnknown_203F3C8->unk_0000.unk_08_0 == 1)
{
for (; r6 < gUnknown_203F3C8->unk_0000.unk_09; r6++)
@@ -435,7 +435,7 @@ void sub_81461D8(void)
// if (gUnknown_203F3C8->unk_017D[r6][1] != 0xFF)
if (gUnknown_203F3C8->unk_017D[r6][0] != 0xFF)
{
- sub_8097070(&gSprites[gUnknown_203F3C8->unk_017D[r6][1]]);
+ DestroyMonIcon(&gSprites[gUnknown_203F3C8->unk_017D[r6][1]]);
}
}
}
diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c
index 0af851edb..13a6d37e2 100644
--- a/src/mystery_gift_menu.c
+++ b/src/mystery_gift_menu.c
@@ -1412,11 +1412,11 @@ void task00_mystery_gift(u8 taskId)
{
if (data->source == 1)
{
- GenerateRandomNews(1);
+ MENewsJisan_SetRandomReward(1);
}
else
{
- GenerateRandomNews(2);
+ MENewsJisan_SetRandomReward(2);
}
}
if (sp0 == 0)
@@ -1661,7 +1661,7 @@ void task00_mystery_gift(u8 taskId)
{
if (data->source == 1 && data->prevPromptWindowId == 3)
{
- GenerateRandomNews(3);
+ MENewsJisan_SetRandomReward(3);
data->state = 17;
}
else
diff --git a/src/new_game.c b/src/new_game.c
index efeea13cc..e27c862bb 100644
--- a/src/new_game.c
+++ b/src/new_game.c
@@ -25,6 +25,7 @@
#include "easy_chat.h"
#include "union_room_chat.h"
#include "mevent.h"
+#include "renewable_hidden_items.h"
#include "trainer_tower.h"
#include "script.h"
#include "berry_powder.h"
@@ -102,7 +103,7 @@ void ResetMenuAndMonGlobals(void)
BerryPouch_CursorResetToTop();
sub_811089C();
sub_8083214(Random());
- sub_806E6FC();
+ ResetSpecialVars();
}
void NewGameInitData(void)
@@ -145,7 +146,7 @@ void NewGameInitData(void)
copy_strings_to_sav1();
ResetMiniGamesResults();
sub_8143D24();
- sub_815D838();
+ SetAllRenewableItemFlags();
WarpToPlayersRoom();
ScriptContext2_RunNewScript(EventScript_ResetAllMapFlags);
StringCopy(gSaveBlock1Ptr->rivalName, rivalName);
diff --git a/src/oak_speech.c b/src/oak_speech.c
index d3b8b8ff0..c39ff262e 100644
--- a/src/oak_speech.c
+++ b/src/oak_speech.c
@@ -24,6 +24,7 @@
#include "math_util.h"
#include "overworld.h"
#include "random.h"
+#include "data.h"
#include "oak_speech.h"
#include "constants/species.h"
#include "constants/songs.h"
@@ -110,9 +111,6 @@ extern const u8 gText_ABUTTONNext_BBUTTONBack[];
extern const u8 gText_Boy[];
extern const u8 gText_Girl[];
-extern const struct CompressedSpriteSheet gUnknown_8235194[];
-extern const struct CompressedSpritePalette gUnknown_82373F4;
-
ALIGNED(4) static const u16 sHelpDocsPalette[] = INCBIN_U16("data/oak_speech/help_docs_palette.gbapal");
static const u32 sOakSpeechGfx_GameStartHelpUI[] = INCBIN_U32("data/oak_speech/oak_speech_gfx_game_start_help_u_i.4bpp.lz");
static const u32 sNewGameAdventureIntroTilemap[] = INCBIN_U32("data/oak_speech/new_game_adventure_intro_tilemap.bin.lz");
@@ -1612,8 +1610,8 @@ static void CreateNidoranFSprite(u8 taskId)
{
u8 spriteId;
- DecompressPicFromTable(gUnknown_8235194, OakSpeechNidoranFGetBuffer(0), SPECIES_NIDORAN_F);
- LoadCompressedSpritePaletteUsingHeap(&gUnknown_82373F4);
+ DecompressPicFromTable(&gMonFrontPicTable[SPECIES_NIDORAN_F], OakSpeechNidoranFGetBuffer(0), SPECIES_NIDORAN_F);
+ LoadCompressedSpritePaletteUsingHeap(&gMonPaletteTable[SPECIES_NIDORAN_F]);
SetMultiuseSpriteTemplateToPokemon(SPECIES_NIDORAN_F, 0);
spriteId = CreateSprite(&gMultiuseSpriteTemplate, 0x60, 0x60, 1);
gSprites[spriteId].callback = SpriteCallbackDummy;
diff --git a/src/pokemon.c b/src/pokemon.c
index a95c0ba75..aaa2b635a 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -1509,7 +1509,7 @@ const struct SpriteTemplate gUnknown_825DF50[] =
.paletteTag = 0,
.oam = &gOamData_824F018,
.anims = NULL,
- .images = gUnknown_8234718,
+ .images = gTrainerBackPicTable_Red,
.affineAnims = gSpriteAffineAnimTable_82348C8,
.callback = sub_80120C4,
},
@@ -1518,7 +1518,7 @@ const struct SpriteTemplate gUnknown_825DF50[] =
.paletteTag = 0,
.oam = &gOamData_824F018,
.anims = NULL,
- .images = gUnknown_8234740,
+ .images = gTrainerBackPicTable_Leaf,
.affineAnims = gSpriteAffineAnimTable_82348C8,
.callback = sub_80120C4,
},
@@ -1527,7 +1527,7 @@ const struct SpriteTemplate gUnknown_825DF50[] =
.paletteTag = 0,
.oam = &gOamData_824F018,
.anims = NULL,
- .images = gUnknown_82347A8,
+ .images = gTrainerBackPicTable_RSBrendan,
.affineAnims = gSpriteAffineAnimTable_82348C8,
.callback = sub_80120C4,
},
@@ -1536,7 +1536,7 @@ const struct SpriteTemplate gUnknown_825DF50[] =
.paletteTag = 0,
.oam = &gOamData_824F018,
.anims = NULL,
- .images = gUnknown_82347C8,
+ .images = gTrainerBackPicTable_RSMay,
.affineAnims = gSpriteAffineAnimTable_82348C8,
.callback = sub_80120C4,
},
@@ -1545,7 +1545,7 @@ const struct SpriteTemplate gUnknown_825DF50[] =
.paletteTag = 0,
.oam = &gOamData_824F018,
.anims = NULL,
- .images = gUnknown_8234768,
+ .images = gTrainerBackPicTable_PokeDude,
.affineAnims = gSpriteAffineAnimTable_82348C8,
.callback = sub_80120C4,
},
@@ -1554,7 +1554,7 @@ const struct SpriteTemplate gUnknown_825DF50[] =
.paletteTag = 0,
.oam = &gOamData_824F018,
.anims = NULL,
- .images = gUnknown_8234788,
+ .images = gTrainerBackPicTable_OldMan,
.affineAnims = gSpriteAffineAnimTable_82348C8,
.callback = sub_80120C4,
},
@@ -2362,25 +2362,25 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de
// In FRLG, the Battle Tower and opponent checks are stubbed here.
if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | /*BATTLE_TYPE_BATTLE_TOWER |*/ BATTLE_TYPE_EREADER_TRAINER)))
{
- if (FlagGet(FLAG_UNK820)
+ if (FlagGet(FLAG_BADGE01_GET)
&& !GetBattlerSide(battlerIdAtk))
attack = (110 * attack) / 100;
}
if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | /*BATTLE_TYPE_BATTLE_TOWER |*/ BATTLE_TYPE_EREADER_TRAINER)))
{
- if (FlagGet(FLAG_UNK824)
+ if (FlagGet(FLAG_BADGE05_GET)
&& !GetBattlerSide(battlerIdDef))
defense = (110 * defense) / 100;
}
if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | /*BATTLE_TYPE_BATTLE_TOWER |*/ BATTLE_TYPE_EREADER_TRAINER)))
{
- if (FlagGet(FLAG_UNK826)
+ if (FlagGet(FLAG_BADGE07_GET)
&& !GetBattlerSide(battlerIdAtk))
spAttack = (110 * spAttack) / 100;
}
if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | /*BATTLE_TYPE_BATTLE_TOWER |*/ BATTLE_TYPE_EREADER_TRAINER)))
{
- if (FlagGet(FLAG_UNK826)
+ if (FlagGet(FLAG_BADGE07_GET)
&& !GetBattlerSide(battlerIdDef))
spDefense = (110 * spDefense) / 100;
}
@@ -3634,7 +3634,7 @@ static u8 SendMonToPC(struct Pokemon* mon)
gSpecialVar_MonBoxId = boxNo;
gSpecialVar_MonBoxPos = boxPos;
if (get_unknown_box_id() != boxNo)
- FlagClear(FLAG_UNK843);
+ FlagClear(FLAG_SYS_CHANGED_BOX_TO_STORE_MON);
VarSet(VAR_0x4037, boxNo);
return MON_GIVEN_TO_PC;
}
diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c
new file mode 100644
index 000000000..f3492593c
--- /dev/null
+++ b/src/pokemon_icon.c
@@ -0,0 +1,1284 @@
+#include "global.h"
+#include "palette.h"
+#include "mail_data.h"
+#include "pokemon_icon.h"
+#include "graphics.h"
+#include "constants/species.h"
+
+#define POKE_ICON_BASE_PAL_TAG 56000
+
+struct MonIconSpriteTemplate
+{
+ const struct OamData * oam;
+ const u8 *image;
+ const union AnimCmd *const * anims;
+ const union AffineAnimCmd *const * affineAnims;
+ SpriteCallback callback;
+ u16 paletteTag;
+};
+
+static u8 CreateMonIconSprite(const struct MonIconSpriteTemplate * template, s16 x, s16 y, u8 subpriority);
+static void DestroyMonIconInternal(struct Sprite * sprite);
+
+const u16 gMonIconPalettes[][16] = {
+ INCBIN_U16("graphics/pokemon/icon_palettes/icon_palette_0.gbapal"),
+ INCBIN_U16("graphics/pokemon/icon_palettes/icon_palette_1.gbapal"),
+ INCBIN_U16("graphics/pokemon/icon_palettes/icon_palette_2.gbapal")
+};
+
+const u8 *const gMonIconTable[] = {
+ [SPECIES_NONE] = gMonIcon_QuestionMark,
+ [SPECIES_BULBASAUR] = gMonIcon_Bulbasaur,
+ [SPECIES_IVYSAUR] = gMonIcon_Ivysaur,
+ [SPECIES_VENUSAUR] = gMonIcon_Venusaur,
+ [SPECIES_CHARMANDER] = gMonIcon_Charmander,
+ [SPECIES_CHARMELEON] = gMonIcon_Charmeleon,
+ [SPECIES_CHARIZARD] = gMonIcon_Charizard,
+ [SPECIES_SQUIRTLE] = gMonIcon_Squirtle,
+ [SPECIES_WARTORTLE] = gMonIcon_Wartortle,
+ [SPECIES_BLASTOISE] = gMonIcon_Blastoise,
+ [SPECIES_CATERPIE] = gMonIcon_Caterpie,
+ [SPECIES_METAPOD] = gMonIcon_Metapod,
+ [SPECIES_BUTTERFREE] = gMonIcon_Butterfree,
+ [SPECIES_WEEDLE] = gMonIcon_Weedle,
+ [SPECIES_KAKUNA] = gMonIcon_Kakuna,
+ [SPECIES_BEEDRILL] = gMonIcon_Beedrill,
+ [SPECIES_PIDGEY] = gMonIcon_Pidgey,
+ [SPECIES_PIDGEOTTO] = gMonIcon_Pidgeotto,
+ [SPECIES_PIDGEOT] = gMonIcon_Pidgeot,
+ [SPECIES_RATTATA] = gMonIcon_Rattata,
+ [SPECIES_RATICATE] = gMonIcon_Raticate,
+ [SPECIES_SPEAROW] = gMonIcon_Spearow,
+ [SPECIES_FEAROW] = gMonIcon_Fearow,
+ [SPECIES_EKANS] = gMonIcon_Ekans,
+ [SPECIES_ARBOK] = gMonIcon_Arbok,
+ [SPECIES_PIKACHU] = gMonIcon_Pikachu,
+ [SPECIES_RAICHU] = gMonIcon_Raichu,
+ [SPECIES_SANDSHREW] = gMonIcon_Sandshrew,
+ [SPECIES_SANDSLASH] = gMonIcon_Sandslash,
+ [SPECIES_NIDORAN_F] = gMonIcon_NidoranF,
+ [SPECIES_NIDORINA] = gMonIcon_Nidorina,
+ [SPECIES_NIDOQUEEN] = gMonIcon_Nidoqueen,
+ [SPECIES_NIDORAN_M] = gMonIcon_NidoranM,
+ [SPECIES_NIDORINO] = gMonIcon_Nidorino,
+ [SPECIES_NIDOKING] = gMonIcon_Nidoking,
+ [SPECIES_CLEFAIRY] = gMonIcon_Clefairy,
+ [SPECIES_CLEFABLE] = gMonIcon_Clefable,
+ [SPECIES_VULPIX] = gMonIcon_Vulpix,
+ [SPECIES_NINETALES] = gMonIcon_Ninetales,
+ [SPECIES_JIGGLYPUFF] = gMonIcon_Jigglypuff,
+ [SPECIES_WIGGLYTUFF] = gMonIcon_Wigglytuff,
+ [SPECIES_ZUBAT] = gMonIcon_Zubat,
+ [SPECIES_GOLBAT] = gMonIcon_Golbat,
+ [SPECIES_ODDISH] = gMonIcon_Oddish,
+ [SPECIES_GLOOM] = gMonIcon_Gloom,
+ [SPECIES_VILEPLUME] = gMonIcon_Vileplume,
+ [SPECIES_PARAS] = gMonIcon_Paras,
+ [SPECIES_PARASECT] = gMonIcon_Parasect,
+ [SPECIES_VENONAT] = gMonIcon_Venonat,
+ [SPECIES_VENOMOTH] = gMonIcon_Venomoth,
+ [SPECIES_DIGLETT] = gMonIcon_Diglett,
+ [SPECIES_DUGTRIO] = gMonIcon_Dugtrio,
+ [SPECIES_MEOWTH] = gMonIcon_Meowth,
+ [SPECIES_PERSIAN] = gMonIcon_Persian,
+ [SPECIES_PSYDUCK] = gMonIcon_Psyduck,
+ [SPECIES_GOLDUCK] = gMonIcon_Golduck,
+ [SPECIES_MANKEY] = gMonIcon_Mankey,
+ [SPECIES_PRIMEAPE] = gMonIcon_Primeape,
+ [SPECIES_GROWLITHE] = gMonIcon_Growlithe,
+ [SPECIES_ARCANINE] = gMonIcon_Arcanine,
+ [SPECIES_POLIWAG] = gMonIcon_Poliwag,
+ [SPECIES_POLIWHIRL] = gMonIcon_Poliwhirl,
+ [SPECIES_POLIWRATH] = gMonIcon_Poliwrath,
+ [SPECIES_ABRA] = gMonIcon_Abra,
+ [SPECIES_KADABRA] = gMonIcon_Kadabra,
+ [SPECIES_ALAKAZAM] = gMonIcon_Alakazam,
+ [SPECIES_MACHOP] = gMonIcon_Machop,
+ [SPECIES_MACHOKE] = gMonIcon_Machoke,
+ [SPECIES_MACHAMP] = gMonIcon_Machamp,
+ [SPECIES_BELLSPROUT] = gMonIcon_Bellsprout,
+ [SPECIES_WEEPINBELL] = gMonIcon_Weepinbell,
+ [SPECIES_VICTREEBEL] = gMonIcon_Victreebel,
+ [SPECIES_TENTACOOL] = gMonIcon_Tentacool,
+ [SPECIES_TENTACRUEL] = gMonIcon_Tentacruel,
+ [SPECIES_GEODUDE] = gMonIcon_Geodude,
+ [SPECIES_GRAVELER] = gMonIcon_Graveler,
+ [SPECIES_GOLEM] = gMonIcon_Golem,
+ [SPECIES_PONYTA] = gMonIcon_Ponyta,
+ [SPECIES_RAPIDASH] = gMonIcon_Rapidash,
+ [SPECIES_SLOWPOKE] = gMonIcon_Slowpoke,
+ [SPECIES_SLOWBRO] = gMonIcon_Slowbro,
+ [SPECIES_MAGNEMITE] = gMonIcon_Magnemite,
+ [SPECIES_MAGNETON] = gMonIcon_Magneton,
+ [SPECIES_FARFETCHD] = gMonIcon_Farfetchd,
+ [SPECIES_DODUO] = gMonIcon_Doduo,
+ [SPECIES_DODRIO] = gMonIcon_Dodrio,
+ [SPECIES_SEEL] = gMonIcon_Seel,
+ [SPECIES_DEWGONG] = gMonIcon_Dewgong,
+ [SPECIES_GRIMER] = gMonIcon_Grimer,
+ [SPECIES_MUK] = gMonIcon_Muk,
+ [SPECIES_SHELLDER] = gMonIcon_Shellder,
+ [SPECIES_CLOYSTER] = gMonIcon_Cloyster,
+ [SPECIES_GASTLY] = gMonIcon_Gastly,
+ [SPECIES_HAUNTER] = gMonIcon_Haunter,
+ [SPECIES_GENGAR] = gMonIcon_Gengar,
+ [SPECIES_ONIX] = gMonIcon_Onix,
+ [SPECIES_DROWZEE] = gMonIcon_Drowzee,
+ [SPECIES_HYPNO] = gMonIcon_Hypno,
+ [SPECIES_KRABBY] = gMonIcon_Krabby,
+ [SPECIES_KINGLER] = gMonIcon_Kingler,
+ [SPECIES_VOLTORB] = gMonIcon_Voltorb,
+ [SPECIES_ELECTRODE] = gMonIcon_Electrode,
+ [SPECIES_EXEGGCUTE] = gMonIcon_Exeggcute,
+ [SPECIES_EXEGGUTOR] = gMonIcon_Exeggutor,
+ [SPECIES_CUBONE] = gMonIcon_Cubone,
+ [SPECIES_MAROWAK] = gMonIcon_Marowak,
+ [SPECIES_HITMONLEE] = gMonIcon_Hitmonlee,
+ [SPECIES_HITMONCHAN] = gMonIcon_Hitmonchan,
+ [SPECIES_LICKITUNG] = gMonIcon_Lickitung,
+ [SPECIES_KOFFING] = gMonIcon_Koffing,
+ [SPECIES_WEEZING] = gMonIcon_Weezing,
+ [SPECIES_RHYHORN] = gMonIcon_Rhyhorn,
+ [SPECIES_RHYDON] = gMonIcon_Rhydon,
+ [SPECIES_CHANSEY] = gMonIcon_Chansey,
+ [SPECIES_TANGELA] = gMonIcon_Tangela,
+ [SPECIES_KANGASKHAN] = gMonIcon_Kangaskhan,
+ [SPECIES_HORSEA] = gMonIcon_Horsea,
+ [SPECIES_SEADRA] = gMonIcon_Seadra,
+ [SPECIES_GOLDEEN] = gMonIcon_Goldeen,
+ [SPECIES_SEAKING] = gMonIcon_Seaking,
+ [SPECIES_STARYU] = gMonIcon_Staryu,
+ [SPECIES_STARMIE] = gMonIcon_Starmie,
+ [SPECIES_MR_MIME] = gMonIcon_Mrmime,
+ [SPECIES_SCYTHER] = gMonIcon_Scyther,
+ [SPECIES_JYNX] = gMonIcon_Jynx,
+ [SPECIES_ELECTABUZZ] = gMonIcon_Electabuzz,
+ [SPECIES_MAGMAR] = gMonIcon_Magmar,
+ [SPECIES_PINSIR] = gMonIcon_Pinsir,
+ [SPECIES_TAUROS] = gMonIcon_Tauros,
+ [SPECIES_MAGIKARP] = gMonIcon_Magikarp,
+ [SPECIES_GYARADOS] = gMonIcon_Gyarados,
+ [SPECIES_LAPRAS] = gMonIcon_Lapras,
+ [SPECIES_DITTO] = gMonIcon_Ditto,
+ [SPECIES_EEVEE] = gMonIcon_Eevee,
+ [SPECIES_VAPOREON] = gMonIcon_Vaporeon,
+ [SPECIES_JOLTEON] = gMonIcon_Jolteon,
+ [SPECIES_FLAREON] = gMonIcon_Flareon,
+ [SPECIES_PORYGON] = gMonIcon_Porygon,
+ [SPECIES_OMANYTE] = gMonIcon_Omanyte,
+ [SPECIES_OMASTAR] = gMonIcon_Omastar,
+ [SPECIES_KABUTO] = gMonIcon_Kabuto,
+ [SPECIES_KABUTOPS] = gMonIcon_Kabutops,
+ [SPECIES_AERODACTYL] = gMonIcon_Aerodactyl,
+ [SPECIES_SNORLAX] = gMonIcon_Snorlax,
+ [SPECIES_ARTICUNO] = gMonIcon_Articuno,
+ [SPECIES_ZAPDOS] = gMonIcon_Zapdos,
+ [SPECIES_MOLTRES] = gMonIcon_Moltres,
+ [SPECIES_DRATINI] = gMonIcon_Dratini,
+ [SPECIES_DRAGONAIR] = gMonIcon_Dragonair,
+ [SPECIES_DRAGONITE] = gMonIcon_Dragonite,
+ [SPECIES_MEWTWO] = gMonIcon_Mewtwo,
+ [SPECIES_MEW] = gMonIcon_Mew,
+ [SPECIES_CHIKORITA] = gMonIcon_Chikorita,
+ [SPECIES_BAYLEEF] = gMonIcon_Bayleef,
+ [SPECIES_MEGANIUM] = gMonIcon_Meganium,
+ [SPECIES_CYNDAQUIL] = gMonIcon_Cyndaquil,
+ [SPECIES_QUILAVA] = gMonIcon_Quilava,
+ [SPECIES_TYPHLOSION] = gMonIcon_Typhlosion,
+ [SPECIES_TOTODILE] = gMonIcon_Totodile,
+ [SPECIES_CROCONAW] = gMonIcon_Croconaw,
+ [SPECIES_FERALIGATR] = gMonIcon_Feraligatr,
+ [SPECIES_SENTRET] = gMonIcon_Sentret,
+ [SPECIES_FURRET] = gMonIcon_Furret,
+ [SPECIES_HOOTHOOT] = gMonIcon_Hoothoot,
+ [SPECIES_NOCTOWL] = gMonIcon_Noctowl,
+ [SPECIES_LEDYBA] = gMonIcon_Ledyba,
+ [SPECIES_LEDIAN] = gMonIcon_Ledian,
+ [SPECIES_SPINARAK] = gMonIcon_Spinarak,
+ [SPECIES_ARIADOS] = gMonIcon_Ariados,
+ [SPECIES_CROBAT] = gMonIcon_Crobat,
+ [SPECIES_CHINCHOU] = gMonIcon_Chinchou,
+ [SPECIES_LANTURN] = gMonIcon_Lanturn,
+ [SPECIES_PICHU] = gMonIcon_Pichu,
+ [SPECIES_CLEFFA] = gMonIcon_Cleffa,
+ [SPECIES_IGGLYBUFF] = gMonIcon_Igglybuff,
+ [SPECIES_TOGEPI] = gMonIcon_Togepi,
+ [SPECIES_TOGETIC] = gMonIcon_Togetic,
+ [SPECIES_NATU] = gMonIcon_Natu,
+ [SPECIES_XATU] = gMonIcon_Xatu,
+ [SPECIES_MAREEP] = gMonIcon_Mareep,
+ [SPECIES_FLAAFFY] = gMonIcon_Flaaffy,
+ [SPECIES_AMPHAROS] = gMonIcon_Ampharos,
+ [SPECIES_BELLOSSOM] = gMonIcon_Bellossom,
+ [SPECIES_MARILL] = gMonIcon_Marill,
+ [SPECIES_AZUMARILL] = gMonIcon_Azumarill,
+ [SPECIES_SUDOWOODO] = gMonIcon_Sudowoodo,
+ [SPECIES_POLITOED] = gMonIcon_Politoed,
+ [SPECIES_HOPPIP] = gMonIcon_Hoppip,
+ [SPECIES_SKIPLOOM] = gMonIcon_Skiploom,
+ [SPECIES_JUMPLUFF] = gMonIcon_Jumpluff,
+ [SPECIES_AIPOM] = gMonIcon_Aipom,
+ [SPECIES_SUNKERN] = gMonIcon_Sunkern,
+ [SPECIES_SUNFLORA] = gMonIcon_Sunflora,
+ [SPECIES_YANMA] = gMonIcon_Yanma,
+ [SPECIES_WOOPER] = gMonIcon_Wooper,
+ [SPECIES_QUAGSIRE] = gMonIcon_Quagsire,
+ [SPECIES_ESPEON] = gMonIcon_Espeon,
+ [SPECIES_UMBREON] = gMonIcon_Umbreon,
+ [SPECIES_MURKROW] = gMonIcon_Murkrow,
+ [SPECIES_SLOWKING] = gMonIcon_Slowking,
+ [SPECIES_MISDREAVUS] = gMonIcon_Misdreavus,
+ [SPECIES_UNOWN] = gMonIcon_UnownA,
+ [SPECIES_WOBBUFFET] = gMonIcon_Wobbuffet,
+ [SPECIES_GIRAFARIG] = gMonIcon_Girafarig,
+ [SPECIES_PINECO] = gMonIcon_Pineco,
+ [SPECIES_FORRETRESS] = gMonIcon_Forretress,
+ [SPECIES_DUNSPARCE] = gMonIcon_Dunsparce,
+ [SPECIES_GLIGAR] = gMonIcon_Gligar,
+ [SPECIES_STEELIX] = gMonIcon_Steelix,
+ [SPECIES_SNUBBULL] = gMonIcon_Snubbull,
+ [SPECIES_GRANBULL] = gMonIcon_Granbull,
+ [SPECIES_QWILFISH] = gMonIcon_Qwilfish,
+ [SPECIES_SCIZOR] = gMonIcon_Scizor,
+ [SPECIES_SHUCKLE] = gMonIcon_Shuckle,
+ [SPECIES_HERACROSS] = gMonIcon_Heracross,
+ [SPECIES_SNEASEL] = gMonIcon_Sneasel,
+ [SPECIES_TEDDIURSA] = gMonIcon_Teddiursa,
+ [SPECIES_URSARING] = gMonIcon_Ursaring,
+ [SPECIES_SLUGMA] = gMonIcon_Slugma,
+ [SPECIES_MAGCARGO] = gMonIcon_Magcargo,
+ [SPECIES_SWINUB] = gMonIcon_Swinub,
+ [SPECIES_PILOSWINE] = gMonIcon_Piloswine,
+ [SPECIES_CORSOLA] = gMonIcon_Corsola,
+ [SPECIES_REMORAID] = gMonIcon_Remoraid,
+ [SPECIES_OCTILLERY] = gMonIcon_Octillery,
+ [SPECIES_DELIBIRD] = gMonIcon_Delibird,
+ [SPECIES_MANTINE] = gMonIcon_Mantine,
+ [SPECIES_SKARMORY] = gMonIcon_Skarmory,
+ [SPECIES_HOUNDOUR] = gMonIcon_Houndour,
+ [SPECIES_HOUNDOOM] = gMonIcon_Houndoom,
+ [SPECIES_KINGDRA] = gMonIcon_Kingdra,
+ [SPECIES_PHANPY] = gMonIcon_Phanpy,
+ [SPECIES_DONPHAN] = gMonIcon_Donphan,
+ [SPECIES_PORYGON2] = gMonIcon_Porygon2,
+ [SPECIES_STANTLER] = gMonIcon_Stantler,
+ [SPECIES_SMEARGLE] = gMonIcon_Smeargle,
+ [SPECIES_TYROGUE] = gMonIcon_Tyrogue,
+ [SPECIES_HITMONTOP] = gMonIcon_Hitmontop,
+ [SPECIES_SMOOCHUM] = gMonIcon_Smoochum,
+ [SPECIES_ELEKID] = gMonIcon_Elekid,
+ [SPECIES_MAGBY] = gMonIcon_Magby,
+ [SPECIES_MILTANK] = gMonIcon_Miltank,
+ [SPECIES_BLISSEY] = gMonIcon_Blissey,
+ [SPECIES_RAIKOU] = gMonIcon_Raikou,
+ [SPECIES_ENTEI] = gMonIcon_Entei,
+ [SPECIES_SUICUNE] = gMonIcon_Suicune,
+ [SPECIES_LARVITAR] = gMonIcon_Larvitar,
+ [SPECIES_PUPITAR] = gMonIcon_Pupitar,
+ [SPECIES_TYRANITAR] = gMonIcon_Tyranitar,
+ [SPECIES_LUGIA] = gMonIcon_Lugia,
+ [SPECIES_HO_OH] = gMonIcon_HoOh,
+ [SPECIES_CELEBI] = gMonIcon_Celebi,
+ [SPECIES_OLD_UNOWN_B] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_C] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_D] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_E] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_F] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_G] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_H] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_I] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_J] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_K] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_L] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_M] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_N] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_O] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_P] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_Q] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_R] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_S] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_T] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_U] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_V] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_W] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_X] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_Y] = gMonIcon_QuestionMark,
+ [SPECIES_OLD_UNOWN_Z] = gMonIcon_QuestionMark,
+ [SPECIES_TREECKO] = gMonIcon_Treecko,
+ [SPECIES_GROVYLE] = gMonIcon_Grovyle,
+ [SPECIES_SCEPTILE] = gMonIcon_Sceptile,
+ [SPECIES_TORCHIC] = gMonIcon_Torchic,
+ [SPECIES_COMBUSKEN] = gMonIcon_Combusken,
+ [SPECIES_BLAZIKEN] = gMonIcon_Blaziken,
+ [SPECIES_MUDKIP] = gMonIcon_Mudkip,
+ [SPECIES_MARSHTOMP] = gMonIcon_Marshtomp,
+ [SPECIES_SWAMPERT] = gMonIcon_Swampert,
+ [SPECIES_POOCHYENA] = gMonIcon_Poochyena,
+ [SPECIES_MIGHTYENA] = gMonIcon_Mightyena,
+ [SPECIES_ZIGZAGOON] = gMonIcon_Zigzagoon,
+ [SPECIES_LINOONE] = gMonIcon_Linoone,
+ [SPECIES_WURMPLE] = gMonIcon_Wurmple,
+ [SPECIES_SILCOON] = gMonIcon_Silcoon,
+ [SPECIES_BEAUTIFLY] = gMonIcon_Beautifly,
+ [SPECIES_CASCOON] = gMonIcon_Cascoon,
+ [SPECIES_DUSTOX] = gMonIcon_Dustox,
+ [SPECIES_LOTAD] = gMonIcon_Lotad,
+ [SPECIES_LOMBRE] = gMonIcon_Lombre,
+ [SPECIES_LUDICOLO] = gMonIcon_Ludicolo,
+ [SPECIES_SEEDOT] = gMonIcon_Seedot,
+ [SPECIES_NUZLEAF] = gMonIcon_Nuzleaf,
+ [SPECIES_SHIFTRY] = gMonIcon_Shiftry,
+ [SPECIES_NINCADA] = gMonIcon_Nincada,
+ [SPECIES_NINJASK] = gMonIcon_Ninjask,
+ [SPECIES_SHEDINJA] = gMonIcon_Shedinja,
+ [SPECIES_TAILLOW] = gMonIcon_Taillow,
+ [SPECIES_SWELLOW] = gMonIcon_Swellow,
+ [SPECIES_SHROOMISH] = gMonIcon_Shroomish,
+ [SPECIES_BRELOOM] = gMonIcon_Breloom,
+ [SPECIES_SPINDA] = gMonIcon_Spinda,
+ [SPECIES_WINGULL] = gMonIcon_Wingull,
+ [SPECIES_PELIPPER] = gMonIcon_Pelipper,
+ [SPECIES_SURSKIT] = gMonIcon_Surskit,
+ [SPECIES_MASQUERAIN] = gMonIcon_Masquerain,
+ [SPECIES_WAILMER] = gMonIcon_Wailmer,
+ [SPECIES_WAILORD] = gMonIcon_Wailord,
+ [SPECIES_SKITTY] = gMonIcon_Skitty,
+ [SPECIES_DELCATTY] = gMonIcon_Delcatty,
+ [SPECIES_KECLEON] = gMonIcon_Kecleon,
+ [SPECIES_BALTOY] = gMonIcon_Baltoy,
+ [SPECIES_CLAYDOL] = gMonIcon_Claydol,
+ [SPECIES_NOSEPASS] = gMonIcon_Nosepass,
+ [SPECIES_TORKOAL] = gMonIcon_Torkoal,
+ [SPECIES_SABLEYE] = gMonIcon_Sableye,
+ [SPECIES_BARBOACH] = gMonIcon_Barboach,
+ [SPECIES_WHISCASH] = gMonIcon_Whiscash,
+ [SPECIES_LUVDISC] = gMonIcon_Luvdisc,
+ [SPECIES_CORPHISH] = gMonIcon_Corphish,
+ [SPECIES_CRAWDAUNT] = gMonIcon_Crawdaunt,
+ [SPECIES_FEEBAS] = gMonIcon_Feebas,
+ [SPECIES_MILOTIC] = gMonIcon_Milotic,
+ [SPECIES_CARVANHA] = gMonIcon_Carvanha,
+ [SPECIES_SHARPEDO] = gMonIcon_Sharpedo,
+ [SPECIES_TRAPINCH] = gMonIcon_Trapinch,
+ [SPECIES_VIBRAVA] = gMonIcon_Vibrava,
+ [SPECIES_FLYGON] = gMonIcon_Flygon,
+ [SPECIES_MAKUHITA] = gMonIcon_Makuhita,
+ [SPECIES_HARIYAMA] = gMonIcon_Hariyama,
+ [SPECIES_ELECTRIKE] = gMonIcon_Electrike,
+ [SPECIES_MANECTRIC] = gMonIcon_Manectric,
+ [SPECIES_NUMEL] = gMonIcon_Numel,
+ [SPECIES_CAMERUPT] = gMonIcon_Camerupt,
+ [SPECIES_SPHEAL] = gMonIcon_Spheal,
+ [SPECIES_SEALEO] = gMonIcon_Sealeo,
+ [SPECIES_WALREIN] = gMonIcon_Walrein,
+ [SPECIES_CACNEA] = gMonIcon_Cacnea,
+ [SPECIES_CACTURNE] = gMonIcon_Cacturne,
+ [SPECIES_SNORUNT] = gMonIcon_Snorunt,
+ [SPECIES_GLALIE] = gMonIcon_Glalie,
+ [SPECIES_LUNATONE] = gMonIcon_Lunatone,
+ [SPECIES_SOLROCK] = gMonIcon_Solrock,
+ [SPECIES_AZURILL] = gMonIcon_Azurill,
+ [SPECIES_SPOINK] = gMonIcon_Spoink,
+ [SPECIES_GRUMPIG] = gMonIcon_Grumpig,
+ [SPECIES_PLUSLE] = gMonIcon_Plusle,
+ [SPECIES_MINUN] = gMonIcon_Minun,
+ [SPECIES_MAWILE] = gMonIcon_Mawile,
+ [SPECIES_MEDITITE] = gMonIcon_Meditite,
+ [SPECIES_MEDICHAM] = gMonIcon_Medicham,
+ [SPECIES_SWABLU] = gMonIcon_Swablu,
+ [SPECIES_ALTARIA] = gMonIcon_Altaria,
+ [SPECIES_WYNAUT] = gMonIcon_Wynaut,
+ [SPECIES_DUSKULL] = gMonIcon_Duskull,
+ [SPECIES_DUSCLOPS] = gMonIcon_Dusclops,
+ [SPECIES_ROSELIA] = gMonIcon_Roselia,
+ [SPECIES_SLAKOTH] = gMonIcon_Slakoth,
+ [SPECIES_VIGOROTH] = gMonIcon_Vigoroth,
+ [SPECIES_SLAKING] = gMonIcon_Slaking,
+ [SPECIES_GULPIN] = gMonIcon_Gulpin,
+ [SPECIES_SWALOT] = gMonIcon_Swalot,
+ [SPECIES_TROPIUS] = gMonIcon_Tropius,
+ [SPECIES_WHISMUR] = gMonIcon_Whismur,
+ [SPECIES_LOUDRED] = gMonIcon_Loudred,
+ [SPECIES_EXPLOUD] = gMonIcon_Exploud,
+ [SPECIES_CLAMPERL] = gMonIcon_Clamperl,
+ [SPECIES_HUNTAIL] = gMonIcon_Huntail,
+ [SPECIES_GOREBYSS] = gMonIcon_Gorebyss,
+ [SPECIES_ABSOL] = gMonIcon_Absol,
+ [SPECIES_SHUPPET] = gMonIcon_Shuppet,
+ [SPECIES_BANETTE] = gMonIcon_Banette,
+ [SPECIES_SEVIPER] = gMonIcon_Seviper,
+ [SPECIES_ZANGOOSE] = gMonIcon_Zangoose,
+ [SPECIES_RELICANTH] = gMonIcon_Relicanth,
+ [SPECIES_ARON] = gMonIcon_Aron,
+ [SPECIES_LAIRON] = gMonIcon_Lairon,
+ [SPECIES_AGGRON] = gMonIcon_Aggron,
+ [SPECIES_CASTFORM] = gMonIcon_Castform,
+ [SPECIES_VOLBEAT] = gMonIcon_Volbeat,
+ [SPECIES_ILLUMISE] = gMonIcon_Illumise,
+ [SPECIES_LILEEP] = gMonIcon_Lileep,
+ [SPECIES_CRADILY] = gMonIcon_Cradily,
+ [SPECIES_ANORITH] = gMonIcon_Anorith,
+ [SPECIES_ARMALDO] = gMonIcon_Armaldo,
+ [SPECIES_RALTS] = gMonIcon_Ralts,
+ [SPECIES_KIRLIA] = gMonIcon_Kirlia,
+ [SPECIES_GARDEVOIR] = gMonIcon_Gardevoir,
+ [SPECIES_BAGON] = gMonIcon_Bagon,
+ [SPECIES_SHELGON] = gMonIcon_Shelgon,
+ [SPECIES_SALAMENCE] = gMonIcon_Salamence,
+ [SPECIES_BELDUM] = gMonIcon_Beldum,
+ [SPECIES_METANG] = gMonIcon_Metang,
+ [SPECIES_METAGROSS] = gMonIcon_Metagross,
+ [SPECIES_REGIROCK] = gMonIcon_Regirock,
+ [SPECIES_REGICE] = gMonIcon_Regice,
+ [SPECIES_REGISTEEL] = gMonIcon_Registeel,
+ [SPECIES_KYOGRE] = gMonIcon_Kyogre,
+ [SPECIES_GROUDON] = gMonIcon_Groudon,
+ [SPECIES_RAYQUAZA] = gMonIcon_Rayquaza,
+ [SPECIES_LATIAS] = gMonIcon_Latias,
+ [SPECIES_LATIOS] = gMonIcon_Latios,
+ [SPECIES_JIRACHI] = gMonIcon_Jirachi,
+ [SPECIES_DEOXYS] = gMonIcon_Deoxys,
+ [SPECIES_CHIMECHO] = gMonIcon_Chimecho,
+ [SPECIES_EGG] = gMonIcon_Egg,
+ [SPECIES_UNOWN_B] = gMonIcon_UnownB,
+ [SPECIES_UNOWN_C] = gMonIcon_UnownC,
+ [SPECIES_UNOWN_D] = gMonIcon_UnownD,
+ [SPECIES_UNOWN_E] = gMonIcon_UnownE,
+ [SPECIES_UNOWN_F] = gMonIcon_UnownF,
+ [SPECIES_UNOWN_G] = gMonIcon_UnownG,
+ [SPECIES_UNOWN_H] = gMonIcon_UnownH,
+ [SPECIES_UNOWN_I] = gMonIcon_UnownI,
+ [SPECIES_UNOWN_J] = gMonIcon_UnownJ,
+ [SPECIES_UNOWN_K] = gMonIcon_UnownK,
+ [SPECIES_UNOWN_L] = gMonIcon_UnownL,
+ [SPECIES_UNOWN_M] = gMonIcon_UnownM,
+ [SPECIES_UNOWN_N] = gMonIcon_UnownN,
+ [SPECIES_UNOWN_O] = gMonIcon_UnownO,
+ [SPECIES_UNOWN_P] = gMonIcon_UnownP,
+ [SPECIES_UNOWN_Q] = gMonIcon_UnownQ,
+ [SPECIES_UNOWN_R] = gMonIcon_UnownR,
+ [SPECIES_UNOWN_S] = gMonIcon_UnownS,
+ [SPECIES_UNOWN_T] = gMonIcon_UnownT,
+ [SPECIES_UNOWN_U] = gMonIcon_UnownU,
+ [SPECIES_UNOWN_V] = gMonIcon_UnownV,
+ [SPECIES_UNOWN_W] = gMonIcon_UnownW,
+ [SPECIES_UNOWN_X] = gMonIcon_UnownX,
+ [SPECIES_UNOWN_Y] = gMonIcon_UnownY,
+ [SPECIES_UNOWN_Z] = gMonIcon_UnownZ,
+ [SPECIES_UNOWN_EMARK] = gMonIcon_UnownExclamationMark,
+ [SPECIES_UNOWN_QMARK] = gMonIcon_UnownQuestionMark
+};
+
+const u8 gMonIconPaletteIndices[] = {
+ [SPECIES_NONE] = 0,
+ [SPECIES_BULBASAUR] = 1,
+ [SPECIES_IVYSAUR] = 1,
+ [SPECIES_VENUSAUR] = 1,
+ [SPECIES_CHARMANDER] = 0,
+ [SPECIES_CHARMELEON] = 0,
+ [SPECIES_CHARIZARD] = 0,
+ [SPECIES_SQUIRTLE] = 0,
+ [SPECIES_WARTORTLE] = 2,
+ [SPECIES_BLASTOISE] = 2,
+ [SPECIES_CATERPIE] = 1,
+ [SPECIES_METAPOD] = 1,
+ [SPECIES_BUTTERFREE] = 0,
+ [SPECIES_WEEDLE] = 1,
+ [SPECIES_KAKUNA] = 2,
+ [SPECIES_BEEDRILL] = 2,
+ [SPECIES_PIDGEY] = 0,
+ [SPECIES_PIDGEOTTO] = 0,
+ [SPECIES_PIDGEOT] = 0,
+ [SPECIES_RATTATA] = 2,
+ [SPECIES_RATICATE] = 1,
+ [SPECIES_SPEAROW] = 0,
+ [SPECIES_FEAROW] = 0,
+ [SPECIES_EKANS] = 2,
+ [SPECIES_ARBOK] = 2,
+ [SPECIES_PIKACHU] = 2,
+ [SPECIES_RAICHU] = 0,
+ [SPECIES_SANDSHREW] = 2,
+ [SPECIES_SANDSLASH] = 2,
+ [SPECIES_NIDORAN_F] = 2,
+ [SPECIES_NIDORINA] = 2,
+ [SPECIES_NIDOQUEEN] = 2,
+ [SPECIES_NIDORAN_M] = 2,
+ [SPECIES_NIDORINO] = 2,
+ [SPECIES_NIDOKING] = 2,
+ [SPECIES_CLEFAIRY] = 0,
+ [SPECIES_CLEFABLE] = 0,
+ [SPECIES_VULPIX] = 2,
+ [SPECIES_NINETALES] = 1,
+ [SPECIES_JIGGLYPUFF] = 0,
+ [SPECIES_WIGGLYTUFF] = 0,
+ [SPECIES_ZUBAT] = 2,
+ [SPECIES_GOLBAT] = 2,
+ [SPECIES_ODDISH] = 1,
+ [SPECIES_GLOOM] = 0,
+ [SPECIES_VILEPLUME] = 0,
+ [SPECIES_PARAS] = 0,
+ [SPECIES_PARASECT] = 0,
+ [SPECIES_VENONAT] = 0,
+ [SPECIES_VENOMOTH] = 2,
+ [SPECIES_DIGLETT] = 2,
+ [SPECIES_DUGTRIO] = 2,
+ [SPECIES_MEOWTH] = 1,
+ [SPECIES_PERSIAN] = 1,
+ [SPECIES_PSYDUCK] = 1,
+ [SPECIES_GOLDUCK] = 2,
+ [SPECIES_MANKEY] = 1,
+ [SPECIES_PRIMEAPE] = 2,
+ [SPECIES_GROWLITHE] = 0,
+ [SPECIES_ARCANINE] = 0,
+ [SPECIES_POLIWAG] = 0,
+ [SPECIES_POLIWHIRL] = 0,
+ [SPECIES_POLIWRATH] = 0,
+ [SPECIES_ABRA] = 2,
+ [SPECIES_KADABRA] = 2,
+ [SPECIES_ALAKAZAM] = 2,
+ [SPECIES_MACHOP] = 0,
+ [SPECIES_MACHOKE] = 2,
+ [SPECIES_MACHAMP] = 0,
+ [SPECIES_BELLSPROUT] = 1,
+ [SPECIES_WEEPINBELL] = 1,
+ [SPECIES_VICTREEBEL] = 1,
+ [SPECIES_TENTACOOL] = 2,
+ [SPECIES_TENTACRUEL] = 2,
+ [SPECIES_GEODUDE] = 1,
+ [SPECIES_GRAVELER] = 1,
+ [SPECIES_GOLEM] = 1,
+ [SPECIES_PONYTA] = 0,
+ [SPECIES_RAPIDASH] = 0,
+ [SPECIES_SLOWPOKE] = 0,
+ [SPECIES_SLOWBRO] = 0,
+ [SPECIES_MAGNEMITE] = 0,
+ [SPECIES_MAGNETON] = 0,
+ [SPECIES_FARFETCHD] = 1,
+ [SPECIES_DODUO] = 2,
+ [SPECIES_DODRIO] = 2,
+ [SPECIES_SEEL] = 2,
+ [SPECIES_DEWGONG] = 2,
+ [SPECIES_GRIMER] = 2,
+ [SPECIES_MUK] = 2,
+ [SPECIES_SHELLDER] = 2,
+ [SPECIES_CLOYSTER] = 2,
+ [SPECIES_GASTLY] = 2,
+ [SPECIES_HAUNTER] = 2,
+ [SPECIES_GENGAR] = 2,
+ [SPECIES_ONIX] = 2,
+ [SPECIES_DROWZEE] = 2,
+ [SPECIES_HYPNO] = 1,
+ [SPECIES_KRABBY] = 2,
+ [SPECIES_KINGLER] = 2,
+ [SPECIES_VOLTORB] = 0,
+ [SPECIES_ELECTRODE] = 0,
+ [SPECIES_EXEGGCUTE] = 0,
+ [SPECIES_EXEGGUTOR] = 1,
+ [SPECIES_CUBONE] = 1,
+ [SPECIES_MAROWAK] = 1,
+ [SPECIES_HITMONLEE] = 2,
+ [SPECIES_HITMONCHAN] = 2,
+ [SPECIES_LICKITUNG] = 1,
+ [SPECIES_KOFFING] = 2,
+ [SPECIES_WEEZING] = 2,
+ [SPECIES_RHYHORN] = 1,
+ [SPECIES_RHYDON] = 1,
+ [SPECIES_CHANSEY] = 0,
+ [SPECIES_TANGELA] = 0,
+ [SPECIES_KANGASKHAN] = 1,
+ [SPECIES_HORSEA] = 0,
+ [SPECIES_SEADRA] = 0,
+ [SPECIES_GOLDEEN] = 0,
+ [SPECIES_SEAKING] = 0,
+ [SPECIES_STARYU] = 2,
+ [SPECIES_STARMIE] = 2,
+ [SPECIES_MR_MIME] = 0,
+ [SPECIES_SCYTHER] = 1,
+ [SPECIES_JYNX] = 2,
+ [SPECIES_ELECTABUZZ] = 1,
+ [SPECIES_MAGMAR] = 0,
+ [SPECIES_PINSIR] = 2,
+ [SPECIES_TAUROS] = 2,
+ [SPECIES_MAGIKARP] = 0,
+ [SPECIES_GYARADOS] = 0,
+ [SPECIES_LAPRAS] = 2,
+ [SPECIES_DITTO] = 2,
+ [SPECIES_EEVEE] = 2,
+ [SPECIES_VAPOREON] = 0,
+ [SPECIES_JOLTEON] = 0,
+ [SPECIES_FLAREON] = 0,
+ [SPECIES_PORYGON] = 0,
+ [SPECIES_OMANYTE] = 0,
+ [SPECIES_OMASTAR] = 0,
+ [SPECIES_KABUTO] = 2,
+ [SPECIES_KABUTOPS] = 2,
+ [SPECIES_AERODACTYL] = 0,
+ [SPECIES_SNORLAX] = 1,
+ [SPECIES_ARTICUNO] = 0,
+ [SPECIES_ZAPDOS] = 0,
+ [SPECIES_MOLTRES] = 0,
+ [SPECIES_DRATINI] = 0,
+ [SPECIES_DRAGONAIR] = 0,
+ [SPECIES_DRAGONITE] = 2,
+ [SPECIES_MEWTWO] = 2,
+ [SPECIES_MEW] = 0,
+ [SPECIES_CHIKORITA] = 1,
+ [SPECIES_BAYLEEF] = 1,
+ [SPECIES_MEGANIUM] = 1,
+ [SPECIES_CYNDAQUIL] = 1,
+ [SPECIES_QUILAVA] = 1,
+ [SPECIES_TYPHLOSION] = 1,
+ [SPECIES_TOTODILE] = 2,
+ [SPECIES_CROCONAW] = 2,
+ [SPECIES_FERALIGATR] = 2,
+ [SPECIES_SENTRET] = 2,
+ [SPECIES_FURRET] = 2,
+ [SPECIES_HOOTHOOT] = 2,
+ [SPECIES_NOCTOWL] = 2,
+ [SPECIES_LEDYBA] = 0,
+ [SPECIES_LEDIAN] = 0,
+ [SPECIES_SPINARAK] = 1,
+ [SPECIES_ARIADOS] = 0,
+ [SPECIES_CROBAT] = 2,
+ [SPECIES_CHINCHOU] = 2,
+ [SPECIES_LANTURN] = 0,
+ [SPECIES_PICHU] = 0,
+ [SPECIES_CLEFFA] = 0,
+ [SPECIES_IGGLYBUFF] = 1,
+ [SPECIES_TOGEPI] = 2,
+ [SPECIES_TOGETIC] = 2,
+ [SPECIES_NATU] = 0,
+ [SPECIES_XATU] = 0,
+ [SPECIES_MAREEP] = 2,
+ [SPECIES_FLAAFFY] = 0,
+ [SPECIES_AMPHAROS] = 0,
+ [SPECIES_BELLOSSOM] = 1,
+ [SPECIES_MARILL] = 2,
+ [SPECIES_AZUMARILL] = 2,
+ [SPECIES_SUDOWOODO] = 1,
+ [SPECIES_POLITOED] = 1,
+ [SPECIES_HOPPIP] = 1,
+ [SPECIES_SKIPLOOM] = 1,
+ [SPECIES_JUMPLUFF] = 2,
+ [SPECIES_AIPOM] = 2,
+ [SPECIES_SUNKERN] = 1,
+ [SPECIES_SUNFLORA] = 1,
+ [SPECIES_YANMA] = 1,
+ [SPECIES_WOOPER] = 0,
+ [SPECIES_QUAGSIRE] = 0,
+ [SPECIES_ESPEON] = 2,
+ [SPECIES_UMBREON] = 2,
+ [SPECIES_MURKROW] = 2,
+ [SPECIES_SLOWKING] = 0,
+ [SPECIES_MISDREAVUS] = 0,
+ [SPECIES_UNOWN] = 0,
+ [SPECIES_WOBBUFFET] = 0,
+ [SPECIES_GIRAFARIG] = 1,
+ [SPECIES_PINECO] = 0,
+ [SPECIES_FORRETRESS] = 2,
+ [SPECIES_DUNSPARCE] = 2,
+ [SPECIES_GLIGAR] = 2,
+ [SPECIES_STEELIX] = 0,
+ [SPECIES_SNUBBULL] = 0,
+ [SPECIES_GRANBULL] = 2,
+ [SPECIES_QWILFISH] = 0,
+ [SPECIES_SCIZOR] = 0,
+ [SPECIES_SHUCKLE] = 1,
+ [SPECIES_HERACROSS] = 2,
+ [SPECIES_SNEASEL] = 0,
+ [SPECIES_TEDDIURSA] = 0,
+ [SPECIES_URSARING] = 2,
+ [SPECIES_SLUGMA] = 0,
+ [SPECIES_MAGCARGO] = 0,
+ [SPECIES_SWINUB] = 2,
+ [SPECIES_PILOSWINE] = 2,
+ [SPECIES_CORSOLA] = 0,
+ [SPECIES_REMORAID] = 0,
+ [SPECIES_OCTILLERY] = 0,
+ [SPECIES_DELIBIRD] = 0,
+ [SPECIES_MANTINE] = 2,
+ [SPECIES_SKARMORY] = 0,
+ [SPECIES_HOUNDOUR] = 0,
+ [SPECIES_HOUNDOOM] = 0,
+ [SPECIES_KINGDRA] = 0,
+ [SPECIES_PHANPY] = 0,
+ [SPECIES_DONPHAN] = 0,
+ [SPECIES_PORYGON2] = 0,
+ [SPECIES_STANTLER] = 2,
+ [SPECIES_SMEARGLE] = 1,
+ [SPECIES_TYROGUE] = 2,
+ [SPECIES_HITMONTOP] = 2,
+ [SPECIES_SMOOCHUM] = 1,
+ [SPECIES_ELEKID] = 1,
+ [SPECIES_MAGBY] = 1,
+ [SPECIES_MILTANK] = 1,
+ [SPECIES_BLISSEY] = 1,
+ [SPECIES_RAIKOU] = 0,
+ [SPECIES_ENTEI] = 2,
+ [SPECIES_SUICUNE] = 0,
+ [SPECIES_LARVITAR] = 1,
+ [SPECIES_PUPITAR] = 0,
+ [SPECIES_TYRANITAR] = 1,
+ [SPECIES_LUGIA] = 0,
+ [SPECIES_HO_OH] = 1,
+ [SPECIES_CELEBI] = 1,
+ [SPECIES_OLD_UNOWN_B] = 0,
+ [SPECIES_OLD_UNOWN_C] = 0,
+ [SPECIES_OLD_UNOWN_D] = 0,
+ [SPECIES_OLD_UNOWN_E] = 0,
+ [SPECIES_OLD_UNOWN_F] = 0,
+ [SPECIES_OLD_UNOWN_G] = 0,
+ [SPECIES_OLD_UNOWN_H] = 0,
+ [SPECIES_OLD_UNOWN_I] = 0,
+ [SPECIES_OLD_UNOWN_J] = 0,
+ [SPECIES_OLD_UNOWN_K] = 0,
+ [SPECIES_OLD_UNOWN_L] = 0,
+ [SPECIES_OLD_UNOWN_M] = 0,
+ [SPECIES_OLD_UNOWN_N] = 0,
+ [SPECIES_OLD_UNOWN_O] = 0,
+ [SPECIES_OLD_UNOWN_P] = 0,
+ [SPECIES_OLD_UNOWN_Q] = 0,
+ [SPECIES_OLD_UNOWN_R] = 0,
+ [SPECIES_OLD_UNOWN_S] = 0,
+ [SPECIES_OLD_UNOWN_T] = 0,
+ [SPECIES_OLD_UNOWN_U] = 0,
+ [SPECIES_OLD_UNOWN_V] = 0,
+ [SPECIES_OLD_UNOWN_W] = 0,
+ [SPECIES_OLD_UNOWN_X] = 0,
+ [SPECIES_OLD_UNOWN_Y] = 0,
+ [SPECIES_OLD_UNOWN_Z] = 0,
+ [SPECIES_TREECKO] = 1,
+ [SPECIES_GROVYLE] = 0,
+ [SPECIES_SCEPTILE] = 1,
+ [SPECIES_TORCHIC] = 0,
+ [SPECIES_COMBUSKEN] = 0,
+ [SPECIES_BLAZIKEN] = 0,
+ [SPECIES_MUDKIP] = 0,
+ [SPECIES_MARSHTOMP] = 0,
+ [SPECIES_SWAMPERT] = 0,
+ [SPECIES_POOCHYENA] = 2,
+ [SPECIES_MIGHTYENA] = 2,
+ [SPECIES_ZIGZAGOON] = 2,
+ [SPECIES_LINOONE] = 2,
+ [SPECIES_WURMPLE] = 0,
+ [SPECIES_SILCOON] = 2,
+ [SPECIES_BEAUTIFLY] = 0,
+ [SPECIES_CASCOON] = 2,
+ [SPECIES_DUSTOX] = 1,
+ [SPECIES_LOTAD] = 1,
+ [SPECIES_LOMBRE] = 1,
+ [SPECIES_LUDICOLO] = 1,
+ [SPECIES_SEEDOT] = 1,
+ [SPECIES_NUZLEAF] = 1,
+ [SPECIES_SHIFTRY] = 0,
+ [SPECIES_NINCADA] = 1,
+ [SPECIES_NINJASK] = 1,
+ [SPECIES_SHEDINJA] = 1,
+ [SPECIES_TAILLOW] = 2,
+ [SPECIES_SWELLOW] = 2,
+ [SPECIES_SHROOMISH] = 1,
+ [SPECIES_BRELOOM] = 1,
+ [SPECIES_SPINDA] = 1,
+ [SPECIES_WINGULL] = 0,
+ [SPECIES_PELIPPER] = 0,
+ [SPECIES_SURSKIT] = 2,
+ [SPECIES_MASQUERAIN] = 0,
+ [SPECIES_WAILMER] = 2,
+ [SPECIES_WAILORD] = 0,
+ [SPECIES_SKITTY] = 0,
+ [SPECIES_DELCATTY] = 2,
+ [SPECIES_KECLEON] = 1,
+ [SPECIES_BALTOY] = 1,
+ [SPECIES_CLAYDOL] = 0,
+ [SPECIES_NOSEPASS] = 0,
+ [SPECIES_TORKOAL] = 1,
+ [SPECIES_SABLEYE] = 2,
+ [SPECIES_BARBOACH] = 0,
+ [SPECIES_WHISCASH] = 0,
+ [SPECIES_LUVDISC] = 0,
+ [SPECIES_CORPHISH] = 0,
+ [SPECIES_CRAWDAUNT] = 0,
+ [SPECIES_FEEBAS] = 2,
+ [SPECIES_MILOTIC] = 0,
+ [SPECIES_CARVANHA] = 0,
+ [SPECIES_SHARPEDO] = 0,
+ [SPECIES_TRAPINCH] = 1,
+ [SPECIES_VIBRAVA] = 1,
+ [SPECIES_FLYGON] = 1,
+ [SPECIES_MAKUHITA] = 2,
+ [SPECIES_HARIYAMA] = 1,
+ [SPECIES_ELECTRIKE] = 1,
+ [SPECIES_MANECTRIC] = 0,
+ [SPECIES_NUMEL] = 1,
+ [SPECIES_CAMERUPT] = 0,
+ [SPECIES_SPHEAL] = 2,
+ [SPECIES_SEALEO] = 2,
+ [SPECIES_WALREIN] = 0,
+ [SPECIES_CACNEA] = 1,
+ [SPECIES_CACTURNE] = 1,
+ [SPECIES_SNORUNT] = 2,
+ [SPECIES_GLALIE] = 0,
+ [SPECIES_LUNATONE] = 1,
+ [SPECIES_SOLROCK] = 0,
+ [SPECIES_AZURILL] = 2,
+ [SPECIES_SPOINK] = 0,
+ [SPECIES_GRUMPIG] = 2,
+ [SPECIES_PLUSLE] = 0,
+ [SPECIES_MINUN] = 0,
+ [SPECIES_MAWILE] = 2,
+ [SPECIES_MEDITITE] = 0,
+ [SPECIES_MEDICHAM] = 0,
+ [SPECIES_SWABLU] = 0,
+ [SPECIES_ALTARIA] = 0,
+ [SPECIES_WYNAUT] = 0,
+ [SPECIES_DUSKULL] = 0,
+ [SPECIES_DUSCLOPS] = 0,
+ [SPECIES_ROSELIA] = 0,
+ [SPECIES_SLAKOTH] = 2,
+ [SPECIES_VIGOROTH] = 2,
+ [SPECIES_SLAKING] = 1,
+ [SPECIES_GULPIN] = 1,
+ [SPECIES_SWALOT] = 2,
+ [SPECIES_TROPIUS] = 1,
+ [SPECIES_WHISMUR] = 0,
+ [SPECIES_LOUDRED] = 2,
+ [SPECIES_EXPLOUD] = 2,
+ [SPECIES_CLAMPERL] = 0,
+ [SPECIES_HUNTAIL] = 0,
+ [SPECIES_GOREBYSS] = 0,
+ [SPECIES_ABSOL] = 0,
+ [SPECIES_SHUPPET] = 0,
+ [SPECIES_BANETTE] = 0,
+ [SPECIES_SEVIPER] = 2,
+ [SPECIES_ZANGOOSE] = 0,
+ [SPECIES_RELICANTH] = 1,
+ [SPECIES_ARON] = 2,
+ [SPECIES_LAIRON] = 2,
+ [SPECIES_AGGRON] = 2,
+ [SPECIES_CASTFORM] = 0,
+ [SPECIES_VOLBEAT] = 0,
+ [SPECIES_ILLUMISE] = 2,
+ [SPECIES_LILEEP] = 2,
+ [SPECIES_CRADILY] = 0,
+ [SPECIES_ANORITH] = 0,
+ [SPECIES_ARMALDO] = 0,
+ [SPECIES_RALTS] = 1,
+ [SPECIES_KIRLIA] = 1,
+ [SPECIES_GARDEVOIR] = 1,
+ [SPECIES_BAGON] = 2,
+ [SPECIES_SHELGON] = 2,
+ [SPECIES_SALAMENCE] = 0,
+ [SPECIES_BELDUM] = 0,
+ [SPECIES_METANG] = 0,
+ [SPECIES_METAGROSS] = 0,
+ [SPECIES_REGIROCK] = 2,
+ [SPECIES_REGICE] = 2,
+ [SPECIES_REGISTEEL] = 2,
+ [SPECIES_KYOGRE] = 2,
+ [SPECIES_GROUDON] = 0,
+ [SPECIES_RAYQUAZA] = 1,
+ [SPECIES_LATIAS] = 0,
+ [SPECIES_LATIOS] = 2,
+ [SPECIES_JIRACHI] = 0,
+ [SPECIES_DEOXYS] = 0,
+ [SPECIES_CHIMECHO] = 0,
+ [SPECIES_EGG] = 1,
+ [SPECIES_UNOWN_B] = 0,
+ [SPECIES_UNOWN_C] = 0,
+ [SPECIES_UNOWN_D] = 0,
+ [SPECIES_UNOWN_E] = 0,
+ [SPECIES_UNOWN_F] = 0,
+ [SPECIES_UNOWN_G] = 0,
+ [SPECIES_UNOWN_H] = 0,
+ [SPECIES_UNOWN_I] = 0,
+ [SPECIES_UNOWN_J] = 0,
+ [SPECIES_UNOWN_K] = 0,
+ [SPECIES_UNOWN_L] = 0,
+ [SPECIES_UNOWN_M] = 0,
+ [SPECIES_UNOWN_N] = 0,
+ [SPECIES_UNOWN_O] = 0,
+ [SPECIES_UNOWN_P] = 0,
+ [SPECIES_UNOWN_Q] = 0,
+ [SPECIES_UNOWN_R] = 0,
+ [SPECIES_UNOWN_S] = 0,
+ [SPECIES_UNOWN_T] = 0,
+ [SPECIES_UNOWN_U] = 0,
+ [SPECIES_UNOWN_V] = 0,
+ [SPECIES_UNOWN_W] = 0,
+ [SPECIES_UNOWN_X] = 0,
+ [SPECIES_UNOWN_Y] = 0,
+ [SPECIES_UNOWN_Z] = 0,
+ [SPECIES_UNOWN_EMARK] = 0,
+ [SPECIES_UNOWN_QMARK] = 0
+};
+
+const struct SpritePalette gMonIconPaletteTable[] = {
+ { gMonIconPalettes[0], POKE_ICON_BASE_PAL_TAG + 0 },
+ { gMonIconPalettes[1], POKE_ICON_BASE_PAL_TAG + 1 },
+ { gMonIconPalettes[2], POKE_ICON_BASE_PAL_TAG + 2 },
+ // The following three point outside the gMonIconPalettes array
+ // and are therefore invalid. Fortunately, they are never used.
+ { gMonIconPalettes[3], POKE_ICON_BASE_PAL_TAG + 3 },
+ { gMonIconPalettes[4], POKE_ICON_BASE_PAL_TAG + 4 },
+ { gMonIconPalettes[5], POKE_ICON_BASE_PAL_TAG + 5 }
+};
+
+static const struct OamData sMonIconOamData = {
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .mosaic = FALSE,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x32),
+ .matrixNum = 0,
+ .size = SPRITE_SIZE(32x32),
+ .tileNum = 0x000,
+ .priority = 1,
+ .paletteNum = 0
+};
+
+static const union AnimCmd sMonIconAnim_Fast[] = {
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd sMonIconAnim_MediumFast[] = {
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd sMonIconAnim_MediumSlow[] = {
+ ANIMCMD_FRAME(0, 14),
+ ANIMCMD_FRAME(1, 14),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd sMonIconAnim_Slow[] = {
+ ANIMCMD_FRAME(0, 22),
+ ANIMCMD_FRAME(1, 22),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd sMonIconAnim_Still[] = {
+ ANIMCMD_FRAME(0, 29),
+ ANIMCMD_FRAME(0, 29),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd *const sMonIconAnims[] = {
+ sMonIconAnim_Fast,
+ sMonIconAnim_MediumFast,
+ sMonIconAnim_MediumSlow,
+ sMonIconAnim_Slow,
+ sMonIconAnim_Still
+};
+
+static const union AffineAnimCmd sMonIconAffineAnim_0[] = {
+ AFFINEANIMCMD_FRAME(0, 0, 0, 10),
+ AFFINEANIMCMD_END
+};
+
+static const union AffineAnimCmd sMonIconAffineAnim_1[] = {
+ AFFINEANIMCMD_FRAME(-2, -2, 0, 122),
+ AFFINEANIMCMD_END
+};
+
+static const union AffineAnimCmd *const sMonIconAffineAnims[] = {
+ sMonIconAffineAnim_0,
+ sMonIconAffineAnim_1
+};
+
+static const u16 sSpriteImageSizes[][4] = {
+ [ST_OAM_SQUARE] = {
+ [ST_OAM_SIZE_0] = 0x020,
+ [ST_OAM_SIZE_1] = 0x080,
+ [ST_OAM_SIZE_2] = 0x200,
+ [ST_OAM_SIZE_3] = 0x800,
+ },
+ [ST_OAM_H_RECTANGLE] = {
+ [ST_OAM_SIZE_0] = 0x040,
+ [ST_OAM_SIZE_1] = 0x080,
+ [ST_OAM_SIZE_2] = 0x100,
+ [ST_OAM_SIZE_3] = 0x400,
+ },
+ [ST_OAM_V_RECTANGLE] = {
+ [ST_OAM_SIZE_0] = 0x040,
+ [ST_OAM_SIZE_1] = 0x080,
+ [ST_OAM_SIZE_2] = 0x100,
+ [ST_OAM_SIZE_3] = 0x400,
+ },
+};
+
+u8 CreateMonIcon(u16 species, SpriteCallback callback, s16 x, s16 y, u8 subpriority, u32 personality, bool32 extra)
+{
+ u8 spriteId;
+ struct MonIconSpriteTemplate iconTemplate =
+ {
+ .oam = &sMonIconOamData,
+ .image = GetMonIconPtr(species, personality, extra),
+ .anims = sMonIconAnims,
+ .affineAnims = sMonIconAffineAnims,
+ .callback = callback,
+ .paletteTag = POKE_ICON_BASE_PAL_TAG + gMonIconPaletteIndices[species],
+ };
+
+ if (species > NUM_SPECIES)
+ iconTemplate.paletteTag = POKE_ICON_BASE_PAL_TAG;
+
+ spriteId = CreateMonIconSprite(&iconTemplate, x, y, subpriority);
+
+ UpdateMonIconFrame(&gSprites[spriteId]);
+
+ return spriteId;
+}
+
+u8 CreateMonIcon_HandleDeoxys(u16 species, SpriteCallback callback, s16 x, s16 y, u8 subpriority, bool32 extra)
+{
+ u8 spriteId;
+ struct MonIconSpriteTemplate iconTemplate =
+ {
+ .oam = &sMonIconOamData,
+ .image = NULL,
+ .anims = sMonIconAnims,
+ .affineAnims = sMonIconAffineAnims,
+ .callback = callback,
+ .paletteTag = POKE_ICON_BASE_PAL_TAG + gMonIconPaletteIndices[species],
+ };
+
+ iconTemplate.image = GetMonIconTiles(species, extra);
+ spriteId = CreateMonIconSprite(&iconTemplate, x, y, subpriority);
+
+ UpdateMonIconFrame(&gSprites[spriteId]);
+
+ return spriteId;
+}
+
+u16 GetIconSpecies(u16 species, u32 personality)
+{
+ u16 result;
+
+ if (species == SPECIES_UNOWN)
+ {
+ u16 letter = GetUnownLetterByPersonality(personality);
+ if (letter == 0)
+ letter = SPECIES_UNOWN;
+ else
+ letter += (SPECIES_UNOWN_B - 1);
+ result = letter;
+ }
+ else
+ {
+ if (species > NUM_SPECIES)
+ result = SPECIES_NONE;
+ else
+ result = species;
+ }
+
+ return result;
+}
+
+u16 GetUnownLetterByPersonality(u32 personality)
+{
+ if (!personality)
+ return 0;
+ else
+ return (((personality & 0x3000000) >> 18) | ((personality & 0x30000) >> 12) | ((personality & 0x300) >> 6) | (personality & 0x3)) % 0x1C;
+}
+
+u16 MailSpeciesToIconSpecies(u16 species)
+{
+ u16 value;
+
+ if (MailSpeciesToSpecies(species, &value) == SPECIES_UNOWN)
+ {
+ if (value == 0)
+ value += SPECIES_UNOWN;
+ else
+ value += (SPECIES_UNOWN_B - 1);
+ return value;
+ }
+ else
+ {
+ if (species > (SPECIES_UNOWN_B - 1))
+ species = SPECIES_NONE;
+ return GetIconSpecies(species, 0);
+ }
+}
+
+const u8 *GetMonIconTiles(u16 species, bool32 extra)
+{
+ const u8 *iconSprite = gMonIconTable[species];
+ if (species == SPECIES_DEOXYS && extra == TRUE)
+ iconSprite += 0x400;
+ return iconSprite;
+}
+
+const u8 *GetMonIconPtr(u16 species, u32 personality, bool32 extra)
+{
+ return GetMonIconTiles(GetIconSpecies(species, personality), extra);
+}
+
+void DestroyMonIcon(struct Sprite * sprite)
+{
+ DestroyMonIconInternal(sprite);
+}
+
+void LoadMonIconPalettes(void)
+{
+ u8 i;
+ for (i = 0; i < NELEMS(gMonIconPaletteTable); i++)
+ LoadSpritePalette(&gMonIconPaletteTable[i]);
+}
+
+void SafeLoadMonIconPalette(u16 species)
+{
+ u8 palIndex;
+ if (species > NUM_SPECIES)
+ species = SPECIES_NONE;
+ palIndex = gMonIconPaletteIndices[species];
+ if (IndexOfSpritePaletteTag(gMonIconPaletteTable[palIndex].tag) == 0xFF)
+ LoadSpritePalette(&gMonIconPaletteTable[palIndex]);
+}
+
+void LoadMonIconPalette(u16 species)
+{
+ u8 palIndex;
+ palIndex = gMonIconPaletteIndices[species];
+ if (IndexOfSpritePaletteTag(gMonIconPaletteTable[palIndex].tag) == 0xFF)
+ LoadSpritePalette(&gMonIconPaletteTable[palIndex]);
+}
+
+void FreeMonIconPalettes(void)
+{
+ u8 i;
+ for (i = 0; i < 6; i++)
+ FreeSpritePaletteByTag(gMonIconPaletteTable[i].tag);
+}
+
+void SafeFreeMonIconPalette(u16 species)
+{
+ u8 palIndex;
+ if (species > NUM_SPECIES)
+ species = SPECIES_NONE;
+ palIndex = gMonIconPaletteIndices[species];
+ FreeSpritePaletteByTag(gMonIconPaletteTable[palIndex].tag);
+}
+
+void FreeMonIconPalette(u16 species)
+{
+ u8 palIndex;
+ palIndex = gMonIconPaletteIndices[species];
+ FreeSpritePaletteByTag(gMonIconPaletteTable[palIndex].tag);
+}
+
+void SpriteCB_MonIcon(struct Sprite * sprite)
+{
+ UpdateMonIconFrame(sprite);
+}
+
+void LoadMonIconPalettesAt(u16 offset)
+{
+ int i;
+ if (offset <= 0x100 - 0x60)
+ {
+ for (i = 0; i < (int)NELEMS(gMonIconPaletteTable); i++)
+ {
+ LoadPalette(gMonIconPaletteTable[i].data, offset, 0x20);
+ offset += 0x10;
+ }
+ }
+}
+
+const u16 *GetValidMonIconPalettePtr(u16 species)
+{
+ if (species > NUM_SPECIES)
+ species = SPECIES_NONE;
+ return gMonIconPaletteTable[gMonIconPaletteIndices[species]].data;
+}
+
+u8 GetValidMonIconPalIndex(u16 species)
+{
+ if (species > NUM_SPECIES)
+ species = SPECIES_NONE;
+ return gMonIconPaletteIndices[species];
+}
+
+u8 GetMonIconPaletteIndexFromSpecies(u16 species)
+{
+ return gMonIconPaletteIndices[species];
+}
+
+u8 UpdateMonIconFrame(struct Sprite * sprite)
+{
+ u8 result = 0;
+
+ if (sprite->animDelayCounter == 0)
+ {
+ s16 frame = sprite->anims[sprite->animNum][sprite->animCmdIndex].frame.imageValue;
+
+ switch (frame)
+ {
+ case -1:
+ break;
+ case -2:
+ sprite->animCmdIndex = 0;
+ break;
+ default:
+ RequestSpriteCopy(
+ // pointer arithmetic is needed to get the correct pointer to perform the sprite copy on.
+ // because sprite->images is a struct def, it has to be casted to (u8 *) before any
+ // arithmetic can be performed.
+ (u8 *)sprite->images + (sSpriteImageSizes[sprite->oam.shape][sprite->oam.size] * frame),
+ (u8 *)(OBJ_VRAM0 + sprite->oam.tileNum * TILE_SIZE_4BPP),
+ sSpriteImageSizes[sprite->oam.shape][sprite->oam.size]);
+ sprite->animDelayCounter = sprite->anims[sprite->animNum][sprite->animCmdIndex].frame.duration & 0xFF;
+ sprite->animCmdIndex++;
+ result = sprite->animCmdIndex;
+ break;
+ }
+ }
+ else
+ {
+ sprite->animDelayCounter--;
+ }
+ return result;
+}
+
+static u8 CreateMonIconSprite(const struct MonIconSpriteTemplate * iconTemplate, s16 x, s16 y, u8 subpriority)
+{
+ u8 spriteId;
+
+ struct SpriteFrameImage image = { NULL, sSpriteImageSizes[iconTemplate->oam->shape][iconTemplate->oam->size] };
+
+ struct SpriteTemplate spriteTemplate =
+ {
+ .tileTag = SPRITE_INVALID_TAG,
+ .paletteTag = iconTemplate->paletteTag,
+ .oam = iconTemplate->oam,
+ .anims = iconTemplate->anims,
+ .images = &image,
+ .affineAnims = iconTemplate->affineAnims,
+ .callback = iconTemplate->callback,
+ };
+
+ spriteId = CreateSprite(&spriteTemplate, x, y, subpriority);
+ gSprites[spriteId].animPaused = TRUE;
+ gSprites[spriteId].animBeginning = FALSE;
+ gSprites[spriteId].images = (const struct SpriteFrameImage *)iconTemplate->image;
+ return spriteId;
+}
+
+static void DestroyMonIconInternal(struct Sprite * sprite)
+{
+ struct SpriteFrameImage image = { NULL, sSpriteImageSizes[sprite->oam.shape][sprite->oam.size] };
+ sprite->images = &image;
+ DestroySprite(sprite);
+}
+
+void MonIcon_SetAnim(struct Sprite * sprite, u8 animNum)
+{
+ sprite->animNum = animNum;
+ sprite->animDelayCounter = 0;
+ sprite->animCmdIndex = 0;
+}
diff --git a/src/quest_log.c b/src/quest_log.c
index 0f0f3a6eb..75c01defc 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -72,9 +72,9 @@ struct UnkStruct_203AE98
struct UnkStruct_300201C
{
- u16 unk_0_0:15;
- u16 unk_0_f:1;
- u16 unk_2;
+ u16 idx:15;
+ u16 isFlag:1;
+ u16 value;
};
struct UnkStruct_203B044
@@ -85,30 +85,30 @@ struct UnkStruct_203B044
};
u8 gUnknown_3005E88;
-u16 gUnknown_3005E8C;
+u16 sNumQuestLogs;
struct UnkStruct_3005E90 gUnknown_3005E90;
struct UnkStruct_203AE98 * gUnknown_3005E94;
-static struct UnkStruct_300201C * gUnknown_300201C;
-static u16 gUnknown_3002020;
+static struct UnkStruct_300201C * sFlagOrVarRecords;
+static u16 sNumFlagsOrVars;
static EWRAM_DATA u8 gUnknown_203ADF8 = 0;
static EWRAM_DATA u8 sNumScenes = 0;
EWRAM_DATA u8 gUnknown_203ADFA = 0;
static EWRAM_DATA u16 gUnknown_203ADFC = 0;
static EWRAM_DATA u8 gUnknown_203ADFE[3] = {0};
-static EWRAM_DATA u16 * gUnknown_203AE04 = NULL;
-static EWRAM_DATA u16 * gUnknown_203AE08 = NULL;
-static EWRAM_DATA u16 * gUnknown_203AE0C[32] = {NULL};
+static EWRAM_DATA u16 *gUnknown_203AE04 = NULL;
+static EWRAM_DATA u16 *gUnknown_203AE08 = NULL;
+static EWRAM_DATA u16 *gUnknown_203AE0C[32] = {NULL};
static EWRAM_DATA void (* gUnknown_203AE8C)(void) = NULL;
static EWRAM_DATA u16 *gUnknown_203AE90 = NULL;
static EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0};
static EWRAM_DATA struct UnkStruct_203AE98 gUnknown_203AE98[32] = {0};
-static EWRAM_DATA u16 gUnknown_203AF98 = 0;
+static EWRAM_DATA u16 sQuestLogIdx = 0;
static EWRAM_DATA u8 gUnknown_203AF9A[64][2] = {{0}};
static EWRAM_DATA u16 gUnknown_203B01A = 0;
static EWRAM_DATA u16 gUnknown_203B01C = 0;
-static EWRAM_DATA u16 gUnknown_203B01E = 0;
+static EWRAM_DATA u16 sFlagOrVarPlayhead = 0;
static EWRAM_DATA u8 sHelpMessageWindowId = 0;
static EWRAM_DATA struct UnkStruct_203B024 gUnknown_203B024 = {0};
static EWRAM_DATA struct UnkStruct_203B044 gUnknown_203B044 = {0};
@@ -129,9 +129,9 @@ static u8 sub_8110E68(struct UnkStruct_203AE98 *);
static void sub_8110F90(u8);
static void sub_8111150(u8);
static void sub_8111368(void);
-static void sub_81115E8(void);
-static u16 sub_8111618(void);
-static u16 sub_811164C(void);
+static void QuestLog_GetSaneMonCounts(void);
+static u16 QuestLog_GetSanePartyCount(void);
+static u16 QuestLog_GetSaneBoxCount(void);
static void sub_8111688(void);
static void sub_811175C(u8, struct UnkStruct_203AE98 *);
static void sub_81118F4(s8);
@@ -171,106 +171,106 @@ static void sub_8113524(struct Var4038Struct *);
static bool8 sub_81136D4(void);
static bool8 sub_8113778(u16, u16 *);
static bool8 sub_81137E4(u16, u16 *);
-static u16 * sub_8113828(u16, u16 *);
+static u16 *sub_8113828(u16, u16 *);
static bool8 sub_81138A0(u16, u16 *);
static bool8 sub_8113954(u16, u16 *);
static void sub_8113A1C(u16);
static void sub_811381C(void);
static bool8 sub_8113A44(u16, u16 *);
-static u16 * sub_8113A78(u16 *, u16 **);
+static u16 *sub_8113A78(u16 *, u16 **);
static void sub_8113ABC(u16 *);
static bool8 sub_8113AE8(u16 *);
static bool8 sub_8113B44(u16 *);
static void sub_8113B88(void);
static void sub_8113B94(u16);
static void sub_8113BD8(void);
-static u16 * sub_8113BF4(u16 *);
-static u16 * sub_8113C20(u16 *, struct UnkStruct_203AE98 *);
-static u16 * sub_8113C5C(u16 *, u16);
-static u16 * sub_8113C8C(u16 *, struct UnkStruct_203AE98 *);
-static u16 * sub_8113CC8(u16 *, struct UnkStruct_203AE98 *);
-static u16 * sub_8113D08(u16 *, struct UnkStruct_203AE98 *);
-static u16 * sub_8113D48(u16 *, struct UnkStruct_203AE98 *);
-static u16 * sub_8113D94(u16 *, struct UnkStruct_203AE98 *);
-static u16 * sub_8113F14(u16 *, const u16 *);
-static const u16 * sub_8113F3C(const u16 *);
-static u16 * sub_8113F80(u16 *, const u16 *);
-static const u16 * sub_8113FBC(const u16 *);
-static u16 * sub_8114174(u16 *, const u16 *);
-static const u16 * sub_8114188(const u16 *);
-static u16 * sub_81141D0(u16 *, const u16 *);
-static const u16 * sub_81141E4(const u16 *);
-static u16 * sub_811422C(u16 *, const u16 *);
-static const u16 * sub_8114240(const u16 *);
-static u16 * sub_8114288(u16 *, const u16 *);
-static const u16 * sub_811429C(const u16 *);
-static u16 * sub_8114310(u16 *, const u16 *);
-static const u16 * sub_8114324(const u16 *);
-static u16 * sub_8114380(u16 *, const u16 *);
-static const u16 * sub_8114394(const u16 *);
-static u16 * sub_81143F0(u16 *, const u16 *);
-static const u16 * sub_811443C(const u16 *);
-static u16 * sub_811445C(u16 *, const u16 *);
-static const u16 * sub_811448C(const u16 *);
-static u16 * sub_81144EC(u16 *, const u16 *);
-static const u16 * sub_8114518(const u16 *);
-static u16 * sub_8114578(u16 *, const u16 *);
-static const u16 * sub_81145A4(const u16 *);
-static u16 * sub_8114604(u16 *, const u16 *);
-static const u16 * sub_811464C(const u16 *);
-static u16 * sub_8114710(u16 *, const u16 *);
-static const u16 * sub_8114724(const u16 *);
-static u16 * sub_8114744(u16 *, const u16 *);
-static const u16 * sub_8114758(const u16 *);
-static u16 * sub_8114778(u16 *, const u16 *);
-static const u16 * sub_81147A8(const u16 *);
-static u16 * sub_8114808(u16 *, const u16 *);
-static const u16 * sub_8114834(const u16 *);
-static u16 * sub_811488C(u16 *, const u16 *);
-static const u16 * sub_81148BC(const u16 *);
-static u16 * sub_8114918(u16 *, const u16 *);
-static const u16 * sub_8114944(const u16 *);
-static u16 * sub_8114990(u16 *, const u16 *);
-static const u16 * sub_81149D0(const u16 *);
-static u16 * sub_8114A1C(u16 *, const u16 *);
-static const u16 * sub_8114A4C(const u16 *);
-static u16 * sub_8114AA0(u16 *, const u16 *);
-static const u16 * sub_8114AC8(const u16 *);
-static u16 * sub_8114B0C(u16 *, const u16 *);
-static const u16 * sub_8114B34(const u16 *);
-static u16 * sub_8114B78(u16 *, const u16 *);
-static const u16 * sub_8114BA0(const u16 *);
-static u16 * sub_8114BE4(u16 *, const u16 *);
-static const u16 * sub_8114C0C(const u16 *);
-static u16 * sub_8114C68(u16 *, const u16 *);
-static const u16 * sub_8114C8C(const u16 *);
-static u16 * sub_8114CC0(u16 *, const u16 *);
-static const u16 * sub_8114CE4(const u16 *);
-static u16 * sub_8114D4C(u16 *, const u16 *);
-static const u16 * sub_8114D68(const u16 *);
-static u16 * sub_8114DE8(u16 *, const u16 *);
-static const u16 * sub_8114E68(const u16 *);
+static u16 *sub_8113BF4(u16 *);
+static u16 *sub_8113C20(u16 *, struct UnkStruct_203AE98 *);
+static u16 *sub_8113C5C(u16 *, u16);
+static u16 *sub_8113C8C(u16 *, struct UnkStruct_203AE98 *);
+static u16 *sub_8113CC8(u16 *, struct UnkStruct_203AE98 *);
+static u16 *sub_8113D08(u16 *, struct UnkStruct_203AE98 *);
+static u16 *sub_8113D48(u16 *, struct UnkStruct_203AE98 *);
+static u16 *sub_8113D94(u16 *, struct UnkStruct_203AE98 *);
+static u16 *sub_8113F14(u16 *, const u16 *);
+static const u16 *sub_8113F3C(const u16 *);
+static u16 *sub_8113F80(u16 *, const u16 *);
+static const u16 *sub_8113FBC(const u16 *);
+static u16 *sub_8114174(u16 *, const u16 *);
+static const u16 *sub_8114188(const u16 *);
+static u16 *sub_81141D0(u16 *, const u16 *);
+static const u16 *sub_81141E4(const u16 *);
+static u16 *sub_811422C(u16 *, const u16 *);
+static const u16 *sub_8114240(const u16 *);
+static u16 *sub_8114288(u16 *, const u16 *);
+static const u16 *sub_811429C(const u16 *);
+static u16 *sub_8114310(u16 *, const u16 *);
+static const u16 *sub_8114324(const u16 *);
+static u16 *sub_8114380(u16 *, const u16 *);
+static const u16 *sub_8114394(const u16 *);
+static u16 *sub_81143F0(u16 *, const u16 *);
+static const u16 *sub_811443C(const u16 *);
+static u16 *sub_811445C(u16 *, const u16 *);
+static const u16 *sub_811448C(const u16 *);
+static u16 *sub_81144EC(u16 *, const u16 *);
+static const u16 *sub_8114518(const u16 *);
+static u16 *sub_8114578(u16 *, const u16 *);
+static const u16 *sub_81145A4(const u16 *);
+static u16 *sub_8114604(u16 *, const u16 *);
+static const u16 *sub_811464C(const u16 *);
+static u16 *sub_8114710(u16 *, const u16 *);
+static const u16 *sub_8114724(const u16 *);
+static u16 *sub_8114744(u16 *, const u16 *);
+static const u16 *sub_8114758(const u16 *);
+static u16 *sub_8114778(u16 *, const u16 *);
+static const u16 *sub_81147A8(const u16 *);
+static u16 *sub_8114808(u16 *, const u16 *);
+static const u16 *sub_8114834(const u16 *);
+static u16 *sub_811488C(u16 *, const u16 *);
+static const u16 *sub_81148BC(const u16 *);
+static u16 *sub_8114918(u16 *, const u16 *);
+static const u16 *sub_8114944(const u16 *);
+static u16 *sub_8114990(u16 *, const u16 *);
+static const u16 *sub_81149D0(const u16 *);
+static u16 *sub_8114A1C(u16 *, const u16 *);
+static const u16 *sub_8114A4C(const u16 *);
+static u16 *sub_8114AA0(u16 *, const u16 *);
+static const u16 *sub_8114AC8(const u16 *);
+static u16 *sub_8114B0C(u16 *, const u16 *);
+static const u16 *sub_8114B34(const u16 *);
+static u16 *sub_8114B78(u16 *, const u16 *);
+static const u16 *sub_8114BA0(const u16 *);
+static u16 *sub_8114BE4(u16 *, const u16 *);
+static const u16 *sub_8114C0C(const u16 *);
+static u16 *sub_8114C68(u16 *, const u16 *);
+static const u16 *sub_8114C8C(const u16 *);
+static u16 *sub_8114CC0(u16 *, const u16 *);
+static const u16 *sub_8114CE4(const u16 *);
+static u16 *sub_8114D4C(u16 *, const u16 *);
+static const u16 *sub_8114D68(const u16 *);
+static u16 *sub_8114DE8(u16 *, const u16 *);
+static const u16 *sub_8114E68(const u16 *);
static bool8 sub_8114FBC(u16);
-static u16 * sub_8114FF0(u16 *, const u16 *);
-static const u16 * sub_811500C(const u16 *);
-static u16 * sub_8115078(u16 *, const u16 *);
-static const u16 * sub_81150CC(const u16 *);
-static u16 * sub_81151C0(u16 *, const u16 *);
-static const u16 * sub_81151DC(const u16 *);
-static u16 * sub_8115280(u16 *, const u16 *);
-static const u16 * sub_81152BC(const u16 *);
+static u16 *sub_8114FF0(u16 *, const u16 *);
+static const u16 *sub_811500C(const u16 *);
+static u16 *sub_8115078(u16 *, const u16 *);
+static const u16 *sub_81150CC(const u16 *);
+static u16 *sub_81151C0(u16 *, const u16 *);
+static const u16 *sub_81151DC(const u16 *);
+static u16 *sub_8115280(u16 *, const u16 *);
+static const u16 *sub_81152BC(const u16 *);
static bool8 sub_81153A8(u16, u16 *);
static bool8 sub_81153E4(u16, u16 *);
-static u16 * sub_8115410(u16 *, const u16 *);
-static const u16 * sub_8115460(const u16 *);
-static u16 * sub_81154DC(u16 *, const u16 *);
-static const u16 * sub_8115518(const u16 *);
-static u16 * sub_81155A4(u16 *, const u16 *);
-static const u16 * sub_81155E0(const u16 *);
-static u16 * sub_81156D8(u16 *, const u16 *);
-static const u16 * sub_8115700(const u16 *);
-static u16 * sub_81157DC(u16 *, const u16 *);
-static const u16 * sub_8115800(const u16 *);
+static u16 *sub_8115410(u16 *, const u16 *);
+static const u16 *sub_8115460(const u16 *);
+static u16 *sub_81154DC(u16 *, const u16 *);
+static const u16 *sub_8115518(const u16 *);
+static u16 *sub_81155A4(u16 *, const u16 *);
+static const u16 *sub_81155E0(const u16 *);
+static u16 *sub_81156D8(u16 *, const u16 *);
+static const u16 *sub_8115700(const u16 *);
+static u16 *sub_81157DC(u16 *, const u16 *);
+static const u16 *sub_8115800(const u16 *);
void sub_8115834(u8 *);
extern const u8 gUnknown_841A155[];
@@ -364,40 +364,40 @@ extern const u8 gUnknown_841B005[];
extern const u8 gUnknown_841B03F[];
extern const u8 gUnknown_841B064[];
extern const u8 gUnknown_841B073[];
-extern const u8 gUnknown_841B09F[];
-extern const u8 gUnknown_841B0A4[];
-extern const u8 gUnknown_841B0B5[];
-extern const u8 gUnknown_841B0B9[];
-extern const u8 gUnknown_841B0CD[];
-extern const u8 gUnknown_841B0DD[];
-extern const u8 gUnknown_841B0F6[];
-extern const u8 gUnknown_841B0FF[];
-extern const u8 gUnknown_841B109[];
-extern const u8 gUnknown_841B116[];
-extern const u8 gUnknown_841B11F[];
-extern const u8 gUnknown_841B130[];
-extern const u8 gUnknown_841B141[];
-extern const u8 gUnknown_841B14B[];
-extern const u8 gUnknown_841B15A[];
-extern const u8 gUnknown_841B166[];
-extern const u8 gUnknown_841B172[];
-extern const u8 gUnknown_841B180[];
-extern const u8 gUnknown_841B190[];
-extern const u8 gUnknown_841B1A3[];
-extern const u8 gUnknown_841B1B7[];
-extern const u8 gUnknown_841B1C7[];
-extern const u8 gUnknown_841B1DA[];
-extern const u8 gUnknown_841B1E5[];
-extern const u8 gUnknown_841B1F4[];
-extern const u8 gUnknown_841B200[];
-extern const u8 gUnknown_841B20E[];
-extern const u8 gUnknown_841B21C[];
-extern const u8 gUnknown_841B226[];
-extern const u8 gUnknown_841B236[];
-extern const u8 gUnknown_841B246[];
-extern const u8 gUnknown_841B25B[];
-extern const u8 gUnknown_841B268[];
-extern const u8 gUnknown_841B277[];
+extern const u8 gQuestLogString_Home[];
+extern const u8 gQuestLogString_OakResearchLab[];
+extern const u8 gQuestLogString_Gym[];
+extern const u8 gQuestLogString_PokemonLeagueGate[];
+extern const u8 gQuestLogString_ViridianForest[];
+extern const u8 gQuestLogString_PewterMuseumOfScience[];
+extern const u8 gQuestLogString_MtMoon[];
+extern const u8 gQuestLogString_BikeShop[];
+extern const u8 gQuestLogString_BillSHouse[];
+extern const u8 gQuestLogString_DayCare[];
+extern const u8 gQuestLogString_UndergroundPath[];
+extern const u8 gQuestLogString_PokemonFanClub[];
+extern const u8 gQuestLogString_SSAnne[];
+extern const u8 gQuestLogString_DiglettSCave[];
+extern const u8 gQuestLogString_RockTunnel[];
+extern const u8 gQuestLogString_PowerPlant[];
+extern const u8 gQuestLogString_PokemonTower[];
+extern const u8 gQuestLogString_VolunteerHouse[];
+extern const u8 gQuestLogString_NameRaterSHouse[];
+extern const u8 gQuestLogString_CeladonDeptStore[];
+extern const u8 gQuestLogString_CeladonMansion[];
+extern const u8 gQuestLogString_RocketGameCorner[];
+extern const u8 gQuestLogString_Restaurant[];
+extern const u8 gQuestLogString_RocketHideout[];
+extern const u8 gQuestLogString_SafariZone[];
+extern const u8 gQuestLogString_WardenSHome[];
+extern const u8 gQuestLogString_FightingDojo[];
+extern const u8 gQuestLogString_SilphCo[];
+extern const u8 gQuestLogString_SeafoamIslands[];
+extern const u8 gQuestLogString_PokemonMansion[];
+extern const u8 gQuestLogString_PokemonResearchLab[];
+extern const u8 gQuestLogString_VictoryRoad[];
+extern const u8 gQuestLogString_PokemonLeague[];
+extern const u8 gQuestLogString_CeruleanCave[];
extern const u8 gUnknown_8418C1B[];
@@ -471,7 +471,7 @@ bool8 sub_8110944(const void * a0, size_t a1)
return TRUE;
}
-bool8 sub_8110988(u16 * a0, size_t a1)
+bool8 sub_8110988(u16 *a0, size_t a1)
{
void * r2 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_568;
void * r0 = gSaveBlock1Ptr->questLog[gUnknown_203ADF8].end;
@@ -541,7 +541,7 @@ void sub_8110AEC(u16 a0)
gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_000 = 2;
else
gSaveBlock1Ptr->questLog[gUnknown_203ADF8].unk_000 = 1;
- sub_81115E8();
+ QuestLog_GetSaneMonCounts();
sub_8110BB0(gUnknown_203ADF8);
sub_8110BE8(gUnknown_203ADF8);
sub_8110D94();
@@ -807,7 +807,7 @@ static bool8 sub_8110E68(struct UnkStruct_203AE98 * a0)
{
u16 i;
- for (i = gUnknown_203ADFC; i < gUnknown_203AF98; i++)
+ for (i = gUnknown_203ADFC; i < sQuestLogIdx; i++)
{
if (gUnknown_203AE08 == NULL)
return FALSE;
@@ -833,7 +833,7 @@ static bool8 sub_8110E68(struct UnkStruct_203AE98 * a0)
gUnknown_203AE08 = sub_8113BF4(gUnknown_203AE08);
return FALSE;
}
- gUnknown_203ADFC = gUnknown_203AF98;
+ gUnknown_203ADFC = sQuestLogIdx;
return TRUE;
}
@@ -982,7 +982,7 @@ void sub_8111274(u8 a0, u8 a1)
static void sub_8111368(void)
{
gUnknown_203ADFA = 2;
- sub_806E6FC();
+ ResetSpecialVars();
ClearBag();
ClearPCItemSlots();
if (sub_8110AC8() == 1)
@@ -1012,8 +1012,8 @@ void sub_81113E4(void)
struct PokemonAndSomethingElse
{
struct Pokemon mon;
- u16 unk_64;
- u16 unk_66;
+ u16 sanePartyCount;
+ u16 saneBoxesCount;
};
void sub_8111438(void)
@@ -1022,32 +1022,32 @@ void sub_8111438(void)
u16 r0, r3, r5, r6;
CreateMon(&r9->mon, SPECIES_RATTATA, 1, 0x20, FALSE, 0, 0, 0);
- r0 = VarGet(VAR_0x4027);
- r9->unk_64 = r0 >> 12;
- r9->unk_66 = r0 % 0x1000;
+ r0 = VarGet(VAR_QUEST_LOG_MON_COUNTS);
+ r9->sanePartyCount = r0 >> 12;
+ r9->saneBoxesCount = r0 % 0x1000;
- r5 = sub_8111618();
- if (r5 > r9->unk_64)
+ r5 = QuestLog_GetSanePartyCount();
+ if (r5 > r9->sanePartyCount)
{
- for (r3 = 0; r3 < r5 - r9->unk_64; r3++)
+ for (r3 = 0; r3 < r5 - r9->sanePartyCount; r3++)
{
ZeroMonData(&gPlayerParty[5 - r3]);
}
}
- else if (r5 < r9->unk_64)
+ else if (r5 < r9->sanePartyCount)
{
for (r3 = 0; r3 < 5; r3++)
{
sub_808BCB4(0, r3);
}
- for (r3 = r5; r3 < r9->unk_64; r3++)
+ for (r3 = r5; r3 < r9->sanePartyCount; r3++)
{
CopyMon(&gPlayerParty[r3], &r9->mon, sizeof(struct Pokemon));
}
}
- r5 = sub_811164C();
- if (r5 > r9->unk_66)
+ r5 = QuestLog_GetSaneBoxCount();
+ if (r5 > r9->saneBoxesCount)
{
for (r3 = 0; r3 < 14; r3++)
{
@@ -1057,15 +1057,15 @@ void sub_8111438(void)
{
sub_808BCB4(r3, r6);
r5--;
- if (r5 == r9->unk_66)
+ if (r5 == r9->saneBoxesCount)
break;
}
}
- if (r5 == r9->unk_66)
+ if (r5 == r9->saneBoxesCount)
break;
}
}
- else if (r5 < r9->unk_66)
+ else if (r5 < r9->saneBoxesCount)
{
for (r3 = 0; r3 < TOTAL_BOXES_COUNT; r3++)
{
@@ -1076,11 +1076,11 @@ void sub_8111438(void)
{
CopyMon(boxMon, &r9->mon.box, sizeof(struct BoxPokemon));
r5++;
- if (r5 == r9->unk_66)
+ if (r5 == r9->saneBoxesCount)
break;
}
}
- if (r5 == r9->unk_66)
+ if (r5 == r9->saneBoxesCount)
break;
}
}
@@ -1088,14 +1088,14 @@ void sub_8111438(void)
Free(r9);
}
-static void sub_81115E8(void)
+static void QuestLog_GetSaneMonCounts(void)
{
- u16 r4 = sub_8111618();
- u16 r1 = sub_811164C();
- VarSet(VAR_0x4027, (r4 << 12) + r1);
+ u16 partyCount = QuestLog_GetSanePartyCount();
+ u16 boxesCount = QuestLog_GetSaneBoxCount();
+ VarSet(VAR_QUEST_LOG_MON_COUNTS, (partyCount << 12) + boxesCount);
}
-static u16 sub_8111618(void)
+static u16 QuestLog_GetSanePartyCount(void)
{
u16 count = 0;
u16 i;
@@ -1109,7 +1109,7 @@ static u16 sub_8111618(void)
return count;
}
-static u16 sub_811164C(void)
+static u16 QuestLog_GetSaneBoxCount(void)
{
u16 count = 0;
u16 i, j;
@@ -1231,7 +1231,7 @@ static void sub_8111914(void)
static void sub_8111984(void)
{
- sub_806E6FC();
+ ResetSpecialVars();
Save_ResetSaveCounters();
Save_LoadGameData(0);
SetMainCallback2(sub_8057430);
@@ -1269,7 +1269,7 @@ bool8 sub_81119D4(void (*a0)(void))
static void sub_8111A34(u8 taskId)
{
void (*routine)(void);
- s16 * data = gTasks[taskId].data;
+ s16 *data = gTasks[taskId].data;
switch (data[1])
{
@@ -1421,8 +1421,8 @@ static void sub_8111D10(void)
static void sub_8111D90(u8 a0)
{
- const u16 * src = gUnknown_8456638;
- u16 * buffer = Alloc(0x1680);
+ const u16 *src = gUnknown_8456638;
+ u16 *buffer = Alloc(0x1680);
u8 i, j, y;
if (buffer)
@@ -1558,7 +1558,7 @@ static void sub_8112044(u8 taskId)
static void sub_81120AC(u8 taskId)
{
- s16 * data = gTasks[taskId].data;
+ s16 *data = gTasks[taskId].data;
u8 i;
switch (data[0])
@@ -1608,7 +1608,7 @@ static void sub_81120AC(u8 taskId)
static bool8 sub_81121D8(u8 taskId)
{
- s16 * data = gTasks[taskId].data;
+ s16 *data = gTasks[taskId].data;
if (data[1] > 15)
return TRUE;
@@ -1625,7 +1625,7 @@ static bool8 sub_81121D8(u8 taskId)
static void sub_811229C(void)
{
- u16 * buffer = Alloc(0x400);
+ u16 *buffer = Alloc(0x400);
CpuCopy16(gUnknown_203AE90, buffer, 0x400);
sub_807B0C4(gUnknown_203AE90, gUnknown_203AE90, 0xd0);
sub_807B0C4(gUnknown_203AE90 + 0x110, gUnknown_203AE90 + 0x110, 0x10);
@@ -1728,13 +1728,13 @@ void sub_81124EC(u8 a0, u8 a1, u8 a2, u8 a3)
{
if (!sub_8112CEC())
{
- gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A;
- gUnknown_3005E94[gUnknown_203AF98].unk_6 = 0;
- gUnknown_3005E94[gUnknown_203AF98].unk_0 = a0;
- gUnknown_3005E94[gUnknown_203AF98].unk_1 = a1;
- gUnknown_3005E94[gUnknown_203AF98].unk_2 = a2;
- gUnknown_3005E94[gUnknown_203AF98].unk_3 = a3;
- gUnknown_203AF98++;
+ gUnknown_3005E94[sQuestLogIdx].unk_4 = gUnknown_203B01A;
+ gUnknown_3005E94[sQuestLogIdx].unk_6 = 0;
+ gUnknown_3005E94[sQuestLogIdx].unk_0 = a0;
+ gUnknown_3005E94[sQuestLogIdx].unk_1 = a1;
+ gUnknown_3005E94[sQuestLogIdx].unk_2 = a2;
+ gUnknown_3005E94[sQuestLogIdx].unk_3 = a3;
+ sQuestLogIdx++;
gUnknown_203B01A = 0;
}
}
@@ -1743,13 +1743,13 @@ void sub_8112588(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4)
{
if (!sub_8112D1C())
{
- gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A;
- gUnknown_3005E94[gUnknown_203AF98].unk_6 = 0;
- gUnknown_3005E94[gUnknown_203AF98].unk_0 = a0;
- gUnknown_3005E94[gUnknown_203AF98].unk_1 = a1;
- gUnknown_3005E94[gUnknown_203AF98].unk_2 = a2;
- gUnknown_3005E94[gUnknown_203AF98].unk_3 = a3;
- gUnknown_203AF98++;
+ gUnknown_3005E94[sQuestLogIdx].unk_4 = gUnknown_203B01A;
+ gUnknown_3005E94[sQuestLogIdx].unk_6 = 0;
+ gUnknown_3005E94[sQuestLogIdx].unk_0 = a0;
+ gUnknown_3005E94[sQuestLogIdx].unk_1 = a1;
+ gUnknown_3005E94[sQuestLogIdx].unk_2 = a2;
+ gUnknown_3005E94[sQuestLogIdx].unk_3 = a3;
+ sQuestLogIdx++;
gUnknown_203B01A = a4;
}
}
@@ -1760,12 +1760,12 @@ void sub_8112628(u8 a0)
{
if (a0 != gUnknown_3005E94[gUnknown_203B01C].unk_3 || a0 > 3)
{
- gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A;
- gUnknown_3005E94[gUnknown_203AF98].unk_6 = 0;
- gUnknown_3005E94[gUnknown_203AF98].unk_0 = 0;
- gUnknown_3005E94[gUnknown_203AF98].unk_3 = a0;
- gUnknown_203B01C = gUnknown_203AF98;
- gUnknown_203AF98++;
+ gUnknown_3005E94[sQuestLogIdx].unk_4 = gUnknown_203B01A;
+ gUnknown_3005E94[sQuestLogIdx].unk_6 = 0;
+ gUnknown_3005E94[sQuestLogIdx].unk_0 = 0;
+ gUnknown_3005E94[sQuestLogIdx].unk_3 = a0;
+ gUnknown_203B01C = sQuestLogIdx;
+ sQuestLogIdx++;
gUnknown_203B01A = 0;
}
}
@@ -1775,12 +1775,12 @@ void sub_81126AC(u8 a0, u8 a1)
{
if (!sub_8112D1C())
{
- gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A;
- gUnknown_3005E94[gUnknown_203AF98].unk_6 = 0;
- gUnknown_3005E94[gUnknown_203AF98].unk_0 = 0;
- gUnknown_3005E94[gUnknown_203AF98].unk_3 = a0;
- gUnknown_203B01C = gUnknown_203AF98;
- gUnknown_203AF98++;
+ gUnknown_3005E94[sQuestLogIdx].unk_4 = gUnknown_203B01A;
+ gUnknown_3005E94[sQuestLogIdx].unk_6 = 0;
+ gUnknown_3005E94[sQuestLogIdx].unk_0 = 0;
+ gUnknown_3005E94[sQuestLogIdx].unk_3 = a0;
+ gUnknown_203B01C = sQuestLogIdx;
+ sQuestLogIdx++;
gUnknown_203B01A = a1;
}
}
@@ -1789,11 +1789,11 @@ void sub_8112720(u8 a0)
{
if (!sub_8112D1C())
{
- gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A;
- gUnknown_3005E94[gUnknown_203AF98].unk_6 = 1;
- gUnknown_3005E94[gUnknown_203AF98].unk_0 = 0;
- gUnknown_3005E94[gUnknown_203AF98].unk_3 = a0;
- gUnknown_203AF98++;
+ gUnknown_3005E94[sQuestLogIdx].unk_4 = gUnknown_203B01A;
+ gUnknown_3005E94[sQuestLogIdx].unk_6 = 1;
+ gUnknown_3005E94[sQuestLogIdx].unk_0 = 0;
+ gUnknown_3005E94[sQuestLogIdx].unk_3 = a0;
+ sQuestLogIdx++;
gUnknown_203B01A = 0;
}
}
@@ -1802,27 +1802,27 @@ void sub_811278C(u8 a0, u8 a1)
{
if (!sub_8112D1C())
{
- gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A;
- gUnknown_3005E94[gUnknown_203AF98].unk_6 = 1;
- gUnknown_3005E94[gUnknown_203AF98].unk_0 = 0;
- gUnknown_3005E94[gUnknown_203AF98].unk_3 = a0;
- gUnknown_203AF98++;
+ gUnknown_3005E94[sQuestLogIdx].unk_4 = gUnknown_203B01A;
+ gUnknown_3005E94[sQuestLogIdx].unk_6 = 1;
+ gUnknown_3005E94[sQuestLogIdx].unk_0 = 0;
+ gUnknown_3005E94[sQuestLogIdx].unk_3 = a0;
+ sQuestLogIdx++;
gUnknown_203B01A = a1;
}
}
void sub_81127F8(struct UnkStruct_3005E90 * a0)
{
- if (gUnknown_203AF98 < gUnknown_3005E8C)
+ if (sQuestLogIdx < sNumQuestLogs)
{
u32 r2 = *(u32 *)a0 & 0x00FF00F3;
- gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A;
- gUnknown_3005E94[gUnknown_203AF98].unk_6 = 2;
- gUnknown_3005E94[gUnknown_203AF98].unk_0 = r2;
- gUnknown_3005E94[gUnknown_203AF98].unk_1 = r2 >> 8;
- gUnknown_3005E94[gUnknown_203AF98].unk_2 = r2 >> 16;
- gUnknown_3005E94[gUnknown_203AF98].unk_3 = r2 >> 24;
- gUnknown_203AF98++;
+ gUnknown_3005E94[sQuestLogIdx].unk_4 = gUnknown_203B01A;
+ gUnknown_3005E94[sQuestLogIdx].unk_6 = 2;
+ gUnknown_3005E94[sQuestLogIdx].unk_0 = r2;
+ gUnknown_3005E94[sQuestLogIdx].unk_1 = r2 >> 8;
+ gUnknown_3005E94[sQuestLogIdx].unk_2 = r2 >> 16;
+ gUnknown_3005E94[sQuestLogIdx].unk_3 = r2 >> 24;
+ sQuestLogIdx++;
if (ScriptContext2_IsEnabled())
gUnknown_203B01A = TRUE;
else
@@ -1856,9 +1856,9 @@ void sub_81128BC(u8 a0)
gUnknown_3005E88 = 3;
else if (r1 == 2)
{
- gUnknown_3005E94[gUnknown_203AF98].unk_4 = gUnknown_203B01A;
- gUnknown_3005E94[gUnknown_203AF98].unk_6 = 3;
- gUnknown_203AF98++;
+ gUnknown_3005E94[sQuestLogIdx].unk_4 = gUnknown_203B01A;
+ gUnknown_3005E94[sQuestLogIdx].unk_6 = 3;
+ sQuestLogIdx++;
gUnknown_203B01A = 0;
gUnknown_3005E88 = 4;
}
@@ -1883,57 +1883,57 @@ static void sub_8112940(u8 a0, struct UnkStruct_203AE98 *a1, u16 a2)
break;
case 1:
gUnknown_3005E94 = a1;
- gUnknown_3005E8C = a2 / 8;
+ sNumQuestLogs = a2 / 8;
for (i = 0; i < 0x40; i++)
{
gUnknown_203AF9A[i][0] |= 0xFF;
gUnknown_203AF9A[i][1] |= 0xFF;
}
- gUnknown_203AF98 = 0;
+ sQuestLogIdx = 0;
gUnknown_203B01C = 0;
gUnknown_3005E90 = (struct UnkStruct_3005E90){};
- gUnknown_203B01A = gUnknown_3005E94[gUnknown_203AF98].unk_4;
- gUnknown_203AF9A[0][0] = gUnknown_3005E94[gUnknown_203AF98].unk_3;
+ gUnknown_203B01A = gUnknown_3005E94[sQuestLogIdx].unk_4;
+ gUnknown_203AF9A[0][0] = gUnknown_3005E94[sQuestLogIdx].unk_3;
gUnknown_203AF9A[0][1] = 0xFF;
gUnknown_3005E88 = 1;
break;
case 2:
gUnknown_3005E94 = a1;
- gUnknown_3005E8C = a2 / 8;
- for (i = 0; i < gUnknown_3005E8C; i++)
+ sNumQuestLogs = a2 / 8;
+ for (i = 0; i < sNumQuestLogs; i++)
{
gUnknown_3005E94[i] = (struct UnkStruct_203AE98){ 0, 0, 0, 0, 0xFFFF, 0xFF };
}
- gUnknown_203AF98 = 0;
+ sQuestLogIdx = 0;
gUnknown_203B01A = 0;
- gUnknown_3005E94[gUnknown_203AF98].unk_4 = 0;
- gUnknown_3005E94[gUnknown_203AF98].unk_6 = 0;
- gUnknown_3005E94[gUnknown_203AF98].unk_0 = 0;
+ gUnknown_3005E94[sQuestLogIdx].unk_4 = 0;
+ gUnknown_3005E94[sQuestLogIdx].unk_6 = 0;
+ gUnknown_3005E94[sQuestLogIdx].unk_0 = 0;
switch (GetPlayerFacingDirection())
{
case 0:
case 1:
- gUnknown_3005E94[gUnknown_203AF98].unk_3 = 0;
+ gUnknown_3005E94[sQuestLogIdx].unk_3 = 0;
break;
case 4:
- gUnknown_3005E94[gUnknown_203AF98].unk_3 = 3;
+ gUnknown_3005E94[sQuestLogIdx].unk_3 = 3;
break;
case 2:
- gUnknown_3005E94[gUnknown_203AF98].unk_3 = 1;
+ gUnknown_3005E94[sQuestLogIdx].unk_3 = 1;
break;
case 3:
- gUnknown_3005E94[gUnknown_203AF98].unk_3 = 2;
+ gUnknown_3005E94[sQuestLogIdx].unk_3 = 2;
break;
}
gUnknown_203B01C = 0;
- gUnknown_203AF98++;
- gUnknown_3005E94[gUnknown_203AF98].unk_4 = 0;
- gUnknown_3005E94[gUnknown_203AF98].unk_6 = 2;
- gUnknown_3005E94[gUnknown_203AF98].unk_0 = 0;
- gUnknown_3005E94[gUnknown_203AF98].unk_1 = 0;
- gUnknown_3005E94[gUnknown_203AF98].unk_2 = 0;
- gUnknown_3005E94[gUnknown_203AF98].unk_3 = 0;
- gUnknown_203AF98++;
+ sQuestLogIdx++;
+ gUnknown_3005E94[sQuestLogIdx].unk_4 = 0;
+ gUnknown_3005E94[sQuestLogIdx].unk_6 = 2;
+ gUnknown_3005E94[sQuestLogIdx].unk_0 = 0;
+ gUnknown_3005E94[sQuestLogIdx].unk_1 = 0;
+ gUnknown_3005E94[sQuestLogIdx].unk_2 = 0;
+ gUnknown_3005E94[sQuestLogIdx].unk_3 = 0;
+ sQuestLogIdx++;
gUnknown_3005E88 = 2;
break;
}
@@ -1955,16 +1955,16 @@ void sub_8112B3C(void)
{
while (1)
{
- switch (gUnknown_3005E94[gUnknown_203AF98].unk_6)
+ switch (gUnknown_3005E94[sQuestLogIdx].unk_6)
{
case 0:
- gUnknown_203AF9A[gUnknown_3005E94[gUnknown_203AF98].unk_0][0] = gUnknown_3005E94[gUnknown_203AF98].unk_3;
+ gUnknown_203AF9A[gUnknown_3005E94[sQuestLogIdx].unk_0][0] = gUnknown_3005E94[sQuestLogIdx].unk_3;
break;
case 1:
- gUnknown_203AF9A[gUnknown_3005E94[gUnknown_203AF98].unk_0][1] = gUnknown_3005E94[gUnknown_203AF98].unk_3;
+ gUnknown_203AF9A[gUnknown_3005E94[sQuestLogIdx].unk_0][1] = gUnknown_3005E94[sQuestLogIdx].unk_3;
break;
case 2:
- *(u32 *)&gUnknown_3005E90 = ((gUnknown_3005E94[gUnknown_203AF98].unk_3 << 24) | (gUnknown_3005E94[gUnknown_203AF98].unk_2 << 16) | (gUnknown_3005E94[gUnknown_203AF98].unk_1 << 8) | (gUnknown_3005E94[gUnknown_203AF98].unk_0 << 0));
+ *(u32 *)&gUnknown_3005E90 = ((gUnknown_3005E94[sQuestLogIdx].unk_3 << 24) | (gUnknown_3005E94[sQuestLogIdx].unk_2 << 16) | (gUnknown_3005E94[sQuestLogIdx].unk_1 << 8) | (gUnknown_3005E94[sQuestLogIdx].unk_0 << 0));
break;
case 3:
gUnknown_3005E88 = 3;
@@ -1977,12 +1977,12 @@ void sub_8112B3C(void)
}
if (gUnknown_3005E88 == 0)
break;
- if (++gUnknown_203AF98 >= gUnknown_3005E8C)
+ if (++sQuestLogIdx >= sNumQuestLogs)
{
gUnknown_3005E88 = 0;
break;
}
- gUnknown_203B01A = gUnknown_3005E94[gUnknown_203AF98].unk_4;
+ gUnknown_203B01A = gUnknown_3005E94[sQuestLogIdx].unk_4;
if (gUnknown_3005E88 == 3)
break;
if (gUnknown_203B01A == 0)
@@ -1992,13 +1992,13 @@ void sub_8112B3C(void)
}
}
}
- else if (gUnknown_203AF98 >= gUnknown_3005E8C)
+ else if (sQuestLogIdx >= sNumQuestLogs)
gUnknown_3005E88 = 0;
break;
case 2:
if (ScriptContext2_IsEnabled() != 1)
gUnknown_203B01A++;
- if (gUnknown_203AF98 >= gUnknown_3005E8C)
+ if (sQuestLogIdx >= sNumQuestLogs)
gUnknown_3005E88 = 0;
break;
case 3:
@@ -2052,18 +2052,18 @@ void sub_8112B3C(void)
"_08112B8C: .4byte gUnknown_203B01A\n"
"_08112B90:\n"
"\tldr r5, _08112B98 @ =gUnknown_3005E88\n"
- "\tldr r4, _08112B9C @ =gUnknown_203AF98\n"
+ "\tldr r4, _08112B9C @ =sQuestLogIdx\n"
"\tldr r6, _08112BA0 @ =gUnknown_3005E94\n"
"\tb _08112BD4\n"
"\t.align 2, 0\n"
"_08112B98: .4byte gUnknown_3005E88\n"
- "_08112B9C: .4byte gUnknown_203AF98\n"
+ "_08112B9C: .4byte sQuestLogIdx\n"
"_08112BA0: .4byte gUnknown_3005E94\n"
"_08112BA4:\n"
"\tldrh r0, [r4]\n"
"\tadds r0, 0x1\n"
"\tstrh r0, [r4]\n"
- "\tldr r1, _08112BF0 @ =gUnknown_3005E8C\n"
+ "\tldr r1, _08112BF0 @ =sNumQuestLogs\n"
"\tlsls r0, 16\n"
"\tlsrs r0, 16\n"
"\tldrh r1, [r1]\n"
@@ -2100,7 +2100,7 @@ void sub_8112B3C(void)
"\tbeq _08112C18\n"
"\tb _08112C50\n"
"\t.align 2, 0\n"
- "_08112BF0: .4byte gUnknown_3005E8C\n"
+ "_08112BF0: .4byte sNumQuestLogs\n"
"_08112BF4: .4byte 0x0000ffff\n"
"_08112BF8:\n"
"\tcmp r0, 0xFE\n"
@@ -2173,8 +2173,8 @@ void sub_8112B3C(void)
"\tadds r0, 0x1\n"
"\tstrh r0, [r1]\n"
"_08112C72:\n"
- "\tldr r0, _08112C90 @ =gUnknown_203AF98\n"
- "\tldr r1, _08112C94 @ =gUnknown_3005E8C\n"
+ "\tldr r0, _08112C90 @ =sQuestLogIdx\n"
+ "\tldr r1, _08112C94 @ =sNumQuestLogs\n"
"\tldrh r0, [r0]\n"
"\tldrh r1, [r1]\n"
"\tcmp r0, r1\n"
@@ -2188,8 +2188,8 @@ void sub_8112B3C(void)
"\tbx r0\n"
"\t.align 2, 0\n"
"_08112C8C: .4byte gUnknown_203B01A\n"
- "_08112C90: .4byte gUnknown_203AF98\n"
- "_08112C94: .4byte gUnknown_3005E8C\n"
+ "_08112C90: .4byte sQuestLogIdx\n"
+ "_08112C94: .4byte sNumQuestLogs\n"
"_08112C98: .4byte gUnknown_3005E88");
}
#endif
@@ -2217,14 +2217,14 @@ u8 sub_8112CAC(void)
static bool8 sub_8112CEC(void)
{
- if (gUnknown_203AF98 >= gUnknown_3005E8C || ScriptContext2_IsEnabled() == TRUE)
+ if (sQuestLogIdx >= sNumQuestLogs || ScriptContext2_IsEnabled() == TRUE)
return TRUE;
return FALSE;
}
static bool8 sub_8112D1C(void)
{
- if (gUnknown_203AF98 >= gUnknown_3005E8C)
+ if (sQuestLogIdx >= sNumQuestLogs)
return TRUE;
return FALSE;
}
@@ -2235,37 +2235,37 @@ static const struct UnkStruct_300201C gUnknown_84566A4 = {
0x7FFF
};
-u16 * sub_8112D40(u8 a0, u16 a1)
+void * QuestLogGetFlagOrVarPtr(bool8 isFlag, u16 idx)
{
- u16 * response;
- if (gUnknown_203AF98 == 0)
+ void * response;
+ if (sQuestLogIdx == 0)
return NULL;
- if (gUnknown_203AF98 >= gUnknown_3005E8C)
+ if (sQuestLogIdx >= sNumQuestLogs)
return NULL;
- if (gUnknown_203B01E >= gUnknown_3002020)
+ if (sFlagOrVarPlayhead >= sNumFlagsOrVars)
return NULL;
- if (gUnknown_300201C[gUnknown_203B01E].unk_0_0 == a1 && gUnknown_300201C[gUnknown_203B01E].unk_0_f == a0)
+ if (sFlagOrVarRecords[sFlagOrVarPlayhead].idx == idx && sFlagOrVarRecords[sFlagOrVarPlayhead].isFlag == isFlag)
{
- response = &gUnknown_300201C[gUnknown_203B01E].unk_2;
- gUnknown_203B01E++;
+ response = &sFlagOrVarRecords[sFlagOrVarPlayhead].value;
+ sFlagOrVarPlayhead++;
}
else
response = NULL;
return response;
}
-void sub_8112DB0(u8 a0, u16 a1, u16 a2)
+void QuestLogSetFlagOrVar(bool8 isFlag, u16 idx, u16 value)
{
- if (gUnknown_203AF98 == 0)
+ if (sQuestLogIdx == 0)
return;
- if (gUnknown_203AF98 >= gUnknown_3005E8C)
+ if (sQuestLogIdx >= sNumQuestLogs)
return;
- if (gUnknown_203B01E >= gUnknown_3002020)
+ if (sFlagOrVarPlayhead >= sNumFlagsOrVars)
return;
- gUnknown_300201C[gUnknown_203B01E].unk_0_0 = a1;
- gUnknown_300201C[gUnknown_203B01E].unk_0_f = a0;
- gUnknown_300201C[gUnknown_203B01E].unk_2 = a2;
- gUnknown_203B01E++;
+ sFlagOrVarRecords[sFlagOrVarPlayhead].idx = idx;
+ sFlagOrVarRecords[sFlagOrVarPlayhead].isFlag = isFlag;
+ sFlagOrVarRecords[sFlagOrVarPlayhead].value = value;
+ sFlagOrVarPlayhead++;
}
void sub_8112E3C(u8 a0, struct UnkStruct_300201C * a1, u16 a2)
@@ -2276,14 +2276,14 @@ void sub_8112E3C(u8 a0, struct UnkStruct_300201C * a1, u16 a2)
gUnknown_3005E88 = 0;
else
{
- gUnknown_300201C = a1;
- gUnknown_3002020 = a2 >> 2;
- gUnknown_203B01E = 0;
+ sFlagOrVarRecords = a1;
+ sNumFlagsOrVars = a2 >> 2;
+ sFlagOrVarPlayhead = 0;
if (a0 == 2)
{
- for (i = 0; i < gUnknown_3005E8C; i++)
+ for (i = 0; i < sNumQuestLogs; i++)
{
- gUnknown_300201C[i] = gUnknown_84566A4;
+ sFlagOrVarRecords[i] = gUnknown_84566A4;
}
}
}
@@ -2330,7 +2330,7 @@ void sub_8112F18(u8 a0)
{
u8 width = GetWindowAttribute(a0, WINDOW_WIDTH);
u8 height = GetWindowAttribute(a0, WINDOW_HEIGHT);
- u8 * buffer = Alloc(32 * width * height);
+ u8 *buffer = Alloc(32 * width * height);
u8 i, j;
u8 k;
@@ -2464,12 +2464,12 @@ static const u8 gUnknown_8456930[3] = {
0, 10, 2
};
-void sub_8112FE4(const u8 * a0)
+void sub_8112FE4(const u8 *a0)
{
AddTextPrinterParameterized4(sHelpMessageWindowId, 0x02, 2, 5, 1, 1, gUnknown_8456930, -1, a0);
}
-void PrintTextOnHelpMessageWindow(const u8 * text, u8 mode)
+void PrintTextOnHelpMessageWindow(const u8 *text, u8 mode)
{
sub_8112FD0();
sub_8112FE4(text);
@@ -2509,10 +2509,10 @@ static void sub_81130BC(struct Var4038Struct * varPtr)
sub_8113524(varPtr);
sub_8113390(varPtr);
VarSet(VAR_0x4039, gSaveBlock2Ptr->playTimeHours);
- FlagClear(FLAG_0x06C);
- FlagClear(FLAG_0x06D);
- FlagClear(FLAG_0x06E);
- FlagClear(FLAG_0x06F);
+ FlagClear(FLAG_HIDE_SAFFRON_FAN_CLUB_BLACKBELT);
+ FlagClear(FLAG_HIDE_SAFFRON_FAN_CLUB_ROCKER);
+ FlagClear(FLAG_HIDE_SAFFRON_FAN_CLUB_WOMAN);
+ FlagClear(FLAG_HIDE_SAFFRON_FAN_CLUB_BEAUTY);
VarSet(VAR_MAP_SCENE_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB, 1);
}
}
@@ -2696,8 +2696,8 @@ void sub_81133A4(void)
static void sub_8113414(struct LinkBattleRecords * a0, u8 a1, u8 a2)
{
- u8 * str;
- const u8 * src = a0->entries[a1].name;
+ u8 *str;
+ const u8 *src = a0->entries[a1].name;
if (src[0] == EOS)
{
switch (a2)
@@ -2706,10 +2706,10 @@ static void sub_8113414(struct LinkBattleRecords * a0, u8 a1, u8 a2)
StringCopy(gStringVar1, gSaveBlock1Ptr->rivalName);
break;
case 1:
- StringCopy(gStringVar1, gUnknown_84178D0);
+ StringCopy(gStringVar1, gUnknown_84178D0); // LT. SURGE
break;
case 2:
- StringCopy(gStringVar1, gUnknown_84178DA);
+ StringCopy(gStringVar1, gUnknown_84178DA); // KOGA
break;
default:
StringCopy(gStringVar1, gSaveBlock1Ptr->rivalName);
@@ -2771,7 +2771,7 @@ u8 sub_8113530(void)
return sub_8113114(VAR_0x4038_STRUCT, gSpecialVar_0x8004);
}
-static u16 * (*const sQuestLogStorageCBs[])(u16 *, const u16 *) = {
+static u16 *(*const sQuestLogStorageCBs[])(u16 *, const u16 *) = {
NULL,
NULL,
NULL,
@@ -2818,9 +2818,9 @@ static u16 * (*const sQuestLogStorageCBs[])(u16 *, const u16 *) = {
};
#ifdef NONMATCHING
-void sub_8113550(u16 a0, const u16 * a1)
+void sub_8113550(u16 a0, const u16 *a1)
{
- u16 * r1;
+ u16 *r1;
if (a0 == 35 && gUnknown_203B048 == 2)
{
@@ -2905,7 +2905,7 @@ void sub_8113550(u16 a0, const u16 * a1)
}
#else
NAKED
-void sub_8113550(u16 a0, const u16 * a1)
+void sub_8113550(u16 a0, const u16 *a1)
{
asm_unified("\tpush {r4,r5,lr}\n"
"\tadds r5, r1, 0\n"
@@ -3120,18 +3120,18 @@ bool8 sub_8113748(void)
return FALSE;
}
-static bool8 sub_8113778(u16 a0, u16 * a1)
+static bool8 sub_8113778(u16 a0, u16 *a1)
{
if (a0 == 36 || a0 == 11)
return TRUE;
- if (!FlagGet(0x82C))
+ if (!FlagGet(FLAG_SYS_GAME_CLEAR))
{
if (a0 == 3 || a0 == 31 || sub_81137E4(a0, a1) == TRUE)
return TRUE;
}
- if (!FlagGet(0x844))
+ if (!FlagGet(FLAG_SYS_CAN_LINK_WITH_RS))
{
if (a0 == 4 || a0 == 5 || a0 == 6 || a0 == 7 || a0 == 8 || a0 == 9 || a0 == 10 || a0 == 22 || a0 == 25 || a0 == 26)
return TRUE;
@@ -3140,7 +3140,7 @@ static bool8 sub_8113778(u16 a0, u16 * a1)
return FALSE;
}
-static bool8 sub_81137E4(u16 a0, u16 * a1)
+static bool8 sub_81137E4(u16 a0, u16 *a1)
{
if (a0 == 34)
{
@@ -3160,7 +3160,7 @@ static void sub_811381C(void)
gUnknown_203B048 = 0;
}
-static u16 * sub_8113828(u16 a0, u16 * a1)
+static u16 *sub_8113828(u16 a0, u16 *a1)
{
if (sub_8113778(a0, a1) == TRUE)
return NULL;
@@ -3179,7 +3179,7 @@ static u16 * sub_8113828(u16 a0, u16 * a1)
return sQuestLogStorageCBs[a0](gUnknown_203AE08, a1);
}
-static bool8 sub_81138A0(u16 a0, u16 * a1)
+static bool8 sub_81138A0(u16 a0, u16 *a1)
{
if (a0 < 12 || a0 > 19)
return FALSE;
@@ -3206,7 +3206,7 @@ void sub_811390C(void)
{
if (gUnknown_203B024.unk_00 != 0)
{
- u16 * resp;
+ u16 *resp;
gUnknown_203B04A = 0;
sub_8110AEC(gUnknown_203B024.unk_00);
resp = sQuestLogStorageCBs[gUnknown_203B024.unk_00](gUnknown_203AE08, gUnknown_203B024.unk_04);
@@ -3215,12 +3215,12 @@ void sub_811390C(void)
}
}
-static bool8 sub_8113954(u16 a0, u16 * a1)
+static bool8 sub_8113954(u16 a0, u16 *a1)
{
if (a0 != 34 && a0 != 30 && a0 != 32 && a0 != 33)
return FALSE;
sub_81138F8();
- if (gUnknown_3005E88 || FlagGet(0x82C) || sub_81137E4(a0, a1) != TRUE)
+ if (gUnknown_3005E88 || FlagGet(FLAG_SYS_GAME_CLEAR) || sub_81137E4(a0, a1) != TRUE)
{
gUnknown_203B024.unk_00 = a0;
memcpy(gUnknown_203B024.unk_04, a1, 8);
@@ -3232,7 +3232,7 @@ void sub_81139BC(void)
{
if (gUnknown_203B024.unk_00 != 0)
{
- u16 * resp;
+ u16 *resp;
if (gUnknown_3005E88 == 0)
{
gUnknown_203B04A = 0;
@@ -3250,7 +3250,7 @@ void sub_81139BC(void)
static void sub_8113A1C(u16 a0)
{
gUnknown_203AE08 = sub_8113C5C(gUnknown_203AE08, a0);
- gUnknown_203AF98++;
+ sQuestLogIdx++;
}
static bool8 sub_8113A44(u16 a0, u16 *a1)
@@ -3267,7 +3267,7 @@ static bool8 sub_8113A44(u16 a0, u16 *a1)
return FALSE;
}
-static const u16 * (*const sQuestLogScriptParsingCBs[])(const u16 *) = {
+static const u16 *(*const sQuestLogScriptParsingCBs[])(const u16 *) = {
NULL,
NULL,
NULL,
@@ -3359,7 +3359,7 @@ static const u8 gUnknown_8456AA0[] = {
0x06
};
-static u16 * sub_8113A78(u16 * a0, u16 **a1)
+static u16 *sub_8113A78(u16 *a0, u16 **a1)
{
u16 r2 = a0[0] & 0xfff;
u16 r4 = a0[0] >> 12;
@@ -3371,9 +3371,9 @@ static u16 * sub_8113A78(u16 * a0, u16 **a1)
return gUnknown_8456AA0[r2] + (gUnknown_8456AA0[r2] - 4) * r4 + (void *)a0;
}
-static void sub_8113ABC(u16 * a0)
+static void sub_8113ABC(u16 *a0)
{
- u8 * r2 = (u8 *)(a0 + 2);
+ u8 *r2 = (u8 *)(a0 + 2);
if ((a0[0] & 0xFFF) != 35)
gUnknown_203B04A = 0;
else
@@ -3381,9 +3381,9 @@ static void sub_8113ABC(u16 * a0)
}
#ifdef NONMATCHING
-static bool8 sub_8113AE8(u16 * a0)
+static bool8 sub_8113AE8(u16 *a0)
{
- if (a0 == NULL || a0[1] > gUnknown_203AF98)
+ if (a0 == NULL || a0[1] > sQuestLogIdx)
return FALSE;
sQuestLogScriptParsingCBs[a0[0] & 0xFFF](a0);
@@ -3395,13 +3395,13 @@ static bool8 sub_8113AE8(u16 * a0)
}
#else
NAKED
-static bool8 sub_8113AE8(u16 * a0)
+static bool8 sub_8113AE8(u16 *a0)
{
asm_unified("\tpush {r4,lr}\n"
"\tadds r4, r0, 0\n"
"\tcmp r0, 0\n"
"\tbeq _08113AFA\n"
- "\tldr r1, _08113B00 @ =gUnknown_203AF98\n"
+ "\tldr r1, _08113B00 @ =sQuestLogIdx\n"
"\tldrh r0, [r0, 0x2]\n"
"\tldrh r1, [r1]\n"
"\tcmp r0, r1\n"
@@ -3410,7 +3410,7 @@ static bool8 sub_8113AE8(u16 * a0)
"\tmovs r0, 0\n"
"\tb _08113B32\n"
"\t.align 2, 0\n"
- "_08113B00: .4byte gUnknown_203AF98\n"
+ "_08113B00: .4byte sQuestLogIdx\n"
"_08113B04:\n"
"\tldr r2, _08113B38 @ =sQuestLogScriptParsingCBs\n"
"\tldrh r1, [r4]\n"
@@ -3446,7 +3446,7 @@ static bool8 sub_8113AE8(u16 * a0)
}
#endif
-static bool8 sub_8113B44(u16 * a0)
+static bool8 sub_8113B44(u16 *a0)
{
if (gUnknown_203B044.unk_2 == 0)
return FALSE;
@@ -3465,11 +3465,11 @@ static void sub_8113B88(void)
static void sub_8113B94(u16 a0)
{
- if (gUnknown_203B044.unk_0 != (u8)a0 || gUnknown_203B044.unk_2 != gUnknown_203AF98)
+ if (gUnknown_203B044.unk_0 != (u8)a0 || gUnknown_203B044.unk_2 != sQuestLogIdx)
{
gUnknown_203B044.unk_0 = a0;
gUnknown_203B044.unk_1 = 0;
- gUnknown_203B044.unk_2 = gUnknown_203AF98;
+ gUnknown_203B044.unk_2 = sQuestLogIdx;
}
else if (gUnknown_203B044.unk_1 < 5)
gUnknown_203B044.unk_1++;
@@ -3482,7 +3482,7 @@ static void sub_8113BD8(void)
gUnknown_203B04B = 0;
}
-static u16 * sub_8113BF4(u16 * a0)
+static u16 *sub_8113BF4(u16 *a0)
{
if (!sub_8110988(a0, gUnknown_8456AA0[39]))
return NULL;
@@ -3490,7 +3490,7 @@ static u16 * sub_8113BF4(u16 * a0)
return a0 + 1;
}
-static u16 * sub_8113C20(u16 * a0, struct UnkStruct_203AE98 * a1)
+static u16 *sub_8113C20(u16 *a0, struct UnkStruct_203AE98 * a1)
{
if (!sub_8110988(a0, gUnknown_8456AA0[39]))
return NULL;
@@ -3503,7 +3503,7 @@ static u16 * sub_8113C20(u16 * a0, struct UnkStruct_203AE98 * a1)
return a0 + 1;
}
-static u16 * sub_8113C5C(u16 * a0, u16 a1)
+static u16 *sub_8113C5C(u16 *a0, u16 a1)
{
if (!sub_8110988(a0, gUnknown_8456AA0[41]))
return NULL;
@@ -3512,7 +3512,7 @@ static u16 * sub_8113C5C(u16 * a0, u16 a1)
return a0 + 2;
}
-static u16 * sub_8113C8C(u16 * a0, struct UnkStruct_203AE98 * a1)
+static u16 *sub_8113C8C(u16 *a0, struct UnkStruct_203AE98 * a1)
{
if (!sub_8110988(a0, gUnknown_8456AA0[41]))
return NULL;
@@ -3525,9 +3525,9 @@ static u16 * sub_8113C8C(u16 * a0, struct UnkStruct_203AE98 * a1)
return a0 + 2;
}
-static u16 * sub_8113CC8(u16 * a0, struct UnkStruct_203AE98 * a1)
+static u16 *sub_8113CC8(u16 *a0, struct UnkStruct_203AE98 * a1)
{
- u8 * r6 = (u8 *)a0 + 4;
+ u8 *r6 = (u8 *)a0 + 4;
if (!sub_8110988(a0, gUnknown_8456AA0[0]))
return NULL;
@@ -3540,9 +3540,9 @@ static u16 * sub_8113CC8(u16 * a0, struct UnkStruct_203AE98 * a1)
return (u16 *)(r6 + 4);
}
-static u16 * sub_8113D08(u16 * a0, struct UnkStruct_203AE98 * a1)
+static u16 *sub_8113D08(u16 *a0, struct UnkStruct_203AE98 * a1)
{
- u8 * r6 = (u8 *)a0 + 4;
+ u8 *r6 = (u8 *)a0 + 4;
if (!sub_8110988(a0, gUnknown_8456AA0[0]))
return NULL;
@@ -3555,10 +3555,10 @@ static u16 * sub_8113D08(u16 * a0, struct UnkStruct_203AE98 * a1)
return (u16 *)(r6 + 4);
}
-static u16 * sub_8113D48(u16 * a0, struct UnkStruct_203AE98 * a1)
+static u16 *sub_8113D48(u16 *a0, struct UnkStruct_203AE98 * a1)
{
- u16 * r4 = a0;
- u8 * r6 = (u8 *)a0 + 4;
+ u16 *r4 = a0;
+ u8 *r6 = (u8 *)a0 + 4;
if (!sub_8110988(r4, gUnknown_8456AA0[2]))
return NULL;
@@ -3574,10 +3574,10 @@ static u16 * sub_8113D48(u16 * a0, struct UnkStruct_203AE98 * a1)
return (u16 *)(r6 + 4);
}
-static u16 * sub_8113D94(u16 * a0, struct UnkStruct_203AE98 * a1)
+static u16 *sub_8113D94(u16 *a0, struct UnkStruct_203AE98 * a1)
{
- u16 * r5 = a0;
- u8 * r6 = (u8 *)a0 + 4;
+ u16 *r5 = a0;
+ u8 *r6 = (u8 *)a0 + 4;
if (!sub_8110988(r5, gUnknown_8456AA0[2]))
return NULL;
@@ -3593,10 +3593,10 @@ static u16 * sub_8113D94(u16 * a0, struct UnkStruct_203AE98 * a1)
return (u16 *)(r6 + 4);
}
-u16 * sub_8113DE0(u16 a0, u16 * a1)
+u16 *sub_8113DE0(u16 a0, u16 *a1)
{
u8 r6;
- u16 * r5;
+ u16 *r5;
u8 r4;
u8 r1;
@@ -3628,12 +3628,12 @@ u16 * sub_8113DE0(u16 a0, u16 * a1)
r1 = gUnknown_203B044.unk_1;
r5[0] = a0 + (r1 << 12);
- r5[1] = gUnknown_203AF98;
+ r5[1] = sQuestLogIdx;
r5 = (void *)r5 + (r1 * r6 + 4);
return r5;
}
-static const u16 * sub_8113E88(u16 a0, const u16 * a1)
+static const u16 *sub_8113E88(u16 a0, const u16 *a1)
{
a1 = (const void *)a1 + (gUnknown_203B044.unk_2 * (gUnknown_8456AA0[a0] - 4) + 4);
return a1;
@@ -3642,7 +3642,7 @@ static const u16 * sub_8113E88(u16 a0, const u16 * a1)
// TODO: delete this declaration once data_83FECCC.s is decompiled
extern const u8 gText_EggNickname[];
-void QuestLog_AutoGetSpeciesName(u16 a0, u8 * a1, u8 a2)
+void QuestLog_AutoGetSpeciesName(u16 a0, u8 *a1, u8 a2)
{
if (a1 != NULL)
{
@@ -3660,9 +3660,9 @@ void QuestLog_AutoGetSpeciesName(u16 a0, u8 * a1, u8 a2)
}
}
-static u16 * sub_8113F14(u16 * a0, const u16 * a1)
+static u16 *sub_8113F14(u16 *a0, const u16 *a1)
{
- u16 * r2 = sub_8113DE0(3, a0);
+ u16 *r2 = sub_8113DE0(3, a0);
if (r2 == NULL)
return NULL;
@@ -3671,9 +3671,9 @@ static u16 * sub_8113F14(u16 * a0, const u16 * a1)
return r2 + 2;
}
-static const u16 * sub_8113F3C(const u16 * a0)
+static const u16 *sub_8113F3C(const u16 *a0)
{
- const u16 * r4 = sub_8113E88(3, a0);
+ const u16 *r4 = sub_8113E88(3, a0);
QuestLog_AutoGetSpeciesName(r4[0], gStringVar1, 0);
QuestLog_AutoGetSpeciesName(r4[1], gStringVar2, 0);
StringExpandPlaceholders(gStringVar4, gUnknown_841A16F);
@@ -3681,9 +3681,9 @@ static const u16 * sub_8113F3C(const u16 * a0)
return r4;
}
-static u16 * sub_8113F80(u16 * a0, const u16 * a1)
+static u16 *sub_8113F80(u16 *a0, const u16 *a1)
{
- u16 * r2 = sub_8113DE0(4, a0);
+ u16 *r2 = sub_8113DE0(4, a0);
if (r2 == NULL)
return NULL;
@@ -3697,9 +3697,9 @@ static u16 * sub_8113F80(u16 * a0, const u16 * a1)
return r2 + 3;
}
-static const u16 * sub_8113FBC(const u16 * a0)
+static const u16 *sub_8113FBC(const u16 *a0)
{
- const u16 * r5 = sub_8113E88(4, a0);
+ const u16 *r5 = sub_8113E88(4, a0);
switch (ItemId_GetPocket(r5[0]))
{
@@ -3749,9 +3749,9 @@ static const u16 * sub_8113FBC(const u16 * a0)
return r5 + 3;
}
-u16 * sub_811414C(u16 a0, u16 * a1, const u16 * a2)
+u16 *sub_811414C(u16 a0, u16 *a1, const u16 *a2)
{
- u16 * r1 = sub_8113DE0(a0, a1);
+ u16 *r1 = sub_8113DE0(a0, a1);
if (r1 == NULL)
return NULL;
@@ -3760,14 +3760,14 @@ u16 * sub_811414C(u16 a0, u16 * a1, const u16 * a2)
return r1 + 2;
}
-static u16 * sub_8114174(u16 * a0, const u16 * a1)
+static u16 *sub_8114174(u16 *a0, const u16 *a1)
{
return sub_811414C(5, a0, a1);
}
-static const u16 * sub_8114188(const u16 * a0)
+static const u16 *sub_8114188(const u16 *a0)
{
- const u16 * r4 = sub_8113E88(5, a0);
+ const u16 *r4 = sub_8113E88(5, a0);
QuestLog_AutoGetSpeciesName(r4[1], gStringVar1, 0);
StringCopy(gStringVar2, ItemId_GetName(r4[0]));
StringExpandPlaceholders(gStringVar4, gUnknown_841AB74);
@@ -3775,14 +3775,14 @@ static const u16 * sub_8114188(const u16 * a0)
return r4;
}
-static u16 * sub_81141D0(u16 * a0, const u16 * a1)
+static u16 *sub_81141D0(u16 *a0, const u16 *a1)
{
return sub_811414C(6, a0, a1);
}
-static const u16 * sub_81141E4(const u16 * a0)
+static const u16 *sub_81141E4(const u16 *a0)
{
- const u16 * r4 = sub_8113E88(6, a0);
+ const u16 *r4 = sub_8113E88(6, a0);
QuestLog_AutoGetSpeciesName(r4[1], gStringVar1, 0);
StringCopy(gStringVar2, ItemId_GetName(r4[0]));
@@ -3791,14 +3791,14 @@ static const u16 * sub_81141E4(const u16 * a0)
return r4;
}
-static u16 * sub_811422C(u16 * a0, const u16 * a1)
+static u16 *sub_811422C(u16 *a0, const u16 *a1)
{
return sub_811414C(7, a0, a1);
}
-static const u16 * sub_8114240(const u16 * a0)
+static const u16 *sub_8114240(const u16 *a0)
{
- const u16 * r4 = sub_8113E88(7, a0);
+ const u16 *r4 = sub_8113E88(7, a0);
QuestLog_AutoGetSpeciesName(r4[1], gStringVar2, 0);
StringCopy(gStringVar1, ItemId_GetName(r4[0]));
@@ -3807,14 +3807,14 @@ static const u16 * sub_8114240(const u16 * a0)
return r4;
}
-static u16 * sub_8114288(u16 * a0, const u16 * a1)
+static u16 *sub_8114288(u16 *a0, const u16 *a1)
{
return sub_811414C(8, a0, a1);
}
-static const u16 * sub_811429C(const u16 * a0)
+static const u16 *sub_811429C(const u16 *a0)
{
- const u16 * r4 = sub_8113E88(8, a0);
+ const u16 *r4 = sub_8113E88(8, a0);
QuestLog_AutoGetSpeciesName(r4[1], gStringVar1, 0);
StringCopy(gStringVar2, ItemId_GetName(r4[0]));
@@ -3823,9 +3823,9 @@ static const u16 * sub_811429C(const u16 * a0)
return r4;
}
-u16 * sub_81142E4(u16 a0, u16 * a1, const u16 * a2)
+u16 *sub_81142E4(u16 a0, u16 *a1, const u16 *a2)
{
- u16 * r1 = sub_8113DE0(a0, a1);
+ u16 *r1 = sub_8113DE0(a0, a1);
if (r1 == NULL)
return NULL;
@@ -3835,14 +3835,14 @@ u16 * sub_81142E4(u16 a0, u16 * a1, const u16 * a2)
return r1 + 3;
}
-static u16 * sub_8114310(u16 * a0, const u16 * a1)
+static u16 *sub_8114310(u16 *a0, const u16 *a1)
{
return sub_81142E4(9, a0, a1);
}
-static const u16 * sub_8114324(const u16 * a0)
+static const u16 *sub_8114324(const u16 *a0)
{
- const u16 * r4 = sub_8113E88(9, a0);
+ const u16 *r4 = sub_8113E88(9, a0);
QuestLog_AutoGetSpeciesName(r4[2], gStringVar1, 0);
StringCopy(gStringVar2, ItemId_GetName(r4[0]));
StringCopy(gStringVar3, ItemId_GetName(r4[1]));
@@ -3851,14 +3851,14 @@ static const u16 * sub_8114324(const u16 * a0)
return r4;
}
-static u16 * sub_8114380(u16 * a0, const u16 * a1)
+static u16 *sub_8114380(u16 *a0, const u16 *a1)
{
return sub_81142E4(10, a0, a1);
}
-static const u16 * sub_8114394(const u16 * a0)
+static const u16 *sub_8114394(const u16 *a0)
{
- const u16 * r4 = sub_8113E88(10, a0);
+ const u16 *r4 = sub_8113E88(10, a0);
QuestLog_AutoGetSpeciesName(r4[2], gStringVar2, 0);
StringCopy(gStringVar3, ItemId_GetName(r4[0]));
StringCopy(gStringVar1, ItemId_GetName(r4[1]));
@@ -3867,9 +3867,9 @@ static const u16 * sub_8114394(const u16 * a0)
return r4;
}
-static u16 * sub_81143F0(u16 * a0, const u16 * a1)
+static u16 *sub_81143F0(u16 *a0, const u16 *a1)
{
- u16 * r4 = a0;
+ u16 *r4 = a0;
if (gUnknown_203B044.unk_0 == 11 && gUnknown_203B044.unk_1 != 0)
return r4;
@@ -3877,23 +3877,23 @@ static u16 * sub_81143F0(u16 * a0, const u16 * a1)
return NULL;
r4[0] = 11;
- r4[1] = gUnknown_203AF98;
+ r4[1] = sQuestLogIdx;
return r4 + 2;
}
-static const u16 * sub_811443C(const u16 * a0)
+static const u16 *sub_811443C(const u16 *a0)
{
StringExpandPlaceholders(gStringVar4, gUnknown_841A2B0);
a0 += 2;
return a0;
}
-static u16 * sub_811445C(u16 * a0, const u16 * a1)
+static u16 *sub_811445C(u16 *a0, const u16 *a1)
{
- u16 * r4 = a0 + 4;
+ u16 *r4 = a0 + 4;
a0[0] = 12;
- a0[1] = gUnknown_203AF98;
+ a0[1] = sQuestLogIdx;
a0[2] = a1[0];
a0[3] = a1[1];
a1 += 2;
@@ -3902,9 +3902,9 @@ static u16 * sub_811445C(u16 * a0, const u16 * a1)
return r4;
}
-static const u16 * sub_811448C(const u16 * a0)
+static const u16 *sub_811448C(const u16 *a0)
{
- const u16 * r6 = a0 + 4;
+ const u16 *r6 = a0 + 4;
memset(gStringVar1, EOS, 8);
memcpy(gStringVar1, r6, 7);
@@ -3935,17 +3935,17 @@ static const u8 *const gUnknown_8456AE4[] = {
gUnknown_841AFD1
};
-static u16 * sub_81144EC(u16 * a0, const u16 * a1)
+static u16 *sub_81144EC(u16 *a0, const u16 *a1)
{
a0[0] = 13;
- a0[1] = gUnknown_203AF98;
+ a0[1] = sQuestLogIdx;
*((u8 *)a0 + 4) = *((const u8 *)a1 + 0);
memcpy((u8 *)a0 + 5, (const u8 *)a1 + 1, 7);
a0 += 6;
return a0;
}
-static const u16 * sub_8114518(const u16 * a0)
+static const u16 *sub_8114518(const u16 *a0)
{
DynamicPlaceholderTextUtil_Reset();
@@ -3959,17 +3959,17 @@ static const u16 * sub_8114518(const u16 * a0)
return a0;
}
-static u16 * sub_8114578(u16 * a0, const u16 * a1)
+static u16 *sub_8114578(u16 *a0, const u16 *a1)
{
a0[0] = 14;
- a0[1] = gUnknown_203AF98;
+ a0[1] = sQuestLogIdx;
*((u8 *)a0 + 4) = *((const u8 *)a1 + 0);
memcpy((u8 *)a0 + 5, (const u8 *)a1 + 1, 7);
a0 += 6;
return a0;
}
-static const u16 * sub_81145A4(const u16 * a0)
+static const u16 *sub_81145A4(const u16 *a0)
{
DynamicPlaceholderTextUtil_Reset();
@@ -3983,10 +3983,10 @@ static const u16 * sub_81145A4(const u16 * a0)
return a0;
}
-static u16 * sub_8114604(u16 * a0, const u16 * a1)
+static u16 *sub_8114604(u16 *a0, const u16 *a1)
{
a0[0] = 15;
- a0[1] = gUnknown_203AF98;
+ a0[1] = sQuestLogIdx;
*((u8 *)a0 + 4) = *((const u8 *)a1 + 0);
memcpy((u8 *)a0 + 5, (const u8 *)a1 + 1, 7);
memcpy((u8 *)a0 + 12, (const u8 *)a1 + 8, 7);
@@ -3995,7 +3995,7 @@ static u16 * sub_8114604(u16 * a0, const u16 * a1)
return a0;
}
-static const u16 * sub_811464C(const u16 * a0)
+static const u16 *sub_811464C(const u16 *a0)
{
DynamicPlaceholderTextUtil_Reset();
@@ -4018,39 +4018,39 @@ static const u16 * sub_811464C(const u16 * a0)
return a0;
}
-static u16 * sub_8114710(u16 * a0, const u16 * a1)
+static u16 *sub_8114710(u16 *a0, const u16 *a1)
{
a0[0] = 16;
- a0[1] = gUnknown_203AF98;
+ a0[1] = sQuestLogIdx;
return a0 + 2;
}
-static const u16 * sub_8114724(const u16 * a0)
+static const u16 *sub_8114724(const u16 *a0)
{
StringExpandPlaceholders(gStringVar4, gUnknown_841A50B);
a0 += 2;
return a0;
}
-static u16 * sub_8114744(u16 * a0, const u16 * a1)
+static u16 *sub_8114744(u16 *a0, const u16 *a1)
{
a0[0] = 17;
- a0[1] = gUnknown_203AF98;
+ a0[1] = sQuestLogIdx;
return a0 + 2;
}
-static const u16 * sub_8114758(const u16 * a0)
+static const u16 *sub_8114758(const u16 *a0)
{
StringExpandPlaceholders(gStringVar4, gUnknown_841A732);
a0 += 2;
return a0;
}
-static u16 * sub_8114778(u16 * a0, const u16 * a1)
+static u16 *sub_8114778(u16 *a0, const u16 *a1)
{
- u8 * r4 = (u8 *)(a0 + 4);
+ u8 *r4 = (u8 *)(a0 + 4);
a0[0] = 18;
- a0[1] = gUnknown_203AF98;
+ a0[1] = sQuestLogIdx;
a0[2] = a1[0];
a0[3] = a1[1];
memcpy(r4, a1 + 2, 7);
@@ -4058,9 +4058,9 @@ static u16 * sub_8114778(u16 * a0, const u16 * a1)
return (u16 *)r4;
}
-static const u16 * sub_81147A8(const u16 * a0)
+static const u16 *sub_81147A8(const u16 *a0)
{
- const u8 * r6 = (const u8 *)(a0 + 4);
+ const u8 *r6 = (const u8 *)(a0 + 4);
memset(gStringVar1, EOS, 8);
memcpy(gStringVar1, r6, 7);
sub_8115834(gStringVar1);
@@ -4071,17 +4071,17 @@ static const u16 * sub_81147A8(const u16 * a0)
return (const u16 *)r6;
}
-static u16 * sub_8114808(u16 * a0, const u16 * a1)
+static u16 *sub_8114808(u16 *a0, const u16 *a1)
{
a0[0] = 19;
- a0[1] = gUnknown_203AF98;
+ a0[1] = sQuestLogIdx;
*(u8 *)&a0[2] = *(const u8 *)&a1[0];
memcpy((u8 *)a0 + 5, (const u8 *)a1 + 1, 7);
a0 += 6;
return a0;
}
-static const u16 * sub_8114834(const u16 * a0)
+static const u16 *sub_8114834(const u16 *a0)
{
memset(gStringVar1, EOS, 8);
memcpy(gStringVar1, (const u8 *)a0 + 5, 7);
@@ -4092,7 +4092,7 @@ static const u16 * sub_8114834(const u16 * a0)
return a0;
}
-static u16 * sub_811488C(u16 * a0, const u16 * a1)
+static u16 *sub_811488C(u16 *a0, const u16 *a1)
{
a0 = sub_8113DE0(20, a0);
if (a0 == NULL)
@@ -4104,9 +4104,9 @@ static u16 * sub_811488C(u16 * a0, const u16 * a1)
return a0 + 3;
}
-static const u16 * sub_81148BC(const u16 * a0)
+static const u16 *sub_81148BC(const u16 *a0)
{
- const u8 * boxIdxs;
+ const u8 *boxIdxs;
a0 = sub_8113E88(20, a0);
boxIdxs = (const u8 *)a0 + 4;
DynamicPlaceholderTextUtil_Reset();
@@ -4118,7 +4118,7 @@ static const u16 * sub_81148BC(const u16 * a0)
return a0 + 3;
}
-static u16 * sub_8114918(u16 * a0, const u16 * a1)
+static u16 *sub_8114918(u16 *a0, const u16 *a1)
{
a0 = sub_8113DE0(21, a0);
if (a0 == NULL)
@@ -4129,9 +4129,9 @@ static u16 * sub_8114918(u16 * a0, const u16 * a1)
return a0 + 3;
}
-static const u16 * sub_8114944(const u16 * a0)
+static const u16 *sub_8114944(const u16 *a0)
{
- const u8 * boxIdxs;
+ const u8 *boxIdxs;
a0 = sub_8113E88(21, a0);
boxIdxs = (const u8 *)a0 + 4;
DynamicPlaceholderTextUtil_Reset();
@@ -4142,10 +4142,10 @@ static const u16 * sub_8114944(const u16 * a0)
return a0 + 3;
}
-static u16 * sub_8114990(u16 * a0, const u16 * a1)
+static u16 *sub_8114990(u16 *a0, const u16 *a1)
{
- u16 * r2;
- u16 * ret;
+ u16 *r2;
+ u16 *ret;
r2 = sub_8113DE0(22, a0);
if (r2 == NULL)
return NULL;
@@ -4165,9 +4165,9 @@ static u16 * sub_8114990(u16 * a0, const u16 * a1)
return ret + 1;
}
-static const u16 * sub_81149D0(const u16 * a0)
+static const u16 *sub_81149D0(const u16 *a0)
{
- const u8 * boxIdxs;
+ const u8 *boxIdxs;
a0 = sub_8113E88(22, a0);
boxIdxs = (const u8 *)a0 + 4;
DynamicPlaceholderTextUtil_Reset();
@@ -4178,10 +4178,10 @@ static const u16 * sub_81149D0(const u16 * a0)
return a0 + 3;
}
-static u16 * sub_8114A1C(u16 * a0, const u16 * a1)
+static u16 *sub_8114A1C(u16 *a0, const u16 *a1)
{
- u16 * r2;
- u16 * ret;
+ u16 *r2;
+ u16 *ret;
r2 = sub_8113DE0(23, a0);
if (r2 == NULL)
return NULL;
@@ -4192,9 +4192,9 @@ static u16 * sub_8114A1C(u16 * a0, const u16 * a1)
return ret + 1;
}
-static const u16 * sub_8114A4C(const u16 * a0)
+static const u16 *sub_8114A4C(const u16 *a0)
{
- const u8 * boxIdxs;
+ const u8 *boxIdxs;
a0 = sub_8113E88(23, a0);
boxIdxs = (const u8 *)a0 + 2;
DynamicPlaceholderTextUtil_Reset();
@@ -4205,9 +4205,9 @@ static const u16 * sub_8114A4C(const u16 * a0)
return (const u16 *)boxIdxs + 1;
}
-static u16 * sub_8114AA0(u16 * a0, const u16 * a1)
+static u16 *sub_8114AA0(u16 *a0, const u16 *a1)
{
- u16 * r2;
+ u16 *r2;
r2 = sub_8113DE0(24, a0);
if (r2 == NULL)
return NULL;
@@ -4216,9 +4216,9 @@ static u16 * sub_8114AA0(u16 * a0, const u16 * a1)
return r2 + 2;
}
-static const u16 * sub_8114AC8(const u16 * a0)
+static const u16 *sub_8114AC8(const u16 *a0)
{
- const u8 * boxIdxs;
+ const u8 *boxIdxs;
a0 = sub_8113E88(24, a0);
boxIdxs = (const u8 *)a0 + 2;
DynamicPlaceholderTextUtil_Reset();
@@ -4228,9 +4228,9 @@ static const u16 * sub_8114AC8(const u16 * a0)
return (const u16 *)boxIdxs + 1;
}
-static u16 * sub_8114B0C(u16 * a0, const u16 * a1)
+static u16 *sub_8114B0C(u16 *a0, const u16 *a1)
{
- u16 * r2;
+ u16 *r2;
r2 = sub_8113DE0(25, a0);
if (r2 == NULL)
return NULL;
@@ -4239,9 +4239,9 @@ static u16 * sub_8114B0C(u16 * a0, const u16 * a1)
return r2 + 2;
}
-static const u16 * sub_8114B34(const u16 * a0)
+static const u16 *sub_8114B34(const u16 *a0)
{
- const u8 * boxIdxs;
+ const u8 *boxIdxs;
a0 = sub_8113E88(25, a0);
boxIdxs = (const u8 *)a0 + 2;
DynamicPlaceholderTextUtil_Reset();
@@ -4251,9 +4251,9 @@ static const u16 * sub_8114B34(const u16 * a0)
return (const u16 *)boxIdxs + 1;
}
-static u16 * sub_8114B78(u16 * a0, const u16 * a1)
+static u16 *sub_8114B78(u16 *a0, const u16 *a1)
{
- u16 * r2;
+ u16 *r2;
r2 = sub_8113DE0(26, a0);
if (r2 == NULL)
return NULL;
@@ -4262,9 +4262,9 @@ static u16 * sub_8114B78(u16 * a0, const u16 * a1)
return r2 + 2;
}
-static const u16 * sub_8114BA0(const u16 * a0)
+static const u16 *sub_8114BA0(const u16 *a0)
{
- const u8 * boxIdxs;
+ const u8 *boxIdxs;
a0 = sub_8113E88(26, a0);
boxIdxs = (const u8 *)a0 + 2;
DynamicPlaceholderTextUtil_Reset();
@@ -4274,9 +4274,9 @@ static const u16 * sub_8114BA0(const u16 * a0)
return (const u16 *)boxIdxs + 1;
}
-static u16 * sub_8114BE4(u16 * a0, const u16 * a1)
+static u16 *sub_8114BE4(u16 *a0, const u16 *a1)
{
- u16 * r2;
+ u16 *r2;
r2 = sub_8113DE0(27, a0);
if (r2 == NULL)
return NULL;
@@ -4285,7 +4285,7 @@ static u16 * sub_8114BE4(u16 * a0, const u16 * a1)
return r2 + 1;
}
-static const u16 * sub_8114C0C(const u16 * a0)
+static const u16 *sub_8114C0C(const u16 *a0)
{
const u16 *r4 = sub_8113E88(27, a0);
DynamicPlaceholderTextUtil_Reset();
@@ -4298,7 +4298,7 @@ static const u16 * sub_8114C0C(const u16 * a0)
return r4 + 1;
}
-static u16 * sub_8114C68(u16 * a0, const u16 * a1)
+static u16 *sub_8114C68(u16 *a0, const u16 *a1)
{
a0 = sub_8113DE0(28, a0);
if (a0 == NULL)
@@ -4307,7 +4307,7 @@ static u16 * sub_8114C68(u16 * a0, const u16 * a1)
return a0 + 1;
}
-static const u16 * sub_8114C8C(const u16 * a0)
+static const u16 *sub_8114C8C(const u16 *a0)
{
const u16 *r4 = sub_8113E88(28, a0);
CopyItemName(r4[0], gStringVar1);
@@ -4315,7 +4315,7 @@ static const u16 * sub_8114C8C(const u16 * a0)
return r4 + 1;
}
-static u16 * sub_8114CC0(u16 * a0, const u16 * a1)
+static u16 *sub_8114CC0(u16 *a0, const u16 *a1)
{
a0 = sub_8113DE0(29, a0);
if (a0 == NULL)
@@ -4324,7 +4324,7 @@ static u16 * sub_8114CC0(u16 * a0, const u16 * a1)
return a0 + 1;
}
-static const u16 * sub_8114CE4(const u16 * a0)
+static const u16 *sub_8114CE4(const u16 *a0)
{
const u16 *r4 = sub_8113E88(29, a0);
CopyItemName(r4[0], gStringVar1);
@@ -4332,7 +4332,7 @@ static const u16 * sub_8114CE4(const u16 * a0)
return r4 + 1;
}
-u16 * sub_8114D18(u16 a0, u16 * a1, const u16 * a2)
+u16 *sub_8114D18(u16 a0, u16 *a1, const u16 *a2)
{
a1 = sub_8113DE0(a0, a1);
if (a1 == NULL)
@@ -4345,15 +4345,15 @@ u16 * sub_8114D18(u16 a0, u16 * a1, const u16 * a2)
return a1 + 4;
}
-static u16 * sub_8114D4C(u16 * a0, const u16 * a1)
+static u16 *sub_8114D4C(u16 *a0, const u16 *a1)
{
gUnknown_203B048 = TRUE;
return sub_8114D18(30, a0, a1);
}
-static const u16 * sub_8114D68(const u16 * a0)
+static const u16 *sub_8114D68(const u16 *a0)
{
- const u8 * r6;
+ const u8 *r6;
a0 = sub_8113E88(30, a0);
r6 = (const u8 *)a0 + 6;
DynamicPlaceholderTextUtil_Reset();
@@ -4367,16 +4367,16 @@ static const u16 * sub_8114D68(const u16 * a0)
return a0 + 4;
}
-static u16 * sub_8114DE8(u16 * a0, const u16 * a1)
+static u16 *sub_8114DE8(u16 *a0, const u16 *a1)
{
- u16 * r4 = a0;
- u8 * r5 = (u8 *)a0 + 8;
+ u16 *r4 = a0;
+ u8 *r5 = (u8 *)a0 + 8;
if (!sub_8110944(r4, gUnknown_8456AA0[31]))
return NULL;
if (r5[0] == 0 && r5[1] == 0)
{
r4[0] = 31;
- r4[1] = gUnknown_203AF98;
+ r4[1] = sQuestLogIdx;
}
if (a1[0])
r4[2] = a1[0];
@@ -4390,9 +4390,9 @@ static u16 * sub_8114DE8(u16 * a0, const u16 * a1)
return (u16 *)(r5 + 4);
}
-static const u16 * sub_8114E68(const u16 * a0)
+static const u16 *sub_8114E68(const u16 *a0)
{
- const u8 * r6;
+ const u8 *r6;
if (!sub_8110944(a0, gUnknown_8456AA0[31]))
return NULL;
@@ -4451,15 +4451,15 @@ static bool8 sub_8114FBC(u16 a0)
return FALSE;
}
-static u16 * sub_8114FF0(u16 * a0, const u16 * a1)
+static u16 *sub_8114FF0(u16 *a0, const u16 *a1)
{
gUnknown_203B048 = TRUE;
return sub_8114D18(32, a0, a1);
}
-static const u16 * sub_811500C(const u16 * a0)
+static const u16 *sub_811500C(const u16 *a0)
{
- const u8 * r5;
+ const u8 *r5;
a0 = sub_8113E88(32, a0);
r5 = (const u8 *)a0 + 6;
DynamicPlaceholderTextUtil_Reset();
@@ -4471,12 +4471,12 @@ static const u16 * sub_811500C(const u16 * a0)
return a0 + 4;
}
-static u16 * sub_8115078(u16 * a0, const u16 * a1)
+static u16 *sub_8115078(u16 *a0, const u16 *a1)
{
if (!sub_8110944(a0, gUnknown_8456AA0[33]))
return NULL;
a0[0] = 0x2021;
- a0[1] = gUnknown_203AF98;
+ a0[1] = sQuestLogIdx;
a0[2] = a1[1];
a0[3] = a1[2];
*((u8 *)a0 + 8) = *((const u8 *)a1 + 6);
@@ -4484,9 +4484,9 @@ static u16 * sub_8115078(u16 * a0, const u16 * a1)
return a0 + 5;
}
-static const u16 * sub_81150CC(const u16 * a0)
+static const u16 *sub_81150CC(const u16 *a0)
{
- const u8 * r5;
+ const u8 *r5;
if (!sub_8110944(a0, gUnknown_8456AA0[33]))
return NULL;
@@ -4515,16 +4515,16 @@ static const u16 * sub_81150CC(const u16 * a0)
return (const u16 *)(r5 + 2);
}
-static u16 * sub_81151C0(u16 * a0, const u16 * a1)
+static u16 *sub_81151C0(u16 *a0, const u16 *a1)
{
gUnknown_203B048 = TRUE;
return sub_8114D18(34, a0, a1);
}
-static const u16 * sub_81151DC(const u16 * a0)
+static const u16 *sub_81151DC(const u16 *a0)
{
- const u16 * r5 = sub_8113E88(34, a0);
- const u8 * r6 = (const u8 *)r5 + 6;
+ const u16 *r5 = sub_8113E88(34, a0);
+ const u8 *r6 = (const u8 *)r5 + 6;
DynamicPlaceholderTextUtil_Reset();
sub_80C4DF8(gStringVar1, r6[0]);
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1);
@@ -4544,155 +4544,155 @@ static const u16 * sub_81151DC(const u16 * a0)
}
static const u8 *const gUnknown_8456AF0[] = {
- gUnknown_841B09F,
- gUnknown_841B0A4,
- gUnknown_841B0B5,
- gUnknown_841B0B9,
- gUnknown_841B0B9,
- gUnknown_841B0CD,
- gUnknown_841B0CD,
- gUnknown_841B0DD,
- gUnknown_841B0B5,
- gUnknown_841B0F6,
- gUnknown_841B0F6,
- gUnknown_841B0B5,
- gUnknown_841B0FF,
- gUnknown_841B109,
- gUnknown_841B116,
- gUnknown_841B11F,
- gUnknown_841B11F,
- gUnknown_841B130,
- gUnknown_841B0B5,
- gUnknown_841B141,
- gUnknown_841B14B,
- gUnknown_841B14B,
- gUnknown_841B15A,
- gUnknown_841B15A,
- gUnknown_841B166,
- gUnknown_841B172,
- gUnknown_841B180,
- gUnknown_841B190,
- gUnknown_841B11F,
- gUnknown_841B11F,
- gUnknown_841B1A3,
- gUnknown_841B1B7,
- gUnknown_841B1C7,
- gUnknown_841B0B5,
- gUnknown_841B1DA,
- gUnknown_841B1E5,
- gUnknown_841B1F4,
- gUnknown_841B0B5,
- gUnknown_841B200,
- gUnknown_841B20E,
- gUnknown_841B0B5,
- gUnknown_841B21C,
- gUnknown_841B226,
- gUnknown_841B226,
- gUnknown_841B236,
- gUnknown_841B0B5,
- gUnknown_841B246,
- gUnknown_841B25B,
- gUnknown_841B25B,
- gUnknown_841B268,
- gUnknown_841B277
+ gQuestLogString_Home,
+ gQuestLogString_OakResearchLab,
+ gQuestLogString_Gym,
+ gQuestLogString_PokemonLeagueGate,
+ gQuestLogString_PokemonLeagueGate,
+ gQuestLogString_ViridianForest,
+ gQuestLogString_ViridianForest,
+ gQuestLogString_PewterMuseumOfScience,
+ gQuestLogString_Gym,
+ gQuestLogString_MtMoon,
+ gQuestLogString_MtMoon,
+ gQuestLogString_Gym,
+ gQuestLogString_BikeShop,
+ gQuestLogString_BillSHouse,
+ gQuestLogString_DayCare,
+ gQuestLogString_UndergroundPath,
+ gQuestLogString_UndergroundPath,
+ gQuestLogString_PokemonFanClub,
+ gQuestLogString_Gym,
+ gQuestLogString_SSAnne,
+ gQuestLogString_DiglettSCave,
+ gQuestLogString_DiglettSCave,
+ gQuestLogString_RockTunnel,
+ gQuestLogString_RockTunnel,
+ gQuestLogString_PowerPlant,
+ gQuestLogString_PokemonTower,
+ gQuestLogString_VolunteerHouse,
+ gQuestLogString_NameRaterSHouse,
+ gQuestLogString_UndergroundPath,
+ gQuestLogString_UndergroundPath,
+ gQuestLogString_CeladonDeptStore,
+ gQuestLogString_CeladonMansion,
+ gQuestLogString_RocketGameCorner,
+ gQuestLogString_Gym,
+ gQuestLogString_Restaurant,
+ gQuestLogString_RocketHideout,
+ gQuestLogString_SafariZone,
+ gQuestLogString_Gym,
+ gQuestLogString_WardenSHome,
+ gQuestLogString_FightingDojo,
+ gQuestLogString_Gym,
+ gQuestLogString_SilphCo,
+ gQuestLogString_SeafoamIslands,
+ gQuestLogString_SeafoamIslands,
+ gQuestLogString_PokemonMansion,
+ gQuestLogString_Gym,
+ gQuestLogString_PokemonResearchLab,
+ gQuestLogString_VictoryRoad,
+ gQuestLogString_VictoryRoad,
+ gQuestLogString_PokemonLeague,
+ gQuestLogString_CeruleanCave
};
static const u8 *const gUnknown_8456BBC[] = {
- gUnknown_841A53A,
- gUnknown_841AD9E,
- gUnknown_841ADC8,
- gUnknown_841ADFF,
- gUnknown_841AE1E,
- gUnknown_841AE48,
- gUnknown_841AEA7,
- gUnknown_841AEDC,
- gUnknown_841AFD6,
- gUnknown_841B005
+ gUnknown_841A53A,
+ gUnknown_841AD9E,
+ gUnknown_841ADC8,
+ gUnknown_841ADFF,
+ gUnknown_841AE1E,
+ gUnknown_841AE48,
+ gUnknown_841AEA7,
+ gUnknown_841AEDC,
+ gUnknown_841AFD6,
+ gUnknown_841B005
};
static const u8 gUnknown_8456BE4[] = {
- 0x03,
- 0x04,
- 0x05,
- 0x08,
- 0x08,
- 0x07,
- 0x07,
- 0x01,
- 0x05,
- 0x07,
- 0x07,
- 0x05,
- 0x00,
- 0x00,
- 0x00,
- 0x08,
- 0x08,
- 0x00,
- 0x05,
- 0x08,
- 0x07,
- 0x07,
- 0x07,
- 0x07,
- 0x08,
- 0x08,
- 0x00,
- 0x00,
- 0x08,
- 0x08,
- 0x00,
- 0x00,
- 0x02,
- 0x05,
- 0x00,
- 0x08,
- 0x06,
- 0x05,
- 0x00,
- 0x00,
- 0x05,
- 0x09,
- 0x07,
- 0x07,
- 0x09,
- 0x05,
- 0x00,
- 0x07,
- 0x07,
- 0x08,
- 0x07
+ 0x03,
+ 0x04,
+ 0x05,
+ 0x08,
+ 0x08,
+ 0x07,
+ 0x07,
+ 0x01,
+ 0x05,
+ 0x07,
+ 0x07,
+ 0x05,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x08,
+ 0x08,
+ 0x00,
+ 0x05,
+ 0x08,
+ 0x07,
+ 0x07,
+ 0x07,
+ 0x07,
+ 0x08,
+ 0x08,
+ 0x00,
+ 0x00,
+ 0x08,
+ 0x08,
+ 0x00,
+ 0x00,
+ 0x02,
+ 0x05,
+ 0x00,
+ 0x08,
+ 0x06,
+ 0x05,
+ 0x00,
+ 0x00,
+ 0x05,
+ 0x09,
+ 0x07,
+ 0x07,
+ 0x09,
+ 0x05,
+ 0x00,
+ 0x07,
+ 0x07,
+ 0x08,
+ 0x07
};
static const u8 gUnknown_8456C17[] = {
- 0x5a,
- 0x5b,
- 0x5d,
- 0x5e,
- 0x5f,
- 0x62,
- 0x60,
- 0x59
+ 0x5a,
+ 0x5b,
+ 0x5d,
+ 0x5e,
+ 0x5f,
+ 0x62,
+ 0x60,
+ 0x59
};
static const u8 *const gUnknown_8456C20[] = {
- gUnknown_841AC51,
- gUnknown_841ABAB,
- gUnknown_841ABCD,
- gUnknown_841AC2A,
- gUnknown_841ABF9,
- gUnknown_841AC93,
- gUnknown_841ACBC,
- gUnknown_841AD69,
- gUnknown_841AD1D,
- gUnknown_841A90C,
- gUnknown_841A8E0,
- gUnknown_841AD3C
+ gUnknown_841AC51,
+ gUnknown_841ABAB,
+ gUnknown_841ABCD,
+ gUnknown_841AC2A,
+ gUnknown_841ABF9,
+ gUnknown_841AC93,
+ gUnknown_841ACBC,
+ gUnknown_841AD69,
+ gUnknown_841AD1D,
+ gUnknown_841A90C,
+ gUnknown_841A8E0,
+ gUnknown_841AD3C
};
-static u16 * sub_8115280(u16 * a0, const u16 * a1)
+static u16 *sub_8115280(u16 *a0, const u16 *a1)
{
- u16 * r2 = sub_8113DE0(35, a0);
+ u16 *r2 = sub_8113DE0(35, a0);
if (r2 == NULL)
return NULL;
*((u8 *)r2 + 0) = *((const u8 *)a1 + 0);
@@ -4701,11 +4701,11 @@ static u16 * sub_8115280(u16 * a0, const u16 * a1)
return r2 + 1;
}
-static const u16 * sub_81152BC(const u16 * a0)
+static const u16 *sub_81152BC(const u16 *a0)
{
u8 r4, r6;
- const u16 * r5 = sub_8113E88(35, a0);
- const u8 * r5_2 = (const u8 *)r5 + 0;
+ const u16 *r5 = sub_8113E88(35, a0);
+ const u8 *r5_2 = (const u8 *)r5 + 0;
r6 = r5_2[1];
sub_80C4DF8(gStringVar1, r5_2[0]);
StringCopy(gStringVar2, gUnknown_8456AF0[r6]);
@@ -4715,7 +4715,7 @@ static const u16 * sub_81152BC(const u16 * a0)
{
if (r5_2[0] != gUnknown_8456C17[r4])
continue;
- if (FlagGet(0x820 + r4) == TRUE)
+ if (FlagGet(FLAG_BADGE01_GET + r4) == TRUE)
StringExpandPlaceholders(gStringVar4, gUnknown_841AE8F);
else
StringExpandPlaceholders(gStringVar4, gUnknown_841AE48);
@@ -4735,7 +4735,7 @@ void sub_811539C(void)
gUnknown_203B04B = TRUE;
}
-static bool8 sub_81153A8(u16 a0, u16 * a1)
+static bool8 sub_81153A8(u16 a0, u16 *a1)
{
if (a0 != 35)
{
@@ -4748,7 +4748,7 @@ static bool8 sub_81153A8(u16 a0, u16 * a1)
return TRUE;
}
-static bool8 sub_81153E4(u16 a0, u16 * a1)
+static bool8 sub_81153E4(u16 a0, u16 *a1)
{
if (a0 != 35)
return TRUE;
@@ -4758,9 +4758,9 @@ static bool8 sub_81153E4(u16 a0, u16 * a1)
return TRUE;
}
-static u16 * sub_8115410(u16 * a0, const u16 * a1)
+static u16 *sub_8115410(u16 *a0, const u16 *a1)
{
- u8 * r3;
+ u8 *r3;
a0 = sub_8113DE0(36, a0);
if (a0 == NULL)
return NULL;
@@ -4775,17 +4775,17 @@ static u16 * sub_8115410(u16 * a0, const u16 * a1)
return (u16 *)(r3 + 2);
}
-static const u16 * sub_8115460(const u16 * a0)
+static const u16 *sub_8115460(const u16 *a0)
{
- const u16 * r4 = sub_8113E88(36, a0);
- const u8 * r5 = (const u8 *)r4 + 2;
+ const u16 *r4 = sub_8113E88(36, a0);
+ const u8 *r5 = (const u8 *)r4 + 2;
QuestLog_AutoGetSpeciesName(r4[0], gStringVar1, 0);
if (r5[1] != 0xFF)
sub_80C4DF8(gStringVar2, r5[1]);
if (r5[0] == 7)
{
if (r5[1] == 0x58)
- StringCopy(gStringVar3, gUnknown_841B09F);
+ StringCopy(gStringVar3, gQuestLogString_Home);
else
StringCopy(gStringVar3, gUnknown_8418C1B);
}
@@ -4793,7 +4793,7 @@ static const u16 * sub_8115460(const u16 * a0)
return (const u16 *)(r5 + 2);
}
-static u16 * sub_81154DC(u16 * a0, const u16 * a1)
+static u16 *sub_81154DC(u16 *a0, const u16 *a1)
{
a0 = sub_8113DE0(37, a0);
if (a0 == NULL)
@@ -4807,10 +4807,10 @@ static u16 * sub_81154DC(u16 * a0, const u16 * a1)
return a0 + 5;
}
-static const u16 * sub_8115518(const u16 * a0)
+static const u16 *sub_8115518(const u16 *a0)
{
- const u16 * r4 = sub_8113E88(37, a0);
- const u8 * r7 = (const u8 *)r4 + 8;
+ const u16 *r4 = sub_8113E88(37, a0);
+ const u8 *r7 = (const u8 *)r4 + 8;
u32 r6 = (r4[2] << 16) + r4[3];
DynamicPlaceholderTextUtil_Reset();
sub_80C4DF8(gStringVar1, r7[0]);
@@ -4827,7 +4827,7 @@ static const u16 * sub_8115518(const u16 * a0)
return (const u16 *)(r7 + 2);
}
-static u16 * sub_81155A4(u16 * a0, const u16 * a1)
+static u16 *sub_81155A4(u16 *a0, const u16 *a1)
{
a0 = sub_8113DE0(38, a0);
if (a0 == NULL)
@@ -4841,7 +4841,7 @@ static u16 * sub_81155A4(u16 * a0, const u16 * a1)
return a0 + 5;
}
-static const u16 * sub_81155E0(const u16 * a0) {
+static const u16 *sub_81155E0(const u16 *a0) {
const u16 *r5 = sub_8113E88(38, a0);
const u8 *r7 = (const u8 *) r5 + 8;
u32 r6 = (r5[2] << 16) + r5[3];
@@ -4873,7 +4873,7 @@ static const u16 * sub_81155E0(const u16 * a0) {
return (const u16 *)(r7 + 2);
}
-static u16 * sub_81156D8(u16 * a0, const u16 * a1)
+static u16 *sub_81156D8(u16 *a0, const u16 *a1)
{
a0 = sub_8113DE0(40, a0);
if (a0 == NULL)
@@ -4883,10 +4883,10 @@ static u16 * sub_81156D8(u16 * a0, const u16 * a1)
return a0 + 2;
}
-static const u16 * sub_8115700(const u16 * a0)
+static const u16 *sub_8115700(const u16 *a0)
{
- const u16 * r4 = sub_8113E88(40, a0);
- const u8 * r5 = (const u8 *)r4 + 2;
+ const u16 *r4 = sub_8113E88(40, a0);
+ const u8 *r5 = (const u8 *)r4 + 2;
sub_80C4DF8(gStringVar1, r5[0]);
StringCopy(gStringVar2, ItemId_GetName(r4[0]));
StringExpandPlaceholders(gStringVar4, gUnknown_841B03F);
@@ -4990,7 +4990,7 @@ void sub_8115798(void)
}
}
-static u16 * sub_81157DC(u16 * a0, const u16 * a1)
+static u16 *sub_81157DC(u16 *a0, const u16 *a1)
{
a0 = sub_8113DE0(42, a0);
if (a0 == NULL)
@@ -4999,15 +4999,15 @@ static u16 * sub_81157DC(u16 * a0, const u16 * a1)
return a0 + 1;
}
-static const u16 * sub_8115800(const u16 * a0)
+static const u16 *sub_8115800(const u16 *a0)
{
- const u16 * r4 = sub_8113E88(42, a0);
+ const u16 *r4 = sub_8113E88(42, a0);
sub_80C4DF8(gStringVar1, r4[0]);
StringExpandPlaceholders(gStringVar4, gUnknown_841B064);
return r4 + 1;
}
-void sub_8115834(u8 * a0)
+void sub_8115834(u8 *a0)
{
s32 i;
if (*a0++ == EXT_CTRL_CODE_BEGIN && *a0++ == EXT_CTRL_CODE_JPN)
diff --git a/src/renewable_hidden_items.c b/src/renewable_hidden_items.c
new file mode 100644
index 000000000..cbaa780e6
--- /dev/null
+++ b/src/renewable_hidden_items.c
@@ -0,0 +1,609 @@
+#include "global.h"
+#include "event_data.h"
+#include "random.h"
+#include "constants/maps.h"
+#include "constants/flags.h"
+
+struct RenewableHiddenItemData
+{
+ s8 mapGroup;
+ s8 mapNum;
+ u8 filler[2];
+ u8 rare[8]; // 10%
+ u8 uncommon[8]; // 30%
+ u8 common[8]; // 60%
+};
+
+static void SampleRenewableItemFlags(void);
+
+static const struct RenewableHiddenItemData sRenewableHiddenItems[] = {
+ {
+ .mapGroup = MAP_GROUP(ROUTE20),
+ .mapNum = MAP_NUM(ROUTE20),
+ .rare = {
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .uncommon = {
+ HIDDEN_ITEM_ROUTE20_STARDUST,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .common = {
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ }
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE21_NORTH),
+ .mapNum = MAP_NUM(ROUTE21_NORTH),
+ .rare = {
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .uncommon = {
+ HIDDEN_ITEM_ROUTE21_NORTH_PEARL,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .common = {
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ }
+ },
+ {
+ .mapGroup = MAP_GROUP(UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL),
+ .mapNum = MAP_NUM(UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL),
+ .rare = {
+ HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_ETHER,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .uncommon = {
+ HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_POTION,
+ HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_ANTIDOTE,
+ HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_PARALYZE_HEAL,
+ HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_AWAKENING,
+ HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_BURN_HEAL,
+ HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_ICE_HEAL,
+ 0xFF,
+ 0xFF
+ },
+ .common = {
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ }
+ },
+ {
+ .mapGroup = MAP_GROUP(UNDERGROUND_PATH_EAST_WEST_TUNNEL),
+ .mapNum = MAP_NUM(UNDERGROUND_PATH_EAST_WEST_TUNNEL),
+ .rare = {
+ HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_ETHER,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .uncommon = {
+ HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_POTION,
+ HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_ANTIDOTE,
+ HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_PARALYZE_HEAL,
+ HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_AWAKENING,
+ HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_BURN_HEAL,
+ HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_ICE_HEAL,
+ 0xFF,
+ 0xFF
+ },
+ .common = {
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ }
+ },
+ {
+ .mapGroup = MAP_GROUP(SEVEN_ISLAND_TANOBY_RUINS),
+ .mapNum = MAP_NUM(SEVEN_ISLAND_TANOBY_RUINS),
+ .rare = {
+ HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE_4,
+ HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE,
+ HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE_2,
+ HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE_3,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .uncommon = {
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .common = {
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ }
+ },
+ {
+ .mapGroup = MAP_GROUP(MT_MOON_B1F),
+ .mapNum = MAP_NUM(MT_MOON_B1F),
+ .rare = {
+ HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM,
+ HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_2,
+ HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_3,
+ HIDDEN_ITEM_MT_MOON_B1F_BIG_MUSHROOM,
+ HIDDEN_ITEM_MT_MOON_B1F_BIG_MUSHROOM_2,
+ HIDDEN_ITEM_MT_MOON_B1F_BIG_MUSHROOM_3,
+ 0xFF,
+ 0xFF
+ },
+ .uncommon = {
+ HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM,
+ HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_2,
+ HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_3,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .common = {
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ }
+ },
+ {
+ .mapGroup = MAP_GROUP(THREE_ISLAND_BERRY_FOREST),
+ .mapNum = MAP_NUM(THREE_ISLAND_BERRY_FOREST),
+ .rare = {
+ HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_BLUK_BERRY,
+ HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_WEPEAR_BERRY,
+ HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_ORAN_BERRY,
+ HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_CHERI_BERRY,
+ HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_ASPEAR_BERRY,
+ HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_PERSIM_BERRY,
+ HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_PINAP_BERRY,
+ HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_LUM_BERRY
+ },
+ .uncommon = {
+ HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_BLUK_BERRY,
+ HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_WEPEAR_BERRY,
+ HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_ORAN_BERRY,
+ HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_CHERI_BERRY,
+ HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_ASPEAR_BERRY,
+ HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_PERSIM_BERRY,
+ HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_PINAP_BERRY,
+ 0xFF
+ },
+ .common = {
+ HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_RAZZ_BERRY,
+ HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_NANAB_BERRY,
+ HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_CHESTO_BERRY,
+ HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_PECHA_BERRY,
+ HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_RAWST_BERRY,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ }
+ },
+ {
+ .mapGroup = MAP_GROUP(ONE_ISLAND_TREASURE_BEACH),
+ .mapNum = MAP_NUM(ONE_ISLAND_TREASURE_BEACH),
+ .rare = {
+ HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL,
+ HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL_2,
+ HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STAR_PIECE,
+ HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_BIG_PEARL,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .uncommon = {
+ HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STARDUST,
+ HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STARDUST_2,
+ HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_PEARL,
+ HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_PEARL_2,
+ HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL,
+ HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL_2,
+ 0xFF,
+ 0xFF
+ },
+ .common = {
+ HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL,
+ HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL_2,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ }
+ },
+ {
+ .mapGroup = MAP_GROUP(THREE_ISLAND_BOND_BRIDGE),
+ .mapNum = MAP_NUM(THREE_ISLAND_BOND_BRIDGE),
+ .rare = {
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .uncommon = {
+ HIDDEN_ITEM_THREE_ISLAND_BOND_BRIDGE_PEARL,
+ HIDDEN_ITEM_THREE_ISLAND_BOND_BRIDGE_STARDUST,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .common = {
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ }
+ },
+ {
+ .mapGroup = MAP_GROUP(FOUR_ISLAND),
+ .mapNum = MAP_NUM(FOUR_ISLAND),
+ .rare = {
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .uncommon = {
+ HIDDEN_ITEM_FOUR_ISLAND_PEARL,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .common = {
+ HIDDEN_ITEM_FOUR_ISLAND_ULTRA_BALL,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ }
+ },
+ {
+ .mapGroup = MAP_GROUP(FIVE_ISLAND_MEMORIAL_PILLAR),
+ .mapNum = MAP_NUM(FIVE_ISLAND_MEMORIAL_PILLAR),
+ .rare = {
+ HIDDEN_ITEM_FIVE_ISLAND_MEMORIAL_PILLAR_BIG_PEARL,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .uncommon = {
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .common = {
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ }
+ },
+ {
+ .mapGroup = MAP_GROUP(FIVE_ISLAND_RESORT_GORGEOUS),
+ .mapNum = MAP_NUM(FIVE_ISLAND_RESORT_GORGEOUS),
+ .rare = {
+ HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_NEST_BALL,
+ HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STAR_PIECE,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .uncommon = {
+ HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STARDUST,
+ HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STARDUST_2,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .common = {
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ }
+ },
+ {
+ .mapGroup = MAP_GROUP(SIX_ISLAND_OUTCAST_ISLAND),
+ .mapNum = MAP_NUM(SIX_ISLAND_OUTCAST_ISLAND),
+ .rare = {
+ HIDDEN_ITEM_SIX_ISLAND_OUTCAST_ISLAND_STAR_PIECE,
+ HIDDEN_ITEM_SIX_ISLAND_OUTCAST_ISLAND_NET_BALL,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .uncommon = {
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .common = {
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ }
+ },
+ {
+ .mapGroup = MAP_GROUP(SIX_ISLAND_GREEN_PATH),
+ .mapNum = MAP_NUM(SIX_ISLAND_GREEN_PATH),
+ .rare = {
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .uncommon = {
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .common = {
+ HIDDEN_ITEM_SIX_ISLAND_GREEN_PATH_ULTRA_BALL,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ }
+ },
+ {
+ .mapGroup = MAP_GROUP(SEVEN_ISLAND_TRAINER_TOWER),
+ .mapNum = MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER),
+ .rare = {
+ HIDDEN_ITEM_SEVEN_ISLAND_TRAINER_TOWER_BIG_PEARL,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .uncommon = {
+ HIDDEN_ITEM_SEVEN_ISLAND_TRAINER_TOWER_PEARL,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ },
+ .common = {
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF
+ }
+ },
+};
+
+bool32 sub_815D834(void)
+{
+ // Stubbed out?
+ return FALSE;
+}
+
+void SetAllRenewableItemFlags(void)
+{
+ u8 i, j;
+
+ for (i = 0; i < 15; i++)
+ {
+ const u8 * rare = sRenewableHiddenItems[i].rare;
+ const u8 * uncommon = sRenewableHiddenItems[i].uncommon;
+ const u8 * common = sRenewableHiddenItems[i].common;
+ for (j = 0; j < 8; j++)
+ {
+ if (rare[j] != 0xFF)
+ FlagSet(FLAG_HIDDEN_ITEMS_START + rare[j]);
+ if (uncommon[j] != 0xFF)
+ FlagSet(FLAG_HIDDEN_ITEMS_START + uncommon[j]);
+ if (common[j] != 0xFF)
+ FlagSet(FLAG_HIDDEN_ITEMS_START + common[j]);
+ }
+ }
+}
+
+void IncrementRenewableHiddenItemStepCounter(void)
+{
+ u16 var = VarGet(VAR_RENEWABLE_ITEM_STEP_COUNTER);
+ if (var < 1500)
+ {
+ VarSet(VAR_RENEWABLE_ITEM_STEP_COUNTER, var + 1);
+ }
+}
+
+void TryRegenerateRenewableHiddenItems(void)
+{
+ u8 i;
+ u8 found_map = 0xFF;
+ for (i = 0; i < 15; i++)
+ {
+ if (sRenewableHiddenItems[i].mapGroup == gSaveBlock1Ptr->location.mapGroup && sRenewableHiddenItems[i].mapNum == gSaveBlock1Ptr->location.mapNum)
+ found_map = i;
+ }
+
+ if (found_map == 0xFF)
+ return;
+ if (VarGet(VAR_RENEWABLE_ITEM_STEP_COUNTER) >= 1500)
+ {
+ VarSet(VAR_RENEWABLE_ITEM_STEP_COUNTER, 0);
+ SetAllRenewableItemFlags();
+ SampleRenewableItemFlags();
+ }
+}
+
+static void SampleRenewableItemFlags(void)
+{
+ u8 i, j;
+ const u8 * flags;
+ u16 rval;
+
+ for (i = 0; i < 15; i++)
+ {
+ rval = Random() % 100;
+ if (rval >= 90)
+ flags = sRenewableHiddenItems[i].rare;
+ else if (rval >= 60)
+ flags = sRenewableHiddenItems[i].uncommon;
+ else
+ flags = sRenewableHiddenItems[i].common;
+ for (j = 0; j < 8; j++)
+ {
+ if (flags[j] != 0xFF)
+ FlagClear(FLAG_HIDDEN_ITEMS_START + flags[j]);
+ }
+ }
+}
diff --git a/src/scrcmd.c b/src/scrcmd.c
index 540474a7e..b59f97420 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -1263,8 +1263,8 @@ bool8 ScrCmd_release(struct ScriptContext *ctx)
bool8 ScrCmd_textcolor(struct ScriptContext *ctx)
{
- gUnknown_20370DC = gUnknown_20370DA;
- gUnknown_20370DA = ScriptReadByte(ctx);
+ gSpecialVar_PrevTextColor = gSpecialVar_TextColor;
+ gSpecialVar_TextColor = ScriptReadByte(ctx);
return FALSE;
}
diff --git a/src/start_menu.c b/src/start_menu.c
index 1c57dee0c..eb40072e6 100644
--- a/src/start_menu.c
+++ b/src/start_menu.c
@@ -207,9 +207,9 @@ static void AppendToStartMenuItems(u8 newEntry)
static void SetUpStartMenu_NormalField(void)
{
- if (FlagGet(FLAG_0x829) == TRUE)
+ if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE)
AppendToStartMenuItems(STARTMENU_POKEDEX);
- if (FlagGet(FLAG_0x828) == TRUE)
+ if (FlagGet(FLAG_SYS_POKEMON_GET) == TRUE)
AppendToStartMenuItems(STARTMENU_POKEMON);
AppendToStartMenuItems(STARTMENU_BAG);
AppendToStartMenuItems(STARTMENU_PLAYER);
@@ -973,7 +973,7 @@ static void PrintSaveStats(void)
SaveStatToString(SAVE_STAT_BADGES, gStringVar4, 2);
AddTextPrinterParameterized3(sSaveStatsWindowId, 0, 60, 28, sTextColor_StatValue, -1, gStringVar4);
y = 42;
- if (FlagGet(FLAG_0x829) == TRUE)
+ if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE)
{
AddTextPrinterParameterized3(sSaveStatsWindowId, 0, 2, 42, sTextColor_StatName, -1, gSaveStatName_Pokedex);
SaveStatToString(SAVE_STAT_POKEDEX, gStringVar4, 2);
diff --git a/src/teachy_tv.c b/src/teachy_tv.c
index 7369bf03a..e33cb9d2e 100644
--- a/src/teachy_tv.c
+++ b/src/teachy_tv.c
@@ -1192,7 +1192,7 @@ static void TeachyTvPrepBattle(u8 taskId)
gSpecialVar_0x8004 = sStaticResources.whichScript;
gMain.savedCallback = TeachyTvRestorePlayerPartyCallback;
SavePlayerParty();
- sub_8159F40();
+ InitPokedudePartyAndOpponent();
PlayMapChosenOrBattleBGM(MUS_DUMMY);
if (sStaticResources.whichScript == TTVSCR_BATTLE)
data[6] = 9;
diff --git a/src/trainer_tower.c b/src/trainer_tower.c
index b0d2bcbb4..cd796bf3a 100644
--- a/src/trainer_tower.c
+++ b/src/trainer_tower.c
@@ -1,10 +1,6 @@
#include "global.h"
#include "main.h"
#include "task.h"
-#include "constants/flags.h"
-#include "constants/vars.h"
-#include "constants/items.h"
-#include "constants/species.h"
#include "malloc.h"
#include "save.h"
#include "util.h"
@@ -24,419 +20,326 @@
#include "menu.h"
#include "new_menu_helpers.h"
#include "sound.h"
-
-struct UnkStruct_8479D34
-{
- s8 mapGroup;
- s8 mapNum;
- u8 filler[2];
- u8 flags1[8];
- u8 flags2[8];
- u8 flags3[8];
-};
+#include "renewable_hidden_items.h"
+#include "constants/flags.h"
+#include "constants/vars.h"
+#include "constants/items.h"
+#include "constants/species.h"
+#include "constants/maps.h"
+#include "constants/songs.h"
+#include "constants/layouts.h"
+#include "constants/trainers.h"
+#include "constants/facility_trainer_classes.h"
+#include "constants/map_objects.h"
struct UnkStruct_203F458
{
- /* 0x0000 */ u8 unk_0000;
- /* 0x0004 */ struct TrainerTowerData unk_0004;
+ /* 0x0000 */ u8 floorIdx;
+ /* 0x0004 */ struct EReaderTrainerHillSet unk_0004;
};
struct UnkStruct_203F45C
{
- /* 0x00 */ u8 unk_00[11];
- /* 0x0C */ u16 unk_0C[6];
- /* 0x18 */ u16 unk_18[6];
- /* 0x24 */ u16 unk_24[6];
- /* 0x30 */ u16 unk_30[6];
- /* 0x3C */ u8 unk_3C;
- /* 0x3D */ u8 unk_3D;
- /* 0x3E */ u8 unk_3E;
+ /* 0x00 */ u8 name[11];
+ /* 0x0C */ u16 speechWin[6];
+ /* 0x18 */ u16 speechLose[6];
+ /* 0x24 */ u16 speechWin2[6];
+ /* 0x30 */ u16 speechLose2[6];
+ /* 0x3C */ u8 battleType;
+ /* 0x3D */ u8 facilityClass;
+ /* 0x3E */ u8 gender;
};
-struct UnkStruct_8479ED8
+struct SinglesTrainerInfo
{
- u8 unk0;
- u8 unk1;
- bool8 unk2;
+ u8 mapObjGfx;
+ u8 facilityClass;
+ bool8 gender;
};
-struct UnkStruct_847A024
+struct DoublesTrainerInfo
{
- u8 unk0;
- u8 unk1;
- u8 unk2;
- bool8 unk3;
- bool8 unk4;
+ u8 mapObjGfx1;
+ u8 mapObjGfx2;
+ u8 facilityClass;
+ bool8 gender1;
+ bool8 gender2;
};
-struct UnkStruct_847A074
+struct TrainerEncounterMusicPairs
{
u8 unk0;
u8 unk1;
};
-EWRAM_DATA struct UnkStruct_203F458 * gUnknown_203F458 = NULL;
-EWRAM_DATA struct UnkStruct_203F45C * gUnknown_203F45C = NULL;
-EWRAM_DATA u8 unused_variable = 0;
-
-void sub_815D96C(void);
-void sub_815DC8C(void); // setup
-void sub_815DD2C(void); // teardown
-void sub_815DD44(void);
-void sub_815DDB0(void);
-void sub_815DEFC(u16 * ecWords, u8 * dest);
-void sub_815DF54(void);
-void sub_815E068(u8 battleType, u8 facilityClass);
-void sub_815E160(void);
-void sub_815E1C0(void);
-void sub_815E1F0(void);
-void sub_815E218(void);
-void sub_815E28C(void);
-void sub_815E394(void);
-void sub_815E408(void);
-void sub_815E4B0(void);
-void sub_815E56C(void);
-void sub_815E5C4(void);
-void sub_815E5F0(void);
-void sub_815E658(void);
-void sub_815E720(void);
-void sub_815E88C(void);
-void sub_815E8B4(void);
-void sub_815E8CC(void);
-void sub_815E908(void);
-void sub_815E948(void);
-void sub_815E9C8(void);
-void sub_815E9FC(void);
+static EWRAM_DATA struct UnkStruct_203F458 * sTrainerTowerState = NULL;
+static EWRAM_DATA struct UnkStruct_203F45C * sTrainerTowerOpponent = NULL;
+static EWRAM_DATA u8 sUnused_203F460 = 0;
+
+static void sub_815DC8C(void); // setup
+static void sub_815DD2C(void); // teardown
+static void sub_815DD44(void);
+static void SetTrainerTowerNPCGraphics(void);
+static void TT_ConvertEasyChatMessageToString(u16 *ecWords, u8 *dest);
+static void sub_815DF54(void);
+static void TrainerTowerGetOpponentTextColor(u8 battleType, u8 facilityClass);
+static void sub_815E160(void);
+static void sub_815E1C0(void);
+static void sub_815E1F0(void);
+static void TTSpecial_HasReachedTheRoof(void);
+static void sub_815E28C(void);
+static void sub_815E394(void);
+static void sub_815E408(void);
+static void sub_815E4B0(void);
+static void TTSpecial_StartTimer(void);
+static void sub_815E5C4(void);
+static void sub_815E5F0(void);
+static void sub_815E658(void);
+static void sub_815E720(void);
+static void sub_815E88C(void);
+static void sub_815E8B4(void);
+static void sub_815E8CC(void);
+static void sub_815E908(void);
+static void sub_815E948(void);
+static void sub_815E9C8(void);
+static void BuildEnemyParty(void);
static s32 GetPartyMaxLevel(void);
-void sub_815EC0C(void);
-u32 sub_815EDDC(u32 *);
-void sub_815EDF4(u32 *, u32);
+static void ValidateOrResetCurTrainerTowerRecord(void);
+static u32 GetTrainerTowerRecordTime(u32 *);
+static void SetTrainerTowerRecordTime(u32 *, u32);
extern const u8 gUnknown_83FE982[];
extern const u8 gUnknown_83FE998[];
extern const u8 *const gUnknown_83FE9C4[];
-const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
- {
- 0x03, 0x26,
- .flags1 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
- .flags2 = {0x99, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
- .flags3 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
- },
- {
- 0x03, 0x27,
- .flags1 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
- .flags2 = {0x9a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
- .flags3 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
- },
- {
- 0x01, 0x1f,
- .flags1 = {0x4c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
- .flags2 = {0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0xff, 0xff},
- .flags3 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
- },
- {
- 0x01, 0x22,
- .flags1 = {0x53, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
- .flags2 = {0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0xff, 0xff},
- .flags3 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
- },
- {
- 0x03, 0x41,
- .flags1 = {0x40, 0x41, 0x42, 0x43, 0xff, 0xff, 0xff, 0xff},
- .flags2 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
- .flags3 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
- },
- {
- 0x01, 0x02,
- .flags1 = {0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0xff, 0xff},
- .flags2 = {0x54, 0x55, 0x56, 0xff, 0xff, 0xff, 0xff, 0xff},
- .flags3 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
- },
- {
- 0x01, 0x6d,
- .flags1 = {0x5b, 0x5d, 0x5e, 0x5f, 0x63, 0x64, 0x65, 0x66},
- .flags2 = {0x5b, 0x5d, 0x5e, 0x5f, 0x63, 0x64, 0x65, 0xff},
- .flags3 = {0x5a, 0x5c, 0x60, 0x61, 0x62, 0xff, 0xff, 0xff}
- },
- {
- 0x03, 0x2e,
- .flags1 = {0x6b, 0x6c, 0x6d, 0x6e, 0xff, 0xff, 0xff, 0xff},
- .flags2 = {0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0xff, 0xff},
- .flags3 = {0x6b, 0x6c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
- },
- {
- 0x03, 0x30,
- .flags1 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
- .flags2 = {0xa6, 0xa7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
- .flags3 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
- },
- {
- 0x03, 0x0f,
- .flags1 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
- .flags2 = {0xa8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
- .flags3 = {0xa9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
- },
- {
- 0x03, 0x39,
- .flags1 = {0xaa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
- .flags2 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
- .flags3 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
- },
- {
- 0x03, 0x36,
- .flags1 = {0xae, 0xb0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
- .flags2 = {0xaf, 0xb1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
- .flags3 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
- },
- {
- 0x03, 0x3a,
- .flags1 = {0xb2, 0xb3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
- .flags2 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
- .flags3 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
- },
- {
- 0x03, 0x3b,
- .flags1 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
- .flags2 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
- .flags3 = {0xb4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
- },
- {
- 0x03, 0x3e,
- .flags1 = {0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
- .flags2 = {0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
- .flags3 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
- },
-};
-
-const struct UnkStruct_8479ED8 gUnknown_8479ED8[] = {
- {0x1c, 0x03, 0x01},
- {0x38, 0x04, 0x00},
- {0x25, 0x06, 0x01},
- {0x26, 0x07, 0x00},
- {0x29, 0x08, 0x00},
- {0x2a, 0x09, 0x01},
- {0x34, 0x0a, 0x00},
- {0x1c, 0x0b, 0x01},
- {0x1d, 0x0c, 0x01},
- {0x13, 0x0d, 0x00},
- {0x34, 0x0e, 0x00},
- {0x2d, 0x0f, 0x00},
- {0x36, 0x10, 0x00},
- {0x1a, 0x11, 0x00},
- {0x1a, 0x12, 0x00},
- {0x27, 0x13, 0x00},
- {0x34, 0x14, 0x00},
- {0x13, 0x15, 0x00},
- {0x17, 0x16, 0x01},
- {0x3d, 0x17, 0x00},
- {0x13, 0x1d, 0x00},
- {0x17, 0x1e, 0x01},
- {0x1e, 0x20, 0x00},
- {0x1f, 0x21, 0x01},
- {0x20, 0x22, 0x00},
- {0x23, 0x23, 0x01},
- {0x12, 0x24, 0x00},
- {0x39, 0x26, 0x00},
- {0x29, 0x2d, 0x00},
- {0x1a, 0x2e, 0x00},
- {0x10, 0x2f, 0x00},
- {0x18, 0x30, 0x01},
- {0x1d, 0x31, 0x01},
- {0x2e, 0x32, 0x01},
- {0x28, 0x33, 0x01},
- {0x3e, 0x35, 0x00},
- {0x1b, 0x38, 0x00},
- {0x19, 0x40, 0x00},
- {0x1c, 0x41, 0x01},
- {0x27, 0x42, 0x00},
- {0x28, 0x43, 0x01},
- {0x16, 0x47, 0x01},
- {0x14, 0x48, 0x00},
- {0x38, 0x49, 0x00},
- {0x12, 0x58, 0x00},
- {0x14, 0x59, 0x00},
- {0x16, 0x5a, 0x01},
- {0x3e, 0x5b, 0x00},
- {0x27, 0x5c, 0x00},
- {0x28, 0x5d, 0x01},
- {0x34, 0x5e, 0x00},
- {0x34, 0x5f, 0x00},
- {0x38, 0x60, 0x00},
- {0x35, 0x61, 0x00},
- {0x34, 0x62, 0x00},
- {0x1e, 0x63, 0x00},
- {0x39, 0x64, 0x00},
- {0x2d, 0x65, 0x00},
- {0x35, 0x66, 0x00},
- {0x20, 0x67, 0x00},
- {0x1d, 0x68, 0x01},
- {0x2e, 0x69, 0x01},
- {0x13, 0x6a, 0x00},
- {0x1a, 0x6b, 0x00},
- {0x1a, 0x6c, 0x00},
- {0x19, 0x6d, 0x00},
- {0x1a, 0x6e, 0x00},
- {0x36, 0x6f, 0x00},
- {0x37, 0x71, 0x00},
- {0x29, 0x74, 0x00},
- {0x2a, 0x75, 0x01},
- {0x3d, 0x7a, 0x00},
- {0x3a, 0x7d, 0x01},
- {0x17, 0x89, 0x01},
- {0x18, 0x8a, 0x01},
- {0x25, 0x8b, 0x01},
- {0x1c, 0x8c, 0x01},
- {0x27, 0x8d, 0x00},
- {0x28, 0x8e, 0x01},
- {0x1c, 0x8f, 0x01},
- {0x38, 0x90, 0x00},
- {0x1c, 0x91, 0x01},
- {0x16, 0x92, 0x01}
+static const struct SinglesTrainerInfo sSingleBattleTrainerInfo[] = {
+ {MAP_OBJ_GFX_WOMAN_2, FACILITY_CLASS_AROMA_LADY, FEMALE},
+ {MAP_OBJ_GFX_HIKER, FACILITY_CLASS_RUIN_MANIAC, MALE},
+ {MAP_OBJ_GFX_TUBER_F, FACILITY_CLASS_TUBER, FEMALE},
+ {MAP_OBJ_GFX_TUBER_M_2, FACILITY_CLASS_TUBER_2, MALE},
+ {MAP_OBJ_GFX_COOLTRAINER_M, FACILITY_CLASS_COOLTRAINER, MALE},
+ {MAP_OBJ_GFX_COOLTRAINER_F, FACILITY_CLASS_COOLTRAINER_2, FEMALE},
+ {MAP_OBJ_GFX_SUPER_NERD, FACILITY_CLASS_HEX_MANIAC, MALE},
+ {MAP_OBJ_GFX_WOMAN_2, FACILITY_CLASS_LADY, FEMALE},
+ {MAP_OBJ_GFX_BEAUTY, FACILITY_CLASS_BEAUTY, FEMALE},
+ {MAP_OBJ_GFX_BOY, FACILITY_CLASS_RICH_BOY, MALE},
+ {MAP_OBJ_GFX_SUPER_NERD, FACILITY_CLASS_POKEMANIAC, MALE},
+ {MAP_OBJ_GFX_SWIMMER_M_LAND, FACILITY_CLASS_SWIMMER_MALE, MALE},
+ {MAP_OBJ_GFX_BLACKBELT, FACILITY_CLASS_BLACK_BELT, MALE},
+ {MAP_OBJ_GFX_ROCKER, FACILITY_CLASS_GUITARIST, MALE},
+ {MAP_OBJ_GFX_ROCKER, FACILITY_CLASS_KINDLER, MALE},
+ {MAP_OBJ_GFX_CAMPER, FACILITY_CLASS_CAMPER, MALE},
+ {MAP_OBJ_GFX_SUPER_NERD, FACILITY_CLASS_BUG_MANIAC, MALE},
+ {MAP_OBJ_GFX_BOY, FACILITY_CLASS_PSYCHIC, MALE},
+ {MAP_OBJ_GFX_WOMAN_1, FACILITY_CLASS_PSYCHIC_2, FEMALE},
+ {MAP_OBJ_GFX_GENTLEMAN, FACILITY_CLASS_GENTLEMAN, MALE},
+ {MAP_OBJ_GFX_BOY, FACILITY_CLASS_SCHOOL_KID, MALE},
+ {MAP_OBJ_GFX_WOMAN_1, FACILITY_CLASS_SCHOOL_KID_2, FEMALE},
+ {MAP_OBJ_GFX_BALDING_MAN, FACILITY_CLASS_POKEFAN, MALE},
+ {MAP_OBJ_GFX_WOMAN_3, FACILITY_CLASS_POKEFAN_2, FEMALE},
+ {MAP_OBJ_GFX_OLD_MAN_1, FACILITY_CLASS_EXPERT, MALE},
+ {MAP_OBJ_GFX_OLD_WOMAN, FACILITY_CLASS_EXPERT_2, FEMALE},
+ {MAP_OBJ_GFX_YOUNGSTER, FACILITY_CLASS_YOUNGSTER, MALE},
+ {MAP_OBJ_GFX_FISHER, FACILITY_CLASS_FISHERMAN, MALE},
+ {MAP_OBJ_GFX_COOLTRAINER_M, FACILITY_CLASS_DRAGON_TAMER, MALE},
+ {MAP_OBJ_GFX_ROCKER, FACILITY_CLASS_BIRD_KEEPER, MALE},
+ {MAP_OBJ_GFX_LITTLE_BOY, FACILITY_CLASS_NINJA_BOY, MALE},
+ {MAP_OBJ_GFX_BATTLE_GIRL, FACILITY_CLASS_BATTLE_GIRL, FEMALE},
+ {MAP_OBJ_GFX_BEAUTY, FACILITY_CLASS_PARASOL_LADY, FEMALE},
+ {MAP_OBJ_GFX_SWIMMER_F_LAND, FACILITY_CLASS_SWIMMER_FEMALE, FEMALE},
+ {MAP_OBJ_GFX_PICNICKER, FACILITY_CLASS_PICNICKER, FEMALE},
+ {MAP_OBJ_GFX_SAILOR, FACILITY_CLASS_SAILOR, MALE},
+ {MAP_OBJ_GFX_FAT_MAN, FACILITY_CLASS_COLLECTOR, MALE},
+ {MAP_OBJ_GFX_MAN, FACILITY_CLASS_PKMN_BREEDER, MALE},
+ {MAP_OBJ_GFX_WOMAN_2, FACILITY_CLASS_PKMN_BREEDER_2, FEMALE},
+ {MAP_OBJ_GFX_CAMPER, FACILITY_CLASS_PKMN_RANGER, MALE},
+ {MAP_OBJ_GFX_PICNICKER, FACILITY_CLASS_PKMN_RANGER_2, FEMALE},
+ {MAP_OBJ_GFX_LASS, FACILITY_CLASS_LASS, FEMALE},
+ {MAP_OBJ_GFX_BUG_CATCHER, FACILITY_CLASS_BUG_CATCHER, MALE},
+ {MAP_OBJ_GFX_HIKER, FACILITY_CLASS_HIKER, MALE},
+ {MAP_OBJ_GFX_YOUNGSTER, FACILITY_CLASS_YOUNGSTER_2, MALE},
+ {MAP_OBJ_GFX_BUG_CATCHER, FACILITY_CLASS_BUG_CATCHER_2, MALE},
+ {MAP_OBJ_GFX_LASS, FACILITY_CLASS_LASS_2, FEMALE},
+ {MAP_OBJ_GFX_SAILOR, FACILITY_CLASS_SAILOR_2, MALE},
+ {MAP_OBJ_GFX_CAMPER, FACILITY_CLASS_CAMPER_2, MALE},
+ {MAP_OBJ_GFX_PICNICKER, FACILITY_CLASS_PICNICKER_2, FEMALE},
+ {MAP_OBJ_GFX_SUPER_NERD, FACILITY_CLASS_POKEMANIAC_2, MALE},
+ {MAP_OBJ_GFX_SUPER_NERD, FACILITY_CLASS_SUPER_NERD, MALE},
+ {MAP_OBJ_GFX_HIKER, FACILITY_CLASS_HIKER_2, MALE},
+ {MAP_OBJ_GFX_BIKER, FACILITY_CLASS_BIKER, MALE},
+ {MAP_OBJ_GFX_SUPER_NERD, FACILITY_CLASS_BURGLAR, MALE},
+ {MAP_OBJ_GFX_BALDING_MAN, FACILITY_CLASS_ENGINEER, MALE},
+ {MAP_OBJ_GFX_FISHER, FACILITY_CLASS_FISHERMAN_2, MALE},
+ {MAP_OBJ_GFX_SWIMMER_M_LAND, FACILITY_CLASS_SWIMMER_MALE_2, MALE},
+ {MAP_OBJ_GFX_BIKER, FACILITY_CLASS_CUE_BALL, MALE},
+ {MAP_OBJ_GFX_OLD_MAN_1, FACILITY_CLASS_GAMER, MALE},
+ {MAP_OBJ_GFX_BEAUTY, FACILITY_CLASS_BEAUTY_2, FEMALE},
+ {MAP_OBJ_GFX_SWIMMER_F_LAND, FACILITY_CLASS_SWIMMER_FEMALE_2, FEMALE},
+ {MAP_OBJ_GFX_BOY, FACILITY_CLASS_PSYCHIC_3, MALE},
+ {MAP_OBJ_GFX_ROCKER, FACILITY_CLASS_ROCKER, MALE},
+ {MAP_OBJ_GFX_ROCKER, FACILITY_CLASS_JUGGLER, MALE},
+ {MAP_OBJ_GFX_MAN, FACILITY_CLASS_TAMER, MALE},
+ {MAP_OBJ_GFX_ROCKER, FACILITY_CLASS_BIRD_KEEPER_2, MALE},
+ {MAP_OBJ_GFX_BLACKBELT, FACILITY_CLASS_BLACK_BELT_2, MALE},
+ {MAP_OBJ_GFX_SCIENTIST, FACILITY_CLASS_SCIENTIST, MALE},
+ {MAP_OBJ_GFX_COOLTRAINER_M, FACILITY_CLASS_COOLTRAINER_3, MALE},
+ {MAP_OBJ_GFX_COOLTRAINER_F, FACILITY_CLASS_COOLTRAINER_4, FEMALE},
+ {MAP_OBJ_GFX_GENTLEMAN, FACILITY_CLASS_GENTLEMAN_2, MALE},
+ {MAP_OBJ_GFX_CHANNELER, FACILITY_CLASS_CHANNELER, FEMALE},
+ {MAP_OBJ_GFX_WOMAN_1, FACILITY_CLASS_PSYCHIC_4, FEMALE},
+ {MAP_OBJ_GFX_BATTLE_GIRL, FACILITY_CLASS_CRUSH_GIRL, FEMALE},
+ {MAP_OBJ_GFX_TUBER_F, FACILITY_CLASS_TUBER_3, FEMALE},
+ {MAP_OBJ_GFX_WOMAN_2, FACILITY_CLASS_PKMN_BREEDER_3, FEMALE},
+ {MAP_OBJ_GFX_CAMPER, FACILITY_CLASS_PKMN_RANGER_3, MALE},
+ {MAP_OBJ_GFX_PICNICKER, FACILITY_CLASS_PKMN_RANGER_4, FEMALE},
+ {MAP_OBJ_GFX_WOMAN_2, FACILITY_CLASS_AROMA_LADY_2, FEMALE},
+ {MAP_OBJ_GFX_HIKER, FACILITY_CLASS_RUIN_MANIAC_2, MALE},
+ {MAP_OBJ_GFX_WOMAN_2, FACILITY_CLASS_LADY_2, FEMALE},
+ {MAP_OBJ_GFX_LASS, FACILITY_CLASS_PAINTER, FEMALE}
};
-const struct UnkStruct_847A024 gUnknown_847A024[] = {
- {0x1d, 0x17, 0x1f, 0x01, 0x01},
- {0x11, 0x11, 0x34, 0x01, 0x01},
- {0x1d, 0x19, 0x4a, 0x01, 0x00},
- {0x20, 0x23, 0x4b, 0x00, 0x01},
- {0x26, 0x2e, 0x4c, 0x00, 0x01},
- {0x11, 0x11, 0x7e, 0x01, 0x01},
- {0x29, 0x2a, 0x7f, 0x00, 0x01},
- {0x1d, 0x19, 0x80, 0x01, 0x00},
- {0x18, 0x36, 0x81, 0x01, 0x00},
- {0x2e, 0x26, 0x82, 0x01, 0x00}
+static const struct DoublesTrainerInfo sDoubleBattleTrainerInfo[] = {
+ {MAP_OBJ_GFX_BEAUTY, MAP_OBJ_GFX_WOMAN_1, FACILITY_CLASS_SR_AND_JR, FEMALE, FEMALE},
+ {MAP_OBJ_GFX_LITTLE_GIRL, MAP_OBJ_GFX_LITTLE_GIRL, FACILITY_CLASS_TWINS, FEMALE, FEMALE},
+ {MAP_OBJ_GFX_BEAUTY, MAP_OBJ_GFX_MAN, FACILITY_CLASS_YOUNG_COUPLE, FEMALE, MALE},
+ {MAP_OBJ_GFX_OLD_MAN_1, MAP_OBJ_GFX_OLD_WOMAN, FACILITY_CLASS_OLD_COUPLE, MALE, FEMALE},
+ {MAP_OBJ_GFX_TUBER_M_2, MAP_OBJ_GFX_SWIMMER_F_LAND, FACILITY_CLASS_SIS_AND_BRO, MALE, FEMALE},
+ {MAP_OBJ_GFX_LITTLE_GIRL, MAP_OBJ_GFX_LITTLE_GIRL, FACILITY_CLASS_TWINS_2, FEMALE, FEMALE},
+ {MAP_OBJ_GFX_COOLTRAINER_M, MAP_OBJ_GFX_COOLTRAINER_F, FACILITY_CLASS_COOL_COUPLE, MALE, FEMALE},
+ {MAP_OBJ_GFX_BEAUTY, MAP_OBJ_GFX_MAN, FACILITY_CLASS_YOUNG_COUPLE_2, FEMALE, MALE},
+ {MAP_OBJ_GFX_BATTLE_GIRL, MAP_OBJ_GFX_BLACKBELT, FACILITY_CLASS_CRUSH_KIN, FEMALE, MALE},
+ {MAP_OBJ_GFX_SWIMMER_F_LAND, MAP_OBJ_GFX_TUBER_M_2, FACILITY_CLASS_SIS_AND_BRO_2, FEMALE, MALE}
};
-const struct UnkStruct_847A074 gUnknown_847A074[105] = {
- {0x03, 0x06},
- {0x37, 0x06},
- {0x02, 0x06},
- {0x67, 0x01},
- {0x04, 0x01},
- {0x24, 0x04},
- {0x4a, 0x01},
- {0x26, 0x01},
- {0x2a, 0x00},
- {0x42, 0x03},
- {0x1b, 0x09},
- {0x4c, 0x03},
- {0x44, 0x03},
- {0x21, 0x04},
- {0x43, 0x03},
- {0x6a, 0x01},
- {0x5d, 0x05},
- {0x56, 0x05},
- {0x09, 0x05},
- {0x11, 0x04},
- {0x48, 0x03},
- {0x3c, 0x00},
- {0x29, 0x00},
- {0x5c, 0x09},
- {0x28, 0x09},
- {0x06, 0x0c},
- {0x68, 0x0b},
- {0x05, 0x0b},
- {0x58, 0x0d},
- {0x16, 0x0d},
- {0x46, 0x08},
- {0x0f, 0x01},
- {0x3f, 0x03},
- {0x0e, 0x03},
- {0x5f, 0x04},
- {0x63, 0x04},
- {0x50, 0x04},
- {0x10, 0x04},
- {0x52, 0x03},
- {0x35, 0x04},
- {0x5b, 0x03},
- {0x14, 0x03},
- {0x3d, 0x00},
- {0x13, 0x00},
- {0x12, 0x0b},
- {0x30, 0x07},
- {0x38, 0x07},
- {0x2f, 0x07},
- {0x3b, 0x01},
- {0x31, 0x01},
- {0x4e, 0x0b},
- {0x3a, 0x00},
- {0x32, 0x00},
- {0x23, 0x03},
- {0x0d, 0x0d},
- {0x0a, 0x03},
- {0x49, 0x01},
- {0x0c, 0x01},
- {0x69, 0x01},
- {0x0b, 0x01},
- {0x25, 0x01},
- {0x3e, 0x02},
- {0x27, 0x02},
- {0x65, 0x01},
- {0x2d, 0x01},
- {0x61, 0x01},
- {0x2b, 0x03},
- {0x66, 0x05},
- {0x2e, 0x05},
- {0x2c, 0x00},
- {0x5e, 0x02},
- {0x34, 0x02},
- {0x51, 0x00},
- {0x59, 0x00},
- {0x40, 0x03},
- {0x55, 0x06},
- {0x53, 0x06},
- {0x4b, 0x04},
- {0x15, 0x04},
- {0x1a, 0x09},
- {0x57, 0x0a},
- {0x17, 0x01},
- {0x47, 0x03},
- {0x62, 0x01},
- {0x39, 0x00},
- {0x1d, 0x00},
- {0x1c, 0x04},
- {0x20, 0x00},
- {0x4f, 0x05},
- {0x22, 0x05},
- {0x45, 0x0b},
- {0x1f, 0x0b},
- {0x5a, 0x00},
- {0x1e, 0x00},
- {0x08, 0x00},
- {0x64, 0x02},
- {0x07, 0x02},
- {0x60, 0x08},
- {0x36, 0x08},
- {0x41, 0x0b},
- {0x33, 0x0b},
- {0x54, 0x00},
- {0x18, 0x01},
- {0x4d, 0x0b},
- {0x19, 0x00}
+static const struct TrainerEncounterMusicPairs sTrainerEncounterMusicLUT[105] = {
+ {FACILITY_CLASS_AROMA_LADY, TRAINER_ENCOUNTER_MUSIC_AQUA},
+ {FACILITY_CLASS_BOARDER_2, TRAINER_ENCOUNTER_MUSIC_AQUA},
+ {FACILITY_CLASS_TEAM_AQUA_2, TRAINER_ENCOUNTER_MUSIC_AQUA},
+ {FACILITY_CLASS_GAMER, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {FACILITY_CLASS_RUIN_MANIAC, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {FACILITY_CLASS_YOUNGSTER, TRAINER_ENCOUNTER_MUSIC_INTENSE},
+ {FACILITY_CLASS_YOUNG_COUPLE, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {FACILITY_CLASS_FISHERMAN, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {FACILITY_CLASS_TRIATHLETE_4, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {FACILITY_CLASS_PKMN_RANGER, TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS},
+ {FACILITY_CLASS_LEADER_2, TRAINER_ENCOUNTER_MUSIC_TWINS},
+ {FACILITY_CLASS_SIS_AND_BRO, TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS},
+ {FACILITY_CLASS_MAGMA_LEADER, TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS},
+ {FACILITY_CLASS_POKEFAN_2, TRAINER_ENCOUNTER_MUSIC_INTENSE},
+ {FACILITY_CLASS_PKMN_RANGER_2, TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS},
+ {FACILITY_CLASS_PSYCHIC_3, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {FACILITY_CLASS_PICNICKER_2, TRAINER_ENCOUNTER_MUSIC_COOL},
+ {FACILITY_CLASS_ELITE_FOUR_3, TRAINER_ENCOUNTER_MUSIC_COOL},
+ {FACILITY_CLASS_COOLTRAINER_2, TRAINER_ENCOUNTER_MUSIC_COOL},
+ {FACILITY_CLASS_GUITARIST, TRAINER_ENCOUNTER_MUSIC_INTENSE},
+ {FACILITY_CLASS_BUG_CATCHER, TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS},
+ {FACILITY_CLASS_PKMN_TRAINER_4, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {FACILITY_CLASS_TRIATHLETE_3, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {FACILITY_CLASS_CAMPER_2, TRAINER_ENCOUNTER_MUSIC_TWINS},
+ {FACILITY_CLASS_TRIATHLETE_2, TRAINER_ENCOUNTER_MUSIC_TWINS},
+ {FACILITY_CLASS_TUBER, TRAINER_ENCOUNTER_MUSIC_INTERVIEWER},
+ {FACILITY_CLASS_BEAUTY_2, TRAINER_ENCOUNTER_MUSIC_HIKER},
+ {FACILITY_CLASS_INTERVIEWER, TRAINER_ENCOUNTER_MUSIC_HIKER},
+ {FACILITY_CLASS_YOUNGSTER_2, TRAINER_ENCOUNTER_MUSIC_RICH},
+ {FACILITY_CLASS_PSYCHIC_2, TRAINER_ENCOUNTER_MUSIC_RICH},
+ {FACILITY_CLASS_TEAM_MAGMA_2, TRAINER_ENCOUNTER_MUSIC_SWIMMER},
+ {FACILITY_CLASS_SWIMMER_MALE, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {FACILITY_CLASS_PKMN_TRAINER_7, TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS},
+ {FACILITY_CLASS_POKEMANIAC, TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS},
+ {FACILITY_CLASS_SUPER_NERD, TRAINER_ENCOUNTER_MUSIC_INTENSE},
+ {FACILITY_CLASS_ENGINEER, TRAINER_ENCOUNTER_MUSIC_INTENSE},
+ {FACILITY_CLASS_MAGMA_ADMIN_2, TRAINER_ENCOUNTER_MUSIC_INTENSE},
+ {FACILITY_CLASS_BLACK_BELT, TRAINER_ENCOUNTER_MUSIC_INTENSE},
+ {FACILITY_CLASS_LEADER_5, TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS},
+ {FACILITY_CLASS_SAILOR, TRAINER_ENCOUNTER_MUSIC_INTENSE},
+ {FACILITY_CLASS_SAILOR_2, TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS},
+ {FACILITY_CLASS_BUG_MANIAC, TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS},
+ {FACILITY_CLASS_PKMN_TRAINER_5, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {FACILITY_CLASS_CAMPER, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {FACILITY_CLASS_KINDLER, TRAINER_ENCOUNTER_MUSIC_HIKER},
+ {FACILITY_CLASS_BATTLE_GIRL, TRAINER_ENCOUNTER_MUSIC_MAGMA},
+ {FACILITY_CLASS_COLLECTOR, TRAINER_ENCOUNTER_MUSIC_MAGMA},
+ {FACILITY_CLASS_NINJA_BOY, TRAINER_ENCOUNTER_MUSIC_MAGMA},
+ {FACILITY_CLASS_PKMN_TRAINER_3, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {FACILITY_CLASS_PARASOL_LADY, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {FACILITY_CLASS_AQUA_ADMIN_2, TRAINER_ENCOUNTER_MUSIC_HIKER},
+ {FACILITY_CLASS_PKMN_TRAINER_2, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {FACILITY_CLASS_SWIMMER_FEMALE, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {FACILITY_CLASS_EXPERT_2, TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS},
+ {FACILITY_CLASS_RICH_BOY, TRAINER_ENCOUNTER_MUSIC_RICH},
+ {FACILITY_CLASS_HEX_MANIAC, TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS},
+ {FACILITY_CLASS_HIKER, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {FACILITY_CLASS_BEAUTY, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {FACILITY_CLASS_SWIMMER_FEMALE_2, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {FACILITY_CLASS_LADY, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {FACILITY_CLASS_CHAMPION, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {FACILITY_CLASS_PKMN_TRAINER_6, TRAINER_ENCOUNTER_MUSIC_GIRL},
+ {FACILITY_CLASS_TRIATHLETE, TRAINER_ENCOUNTER_MUSIC_GIRL},
+ {FACILITY_CLASS_SWIMMER_MALE_2, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {FACILITY_CLASS_DRAGON_TAMER, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {FACILITY_CLASS_BIKER, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {FACILITY_CLASS_TRIATHLETE_5, TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS},
+ {FACILITY_CLASS_CUE_BALL, TRAINER_ENCOUNTER_MUSIC_COOL},
+ {FACILITY_CLASS_BIRD_KEEPER, TRAINER_ENCOUNTER_MUSIC_COOL},
+ {FACILITY_CLASS_TRIATHLETE_6, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {FACILITY_CLASS_POKEMANIAC_2, TRAINER_ENCOUNTER_MUSIC_GIRL},
+ {FACILITY_CLASS_TWINS, TRAINER_ENCOUNTER_MUSIC_GIRL},
+ {FACILITY_CLASS_LEADER_4, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {FACILITY_CLASS_BUG_CATCHER_2, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {FACILITY_CLASS_PKMN_BREEDER, TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS},
+ {FACILITY_CLASS_LEADER_8, TRAINER_ENCOUNTER_MUSIC_AQUA},
+ {FACILITY_CLASS_LEADER_6, TRAINER_ENCOUNTER_MUSIC_AQUA},
+ {FACILITY_CLASS_OLD_COUPLE, TRAINER_ENCOUNTER_MUSIC_INTENSE},
+ {FACILITY_CLASS_PSYCHIC, TRAINER_ENCOUNTER_MUSIC_INTENSE},
+ {FACILITY_CLASS_LEADER, TRAINER_ENCOUNTER_MUSIC_TWINS},
+ {FACILITY_CLASS_ELITE_FOUR_4, TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR},
+ {FACILITY_CLASS_GENTLEMAN, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {FACILITY_CLASS_LASS, TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS},
+ {FACILITY_CLASS_BURGLAR, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {FACILITY_CLASS_PKMN_TRAINER, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {FACILITY_CLASS_SCHOOL_KID, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {FACILITY_CLASS_LEADER_3, TRAINER_ENCOUNTER_MUSIC_INTENSE},
+ {FACILITY_CLASS_POKEFAN, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {FACILITY_CLASS_MAGMA_ADMIN, TRAINER_ENCOUNTER_MUSIC_COOL},
+ {FACILITY_CLASS_EXPERT, TRAINER_ENCOUNTER_MUSIC_COOL},
+ {FACILITY_CLASS_TEAM_MAGMA, TRAINER_ENCOUNTER_MUSIC_HIKER},
+ {FACILITY_CLASS_SR_AND_JR, TRAINER_ENCOUNTER_MUSIC_HIKER},
+ {FACILITY_CLASS_LASS_2, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {FACILITY_CLASS_SCHOOL_KID_2, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {FACILITY_CLASS_COOLTRAINER, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {FACILITY_CLASS_FISHERMAN_2, TRAINER_ENCOUNTER_MUSIC_GIRL},
+ {FACILITY_CLASS_TUBER_2, TRAINER_ENCOUNTER_MUSIC_GIRL},
+ {FACILITY_CLASS_HIKER_2, TRAINER_ENCOUNTER_MUSIC_SWIMMER},
+ {FACILITY_CLASS_BOARDER, TRAINER_ENCOUNTER_MUSIC_SWIMMER},
+ {FACILITY_CLASS_PKMN_BREEDER_2, TRAINER_ENCOUNTER_MUSIC_HIKER},
+ {FACILITY_CLASS_PICNICKER, TRAINER_ENCOUNTER_MUSIC_HIKER},
+ {FACILITY_CLASS_LEADER_7, TRAINER_ENCOUNTER_MUSIC_MALE},
+ {FACILITY_CLASS_ELITE_FOUR, TRAINER_ENCOUNTER_MUSIC_FEMALE},
+ {FACILITY_CLASS_AQUA_ADMIN, TRAINER_ENCOUNTER_MUSIC_HIKER},
+ {FACILITY_CLASS_ELITE_FOUR_2, TRAINER_ENCOUNTER_MUSIC_MALE}
};
-const struct WindowTemplate gUnknown_847A218[] = {
+static const struct WindowTemplate gUnknown_847A218[] = {
{0, 3, 1, 27, 18, 15, 0x001},
DUMMY_WIN_TEMPLATE
};
-const u32 gUnknown_847A228 = 0x70; // unused
+static const u32 gUnknown_847A228 = 0x70; // unused
-const u8 gUnknown_847A22C[3] = {0, 2, 3};
+static const u8 gUnknown_847A22C[3] = {0, 2, 3};
-void (*const gUnknown_847A230[])(void) = {
+static void (*const gUnknown_847A230[])(void) = {
sub_815DD44,
sub_815DF54,
sub_815E160,
sub_815E1C0,
sub_815E1F0,
- sub_815E218,
+ TTSpecial_HasReachedTheRoof,
sub_815E28C,
sub_815E394,
sub_815E408,
sub_815E4B0,
- sub_815E56C,
+ TTSpecial_StartTimer,
sub_815E5C4,
sub_815E5F0,
sub_815E658,
@@ -449,18 +352,18 @@ void (*const gUnknown_847A230[])(void) = {
sub_815E9C8
};
-const u16 gUnknown_847A284[8][3] = {
- {0x012a, 0x016e, 0x0176},
- {0x012b, 0x016f, 0x0177},
- {0x012c, 0x0170, 0x0178},
- {0x012d, 0x0171, 0x0179},
- {0x012e, 0x0172, 0x017a},
- {0x012f, 0x0173, 0x017b},
- {0x0130, 0x0174, 0x017c},
- {0x0131, 0x0175, 0x017d}
+static const u16 sFloorLayouts[8][3] = {
+ {LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_1F, LAYOUT_UNUSED_LAYOUT_834BC2C, LAYOUT_UNUSED_LAYOUT_834D06C},
+ {LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_2F, LAYOUT_UNUSED_LAYOUT_834BEB4, LAYOUT_UNUSED_LAYOUT_834D2F4},
+ {LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_3F, LAYOUT_UNUSED_LAYOUT_834C13C, LAYOUT_UNUSED_LAYOUT_834D57C},
+ {LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_4F, LAYOUT_UNUSED_LAYOUT_834C3C4, LAYOUT_UNUSED_LAYOUT_834D804},
+ {LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_5F, LAYOUT_UNUSED_LAYOUT_834C64C, LAYOUT_UNUSED_LAYOUT_834DA8C},
+ {LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_6F, LAYOUT_UNUSED_LAYOUT_834C8D4, LAYOUT_UNUSED_LAYOUT_834DD14},
+ {LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_7F, LAYOUT_UNUSED_LAYOUT_834CB5C, LAYOUT_UNUSED_LAYOUT_834DF9C},
+ {LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_8F, LAYOUT_UNUSED_LAYOUT_834CDE4, LAYOUT_UNUSED_LAYOUT_834E224}
};
-const u16 gUnknown_847A2B4[] = {
+static const u16 gUnknown_847A2B4[] = {
ITEM_HP_UP,
ITEM_PROTEIN,
ITEM_IRON,
@@ -478,24 +381,24 @@ const u16 gUnknown_847A2B4[] = {
ITEM_UP_GRADE
};
-const u16 gUnknown_847A2D2[] = {
- 0x011d,
- 0x011c,
- 0x011c,
- 0x011b,
- 0x011d,
- 0x011d,
- 0x011b,
- 0x011b,
- 0x011d,
- 0x011c,
- 0x011d,
- 0x011d,
- 0x011d,
- 0x011d
+static const u16 gUnknown_847A2D2[] = {
+ MUS_SHOUNEN,
+ MUS_SHOUJO,
+ MUS_SHOUJO,
+ MUS_ROCKET,
+ MUS_SHOUNEN,
+ MUS_SHOUNEN,
+ MUS_ROCKET,
+ MUS_ROCKET,
+ MUS_SHOUNEN,
+ MUS_SHOUJO,
+ MUS_SHOUNEN,
+ MUS_SHOUNEN,
+ MUS_SHOUNEN,
+ MUS_SHOUNEN
};
-const u8 gUnknown_847A2EE[][2] = {
+static const u8 sSingleBattleChallengeMonIdxs[][2] = {
{0x00, 0x02},
{0x01, 0x03},
{0x02, 0x04},
@@ -506,7 +409,7 @@ const u8 gUnknown_847A2EE[][2] = {
{0x01, 0x04}
};
-const u8 gUnknown_847A2FE[][2] = {
+static const u8 sDoubleBattleChallengeMonIdxs[][2] = {
{0x00, 0x01},
{0x01, 0x03},
{0x02, 0x00},
@@ -517,7 +420,7 @@ const u8 gUnknown_847A2FE[][2] = {
{0x01, 0x05}
};
-const u8 gUnknown_847A30E[][3] = {
+static const u8 sKnockoutChallengeMonIdxs[][3] = {
{0x00, 0x02, 0x04},
{0x01, 0x03, 0x05},
{0x02, 0x03, 0x01},
@@ -529,85 +432,7 @@ const u8 gUnknown_847A30E[][3] = {
};
extern const struct Unk_203F458_Header gUnknown_84827AC;
-extern const struct TrainerTowerTrainer *const gUnknown_84827B4[][8];
-
-bool32 sub_815D834(void)
-{
- // Stubbed out?
- return FALSE;
-}
-
-void sub_815D838(void)
-{
- u8 i, j;
-
- for (i = 0; i < 15; i++)
- {
- const u8 * flags1 = gUnknown_8479D34[i].flags1;
- const u8 * flags2 = gUnknown_8479D34[i].flags2;
- const u8 * flags3 = gUnknown_8479D34[i].flags3;
- for (j = 0; j < 8; j++)
- {
- if (flags1[j] != 0xFF)
- FlagSet(FLAG_TRAINER_TOWER_START + flags1[j]);
- if (flags2[j] != 0xFF)
- FlagSet(FLAG_TRAINER_TOWER_START + flags2[j]);
- if (flags3[j] != 0xFF)
- FlagSet(FLAG_TRAINER_TOWER_START + flags3[j]);
- }
- }
-}
-
-void sub_815D8C8(void)
-{
- u16 var = VarGet(VAR_0x4023);
- if (var < 1500) {
- VarSet(VAR_0x4023, var + 1);
- }
-}
-
-void sub_815D8F8(void)
-{
- u8 i;
- u8 found_map = 0xFF;
- for (i = 0; i < 15; i++)
- {
- if (gUnknown_8479D34[i].mapGroup == gSaveBlock1Ptr->location.mapGroup && gUnknown_8479D34[i].mapNum == gSaveBlock1Ptr->location.mapNum)
- found_map = i;
- }
-
- if (found_map == 0xFF)
- return;
- if (VarGet(VAR_0x4023) >= 1500)
- {
- VarSet(VAR_0x4023, 0);
- sub_815D838();
- sub_815D96C();
- }
-}
-
-void sub_815D96C(void)
-{
- u8 i, j;
- const u8 * flags;
- u16 rval;
-
- for (i = 0; i < 15; i++)
- {
- rval = Random() % 100;
- if (rval >= 90)
- flags = gUnknown_8479D34[i].flags1;
- else if (rval >= 60)
- flags = gUnknown_8479D34[i].flags2;
- else
- flags = gUnknown_8479D34[i].flags3;
- for (j = 0; j < 8; j++)
- {
- if (flags[j] != 0xFF)
- FlagClear(FLAG_TRAINER_TOWER_START + flags[j]);
- }
- }
-}
+extern const struct TrainerTowerFloor *const gUnknown_84827B4[][8];
void sub_815D9E8(void)
{
@@ -618,17 +443,17 @@ void sub_815D9E8(void)
u8 sub_815DA10(void)
{
- return gFacilityClassToTrainerClass[gUnknown_203F45C->unk_3D];
+ return gFacilityClassToTrainerClass[sTrainerTowerOpponent->facilityClass];
}
-void sub_815DA28(u8 * dest)
+void sub_815DA28(u8 *dest)
{
- StringCopyN(dest, gUnknown_203F45C->unk_00, 11);
+ StringCopyN(dest, sTrainerTowerOpponent->name, 11);
}
u8 GetTrainerTowerTrainerFrontSpriteId(void)
{
- return gFacilityClassToPicIndex[gUnknown_203F45C->unk_3D];
+ return gFacilityClassToPicIndex[sTrainerTowerOpponent->facilityClass];
}
void InitTrainerTowerBattleStruct(void)
@@ -637,91 +462,91 @@ void InitTrainerTowerBattleStruct(void)
s32 r9;
sub_815DC8C();
- gUnknown_203F45C = AllocZeroed(sizeof(*gUnknown_203F45C));
+ sTrainerTowerOpponent = AllocZeroed(sizeof(*sTrainerTowerOpponent));
r10 = VarGet(VAR_0x4001);
- StringCopyN(gUnknown_203F45C->unk_00, gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r10].unk_000, 11);
+ StringCopyN(sTrainerTowerOpponent->name, sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r10].name, 11);
for (r9 = 0; r9 < 6; r9++)
{
- gUnknown_203F45C->unk_0C[r9] = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r10].unk_01A[r9];
- gUnknown_203F45C->unk_18[r9] = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r10].unk_026[r9];
+ sTrainerTowerOpponent->speechWin[r9] = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r10].speechWin[r9];
+ sTrainerTowerOpponent->speechLose[r9] = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r10].speechLose[r9];
- if (gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_002 == 1)
+ if (sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].challengeType == 1)
{
- gUnknown_203F45C->unk_24[r9] = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r10 + 1].unk_01A[r9];
- gUnknown_203F45C->unk_30[r9] = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r10 + 1].unk_026[r9];
+ sTrainerTowerOpponent->speechWin2[r9] = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r10 + 1].speechWin[r9];
+ sTrainerTowerOpponent->speechLose2[r9] = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r10 + 1].speechLose[r9];
}
}
- gUnknown_203F45C->unk_3C = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_002;
- gUnknown_203F45C->unk_3D = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r10].unk_00B;
- gUnknown_203F45C->unk_3E = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r10].unk_00C;
+ sTrainerTowerOpponent->battleType = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].challengeType;
+ sTrainerTowerOpponent->facilityClass = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r10].facilityClass;
+ sTrainerTowerOpponent->gender = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r10].gender;
SetVBlankCounter1Ptr(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0);
sub_815DD2C();
}
void FreeTrainerTowerBattleStruct(void)
{
- Free(gUnknown_203F45C);
- gUnknown_203F45C = NULL;
+ Free(sTrainerTowerOpponent);
+ sTrainerTowerOpponent = NULL;
}
-void sub_815DBF4(u8 * dest, u8 opponentIdx)
+void sub_815DBF4(u8 *dest, u8 opponentIdx)
// TTower_GetBeforeBattleMessage?
{
VarSet(VAR_0x4003, opponentIdx);
- sub_815E068(gUnknown_203F45C->unk_3C, gUnknown_203F45C->unk_3D);
+ TrainerTowerGetOpponentTextColor(sTrainerTowerOpponent->battleType, sTrainerTowerOpponent->facilityClass);
if (opponentIdx == 0)
- sub_815DEFC(gUnknown_203F45C->unk_0C, dest);
+ TT_ConvertEasyChatMessageToString(sTrainerTowerOpponent->speechWin, dest);
else
- sub_815DEFC(gUnknown_203F45C->unk_24, dest);
+ TT_ConvertEasyChatMessageToString(sTrainerTowerOpponent->speechWin2, dest);
}
-void sub_815DC40(u8 * dest, u8 opponentIdx)
+void sub_815DC40(u8 *dest, u8 opponentIdx)
// TTower_GetAfterBattleMessage?
{
VarSet(VAR_0x4003, opponentIdx);
- sub_815E068(gUnknown_203F45C->unk_3C, gUnknown_203F45C->unk_3D);
+ TrainerTowerGetOpponentTextColor(sTrainerTowerOpponent->battleType, sTrainerTowerOpponent->facilityClass);
if (opponentIdx == 0)
- sub_815DEFC(gUnknown_203F45C->unk_18, dest);
+ TT_ConvertEasyChatMessageToString(sTrainerTowerOpponent->speechLose, dest);
else
- sub_815DEFC(gUnknown_203F45C->unk_30, dest);
+ TT_ConvertEasyChatMessageToString(sTrainerTowerOpponent->speechLose2, dest);
}
#ifdef NONMATCHING
-void sub_815DC8C(void) // fakematching
+static void sub_815DC8C(void) // fakematching
{
u32 whichTimer = gSaveBlock1Ptr->unkArrayIdx;
s32 r4;
- const struct TrainerTowerTrainer *const * r7;
+ const struct TrainerTowerFloor *const * r7;
- gUnknown_203F458 = AllocZeroed(sizeof(*gUnknown_203F458));
- gUnknown_203F458->unk_0000 = gMapHeader.mapDataId - 0x2A;
+ sTrainerTowerState = AllocZeroed(sizeof(*sTrainerTowerState));
+ sTrainerTowerState->floorIdx = gMapHeader.mapDataId - 42;
if (sub_815D834() == TRUE)
- CEReaderTool_LoadTrainerTower(&gUnknown_203F458->unk_0004);
+ CEReaderTool_LoadTrainerTower(&sTrainerTowerState->unk_0004);
else
{
- struct UnkStruct_203F458 * r0_ = gUnknown_203F458;
+ struct UnkStruct_203F458 * r0_ = sTrainerTowerState;
const struct Unk_203F458_Header * r1 = &gUnknown_84827AC;
// *r0_ = *r1;
- memcpy(&r0_->unk_0004.unk_0000, r1, sizeof(struct Unk_203F458_Header));
-// gUnknown_203F458->unk_0004.unk_0000 = gUnknown_84827AC;
+ memcpy(&r0_->unk_0004.floorIdx, r1, sizeof(struct Unk_203F458_Header));
+// sTrainerTowerState->unk_0004.floorIdx = gUnknown_84827AC;
r7 = gUnknown_84827B4[whichTimer];
for (r4 = 0; r4 < 8; r4++)
{
- void * r0 = gUnknown_203F458;
- r0 = r4 * sizeof(struct TrainerTowerTrainer) + r0;
- r0 += offsetof(struct UnkStruct_203F458, unk_0004.trainers);
- memcpy(r0, r7[r4], sizeof(struct TrainerTowerTrainer));
+ void * r0 = sTrainerTowerState;
+ r0 = r4 * sizeof(struct TrainerTowerFloor) + r0;
+ r0 += offsetof(struct UnkStruct_203F458, unk_0004.floors);
+ memcpy(r0, r7[r4], sizeof(struct TrainerTowerFloor));
// r0[r4] = *r7[r4];
}
- gUnknown_203F458->unk_0004.unk4 = CalcByteArraySum((void *)gUnknown_203F458->unk_0004.trainers, sizeof(gUnknown_203F458->unk_0004.trainers));
- sub_815EC0C();
+ sTrainerTowerState->unk_0004.unk4 = CalcByteArraySum((void *)sTrainerTowerState->unk_0004.floors, sizeof(sTrainerTowerState->unk_0004.floors));
+ ValidateOrResetCurTrainerTowerRecord();
}
}
#else
NAKED
-void sub_815DC8C(void)
+static void sub_815DC8C(void)
{
asm_unified("\tpush {r4-r7,lr}\n"
"\tldr r0, _0815DCBC @ =gSaveBlock1Ptr\n"
@@ -729,7 +554,7 @@ void sub_815DC8C(void)
"\tldr r1, _0815DCC0 @ =0x00003d34\n"
"\tadds r0, r1\n"
"\tldr r5, [r0]\n"
- "\tldr r4, _0815DCC4 @ =gUnknown_203F458\n"
+ "\tldr r4, _0815DCC4 @ =sTrainerTowerState\n"
"\tldr r0, _0815DCC8 @ =0x00001f0c\n"
"\tbl AllocZeroed\n"
"\tstr r0, [r4]\n"
@@ -747,7 +572,7 @@ void sub_815DC8C(void)
"\t.align 2, 0\n"
"_0815DCBC: .4byte gSaveBlock1Ptr\n"
"_0815DCC0: .4byte 0x00003d34\n"
- "_0815DCC4: .4byte gUnknown_203F458\n"
+ "_0815DCC4: .4byte sTrainerTowerState\n"
"_0815DCC8: .4byte 0x00001f0c\n"
"_0815DCCC: .4byte gMapHeader\n"
"_0815DCD0:\n"
@@ -762,7 +587,7 @@ void sub_815DC8C(void)
"\tmovs r5, 0\n"
"\tmovs r4, 0x7\n"
"_0815DCE6:\n"
- "\tldr r6, _0815DD28 @ =gUnknown_203F458\n"
+ "\tldr r6, _0815DD28 @ =sTrainerTowerState\n"
"\tldr r0, [r6]\n"
"\tadds r0, r5, r0\n"
"\tadds r0, 0xC\n"
@@ -783,7 +608,7 @@ void sub_815DC8C(void)
"\tbl CalcByteArraySum\n"
"\tldr r1, [r6]\n"
"\tstr r0, [r1, 0x8]\n"
- "\tbl sub_815EC0C\n"
+ "\tbl ValidateOrResetCurTrainerTowerRecord\n"
"_0815DD18:\n"
"\tpop {r4-r7}\n"
"\tpop {r0}\n"
@@ -791,100 +616,100 @@ void sub_815DC8C(void)
"\t.align 2, 0\n"
"_0815DD20: .4byte gUnknown_84827AC\n"
"_0815DD24: .4byte gUnknown_84827B4\n"
- "_0815DD28: .4byte gUnknown_203F458");
+ "_0815DD28: .4byte sTrainerTowerState");
}
#endif // NONMATCHING
-void sub_815DD2C(void)
+static void sub_815DD2C(void)
{
- Free(gUnknown_203F458);
- gUnknown_203F458 = NULL;
+ Free(sTrainerTowerState);
+ sTrainerTowerState = NULL;
}
-void sub_815DD44(void)
+static void sub_815DD44(void)
{
- if (gMapHeader.mapDataId - 0x129 > gUnknown_203F458->unk_0004.count)
+ if (gMapHeader.mapDataId - LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_LOBBY > sTrainerTowerState->unk_0004.count)
{
gSpecialVar_Result = 3;
- SetCurrentMapLayout(0x132);
+ SetCurrentMapLayout(LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_ROOF);
}
else
{
- gSpecialVar_Result = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_002;
- SetCurrentMapLayout(gUnknown_847A284[gUnknown_203F458->unk_0000][gSpecialVar_Result]);
- sub_815DDB0();
+ gSpecialVar_Result = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].challengeType;
+ SetCurrentMapLayout(sFloorLayouts[sTrainerTowerState->floorIdx][gSpecialVar_Result]);
+ SetTrainerTowerNPCGraphics();
}
}
-void sub_815DDB0(void)
+static void SetTrainerTowerNPCGraphics(void)
{
s32 r3, r4;
u8 r1, r2, r4_;
- switch (gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_002)
+ switch (sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].challengeType)
{
- case 0:
- r2 = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[0].unk_00B;
- for (r3 = 0; r3 < NELEMS(gUnknown_8479ED8); r3++)
- {
- if (gUnknown_8479ED8[r3].unk1 == r2)
- break;
- }
- if (r3 != NELEMS(gUnknown_8479ED8))
- r1 = gUnknown_8479ED8[r3].unk0;
- else
- r1 = 18;
- VarSet(VAR_0x4011, r1);
- break;
- case 1:
- r2 = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[0].unk_00B;
- for (r3 = 0; r3 < NELEMS(gUnknown_847A024); r3++)
+ case 0:
+ r2 = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[0].facilityClass;
+ for (r3 = 0; r3 < NELEMS(sSingleBattleTrainerInfo); r3++)
+ {
+ if (sSingleBattleTrainerInfo[r3].facilityClass == r2)
+ break;
+ }
+ if (r3 != NELEMS(sSingleBattleTrainerInfo))
+ r1 = sSingleBattleTrainerInfo[r3].mapObjGfx;
+ else
+ r1 = 18;
+ VarSet(VAR_OBJ_GFX_ID_1, r1);
+ break;
+ case 1:
+ r2 = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[0].facilityClass;
+ for (r3 = 0; r3 < NELEMS(sDoubleBattleTrainerInfo); r3++)
+ {
+ if (sDoubleBattleTrainerInfo[r3].facilityClass == r2)
+ break;
+ }
+ if (r3 != NELEMS(sDoubleBattleTrainerInfo))
+ {
+ r1 = sDoubleBattleTrainerInfo[r3].mapObjGfx1;
+ r4_ = sDoubleBattleTrainerInfo[r3].mapObjGfx2;
+ }
+ else
+ {
+ r1 = MAP_OBJ_GFX_YOUNGSTER;
+ r4_ = MAP_OBJ_GFX_YOUNGSTER;
+ }
+ VarSet(VAR_OBJ_GFX_ID_0, r1);
+ VarSet(VAR_OBJ_GFX_ID_3, r4_);
+ break;
+ case 2:
+ for (r4 = 0; r4 < 3; r4++)
+ {
+ r2 = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r4].facilityClass;
+ for (r3 = 0; r3 < NELEMS(sSingleBattleTrainerInfo); r3++)
{
- if (gUnknown_847A024[r3].unk2 == r2)
+ if (sSingleBattleTrainerInfo[r3].facilityClass == r2)
break;
}
- if (r3 != NELEMS(gUnknown_847A024))
- {
- r1 = gUnknown_847A024[r3].unk0;
- r4_ = gUnknown_847A024[r3].unk1;
- }
+ if (r3 != NELEMS(sSingleBattleTrainerInfo))
+ r1 = sSingleBattleTrainerInfo[r3].mapObjGfx;
else
+ r1 = MAP_OBJ_GFX_YOUNGSTER;
+ switch (r4)
{
- r1 = 18;
- r4_ = 18;
- }
- VarSet(VAR_0x4010, r1);
- VarSet(VAR_0x4013, r4_);
- break;
- case 2:
- for (r4 = 0; r4 < 3; r4++)
- {
- r2 = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_00B;
- for (r3 = 0; r3 < NELEMS(gUnknown_8479ED8); r3++)
- {
- if (gUnknown_8479ED8[r3].unk1 == r2)
- break;
- }
- if (r3 != NELEMS(gUnknown_8479ED8))
- r1 = gUnknown_8479ED8[r3].unk0;
- else
- r1 = 18;
- switch (r4)
- {
- case 0:
- VarSet(VAR_0x4012, r1);
- break;
- case 1:
- VarSet(VAR_0x4010, r1);
- break;
- case 2:
- VarSet(VAR_0x4011, r1);
- break;
- }
+ case 0:
+ VarSet(VAR_OBJ_GFX_ID_2, r1);
+ break;
+ case 1:
+ VarSet(VAR_OBJ_GFX_ID_0, r1);
+ break;
+ case 2:
+ VarSet(VAR_OBJ_GFX_ID_1, r1);
+ break;
}
+ }
}
}
-void sub_815DEFC(u16 * ecWords, u8 * dest)
+static void TT_ConvertEasyChatMessageToString(u16 *ecWords, u8 *dest)
{
s32 r1;
ConvertEasyChatWordsToString(dest, ecWords, 3, 2);
@@ -901,40 +726,40 @@ void sub_815DEFC(u16 * ecWords, u8 * dest)
}
#ifdef NONMATCHING
-void sub_815DF54(void)
+static void sub_815DF54(void)
{
u16 r4 = gSpecialVar_0x8006;
u8 r1;
- u8 r5 = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_002;
+ u8 r5 = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].challengeType;
// HOW DO I MATCH THIS CONTROL FLOW?!?!
- r1 = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r5 == 1 ? 0 : r4].unk_00B;
+ r1 = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r5 == 1 ? 0 : r4].facilityClass;
switch (gSpecialVar_0x8005)
{
- case 2:
- sub_815E068(r5, r1);
- sub_815DEFC(gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_00E, gStringVar4);
- break;
- case 3:
- sub_815E068(r5, r1);
- sub_815DEFC(gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_01A, gStringVar4);
- break;
- case 4:
- sub_815E068(r5, r1);
- sub_815DEFC(gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_026, gStringVar4);
- break;
- case 5:
- sub_815DEFC(gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_032, gStringVar4);
- break;
+ case 2:
+ TrainerTowerGetOpponentTextColor(r5, r1);
+ TT_ConvertEasyChatMessageToString(sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r4].speechBefore, gStringVar4);
+ break;
+ case 3:
+ TrainerTowerGetOpponentTextColor(r5, r1);
+ TT_ConvertEasyChatMessageToString(sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r4].speechWin, gStringVar4);
+ break;
+ case 4:
+ TrainerTowerGetOpponentTextColor(r5, r1);
+ TT_ConvertEasyChatMessageToString(sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r4].speechLose, gStringVar4);
+ break;
+ case 5:
+ TT_ConvertEasyChatMessageToString(sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[r4].speechAfter, gStringVar4);
+ break;
}
}
#else
NAKED
-void sub_815DF54(void)
+static void sub_815DF54(void)
{
asm_unified("\tpush {r4,r5,lr}\n"
"\tldr r0, _0815DF90 @ =gSpecialVar_0x8006\n"
"\tldrh r4, [r0]\n"
- "\tldr r2, _0815DF94 @ =gUnknown_203F458\n"
+ "\tldr r2, _0815DF94 @ =sTrainerTowerState\n"
"\tldr r3, [r2]\n"
"\tldrb r1, [r3]\n"
"\tlsls r0, r1, 5\n"
@@ -964,7 +789,7 @@ void sub_815DF54(void)
"\tb _0815E05C\n"
"\t.align 2, 0\n"
"_0815DF90: .4byte gSpecialVar_0x8006\n"
- "_0815DF94: .4byte gUnknown_203F458\n"
+ "_0815DF94: .4byte sTrainerTowerState\n"
"_0815DF98: .4byte gSpecialVar_0x8005\n"
"_0815DF9C:\n"
"\tcmp r0, 0x4\n"
@@ -974,8 +799,8 @@ void sub_815DF54(void)
"\tb _0815E05C\n"
"_0815DFA6:\n"
"\tadds r0, r5, 0\n"
- "\tbl sub_815E068\n"
- "\tldr r0, _0815DFD0 @ =gUnknown_203F458\n"
+ "\tbl TrainerTowerGetOpponentTextColor\n"
+ "\tldr r0, _0815DFD0 @ =sTrainerTowerState\n"
"\tldr r0, [r0]\n"
"\tldrb r2, [r0]\n"
"\tlsls r1, r2, 5\n"
@@ -993,11 +818,11 @@ void sub_815DF54(void)
"\tadds r0, 0xE\n"
"\tb _0815E026\n"
"\t.align 2, 0\n"
- "_0815DFD0: .4byte gUnknown_203F458\n"
+ "_0815DFD0: .4byte sTrainerTowerState\n"
"_0815DFD4:\n"
"\tadds r0, r5, 0\n"
- "\tbl sub_815E068\n"
- "\tldr r0, _0815DFFC @ =gUnknown_203F458\n"
+ "\tbl TrainerTowerGetOpponentTextColor\n"
+ "\tldr r0, _0815DFFC @ =sTrainerTowerState\n"
"\tldr r0, [r0]\n"
"\tldrb r2, [r0]\n"
"\tlsls r1, r2, 5\n"
@@ -1015,11 +840,11 @@ void sub_815DF54(void)
"\tadds r0, 0x1A\n"
"\tb _0815E026\n"
"\t.align 2, 0\n"
- "_0815DFFC: .4byte gUnknown_203F458\n"
+ "_0815DFFC: .4byte sTrainerTowerState\n"
"_0815E000:\n"
"\tadds r0, r5, 0\n"
- "\tbl sub_815E068\n"
- "\tldr r0, _0815E030 @ =gUnknown_203F458\n"
+ "\tbl TrainerTowerGetOpponentTextColor\n"
+ "\tldr r0, _0815E030 @ =sTrainerTowerState\n"
"\tldr r0, [r0]\n"
"\tldrb r2, [r0]\n"
"\tlsls r1, r2, 5\n"
@@ -1037,10 +862,10 @@ void sub_815DF54(void)
"\tadds r0, 0x26\n"
"_0815E026:\n"
"\tldr r1, _0815E034 @ =gStringVar4\n"
- "\tbl sub_815DEFC\n"
+ "\tbl TT_ConvertEasyChatMessageToString\n"
"\tb _0815E05C\n"
"\t.align 2, 0\n"
- "_0815E030: .4byte gUnknown_203F458\n"
+ "_0815E030: .4byte sTrainerTowerState\n"
"_0815E034: .4byte gStringVar4\n"
"_0815E038:\n"
"\tldr r0, [r2]\n"
@@ -1059,7 +884,7 @@ void sub_815DF54(void)
"\tadds r0, r1\n"
"\tadds r0, 0x32\n"
"\tldr r1, _0815E064 @ =gStringVar4\n"
- "\tbl sub_815DEFC\n"
+ "\tbl TT_ConvertEasyChatMessageToString\n"
"_0815E05C:\n"
"\tpop {r4,r5}\n"
"\tpop {r0}\n"
@@ -1069,47 +894,47 @@ void sub_815DF54(void)
}
#endif // NONMATCHING
-void sub_815E068(u8 battleType, u8 facilityClass)
+static void TrainerTowerGetOpponentTextColor(u8 battleType, u8 facilityClass)
{
u16 r5 = FALSE;
s32 r4;
switch (battleType)
{
- case 0:
- case 2:
- for (r4 = 0; r4 < NELEMS(gUnknown_8479ED8); r4++)
- {
- if (gUnknown_8479ED8[r4].unk1 == facilityClass)
- break;
- }
- if (r4 != NELEMS(gUnknown_8479ED8))
- r5 = gUnknown_8479ED8[r4].unk2;
- break;
- case 1:
- for (r4 = 0; r4 < NELEMS(gUnknown_847A024); r4++)
- {
- if (gUnknown_847A024[r4].unk2 == facilityClass)
- break;
- }
- if (r4 != NELEMS(gUnknown_847A024))
- {
- if (VarGet(VAR_0x4003))
- r5 = gUnknown_847A024[r4].unk4;
- else
- r5 = gUnknown_847A024[r4].unk3;
- }
- break;
+ case 0:
+ case 2:
+ for (r4 = 0; r4 < NELEMS(sSingleBattleTrainerInfo); r4++)
+ {
+ if (sSingleBattleTrainerInfo[r4].facilityClass == facilityClass)
+ break;
+ }
+ if (r4 != NELEMS(sSingleBattleTrainerInfo))
+ r5 = sSingleBattleTrainerInfo[r4].gender;
+ break;
+ case 1:
+ for (r4 = 0; r4 < NELEMS(sDoubleBattleTrainerInfo); r4++)
+ {
+ if (sDoubleBattleTrainerInfo[r4].facilityClass == facilityClass)
+ break;
+ }
+ if (r4 != NELEMS(sDoubleBattleTrainerInfo))
+ {
+ if (VarGet(VAR_0x4003))
+ r5 = sDoubleBattleTrainerInfo[r4].gender2;
+ else
+ r5 = sDoubleBattleTrainerInfo[r4].gender1;
+ }
+ break;
}
- gUnknown_20370DC = gUnknown_20370DA;
- gUnknown_20370DA = r5;
+ gSpecialVar_PrevTextColor = gSpecialVar_TextColor;
+ gSpecialVar_TextColor = r5;
}
-void sub_815E114(void)
+static void sub_815E114(void)
{
SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
}
-void sub_815E124(u8 taskId)
+static void sub_815E124(u8 taskId)
{
if (BT_IsDone() == TRUE)
{
@@ -1120,44 +945,44 @@ void sub_815E124(u8 taskId)
}
}
-void sub_815E160(void)
+static void sub_815E160(void)
{
gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_TRAINER_TOWER;
- if (gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_002 == 1)
+ if (sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].challengeType == 1)
gBattleTypeFlags |= BATTLE_TYPE_DOUBLE;
gTrainerBattleOpponent_A = 0;
- sub_815E9FC();
+ BuildEnemyParty();
CreateTask(sub_815E124, 1);
PlayMapChosenOrBattleBGM(0);
BT_StartOnField(sub_8080060());
}
-void sub_815E1C0(void)
+static void sub_815E1C0(void)
{
if (!gSpecialVar_0x8005)
- gSpecialVar_Result = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_002;
+ gSpecialVar_Result = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].challengeType;
}
-void sub_815E1F0(void)
+static void sub_815E1F0(void)
{
gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk8++;
}
-void sub_815E218(void)
+static void TTSpecial_HasReachedTheRoof(void)
{
u16 mapDataId = gMapHeader.mapDataId;
- if (mapDataId - 0x12A == gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk8 && mapDataId - 0x129 <= gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_001)
+ if (mapDataId - LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_1F == gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk8 && mapDataId - LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_LOBBY <= sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].floorIdx)
gSpecialVar_Result = FALSE;
else
gSpecialVar_Result = TRUE;
}
-void sub_815E28C(void)
+static void sub_815E28C(void)
{
gSaveBlock1Ptr->unkArrayIdx = gSpecialVar_0x8005;
if (gSaveBlock1Ptr->unkArrayIdx >= NELEMS(gSaveBlock1Ptr->unkArray))
gSaveBlock1Ptr->unkArrayIdx = 0;
- sub_815EC0C();
+ ValidateOrResetCurTrainerTowerRecord();
if (!sub_815D834())
gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_5 = TRUE;
else
@@ -1169,7 +994,7 @@ void sub_815E28C(void)
gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_1 = FALSE;
}
-void sub_815E394(void)
+static void sub_815E394(void)
{
DisableVBlankCounter1();
gSpecialVar_Result = 0;
@@ -1180,9 +1005,9 @@ void sub_815E394(void)
gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_2 = TRUE;
}
-void sub_815E408(void)
+static void sub_815E408(void)
{
- u16 itemId = gUnknown_847A2B4[gUnknown_203F458->unk_0004.trainers->unk_003];
+ u16 itemId = gUnknown_847A2B4[sTrainerTowerState->unk_0004.floors->prize];
if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_0)
gSpecialVar_Result = 2;
else if (AddBagItem(itemId, 1) == 1)
@@ -1195,13 +1020,13 @@ void sub_815E408(void)
gSpecialVar_Result = 1;
}
-void sub_815E4B0(void)
+static void sub_815E4B0(void)
{
if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_1)
gSpecialVar_Result = 2;
- else if (sub_815EDDC(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk4) > gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0)
+ else if (GetTrainerTowerRecordTime(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk4) > gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0)
{
- sub_815EDF4(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk4, gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0);
+ SetTrainerTowerRecordTime(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk4, gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0);
gSpecialVar_Result = 0;
}
else
@@ -1209,7 +1034,7 @@ void sub_815E4B0(void)
gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_1 = TRUE;
}
-void sub_815E56C(void)
+static void TTSpecial_StartTimer(void)
{
if (!gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_2)
{
@@ -1220,12 +1045,12 @@ void sub_815E56C(void)
}
}
-void sub_815E5C4(void)
+static void sub_815E5C4(void)
{
gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_3 = 1;
}
-void sub_815E5F0(void)
+static void sub_815E5F0(void)
{
if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_3)
{
@@ -1259,7 +1084,7 @@ void sub_815E5F0(void)
ConvertIntToDecimalStringN(gStringVar3, centiseconds, STR_CONV_MODE_LEADING_ZEROS, 2); \
})
-void sub_815E658(void)
+static void sub_815E658(void)
{
if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0 >= 215999)
{
@@ -1270,13 +1095,12 @@ void sub_815E658(void)
PRINT_TOWER_TIME(gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0);
}
-void sub_815E720(void)
+static void sub_815E720(void)
{
u8 windowId;
s32 i;
- s32 minutes, seconds, centiseconds;
- sub_815EC0C();
+ ValidateOrResetCurTrainerTowerRecord();
windowId = AddWindow(gUnknown_847A218);
LoadStdWindowFrameGfx();
DrawStdWindowFrame(windowId, FALSE);
@@ -1284,7 +1108,7 @@ void sub_815E720(void)
for (i = 0; i < 4; i++)
{
- PRINT_TOWER_TIME(sub_815EDDC(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk4));
+ PRINT_TOWER_TIME(GetTrainerTowerRecordTime(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk4));
StringExpandPlaceholders(gStringVar4, gUnknown_83FE998);
AddTextPrinterParameterized(windowId, 2, gUnknown_83FE9C4[i - 1], 0x18, 0x24 + 0x14 * i, 0xFF, NULL);
@@ -1296,23 +1120,23 @@ void sub_815E720(void)
VarSet(VAR_0x4001, windowId);
}
-void sub_815E88C(void)
+static void sub_815E88C(void)
{
u8 windowId = VarGet(VAR_0x4001);
ClearStdWindowAndFrameToTransparent(windowId, TRUE);
RemoveWindow(windowId);
}
-void sub_815E8B4(void)
+static void sub_815E8B4(void)
{
gSpecialVar_Result = GetMonsStateToDoubles();
}
-void sub_815E8CC(void)
+static void sub_815E8CC(void)
{
- if (gUnknown_203F458->unk_0004.count != gUnknown_203F458->unk_0004.trainers[0].unk_001)
+ if (sTrainerTowerState->unk_0004.count != sTrainerTowerState->unk_0004.floors[0].floorIdx)
{
- ConvertIntToDecimalStringN(gStringVar1, gUnknown_203F458->unk_0004.count, STR_CONV_MODE_LEFT_ALIGN, 1);
+ ConvertIntToDecimalStringN(gStringVar1, sTrainerTowerState->unk_0004.count, STR_CONV_MODE_LEFT_ALIGN, 1);
gSpecialVar_Result = TRUE;
}
else
@@ -1321,9 +1145,9 @@ void sub_815E8CC(void)
}
}
-void sub_815E908(void)
+static void sub_815E908(void)
{
- if (gMapHeader.mapDataId == 0x0129 && VarGet(VAR_0x4082) == 0)
+ if (gMapHeader.mapDataId == LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_LOBBY && VarGet(VAR_MAP_SCENE_TRAINER_TOWER) == 0)
{
gSpecialVar_Result = FALSE;
}
@@ -1333,20 +1157,20 @@ void sub_815E908(void)
}
}
-void sub_815E948(void)
+static void sub_815E948(void)
{
s32 i;
u16 var_4001 = VarGet(VAR_0x4001);
- u8 r1 = gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[var_4001].unk_00B;
+ u8 r1 = sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[var_4001].facilityClass;
- for (i = 0; i < NELEMS(gUnknown_847A074); i++)
+ for (i = 0; i < NELEMS(sTrainerEncounterMusicLUT); i++)
{
- if (gUnknown_847A074[i].unk0 == gFacilityClassToTrainerClass[r1])
+ if (sTrainerEncounterMusicLUT[i].unk0 == gFacilityClassToTrainerClass[r1])
break;
}
- if (i != NELEMS(gUnknown_847A074))
+ if (i != NELEMS(sTrainerEncounterMusicLUT))
{
- var_4001 = gUnknown_847A074[i].unk1;
+ var_4001 = sTrainerEncounterMusicLUT[i].unk1;
}
else
{
@@ -1355,45 +1179,46 @@ void sub_815E948(void)
PlayNewMapMusic(gUnknown_847A2D2[var_4001]);
}
-void sub_815E9C8(void)
+static void sub_815E9C8(void)
{
gSpecialVar_Result = gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_2;
}
-void sub_815E9FC(void)
+static void BuildEnemyParty(void)
{
- u16 r4 = VarGet(VAR_0x4001);
- s32 r9 = GetPartyMaxLevel();
- u8 r5 = gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk8;
- s32 r6;
- u8 r2;
+ u16 trainerIdx = VarGet(VAR_0x4001);
+ s32 level = GetPartyMaxLevel();
+ u8 floorIdx = gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk8;
+ s32 i;
+ u8 monIdx;
ZeroEnemyPartyMons();
- switch (gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_002)
+ switch (sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].challengeType)
{
- case 0:
- default:
- for (r6 = 0; r6 < 2; r6++)
- {
- r2 = gUnknown_847A2EE[r5][r6];
- gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2].level = r9;
- CreateBattleTowerMon(&gEnemyParty[r6], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2]);
- }
- break;
- case 1:
- r2 = gUnknown_847A2FE[r5][0];
- gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[0].unk_040[r2].level = r9;
- CreateBattleTowerMon(&gEnemyParty[0], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[0].unk_040[r2]);
- r2 = gUnknown_847A2FE[r5][1];
- gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[1].unk_040[r2].level = r9;
- CreateBattleTowerMon(&gEnemyParty[1], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[1].unk_040[r2]);
- break;
- case 2:
- r2 = gUnknown_847A30E[r5][r4];
- gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2].level = r9;
- CreateBattleTowerMon(&gEnemyParty[0], &gUnknown_203F458->unk_0004.trainers[gUnknown_203F458->unk_0000].unk_004[r4].unk_040[r2]);
- break;
+ case 0:
+ default:
+ for (i = 0; i < 2; i++)
+ {
+ monIdx = sSingleBattleChallengeMonIdxs[floorIdx][i];
+ sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[trainerIdx].mons[monIdx].level = level;
+ CreateBattleTowerMon(&gEnemyParty[i], &sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[trainerIdx].mons[monIdx]);
+ }
+ break;
+ case 1:
+ monIdx = sDoubleBattleChallengeMonIdxs[floorIdx][0];
+ sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[0].mons[monIdx].level = level;
+ CreateBattleTowerMon(&gEnemyParty[0], &sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[0].mons[monIdx]);
+
+ monIdx = sDoubleBattleChallengeMonIdxs[floorIdx][1];
+ sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[1].mons[monIdx].level = level;
+ CreateBattleTowerMon(&gEnemyParty[1], &sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[1].mons[monIdx]);
+ break;
+ case 2:
+ monIdx = sKnockoutChallengeMonIdxs[floorIdx][trainerIdx];
+ sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[trainerIdx].mons[monIdx].level = level;
+ CreateBattleTowerMon(&gEnemyParty[0], &sTrainerTowerState->unk_0004.floors[sTrainerTowerState->floorIdx].trainers[trainerIdx].mons[monIdx]);
+ break;
}
}
@@ -1415,12 +1240,12 @@ static s32 GetPartyMaxLevel(void)
return topLevel;
}
-void sub_815EC0C(void)
+static void ValidateOrResetCurTrainerTowerRecord(void)
{
- if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk9 != gUnknown_203F458->unk_0004.id)
+ if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk9 != sTrainerTowerState->unk_0004.id)
{
- gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk9 = gUnknown_203F458->unk_0004.id;
- sub_815EDF4(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk4, 215999);
+ gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk9 = sTrainerTowerState->unk_0004.id;
+ SetTrainerTowerRecordTime(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk4, 215999);
gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_0 = FALSE;
}
}
@@ -1432,12 +1257,12 @@ void PrintTrainerTowerRecords(void)
sub_815DC8C();
FillWindowPixelRect(0, 0, 0, 0, 0xd8, 0x90);
- sub_815EC0C();
+ ValidateOrResetCurTrainerTowerRecord();
AddTextPrinterParameterized3(0, 2, 0x4a, 0, gUnknown_847A22C, 0, gUnknown_83FE982);
for (i = 0; i < 4; i++)
{
- PRINT_TOWER_TIME(sub_815EDDC(&gSaveBlock1Ptr->unkArray[i].unk4));
+ PRINT_TOWER_TIME(GetTrainerTowerRecordTime(&gSaveBlock1Ptr->unkArray[i].unk4));
StringExpandPlaceholders(gStringVar4, gUnknown_83FE998);
AddTextPrinterParameterized3(windowId, 2, 0x18, 0x24 + 0x14 * i, gUnknown_847A22C, 0, gUnknown_83FE9C4[i]);
AddTextPrinterParameterized3(windowId, 2, 0x60, 0x24 + 0x14 * i, gUnknown_847A22C, 0, gStringVar4);
@@ -1448,12 +1273,12 @@ void PrintTrainerTowerRecords(void)
sub_815DD2C();
}
-u32 sub_815EDDC(u32 * counter)
+static u32 GetTrainerTowerRecordTime(u32 *counter)
{
return *counter ^ gSaveBlock2Ptr->encryptionKey;
}
-void sub_815EDF4(u32 * counter, u32 value)
+static void SetTrainerTowerRecordTime(u32 *counter, u32 value)
{
*counter = value ^ gSaveBlock2Ptr->encryptionKey;
}
@@ -1464,6 +1289,6 @@ void ResetTrainerTowerResults(void)
for (i = 0; i < 4; i++)
{
- sub_815EDF4(&gSaveBlock1Ptr->unkArray[i].unk4, 215999);
+ SetTrainerTowerRecordTime(&gSaveBlock1Ptr->unkArray[i].unk4, 215999);
}
}
diff --git a/src/unk_8159F40.c b/src/unk_8159F40.c
index 18892329e..ef21d19d0 100644
--- a/src/unk_8159F40.c
+++ b/src/unk_8159F40.c
@@ -7,36 +7,133 @@
#include "metatile_behavior.h"
#include "link.h"
#include "link_rfu.h"
+#include "constants/species.h"
+#include "constants/moves.h"
+#include "constants/pokemon.h"
-struct UnkStruct_84792D0
+struct PokedudeBattlePartyInfo
{
- u8 field_0;
- u8 field_1;
- u16 field_2;
- u16 field_4[4];
- u8 field_C;
- u8 field_D;
+ u8 side;
+ u8 level;
+ u16 species;
+ u16 moves[4];
+ u8 nature;
+ u8 gender;
+};
+
+static const struct PokedudeBattlePartyInfo sParties_Battle[] = {
+ {
+ .side = 0,
+ .level = 15,
+ .species = SPECIES_RATTATA,
+ .moves = {MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_HYPER_FANG, MOVE_QUICK_ATTACK},
+ .nature = NATURE_LONELY,
+ .gender = MALE
+ },
+ {
+ .side = 1,
+ .level = 18,
+ .species = SPECIES_PIDGEY,
+ .moves = {MOVE_TACKLE, MOVE_SAND_ATTACK, MOVE_GUST, MOVE_QUICK_ATTACK},
+ .nature = NATURE_NAUGHTY,
+ .gender = MALE
+ },
+ {0xFF}
+};
+
+static const struct PokedudeBattlePartyInfo sParties_Status[] = {
+ {
+ .side = 0,
+ .level = 15,
+ .species = SPECIES_RATTATA,
+ .moves = {MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_HYPER_FANG, MOVE_QUICK_ATTACK},
+ .nature = NATURE_LONELY,
+ .gender = MALE
+ },
+ {
+ .side = 1,
+ .level = 14,
+ .species = SPECIES_ODDISH,
+ .moves = {MOVE_ABSORB, MOVE_SWEET_SCENT, MOVE_POISON_POWDER},
+ .nature = NATURE_RASH,
+ .gender = MALE
+ },
+ {0xFF}
+};
+
+static const struct PokedudeBattlePartyInfo sParties_Matchups[] = {
+ {
+ .side = 0,
+ .level = 15,
+ .species = SPECIES_POLIWAG,
+ .moves = {MOVE_WATER_GUN, MOVE_HYPNOSIS, MOVE_BUBBLE},
+ .nature = NATURE_RASH,
+ .gender = MALE
+ },
+ {
+ .side = 0,
+ .level = 15,
+ .species = SPECIES_BUTTERFREE,
+ .moves = {MOVE_CONFUSION, MOVE_POISON_POWDER, MOVE_STUN_SPORE, MOVE_SLEEP_POWDER},
+ .nature = NATURE_RASH,
+ .gender = MALE
+ },
+ {
+ .side = 1,
+ .level = 14,
+ .species = SPECIES_ODDISH,
+ .moves = {MOVE_ABSORB, MOVE_SWEET_SCENT, MOVE_POISON_POWDER},
+ .nature = NATURE_RASH,
+ .gender = MALE
+ },
+ {0xFF}
+};
+
+static const struct PokedudeBattlePartyInfo sParties_Catching[] = {
+ {
+ .side = 0,
+ .level = 15,
+ .species = SPECIES_BUTTERFREE,
+ .moves = {MOVE_CONFUSION, MOVE_POISON_POWDER, MOVE_SLEEP_POWDER, MOVE_STUN_SPORE},
+ .nature = NATURE_RASH,
+ .gender = MALE
+ },
+ {
+ .side = 1,
+ .level = 11,
+ .species = SPECIES_JIGGLYPUFF,
+ .moves = {MOVE_SING, MOVE_DEFENSE_CURL, MOVE_POUND},
+ .nature = NATURE_CAREFUL,
+ .gender = MALE
+ },
+ {0xFF}
};
-extern const struct UnkStruct_84792D0 *const gUnknown_84792D0[];
-void sub_8159F40(void)
+static const struct PokedudeBattlePartyInfo *const sPokedudeBattlePartyPointers[] = {
+ sParties_Battle,
+ sParties_Status,
+ sParties_Matchups,
+ sParties_Catching
+};
+
+void InitPokedudePartyAndOpponent(void)
{
s32 i, j;
- struct Pokemon *mon;
+ struct Pokemon * mon;
s32 myIdx = 0;
s32 opIdx = 0;
- const struct UnkStruct_84792D0 * data;
+ const struct PokedudeBattlePartyInfo * data;
gBattleTypeFlags = BATTLE_TYPE_POKEDUDE;
ZeroPlayerPartyMons();
ZeroEnemyPartyMons();
- data = gUnknown_84792D0[gSpecialVar_0x8004];
+ data = sPokedudeBattlePartyPointers[gSpecialVar_0x8004];
i = 0;
do
{
- if (data[i].field_0 == 0)
+ if (data[i].side == 0)
{
mon = &gPlayerParty[myIdx];
myIdx++;
@@ -46,15 +143,17 @@ void sub_8159F40(void)
mon = &gEnemyParty[opIdx];
opIdx++;
}
- CreateMonWithGenderNatureLetter(mon, data[i].field_2, data[i].field_1, 0, data[i].field_D, data[i].field_C, 0);
+ CreateMonWithGenderNatureLetter(mon, data[i].species, data[i].level, 0, data[i].gender, data[i].nature, 0);
for (j = 0; j < 4; j++)
{
- SetMonMoveSlot(mon, data[i].field_4[j], j);
+ SetMonMoveSlot(mon, data[i].moves[j], j);
}
i++;
- } while (data[i].field_0 != 0xFF);
+ } while (data[i].side != 0xFF);
}
+// file boundary?
+
void sub_815A008(struct QuestLog * questLog)
{
u32 i;
@@ -614,7 +713,7 @@ void sub_815A540(void)
PlayerGetDestCoords(&x, &y);
if (!MetatileBehavior_IsSurfable(MapGridGetMetatileBehaviorAt(x, y)) && TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
{
- struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId];
+ struct MapObject * mapObject = &gMapObjects[gPlayerAvatar.mapObjectId];
SetPlayerAvatarTransitionFlags(0x01);
DestroySprite(&gSprites[mapObject->mapobj_unk_1A]);
}
diff --git a/src/vs_seeker.c b/src/vs_seeker.c
index 15dc30234..8b916410a 100644
--- a/src/vs_seeker.c
+++ b/src/vs_seeker.c
@@ -22,8 +22,11 @@
#include "map_obj_80688E4.h"
#include "map_obj_8097404.h"
#include "unk_810c3a4.h"
-#include "constants/movement_commands.h"
#include "vs_seeker.h"
+#include "constants/movement_commands.h"
+#include "constants/map_objects.h"
+#include "constants/trainers.h"
+#include "constants/maps.h"
typedef enum
{
@@ -97,448 +100,448 @@ static void StartAllRespondantIdleMovements(void);
// rodata
static const VsSeekerData sVsSeekerData[] = {
- { {0x0059, 0x0065, 0xffff, 0x01f2, 0x01f3, 0x0000},
- 0x0003, 0x0015 },
- { {0x005a, 0x005a, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0015 },
- { {0x0069, 0x02d9, 0xffff, 0x02da, 0xffff, 0x02db},
- 0x0003, 0x0015 },
- { {0x006a, 0x006a, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0015 },
- { {0x006b, 0x006b, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0015 },
- { {0x0074, 0x01fb, 0xffff, 0x01fc, 0x0000, 0x0000},
- 0x0003, 0x0015 },
- { {0x0075, 0x0075, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0015 },
- { {0x0076, 0x0076, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0015 },
- { {0x0077, 0x0077, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0016 },
- { {0x005c, 0x01f7, 0xffff, 0x01f8, 0xffff, 0x01f9},
- 0x0003, 0x002b },
- { {0x006e, 0x006e, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x002b },
- { {0x007a, 0x01f5, 0xffff, 0x01f6, 0x0000, 0x0000},
- 0x0003, 0x002b },
- { {0x007b, 0x007b, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x002b },
- { {0x008f, 0x008f, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x002b },
- { {0x0090, 0x0090, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x002b },
- { {0x005d, 0x005d, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x002c },
- { {0x005e, 0x005e, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x002c },
- { {0x005f, 0x01f4, 0xffff, 0x01fa, 0x01fd, 0x0000},
- 0x0003, 0x002c },
- { {0x0099, 0x026d, 0xffff, 0x026e, 0x026f, 0x0000},
- 0x0003, 0x002c },
- { {0x007d, 0x007d, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x002c },
- { {0x00b6, 0xffff, 0x01fe, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x002c },
- { {0x00b7, 0x00b7, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x002c },
- { {0x00b8, 0x00b8, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x002c },
- { {0x01d7, 0x01d7, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x002c },
- { {0x006f, 0x006f, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0018 },
- { {0x0070, 0x0070, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0018 },
- { {0x0091, 0x0270, 0xffff, 0x0271, 0xffff, 0x0272},
- 0x0003, 0x0018 },
- { {0x0092, 0x0273, 0xffff, 0x0274, 0xffff, 0x0275},
- 0x0003, 0x0018 },
- { {0x0097, 0x0097, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0018 },
- { {0x0098, 0x0276, 0xffff, 0x0277, 0x0278, 0x0000},
- 0x0003, 0x0018 },
- { {0x0061, 0x0061, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001d },
- { {0x0062, 0x0062, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001d },
- { {0x0063, 0xffff, 0x0279, 0xffff, 0x027a, 0x0000},
- 0x0003, 0x001d },
- { {0x0064, 0x0064, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001d },
- { {0x00dd, 0x00dd, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001d },
- { {0x00de, 0xffff, 0xffff, 0x027b, 0x0000, 0x0000},
- 0x0003, 0x001d },
- { {0x0102, 0x0102, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001d },
- { {0x0103, 0x0103, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001d },
- { {0x0104, 0x0104, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001d },
- { {0x0105, 0xffff, 0xffff, 0x027c, 0x0000, 0x0000},
- 0x0003, 0x001d },
- { {0x0072, 0x0072, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001b },
- { {0x0073, 0x0073, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001b },
- { {0x0094, 0xffff, 0x027d, 0x027e, 0xffff, 0x027f},
- 0x0003, 0x001b },
- { {0x0095, 0x0095, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001b },
- { {0x009a, 0xffff, 0x0280, 0x0281, 0xffff, 0x0282},
- 0x0003, 0x001b },
- { {0x009b, 0x009b, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001b },
- { {0x00b9, 0x00b9, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001b },
- { {0x00ba, 0x00ba, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001b },
- { {0x01d1, 0xffff, 0xffff, 0x0283, 0x0000, 0x0000},
- 0x0003, 0x001b },
- { {0x009c, 0x009c, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001c },
- { {0x009d, 0x009d, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001c },
- { {0x00a2, 0xffff, 0xffff, 0x0252, 0xffff, 0x0284},
- 0x0003, 0x001c },
- { {0x00a3, 0xffff, 0xffff, 0x0285, 0xffff, 0x0286},
- 0x0003, 0x001c },
- { {0x00bb, 0x00bb, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001c },
- { {0x00bc, 0xffff, 0xffff, 0x0287, 0x0000, 0x0000},
- 0x0003, 0x001c },
- { {0x0080, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001a },
- { {0x0081, 0x0081, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001a },
- { {0x0082, 0xffff, 0x0288, 0xffff, 0x0289, 0x0000},
- 0x0003, 0x001a },
- { {0x0083, 0x0083, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001a },
- { {0x00ab, 0x00ab, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001a },
- { {0x00ac, 0xffff, 0xffff, 0x028a, 0x0000, 0x0000},
- 0x0003, 0x001a },
- { {0x00ad, 0x00ad, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001a },
- { {0x0106, 0x0106, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001a },
- { {0x0108, 0xffff, 0xffff, 0x028b, 0x0000, 0x0000},
- 0x0003, 0x001a },
- { {0x01e4, 0xffff, 0xffff, 0x0215, 0x0000, 0x0000},
- 0x0003, 0x001a },
- { {0x0217, 0x0217, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001a },
- { {0x0218, 0xffff, 0xffff, 0x028c, 0x0000, 0x0000},
- 0x0003, 0x001a },
- { {0x00e1, 0x00e1, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001e },
- { {0x00e2, 0x00e2, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001e },
- { {0x00e3, 0x00e3, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001e },
- { {0x00e4, 0xffff, 0xffff, 0x028d, 0x0000, 0x0000},
- 0x0003, 0x001e },
- { {0x00e9, 0x00e9, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001e },
- { {0x011d, 0xffff, 0xffff, 0x028e, 0x0000, 0x0000},
- 0x0003, 0x001e },
- { {0x01dd, 0x01dd, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001e },
- { {0x01e6, 0xffff, 0xffff, 0x02c2, 0xffff, 0x02c3},
- 0x0003, 0x001e },
- { {0x00c3, 0x00c3, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001f },
- { {0x010c, 0x010c, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001f },
- { {0x010d, 0xffff, 0xffff, 0xffff, 0x028f, 0x0000},
- 0x0003, 0x001f },
- { {0x012c, 0x012c, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001f },
- { {0x012d, 0x012d, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001f },
- { {0x012e, 0xffff, 0xffff, 0x0290, 0x0291, 0x0000},
- 0x0003, 0x001f },
- { {0x01d2, 0x01d2, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001f },
- { {0x01d3, 0xffff, 0xffff, 0x0292, 0x0293, 0x0294},
- 0x0003, 0x001f },
- { {0x01d4, 0x01d4, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001f },
- { {0x01d5, 0x01d5, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x001f },
- { {0x00c4, 0x00c4, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0020 },
- { {0x00cf, 0xffff, 0xffff, 0xffff, 0x0295, 0x0000},
- 0x0003, 0x0020 },
- { {0x00d0, 0x00d0, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0020 },
- { {0x00d1, 0x00d1, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0020 },
- { {0x012f, 0x012f, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0020 },
- { {0x0130, 0xffff, 0xffff, 0x0296, 0x0297, 0x0000},
- 0x0003, 0x0020 },
- { {0x0139, 0x0139, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0020 },
- { {0x013a, 0x013a, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0020 },
- { {0x013b, 0x013b, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0020 },
- { {0x013c, 0xffff, 0xffff, 0x0298, 0x0299, 0x0000},
- 0x0003, 0x0020 },
- { {0x01e7, 0x01e7, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0020 },
- { {0x00c5, 0x00c5, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0021 },
- { {0x00c6, 0x00c6, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0021 },
- { {0x0111, 0xffff, 0xffff, 0xffff, 0x029a, 0x0000},
- 0x0003, 0x0021 },
- { {0x0112, 0x0112, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0021 },
- { {0x0131, 0x0131, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0021 },
- { {0x0132, 0xffff, 0xffff, 0x029b, 0x029c, 0x0000},
- 0x0003, 0x0021 },
- { {0x01de, 0x01de, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0021 },
- { {0x01df, 0x01df, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0021 },
- { {0x01e0, 0xffff, 0xffff, 0x029d, 0x029e, 0x029f},
- 0x0003, 0x0021 },
- { {0x01e1, 0x01e1, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0021 },
- { {0x01e8, 0xffff, 0xffff, 0x02a0, 0x02a1, 0x02a2},
- 0x0003, 0x0021 },
- { {0x00c7, 0x00c7, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0022 },
- { {0x00c9, 0x00c9, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0022 },
- { {0x00ca, 0xffff, 0xffff, 0xffff, 0x02a3, 0x0000},
- 0x0003, 0x0022 },
- { {0x00f9, 0x00f9, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0022 },
- { {0x00fa, 0x00fa, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0022 },
- { {0x00fb, 0xffff, 0xffff, 0xffff, 0x02a4, 0x0000},
- 0x0003, 0x0022 },
- { {0x01e9, 0x01e9, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0022 },
- { {0x00cb, 0x00cb, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0023 },
- { {0x00cc, 0x00cc, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0023 },
- { {0x00cd, 0xffff, 0xffff, 0xffff, 0x02a5, 0x0000},
- 0x0003, 0x0023 },
- { {0x00ce, 0x00ce, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0023 },
- { {0x00fc, 0x00fc, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0023 },
- { {0x00fd, 0xffff, 0xffff, 0xffff, 0x02a6, 0x0000},
- 0x0003, 0x0023 },
- { {0x00fe, 0x00fe, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0023 },
- { {0x00ff, 0x00ff, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0023 },
- { {0x0100, 0xffff, 0xffff, 0xffff, 0x02a7, 0x0000},
- 0x0003, 0x0023 },
- { {0x01d6, 0x01d6, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0023 },
- { {0x0133, 0x0133, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0024 },
- { {0x0134, 0x0134, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0024 },
- { {0x0135, 0xffff, 0xffff, 0x02a8, 0x02a9, 0x0000},
- 0x0003, 0x0024 },
- { {0x00eb, 0x00eb, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0025 },
- { {0x00ec, 0x00ec, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0025 },
- { {0x00ed, 0xffff, 0xffff, 0xffff, 0x02dc, 0x0000},
- 0x0003, 0x0025 },
- { {0x00ee, 0x00ee, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0025 },
- { {0x00ef, 0x00ef, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0025 },
- { {0x00f0, 0xffff, 0xffff, 0xffff, 0x02dd, 0x0000},
- 0x0003, 0x0025 },
- { {0x00f1, 0x00f1, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0025 },
- { {0x0114, 0x0114, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0025 },
- { {0x0115, 0xffff, 0xffff, 0xffff, 0x02aa, 0x0000},
- 0x0003, 0x0025 },
- { {0x0116, 0x0116, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0025 },
- { {0x01ea, 0x01ea, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0025 },
- { {0x00f2, 0x00f2, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0026 },
- { {0x00f3, 0x00f3, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0026 },
- { {0x00f4, 0xffff, 0xffff, 0xffff, 0xffff, 0x02ab},
- 0x0003, 0x0026 },
- { {0x010e, 0x010e, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0026 },
- { {0x010f, 0x010f, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0026 },
- { {0x0110, 0xffff, 0xffff, 0xffff, 0x02de, 0x0000},
- 0x0003, 0x0026 },
- { {0x0117, 0x0117, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0026 },
- { {0x0136, 0x0136, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0026 },
- { {0x01d8, 0xffff, 0xffff, 0xffff, 0x02ac, 0x02ad},
- 0x0003, 0x0026 },
- { {0x01d9, 0x01d9, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0026 },
- { {0x00e5, 0x00e5, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0027 },
- { {0x00e6, 0x00e6, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0027 },
- { {0x00e7, 0xffff, 0xffff, 0xffff, 0x02ae, 0x0000},
- 0x0003, 0x0027 },
- { {0x00e8, 0x00e8, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0027 },
- { {0x00f5, 0x00f5, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0027 },
- { {0x00f6, 0xffff, 0xffff, 0xffff, 0x02af, 0x0000},
- 0x0003, 0x0027 },
- { {0x00f7, 0x00f7, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0027 },
- { {0x00f8, 0x00f8, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0027 },
- { {0x01eb, 0xffff, 0xffff, 0xffff, 0x02b0, 0x02b1},
- 0x0003, 0x0027 },
- { {0x0223, 0x0223, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x002d },
- { {0x0224, 0x0224, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x002d },
- { {0x0225, 0xffff, 0xffff, 0xffff, 0x02b2, 0x0000},
- 0x0003, 0x002d },
- { {0x0226, 0x0226, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x002d },
- { {0x0227, 0x0227, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x002d },
- { {0x0206, 0xffff, 0xffff, 0xffff, 0x02b3, 0x02b4},
- 0x0003, 0x002d },
- { {0x0228, 0xffff, 0xffff, 0xffff, 0x02b5, 0x02b6},
- 0x0003, 0x002d },
- { {0x0229, 0xffff, 0xffff, 0xffff, 0x02b7, 0x02b8},
- 0x0003, 0x002d },
- { {0x022a, 0xffff, 0xffff, 0xffff, 0x02b9, 0x02ba},
- 0x0003, 0x002d },
- { {0x022b, 0x022b, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x002d },
- { {0x022c, 0x022c, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x002d },
- { {0x022d, 0xffff, 0xffff, 0xffff, 0x02bb, 0x02bc},
- 0x0003, 0x002d },
- { {0x0222, 0x0222, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x002e },
- { {0x020b, 0x020b, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0030 },
- { {0x022e, 0x022e, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0030 },
- { {0x0207, 0xffff, 0xffff, 0xffff, 0x02bd, 0x0000},
- 0x0003, 0x0030 },
- { {0x022f, 0x022f, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0030 },
- { {0x0231, 0x0231, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0030 },
- { {0x0230, 0xffff, 0xffff, 0xffff, 0x02be, 0x0000},
- 0x0003, 0x0030 },
- { {0x020e, 0x020e, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0036 },
- { {0x0232, 0x0232, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0036 },
- { {0x0233, 0xffff, 0xffff, 0xffff, 0xffff, 0x02bf},
- 0x0003, 0x0036 },
- { {0x020d, 0x020d, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0036 },
- { {0x0234, 0x0234, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0036 },
- { {0x0235, 0xffff, 0xffff, 0xffff, 0xffff, 0x02c0},
- 0x0003, 0x0036 },
- { {0x0236, 0x0236, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0036 },
- { {0x0208, 0xffff, 0xffff, 0xffff, 0xffff, 0x02c1},
- 0x0003, 0x0037 },
- { {0x023a, 0xffff, 0xffff, 0xffff, 0xffff, 0x02c4},
- 0x0003, 0x0039 },
- { {0x023b, 0xffff, 0xffff, 0xffff, 0xffff, 0x02c5},
- 0x0003, 0x0039 },
- { {0x023c, 0xffff, 0xffff, 0xffff, 0xffff, 0x02c6},
- 0x0003, 0x0039 },
- { {0x023d, 0x023d, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x003a },
- { {0x023e, 0x023e, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x003a },
- { {0x023f, 0xffff, 0xffff, 0xffff, 0xffff, 0x02c7},
- 0x0003, 0x003a },
- { {0x0240, 0x0240, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x003a },
- { {0x0205, 0xffff, 0xffff, 0xffff, 0xffff, 0x02c8},
- 0x0003, 0x003b },
- { {0x0241, 0x0241, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x003c },
- { {0x0123, 0x0123, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x003c },
- { {0x0242, 0xffff, 0xffff, 0xffff, 0xffff, 0x02c9},
- 0x0003, 0x003c },
- { {0x0243, 0x0243, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x003c },
- { {0x0244, 0x0244, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x003c },
- { {0x0245, 0xffff, 0xffff, 0xffff, 0xffff, 0x02ca},
- 0x0003, 0x003c },
- { {0x020c, 0x020c, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x003d },
- { {0x0246, 0x0246, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x003d },
- { {0x0247, 0xffff, 0xffff, 0xffff, 0xffff, 0x02cb},
- 0x0003, 0x003d },
- { {0x0248, 0x0248, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x003d },
- { {0x0249, 0xffff, 0xffff, 0xffff, 0xffff, 0x02cc},
- 0x0003, 0x003d },
- { {0x024a, 0xffff, 0xffff, 0xffff, 0xffff, 0x02cd},
- 0x0003, 0x003e },
- { {0x024b, 0xffff, 0xffff, 0xffff, 0xffff, 0x02ce},
- 0x0003, 0x003e },
- { {0x024c, 0x024c, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x003f },
- { {0x024d, 0x024d, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x003f },
- { {0x024e, 0xffff, 0xffff, 0xffff, 0xffff, 0x02cf},
- 0x0003, 0x003f },
- { {0x0209, 0xffff, 0xffff, 0xffff, 0xffff, 0x02d0},
- 0x0003, 0x003f },
- { {0x020a, 0xffff, 0xffff, 0xffff, 0xffff, 0x02d1},
- 0x0003, 0x003f },
- { {0x024f, 0xffff, 0xffff, 0xffff, 0xffff, 0x02d2},
- 0x0003, 0x0040 },
- { {0x0251, 0xffff, 0xffff, 0xffff, 0xffff, 0x02d3},
- 0x0003, 0x0040 },
- { {0x0254, 0xffff, 0xffff, 0xffff, 0xffff, 0x02d4},
- 0x0003, 0x0040 },
- { {0x0256, 0xffff, 0xffff, 0xffff, 0xffff, 0x02d5},
- 0x0003, 0x0040 },
- { {0x0257, 0xffff, 0xffff, 0xffff, 0xffff, 0x02d6},
- 0x0003, 0x0040 },
- { {0x0258, 0xffff, 0xffff, 0xffff, 0xffff, 0x02d7},
- 0x0003, 0x0040 },
- { {0x0259, 0xffff, 0xffff, 0xffff, 0xffff, 0x02d8},
- 0x0003, 0x0040 },
- { {0x025a, 0x025a, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0041 },
- { {0x025b, 0x025b, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0041 },
- { {0x025c, 0x025c, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0041 },
- { {0x025d, 0x025d, 0x0000, 0x0000, 0x0000, 0x0000},
- 0x0003, 0x0041 }
+ { {TRAINER_YOUNGSTER_BEN, TRAINER_YOUNGSTER_BEN_2, 0xFFFF, TRAINER_YOUNGSTER_BEN_3, TRAINER_YOUNGSTER_BEN_4},
+ MAP_GROUP(ROUTE3), MAP_NUM(ROUTE3) },
+ { {TRAINER_YOUNGSTER_CALVIN, TRAINER_YOUNGSTER_CALVIN},
+ MAP_GROUP(ROUTE3), MAP_NUM(ROUTE3) },
+ { {TRAINER_BUG_CATCHER_COLTON, TRAINER_BUG_CATCHER_COLTON_2, 0xFFFF, TRAINER_BUG_CATCHER_COLTON_3, 0xFFFF, TRAINER_BUG_CATCHER_COLTON_4},
+ MAP_GROUP(ROUTE3), MAP_NUM(ROUTE3) },
+ { {TRAINER_BUG_CATCHER_GREG, TRAINER_BUG_CATCHER_GREG},
+ MAP_GROUP(ROUTE3), MAP_NUM(ROUTE3) },
+ { {TRAINER_BUG_CATCHER_JAMES, TRAINER_BUG_CATCHER_JAMES},
+ MAP_GROUP(ROUTE3), MAP_NUM(ROUTE3) },
+ { {TRAINER_LASS_JANICE, TRAINER_LASS_JANICE_2, 0xFFFF, TRAINER_LASS_JANICE_3},
+ MAP_GROUP(ROUTE3), MAP_NUM(ROUTE3) },
+ { {TRAINER_LASS_SALLY, TRAINER_LASS_SALLY},
+ MAP_GROUP(ROUTE3), MAP_NUM(ROUTE3) },
+ { {TRAINER_LASS_ROBIN, TRAINER_LASS_ROBIN},
+ MAP_GROUP(ROUTE3), MAP_NUM(ROUTE3) },
+ { {TRAINER_LASS_CRISSY, TRAINER_LASS_CRISSY},
+ MAP_GROUP(ROUTE4), MAP_NUM(ROUTE4) },
+ { {TRAINER_YOUNGSTER_TIMMY, TRAINER_YOUNGSTER_TIMMY_2, 0xFFFF, TRAINER_YOUNGSTER_TIMMY_3, 0xFFFF, TRAINER_YOUNGSTER_TIMMY_4},
+ MAP_GROUP(ROUTE24), MAP_NUM(ROUTE24) },
+ { {TRAINER_BUG_CATCHER_CALE, TRAINER_BUG_CATCHER_CALE},
+ MAP_GROUP(ROUTE24), MAP_NUM(ROUTE24) },
+ { {TRAINER_LASS_RELI, TRAINER_LASS_RELI_2, 0xFFFF, TRAINER_LASS_RELI_3},
+ MAP_GROUP(ROUTE24), MAP_NUM(ROUTE24) },
+ { {TRAINER_LASS_ALI, TRAINER_LASS_ALI},
+ MAP_GROUP(ROUTE24), MAP_NUM(ROUTE24) },
+ { {TRAINER_CAMPER_SHANE, TRAINER_CAMPER_SHANE},
+ MAP_GROUP(ROUTE24), MAP_NUM(ROUTE24) },
+ { {TRAINER_CAMPER_ETHAN, TRAINER_CAMPER_ETHAN},
+ MAP_GROUP(ROUTE24), MAP_NUM(ROUTE24) },
+ { {TRAINER_YOUNGSTER_JOEY, TRAINER_YOUNGSTER_JOEY},
+ MAP_GROUP(ROUTE25), MAP_NUM(ROUTE25) },
+ { {TRAINER_YOUNGSTER_DAN, TRAINER_YOUNGSTER_DAN},
+ MAP_GROUP(ROUTE25), MAP_NUM(ROUTE25) },
+ { {TRAINER_YOUNGSTER_CHAD, TRAINER_YOUNGSTER_CHAD_2, 0xFFFF, TRAINER_YOUNGSTER_CHAD_3, TRAINER_YOUNGSTER_CHAD_4},
+ MAP_GROUP(ROUTE25), MAP_NUM(ROUTE25) },
+ { {TRAINER_PICNICKER_KELSEY, TRAINER_PICNICKER_KELSEY_2, 0xFFFF, TRAINER_PICNICKER_KELSEY_3, TRAINER_PICNICKER_KELSEY_4},
+ MAP_GROUP(ROUTE25), MAP_NUM(ROUTE25) },
+ { {TRAINER_LASS_HALEY, TRAINER_LASS_HALEY},
+ MAP_GROUP(ROUTE25), MAP_NUM(ROUTE25) },
+ { {TRAINER_HIKER_FRANKLIN, 0xFFFF, TRAINER_HIKER_FRANKLIN_2},
+ MAP_GROUP(ROUTE25), MAP_NUM(ROUTE25) },
+ { {TRAINER_HIKER_NOB, TRAINER_HIKER_NOB},
+ MAP_GROUP(ROUTE25), MAP_NUM(ROUTE25) },
+ { {TRAINER_HIKER_WAYNE, TRAINER_HIKER_WAYNE},
+ MAP_GROUP(ROUTE25), MAP_NUM(ROUTE25) },
+ { {TRAINER_CAMPER_FLINT, TRAINER_CAMPER_FLINT},
+ MAP_GROUP(ROUTE25), MAP_NUM(ROUTE25) },
+ { {TRAINER_BUG_CATCHER_KEIGO, TRAINER_BUG_CATCHER_KEIGO},
+ MAP_GROUP(ROUTE6), MAP_NUM(ROUTE6) },
+ { {TRAINER_BUG_CATCHER_ELIJAH, TRAINER_BUG_CATCHER_ELIJAH},
+ MAP_GROUP(ROUTE6), MAP_NUM(ROUTE6) },
+ { {TRAINER_CAMPER_RICKY, TRAINER_CAMPER_RICKY_2, 0xFFFF, TRAINER_CAMPER_RICKY_3, 0xFFFF, TRAINER_CAMPER_RICKY_4},
+ MAP_GROUP(ROUTE6), MAP_NUM(ROUTE6) },
+ { {TRAINER_CAMPER_JEFF, TRAINER_CAMPER_JEFF_2, 0xFFFF, TRAINER_CAMPER_JEFF_3, 0xFFFF, TRAINER_CAMPER_JEFF_4},
+ MAP_GROUP(ROUTE6), MAP_NUM(ROUTE6) },
+ { {TRAINER_PICNICKER_NANCY, TRAINER_PICNICKER_NANCY},
+ MAP_GROUP(ROUTE6), MAP_NUM(ROUTE6) },
+ { {TRAINER_PICNICKER_ISABELLE, TRAINER_PICNICKER_ISABELLE_2, 0xFFFF, TRAINER_PICNICKER_ISABELLE_3, TRAINER_PICNICKER_ISABELLE_4},
+ MAP_GROUP(ROUTE6), MAP_NUM(ROUTE6) },
+ { {TRAINER_YOUNGSTER_EDDIE, TRAINER_YOUNGSTER_EDDIE},
+ MAP_GROUP(ROUTE11), MAP_NUM(ROUTE11) },
+ { {TRAINER_YOUNGSTER_DILLON, TRAINER_YOUNGSTER_DILLON},
+ MAP_GROUP(ROUTE11), MAP_NUM(ROUTE11) },
+ { {TRAINER_YOUNGSTER_YASU, 0xFFFF, TRAINER_YOUNGSTER_YASU_2, 0xFFFF, TRAINER_YOUNGSTER_YASU_3},
+ MAP_GROUP(ROUTE11), MAP_NUM(ROUTE11) },
+ { {TRAINER_YOUNGSTER_DAVE, TRAINER_YOUNGSTER_DAVE},
+ MAP_GROUP(ROUTE11), MAP_NUM(ROUTE11) },
+ { {TRAINER_ENGINEER_BRAXTON, TRAINER_ENGINEER_BRAXTON},
+ MAP_GROUP(ROUTE11), MAP_NUM(ROUTE11) },
+ { {TRAINER_ENGINEER_BERNIE, 0xFFFF, 0xFFFF, TRAINER_ENGINEER_BERNIE_2},
+ MAP_GROUP(ROUTE11), MAP_NUM(ROUTE11) },
+ { {TRAINER_GAMER_HUGO, TRAINER_GAMER_HUGO},
+ MAP_GROUP(ROUTE11), MAP_NUM(ROUTE11) },
+ { {TRAINER_GAMER_JASPER, TRAINER_GAMER_JASPER},
+ MAP_GROUP(ROUTE11), MAP_NUM(ROUTE11) },
+ { {TRAINER_GAMER_DIRK, TRAINER_GAMER_DIRK},
+ MAP_GROUP(ROUTE11), MAP_NUM(ROUTE11) },
+ { {TRAINER_GAMER_DARIAN, 0xFFFF, 0xFFFF, TRAINER_GAMER_DARIAN_2},
+ MAP_GROUP(ROUTE11), MAP_NUM(ROUTE11) },
+ { {TRAINER_BUG_CATCHER_BRENT, TRAINER_BUG_CATCHER_BRENT},
+ MAP_GROUP(ROUTE9), MAP_NUM(ROUTE9) },
+ { {TRAINER_BUG_CATCHER_CONNER, TRAINER_BUG_CATCHER_CONNER},
+ MAP_GROUP(ROUTE9), MAP_NUM(ROUTE9) },
+ { {TRAINER_CAMPER_CHRIS, 0xFFFF, TRAINER_CAMPER_CHRIS_2, TRAINER_CAMPER_CHRIS_3, 0xFFFF, TRAINER_CAMPER_CHRIS_4},
+ MAP_GROUP(ROUTE9), MAP_NUM(ROUTE9) },
+ { {TRAINER_CAMPER_DREW, TRAINER_CAMPER_DREW},
+ MAP_GROUP(ROUTE9), MAP_NUM(ROUTE9) },
+ { {TRAINER_PICNICKER_ALICIA, 0xFFFF, TRAINER_PICNICKER_ALICIA_2, TRAINER_PICNICKER_ALICIA_3, 0xFFFF, TRAINER_PICNICKER_ALICIA_4},
+ MAP_GROUP(ROUTE9), MAP_NUM(ROUTE9) },
+ { {TRAINER_PICNICKER_CAITLIN, TRAINER_PICNICKER_CAITLIN},
+ MAP_GROUP(ROUTE9), MAP_NUM(ROUTE9) },
+ { {TRAINER_HIKER_ALAN, TRAINER_HIKER_ALAN},
+ MAP_GROUP(ROUTE9), MAP_NUM(ROUTE9) },
+ { {TRAINER_HIKER_BRICE, TRAINER_HIKER_BRICE},
+ MAP_GROUP(ROUTE9), MAP_NUM(ROUTE9) },
+ { {TRAINER_HIKER_JEREMY, 0xFFFF, 0xFFFF, TRAINER_HIKER_JEREMY_2},
+ MAP_GROUP(ROUTE9), MAP_NUM(ROUTE9) },
+ { {TRAINER_PICNICKER_HEIDI, TRAINER_PICNICKER_HEIDI},
+ MAP_GROUP(ROUTE10), MAP_NUM(ROUTE10) },
+ { {TRAINER_PICNICKER_CAROL, TRAINER_PICNICKER_CAROL},
+ MAP_GROUP(ROUTE10), MAP_NUM(ROUTE10) },
+ { {TRAINER_POKEMANIAC_MARK, 0xFFFF, 0xFFFF, TRAINER_POKEMANIAC_MARK_2, 0xFFFF, TRAINER_POKEMANIAC_MARK_3},
+ MAP_GROUP(ROUTE10), MAP_NUM(ROUTE10) },
+ { {TRAINER_POKEMANIAC_HERMAN, 0xFFFF, 0xFFFF, TRAINER_POKEMANIAC_HERMAN_2, 0xFFFF, TRAINER_POKEMANIAC_HERMAN_3},
+ MAP_GROUP(ROUTE10), MAP_NUM(ROUTE10) },
+ { {TRAINER_HIKER_CLARK, TRAINER_HIKER_CLARK},
+ MAP_GROUP(ROUTE10), MAP_NUM(ROUTE10) },
+ { {TRAINER_HIKER_TRENT, 0xFFFF, 0xFFFF, TRAINER_HIKER_TRENT_2},
+ MAP_GROUP(ROUTE10), MAP_NUM(ROUTE10) },
+ { {TRAINER_LASS_PAIGE, TRAINER_LASS_PAIGE},
+ MAP_GROUP(ROUTE8), MAP_NUM(ROUTE8) },
+ { {TRAINER_LASS_ANDREA, TRAINER_LASS_ANDREA},
+ MAP_GROUP(ROUTE8), MAP_NUM(ROUTE8) },
+ { {TRAINER_LASS_MEGAN, 0xFFFF, TRAINER_LASS_MEGAN_2, 0xFFFF, TRAINER_LASS_MEGAN_3},
+ MAP_GROUP(ROUTE8), MAP_NUM(ROUTE8) },
+ { {TRAINER_LASS_JULIA, TRAINER_LASS_JULIA},
+ MAP_GROUP(ROUTE8), MAP_NUM(ROUTE8) },
+ { {TRAINER_SUPER_NERD_AIDAN, TRAINER_SUPER_NERD_AIDAN},
+ MAP_GROUP(ROUTE8), MAP_NUM(ROUTE8) },
+ { {TRAINER_SUPER_NERD_GLENN, 0xFFFF, 0xFFFF, TRAINER_SUPER_NERD_GLENN_2},
+ MAP_GROUP(ROUTE8), MAP_NUM(ROUTE8) },
+ { {TRAINER_SUPER_NERD_LESLIE, TRAINER_SUPER_NERD_LESLIE},
+ MAP_GROUP(ROUTE8), MAP_NUM(ROUTE8) },
+ { {TRAINER_GAMER_STAN, TRAINER_GAMER_STAN},
+ MAP_GROUP(ROUTE8), MAP_NUM(ROUTE8) },
+ { {TRAINER_GAMER_RICH, 0xFFFF, 0xFFFF, TRAINER_GAMER_RICH_2},
+ MAP_GROUP(ROUTE8), MAP_NUM(ROUTE8) },
+ { {TRAINER_TWINS_ELI_ANNE, 0xFFFF, 0xFFFF, TRAINER_TWINS_ELI_ANNE_2},
+ MAP_GROUP(ROUTE8), MAP_NUM(ROUTE8) },
+ { {TRAINER_BIKER_RICARDO, TRAINER_BIKER_RICARDO},
+ MAP_GROUP(ROUTE8), MAP_NUM(ROUTE8) },
+ { {TRAINER_BIKER_JAREN, 0xFFFF, 0xFFFF, TRAINER_BIKER_JAREN_2},
+ MAP_GROUP(ROUTE8), MAP_NUM(ROUTE8) },
+ { {TRAINER_FISHERMAN_NED, TRAINER_FISHERMAN_NED},
+ MAP_GROUP(ROUTE12), MAP_NUM(ROUTE12) },
+ { {TRAINER_FISHERMAN_CHIP, TRAINER_FISHERMAN_CHIP},
+ MAP_GROUP(ROUTE12), MAP_NUM(ROUTE12) },
+ { {TRAINER_FISHERMAN_HANK, TRAINER_FISHERMAN_HANK},
+ MAP_GROUP(ROUTE12), MAP_NUM(ROUTE12) },
+ { {TRAINER_FISHERMAN_ELLIOT, 0xFFFF, 0xFFFF, TRAINER_FISHERMAN_ELLIOT_2},
+ MAP_GROUP(ROUTE12), MAP_NUM(ROUTE12) },
+ { {TRAINER_FISHERMAN_ANDREW, TRAINER_FISHERMAN_ANDREW},
+ MAP_GROUP(ROUTE12), MAP_NUM(ROUTE12) },
+ { {TRAINER_ROCKER_LUCA, 0xFFFF, 0xFFFF, TRAINER_ROCKER_LUCA_2},
+ MAP_GROUP(ROUTE12), MAP_NUM(ROUTE12) },
+ { {TRAINER_CAMPER_JUSTIN, TRAINER_CAMPER_JUSTIN},
+ MAP_GROUP(ROUTE12), MAP_NUM(ROUTE12) },
+ { {TRAINER_YOUNG_COUPLE_GIA_JES, 0xFFFF, 0xFFFF, TRAINER_YOUNG_COUPLE_GIA_JES_2, 0xFFFF, TRAINER_YOUNG_COUPLE_GIA_JES_3},
+ MAP_GROUP(ROUTE12), MAP_NUM(ROUTE12) },
+ { {TRAINER_BIKER_JARED, TRAINER_BIKER_JARED},
+ MAP_GROUP(ROUTE13), MAP_NUM(ROUTE13) },
+ { {TRAINER_BEAUTY_LOLA, TRAINER_BEAUTY_LOLA},
+ MAP_GROUP(ROUTE13), MAP_NUM(ROUTE13) },
+ { {TRAINER_BEAUTY_SHEILA, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_BEAUTY_SHEILA_2},
+ MAP_GROUP(ROUTE13), MAP_NUM(ROUTE13) },
+ { {TRAINER_BIRD_KEEPER_SEBASTIAN, TRAINER_BIRD_KEEPER_SEBASTIAN},
+ MAP_GROUP(ROUTE13), MAP_NUM(ROUTE13) },
+ { {TRAINER_BIRD_KEEPER_PERRY, TRAINER_BIRD_KEEPER_PERRY},
+ MAP_GROUP(ROUTE13), MAP_NUM(ROUTE13) },
+ { {TRAINER_BIRD_KEEPER_ROBERT, 0xFFFF, 0xFFFF, TRAINER_BIRD_KEEPER_ROBERT_2, TRAINER_BIRD_KEEPER_ROBERT_3},
+ MAP_GROUP(ROUTE13), MAP_NUM(ROUTE13) },
+ { {TRAINER_PICNICKER_ALMA, TRAINER_PICNICKER_ALMA},
+ MAP_GROUP(ROUTE13), MAP_NUM(ROUTE13) },
+ { {TRAINER_PICNICKER_SUSIE, 0xFFFF, 0xFFFF, TRAINER_PICNICKER_SUSIE_2, TRAINER_PICNICKER_SUSIE_3, TRAINER_PICNICKER_SUSIE_4},
+ MAP_GROUP(ROUTE13), MAP_NUM(ROUTE13) },
+ { {TRAINER_PICNICKER_VALERIE, TRAINER_PICNICKER_VALERIE},
+ MAP_GROUP(ROUTE13), MAP_NUM(ROUTE13) },
+ { {TRAINER_PICNICKER_GWEN, TRAINER_PICNICKER_GWEN},
+ MAP_GROUP(ROUTE13), MAP_NUM(ROUTE13) },
+ { {TRAINER_BIKER_MALIK, TRAINER_BIKER_MALIK},
+ MAP_GROUP(ROUTE14), MAP_NUM(ROUTE14) },
+ { {TRAINER_BIKER_LUKAS, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_BIKER_LUKAS_2},
+ MAP_GROUP(ROUTE14), MAP_NUM(ROUTE14) },
+ { {TRAINER_BIKER_ISAAC, TRAINER_BIKER_ISAAC},
+ MAP_GROUP(ROUTE14), MAP_NUM(ROUTE14) },
+ { {TRAINER_BIKER_GERALD, TRAINER_BIKER_GERALD},
+ MAP_GROUP(ROUTE14), MAP_NUM(ROUTE14) },
+ { {TRAINER_BIRD_KEEPER_DONALD, TRAINER_BIRD_KEEPER_DONALD},
+ MAP_GROUP(ROUTE14), MAP_NUM(ROUTE14) },
+ { {TRAINER_BIRD_KEEPER_BENNY, 0xFFFF, 0xFFFF, TRAINER_BIRD_KEEPER_BENNY_2, TRAINER_BIRD_KEEPER_BENNY_3},
+ MAP_GROUP(ROUTE14), MAP_NUM(ROUTE14) },
+ { {TRAINER_BIRD_KEEPER_CARTER, TRAINER_BIRD_KEEPER_CARTER},
+ MAP_GROUP(ROUTE14), MAP_NUM(ROUTE14) },
+ { {TRAINER_BIRD_KEEPER_MITCH, TRAINER_BIRD_KEEPER_MITCH},
+ MAP_GROUP(ROUTE14), MAP_NUM(ROUTE14) },
+ { {TRAINER_BIRD_KEEPER_BECK, TRAINER_BIRD_KEEPER_BECK},
+ MAP_GROUP(ROUTE14), MAP_NUM(ROUTE14) },
+ { {TRAINER_BIRD_KEEPER_MARLON, 0xFFFF, 0xFFFF, TRAINER_BIRD_KEEPER_MARLON_2, TRAINER_BIRD_KEEPER_MARLON_3},
+ MAP_GROUP(ROUTE14), MAP_NUM(ROUTE14) },
+ { {TRAINER_TWINS_KIRI_JAN, TRAINER_TWINS_KIRI_JAN},
+ MAP_GROUP(ROUTE14), MAP_NUM(ROUTE14) },
+ { {TRAINER_BIKER_ERNEST, TRAINER_BIKER_ERNEST},
+ MAP_GROUP(ROUTE15), MAP_NUM(ROUTE15) },
+ { {TRAINER_BIKER_ALEX, TRAINER_BIKER_ALEX},
+ MAP_GROUP(ROUTE15), MAP_NUM(ROUTE15) },
+ { {TRAINER_BEAUTY_GRACE, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_BEAUTY_GRACE_2},
+ MAP_GROUP(ROUTE15), MAP_NUM(ROUTE15) },
+ { {TRAINER_BEAUTY_OLIVIA, TRAINER_BEAUTY_OLIVIA},
+ MAP_GROUP(ROUTE15), MAP_NUM(ROUTE15) },
+ { {TRAINER_BIRD_KEEPER_EDWIN, TRAINER_BIRD_KEEPER_EDWIN},
+ MAP_GROUP(ROUTE15), MAP_NUM(ROUTE15) },
+ { {TRAINER_BIRD_KEEPER_CHESTER, 0xFFFF, 0xFFFF, TRAINER_BIRD_KEEPER_CHESTER_2, TRAINER_BIRD_KEEPER_CHESTER_3},
+ MAP_GROUP(ROUTE15), MAP_NUM(ROUTE15) },
+ { {TRAINER_PICNICKER_YAZMIN, TRAINER_PICNICKER_YAZMIN},
+ MAP_GROUP(ROUTE15), MAP_NUM(ROUTE15) },
+ { {TRAINER_PICNICKER_KINDRA, TRAINER_PICNICKER_KINDRA},
+ MAP_GROUP(ROUTE15), MAP_NUM(ROUTE15) },
+ { {TRAINER_PICNICKER_BECKY, 0xFFFF, 0xFFFF, TRAINER_PICNICKER_BECKY_2, TRAINER_PICNICKER_BECKY_3, TRAINER_PICNICKER_BECKY_4},
+ MAP_GROUP(ROUTE15), MAP_NUM(ROUTE15) },
+ { {TRAINER_PICNICKER_CELIA, TRAINER_PICNICKER_CELIA},
+ MAP_GROUP(ROUTE15), MAP_NUM(ROUTE15) },
+ { {TRAINER_CRUSH_KIN_RON_MYA, 0xFFFF, 0xFFFF, TRAINER_CRUSH_KIN_RON_MYA_2, TRAINER_CRUSH_KIN_RON_MYA_3, TRAINER_CRUSH_KIN_RON_MYA_4},
+ MAP_GROUP(ROUTE15), MAP_NUM(ROUTE15) },
+ { {TRAINER_BIKER_LAO, TRAINER_BIKER_LAO},
+ MAP_GROUP(ROUTE16), MAP_NUM(ROUTE16) },
+ { {TRAINER_BIKER_HIDEO, TRAINER_BIKER_HIDEO},
+ MAP_GROUP(ROUTE16), MAP_NUM(ROUTE16) },
+ { {TRAINER_BIKER_RUBEN, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_BIKER_RUBEN_2},
+ MAP_GROUP(ROUTE16), MAP_NUM(ROUTE16) },
+ { {TRAINER_CUE_BALL_KOJI, TRAINER_CUE_BALL_KOJI},
+ MAP_GROUP(ROUTE16), MAP_NUM(ROUTE16) },
+ { {TRAINER_CUE_BALL_LUKE, TRAINER_CUE_BALL_LUKE},
+ MAP_GROUP(ROUTE16), MAP_NUM(ROUTE16) },
+ { {TRAINER_CUE_BALL_CAMRON, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_CUE_BALL_CAMRON_2},
+ MAP_GROUP(ROUTE16), MAP_NUM(ROUTE16) },
+ { {TRAINER_YOUNG_COUPLE_LEA_JED, TRAINER_YOUNG_COUPLE_LEA_JED},
+ MAP_GROUP(ROUTE16), MAP_NUM(ROUTE16) },
+ { {TRAINER_BIKER_BILLY, TRAINER_BIKER_BILLY},
+ MAP_GROUP(ROUTE17), MAP_NUM(ROUTE17) },
+ { {TRAINER_BIKER_NIKOLAS, TRAINER_BIKER_NIKOLAS},
+ MAP_GROUP(ROUTE17), MAP_NUM(ROUTE17) },
+ { {TRAINER_BIKER_JAXON, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_BIKER_JAXON_2},
+ MAP_GROUP(ROUTE17), MAP_NUM(ROUTE17) },
+ { {TRAINER_BIKER_WILLIAM, TRAINER_BIKER_WILLIAM},
+ MAP_GROUP(ROUTE17), MAP_NUM(ROUTE17) },
+ { {TRAINER_CUE_BALL_RAUL, TRAINER_CUE_BALL_RAUL},
+ MAP_GROUP(ROUTE17), MAP_NUM(ROUTE17) },
+ { {TRAINER_CUE_BALL_ISAIAH, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_CUE_BALL_ISAIAH_2},
+ MAP_GROUP(ROUTE17), MAP_NUM(ROUTE17) },
+ { {TRAINER_CUE_BALL_ZEEK, TRAINER_CUE_BALL_ZEEK},
+ MAP_GROUP(ROUTE17), MAP_NUM(ROUTE17) },
+ { {TRAINER_CUE_BALL_JAMAL, TRAINER_CUE_BALL_JAMAL},
+ MAP_GROUP(ROUTE17), MAP_NUM(ROUTE17) },
+ { {TRAINER_CUE_BALL_COREY, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_CUE_BALL_COREY_2},
+ MAP_GROUP(ROUTE17), MAP_NUM(ROUTE17) },
+ { {TRAINER_BIKER_VIRGIL, TRAINER_BIKER_VIRGIL},
+ MAP_GROUP(ROUTE17), MAP_NUM(ROUTE17) },
+ { {TRAINER_BIRD_KEEPER_WILTON, TRAINER_BIRD_KEEPER_WILTON},
+ MAP_GROUP(ROUTE18), MAP_NUM(ROUTE18) },
+ { {TRAINER_BIRD_KEEPER_RAMIRO, TRAINER_BIRD_KEEPER_RAMIRO},
+ MAP_GROUP(ROUTE18), MAP_NUM(ROUTE18) },
+ { {TRAINER_BIRD_KEEPER_JACOB, 0xFFFF, 0xFFFF, TRAINER_BIRD_KEEPER_JACOB_2, TRAINER_BIRD_KEEPER_JACOB_3},
+ MAP_GROUP(ROUTE18), MAP_NUM(ROUTE18) },
+ { {TRAINER_SWIMMER_MALE_RICHARD, TRAINER_SWIMMER_MALE_RICHARD},
+ MAP_GROUP(ROUTE19), MAP_NUM(ROUTE19) },
+ { {TRAINER_SWIMMER_MALE_REECE, TRAINER_SWIMMER_MALE_REECE},
+ MAP_GROUP(ROUTE19), MAP_NUM(ROUTE19) },
+ { {TRAINER_SWIMMER_MALE_MATTHEW, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_SWIMMER_MALE_MATTHEW_2},
+ MAP_GROUP(ROUTE19), MAP_NUM(ROUTE19) },
+ { {TRAINER_SWIMMER_MALE_DOUGLAS, TRAINER_SWIMMER_MALE_DOUGLAS},
+ MAP_GROUP(ROUTE19), MAP_NUM(ROUTE19) },
+ { {TRAINER_SWIMMER_MALE_DAVID, TRAINER_SWIMMER_MALE_DAVID},
+ MAP_GROUP(ROUTE19), MAP_NUM(ROUTE19) },
+ { {TRAINER_SWIMMER_MALE_TONY, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_SWIMMER_MALE_TONY_2},
+ MAP_GROUP(ROUTE19), MAP_NUM(ROUTE19) },
+ { {TRAINER_SWIMMER_MALE_AXLE, TRAINER_SWIMMER_MALE_AXLE},
+ MAP_GROUP(ROUTE19), MAP_NUM(ROUTE19) },
+ { {TRAINER_SWIMMER_FEMALE_ANYA, TRAINER_SWIMMER_FEMALE_ANYA},
+ MAP_GROUP(ROUTE19), MAP_NUM(ROUTE19) },
+ { {TRAINER_SWIMMER_FEMALE_ALICE, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_SWIMMER_FEMALE_ALICE_2},
+ MAP_GROUP(ROUTE19), MAP_NUM(ROUTE19) },
+ { {TRAINER_SWIMMER_FEMALE_CONNIE, TRAINER_SWIMMER_FEMALE_CONNIE},
+ MAP_GROUP(ROUTE19), MAP_NUM(ROUTE19) },
+ { {TRAINER_SIS_AND_BRO_LIA_LUC, TRAINER_SIS_AND_BRO_LIA_LUC},
+ MAP_GROUP(ROUTE19), MAP_NUM(ROUTE19) },
+ { {TRAINER_SWIMMER_MALE_BARRY, TRAINER_SWIMMER_MALE_BARRY},
+ MAP_GROUP(ROUTE20), MAP_NUM(ROUTE20) },
+ { {TRAINER_SWIMMER_MALE_DEAN, TRAINER_SWIMMER_MALE_DEAN},
+ MAP_GROUP(ROUTE20), MAP_NUM(ROUTE20) },
+ { {TRAINER_SWIMMER_MALE_DARRIN, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_SWIMMER_MALE_DARRIN_2},
+ MAP_GROUP(ROUTE20), MAP_NUM(ROUTE20) },
+ { {TRAINER_SWIMMER_FEMALE_TIFFANY, TRAINER_SWIMMER_FEMALE_TIFFANY},
+ MAP_GROUP(ROUTE20), MAP_NUM(ROUTE20) },
+ { {TRAINER_SWIMMER_FEMALE_NORA, TRAINER_SWIMMER_FEMALE_NORA},
+ MAP_GROUP(ROUTE20), MAP_NUM(ROUTE20) },
+ { {TRAINER_SWIMMER_FEMALE_MELISSA, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_SWIMMER_FEMALE_MELISSA_2},
+ MAP_GROUP(ROUTE20), MAP_NUM(ROUTE20) },
+ { {TRAINER_SWIMMER_FEMALE_SHIRLEY, TRAINER_SWIMMER_FEMALE_SHIRLEY},
+ MAP_GROUP(ROUTE20), MAP_NUM(ROUTE20) },
+ { {TRAINER_BIRD_KEEPER_ROGER, TRAINER_BIRD_KEEPER_ROGER},
+ MAP_GROUP(ROUTE20), MAP_NUM(ROUTE20) },
+ { {TRAINER_PICNICKER_MISSY, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_PICNICKER_MISSY_2, TRAINER_PICNICKER_MISSY_3},
+ MAP_GROUP(ROUTE20), MAP_NUM(ROUTE20) },
+ { {TRAINER_PICNICKER_IRENE, TRAINER_PICNICKER_IRENE},
+ MAP_GROUP(ROUTE20), MAP_NUM(ROUTE20) },
+ { {TRAINER_FISHERMAN_RONALD, TRAINER_FISHERMAN_RONALD},
+ MAP_GROUP(ROUTE21_NORTH), MAP_NUM(ROUTE21_NORTH) },
+ { {TRAINER_FISHERMAN_CLAUDE, TRAINER_FISHERMAN_CLAUDE},
+ MAP_GROUP(ROUTE21_NORTH), MAP_NUM(ROUTE21_NORTH) },
+ { {TRAINER_FISHERMAN_WADE, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_FISHERMAN_WADE_2},
+ MAP_GROUP(ROUTE21_NORTH), MAP_NUM(ROUTE21_NORTH) },
+ { {TRAINER_FISHERMAN_NOLAN, TRAINER_FISHERMAN_NOLAN},
+ MAP_GROUP(ROUTE21_NORTH), MAP_NUM(ROUTE21_NORTH) },
+ { {TRAINER_SWIMMER_MALE_SPENCER, TRAINER_SWIMMER_MALE_SPENCER},
+ MAP_GROUP(ROUTE21_NORTH), MAP_NUM(ROUTE21_NORTH) },
+ { {TRAINER_SWIMMER_MALE_JACK, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_SWIMMER_MALE_JACK_2},
+ MAP_GROUP(ROUTE21_NORTH), MAP_NUM(ROUTE21_NORTH) },
+ { {TRAINER_SWIMMER_MALE_JEROME, TRAINER_SWIMMER_MALE_JEROME},
+ MAP_GROUP(ROUTE21_NORTH), MAP_NUM(ROUTE21_NORTH) },
+ { {TRAINER_SWIMMER_MALE_ROLAND, TRAINER_SWIMMER_MALE_ROLAND},
+ MAP_GROUP(ROUTE21_NORTH), MAP_NUM(ROUTE21_NORTH) },
+ { {TRAINER_SIS_AND_BRO_LIL_IAN, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_SIS_AND_BRO_LIL_IAN_2, TRAINER_SIS_AND_BRO_LIL_IAN_3},
+ MAP_GROUP(ROUTE21_NORTH), MAP_NUM(ROUTE21_NORTH) },
+ { {TRAINER_SWIMMER_FEMALE_MARIA, TRAINER_SWIMMER_FEMALE_MARIA},
+ MAP_GROUP(ONE_ISLAND_KINDLE_ROAD), MAP_NUM(ONE_ISLAND_KINDLE_ROAD) },
+ { {TRAINER_SWIMMER_FEMALE_ABIGAIL, TRAINER_SWIMMER_FEMALE_ABIGAIL},
+ MAP_GROUP(ONE_ISLAND_KINDLE_ROAD), MAP_NUM(ONE_ISLAND_KINDLE_ROAD) },
+ { {TRAINER_SWIMMER_MALE_FINN, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_SWIMMER_MALE_FINN_2},
+ MAP_GROUP(ONE_ISLAND_KINDLE_ROAD), MAP_NUM(ONE_ISLAND_KINDLE_ROAD) },
+ { {TRAINER_SWIMMER_MALE_GARRETT, TRAINER_SWIMMER_MALE_GARRETT},
+ MAP_GROUP(ONE_ISLAND_KINDLE_ROAD), MAP_NUM(ONE_ISLAND_KINDLE_ROAD) },
+ { {TRAINER_FISHERMAN_TOMMY, TRAINER_FISHERMAN_TOMMY},
+ MAP_GROUP(ONE_ISLAND_KINDLE_ROAD), MAP_NUM(ONE_ISLAND_KINDLE_ROAD) },
+ { {TRAINER_CRUSH_GIRL_SHARON, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_CRUSH_GIRL_SHARON_2, TRAINER_CRUSH_GIRL_SHARON_3},
+ MAP_GROUP(ONE_ISLAND_KINDLE_ROAD), MAP_NUM(ONE_ISLAND_KINDLE_ROAD) },
+ { {TRAINER_CRUSH_GIRL_TANYA, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_CRUSH_GIRL_TANYA_2, TRAINER_CRUSH_GIRL_TANYA_3},
+ MAP_GROUP(ONE_ISLAND_KINDLE_ROAD), MAP_NUM(ONE_ISLAND_KINDLE_ROAD) },
+ { {TRAINER_BLACK_BELT_SHEA, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_BLACK_BELT_SHEA_2, TRAINER_BLACK_BELT_SHEA_3},
+ MAP_GROUP(ONE_ISLAND_KINDLE_ROAD), MAP_NUM(ONE_ISLAND_KINDLE_ROAD) },
+ { {TRAINER_BLACK_BELT_HUGH, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_BLACK_BELT_HUGH_2, TRAINER_BLACK_BELT_HUGH_3},
+ MAP_GROUP(ONE_ISLAND_KINDLE_ROAD), MAP_NUM(ONE_ISLAND_KINDLE_ROAD) },
+ { {TRAINER_CAMPER_BRYCE, TRAINER_CAMPER_BRYCE},
+ MAP_GROUP(ONE_ISLAND_KINDLE_ROAD), MAP_NUM(ONE_ISLAND_KINDLE_ROAD) },
+ { {TRAINER_PICNICKER_CLAIRE, TRAINER_PICNICKER_CLAIRE},
+ MAP_GROUP(ONE_ISLAND_KINDLE_ROAD), MAP_NUM(ONE_ISLAND_KINDLE_ROAD) },
+ { {TRAINER_CRUSH_KIN_MIK_KIA, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_CRUSH_KIN_MIK_KIA_2, TRAINER_CRUSH_KIN_MIK_KIA_3},
+ MAP_GROUP(ONE_ISLAND_KINDLE_ROAD), MAP_NUM(ONE_ISLAND_KINDLE_ROAD) },
+ { {TRAINER_SWIMMER_FEMALE_AMARA, TRAINER_SWIMMER_FEMALE_AMARA},
+ MAP_GROUP(ONE_ISLAND_TREASURE_BEACH), MAP_NUM(ONE_ISLAND_TREASURE_BEACH) },
+ { {TRAINER_AROMA_LADY_NIKKI, TRAINER_AROMA_LADY_NIKKI},
+ MAP_GROUP(THREE_ISLAND_BOND_BRIDGE), MAP_NUM(THREE_ISLAND_BOND_BRIDGE) },
+ { {TRAINER_AROMA_LADY_VIOLET, TRAINER_AROMA_LADY_VIOLET},
+ MAP_GROUP(THREE_ISLAND_BOND_BRIDGE), MAP_NUM(THREE_ISLAND_BOND_BRIDGE) },
+ { {TRAINER_TUBER_AMIRA, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_TUBER_AMIRA_2},
+ MAP_GROUP(THREE_ISLAND_BOND_BRIDGE), MAP_NUM(THREE_ISLAND_BOND_BRIDGE) },
+ { {TRAINER_TUBER_ALEXIS, TRAINER_TUBER_ALEXIS},
+ MAP_GROUP(THREE_ISLAND_BOND_BRIDGE), MAP_NUM(THREE_ISLAND_BOND_BRIDGE) },
+ { {TRAINER_SWIMMER_FEMALE_TISHA, TRAINER_SWIMMER_FEMALE_TISHA},
+ MAP_GROUP(THREE_ISLAND_BOND_BRIDGE), MAP_NUM(THREE_ISLAND_BOND_BRIDGE) },
+ { {TRAINER_TWINS_JOY_MEG, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_TWINS_JOY_MEG_2},
+ MAP_GROUP(THREE_ISLAND_BOND_BRIDGE), MAP_NUM(THREE_ISLAND_BOND_BRIDGE) },
+ { {TRAINER_PAINTER_DAISY, TRAINER_PAINTER_DAISY},
+ MAP_GROUP(FIVE_ISLAND_RESORT_GORGEOUS), MAP_NUM(FIVE_ISLAND_RESORT_GORGEOUS) },
+ { {TRAINER_PAINTER_CELINA, TRAINER_PAINTER_CELINA},
+ MAP_GROUP(FIVE_ISLAND_RESORT_GORGEOUS), MAP_NUM(FIVE_ISLAND_RESORT_GORGEOUS) },
+ { {TRAINER_PAINTER_RAYNA, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_PAINTER_RAYNA_2},
+ MAP_GROUP(FIVE_ISLAND_RESORT_GORGEOUS), MAP_NUM(FIVE_ISLAND_RESORT_GORGEOUS) },
+ { {TRAINER_LADY_JACKI, TRAINER_LADY_JACKI},
+ MAP_GROUP(FIVE_ISLAND_RESORT_GORGEOUS), MAP_NUM(FIVE_ISLAND_RESORT_GORGEOUS) },
+ { {TRAINER_LADY_GILLIAN, TRAINER_LADY_GILLIAN},
+ MAP_GROUP(FIVE_ISLAND_RESORT_GORGEOUS), MAP_NUM(FIVE_ISLAND_RESORT_GORGEOUS) },
+ { {TRAINER_YOUNGSTER_DESTIN, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_YOUNGSTER_DESTIN_2},
+ MAP_GROUP(FIVE_ISLAND_RESORT_GORGEOUS), MAP_NUM(FIVE_ISLAND_RESORT_GORGEOUS) },
+ { {TRAINER_SWIMMER_MALE_TOBY, TRAINER_SWIMMER_MALE_TOBY},
+ MAP_GROUP(FIVE_ISLAND_RESORT_GORGEOUS), MAP_NUM(FIVE_ISLAND_RESORT_GORGEOUS) },
+ { {TRAINER_PKMN_BREEDER_ALIZE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_PKMN_BREEDER_ALIZE_2},
+ MAP_GROUP(FIVE_ISLAND_WATER_LABYRINTH), MAP_NUM(FIVE_ISLAND_WATER_LABYRINTH) },
+ { {TRAINER_BIRD_KEEPER_MILO, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_BIRD_KEEPER_MILO_2},
+ MAP_GROUP(FIVE_ISLAND_MEMORIAL_PILLAR), MAP_NUM(FIVE_ISLAND_MEMORIAL_PILLAR) },
+ { {TRAINER_BIRD_KEEPER_CHAZ, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_BIRD_KEEPER_CHAZ_2},
+ MAP_GROUP(FIVE_ISLAND_MEMORIAL_PILLAR), MAP_NUM(FIVE_ISLAND_MEMORIAL_PILLAR) },
+ { {TRAINER_BIRD_KEEPER_HAROLD, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_BIRD_KEEPER_HAROLD_2},
+ MAP_GROUP(FIVE_ISLAND_MEMORIAL_PILLAR), MAP_NUM(FIVE_ISLAND_MEMORIAL_PILLAR) },
+ { {TRAINER_FISHERMAN_TYLOR, TRAINER_FISHERMAN_TYLOR},
+ MAP_GROUP(SIX_ISLAND_OUTCAST_ISLAND), MAP_NUM(SIX_ISLAND_OUTCAST_ISLAND) },
+ { {TRAINER_SWIMMER_MALE_MYMO, TRAINER_SWIMMER_MALE_MYMO},
+ MAP_GROUP(SIX_ISLAND_OUTCAST_ISLAND), MAP_NUM(SIX_ISLAND_OUTCAST_ISLAND) },
+ { {TRAINER_SWIMMER_FEMALE_NICOLE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_SWIMMER_FEMALE_NICOLE_2},
+ MAP_GROUP(SIX_ISLAND_OUTCAST_ISLAND), MAP_NUM(SIX_ISLAND_OUTCAST_ISLAND) },
+ { {TRAINER_SIS_AND_BRO_AVA_GEB, TRAINER_SIS_AND_BRO_AVA_GEB},
+ MAP_GROUP(SIX_ISLAND_OUTCAST_ISLAND), MAP_NUM(SIX_ISLAND_OUTCAST_ISLAND) },
+ { {TRAINER_PSYCHIC_JACLYN, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_PSYCHIC_JACLYN_2},
+ MAP_GROUP(SIX_ISLAND_GREEN_PATH), MAP_NUM(SIX_ISLAND_GREEN_PATH) },
+ { {TRAINER_AROMA_LADY_ROSE, TRAINER_AROMA_LADY_ROSE},
+ MAP_GROUP(SIX_ISLAND_WATER_PATH), MAP_NUM(SIX_ISLAND_WATER_PATH) },
+ { {TRAINER_JUGGLER_EDWARD, TRAINER_JUGGLER_EDWARD},
+ MAP_GROUP(SIX_ISLAND_WATER_PATH), MAP_NUM(SIX_ISLAND_WATER_PATH) },
+ { {TRAINER_SWIMMER_MALE_SAMIR, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_SWIMMER_MALE_SAMIR_2},
+ MAP_GROUP(SIX_ISLAND_WATER_PATH), MAP_NUM(SIX_ISLAND_WATER_PATH) },
+ { {TRAINER_SWIMMER_FEMALE_DENISE, TRAINER_SWIMMER_FEMALE_DENISE},
+ MAP_GROUP(SIX_ISLAND_WATER_PATH), MAP_NUM(SIX_ISLAND_WATER_PATH) },
+ { {TRAINER_TWINS_MIU_MIA, TRAINER_TWINS_MIU_MIA},
+ MAP_GROUP(SIX_ISLAND_WATER_PATH), MAP_NUM(SIX_ISLAND_WATER_PATH) },
+ { {TRAINER_HIKER_EARL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_HIKER_EARL_2},
+ MAP_GROUP(SIX_ISLAND_WATER_PATH), MAP_NUM(SIX_ISLAND_WATER_PATH) },
+ { {TRAINER_RUIN_MANIAC_STANLY, TRAINER_RUIN_MANIAC_STANLY},
+ MAP_GROUP(SIX_ISLAND_RUIN_VALLEY), MAP_NUM(SIX_ISLAND_RUIN_VALLEY) },
+ { {TRAINER_RUIN_MANIAC_FOSTER, TRAINER_RUIN_MANIAC_FOSTER},
+ MAP_GROUP(SIX_ISLAND_RUIN_VALLEY), MAP_NUM(SIX_ISLAND_RUIN_VALLEY) },
+ { {TRAINER_RUIN_MANIAC_LARRY, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_RUIN_MANIAC_LARRY_2},
+ MAP_GROUP(SIX_ISLAND_RUIN_VALLEY), MAP_NUM(SIX_ISLAND_RUIN_VALLEY) },
+ { {TRAINER_HIKER_DARYL, TRAINER_HIKER_DARYL},
+ MAP_GROUP(SIX_ISLAND_RUIN_VALLEY), MAP_NUM(SIX_ISLAND_RUIN_VALLEY) },
+ { {TRAINER_POKEMANIAC_HECTOR, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_POKEMANIAC_HECTOR_2},
+ MAP_GROUP(SIX_ISLAND_RUIN_VALLEY), MAP_NUM(SIX_ISLAND_RUIN_VALLEY) },
+ { {TRAINER_PSYCHIC_DARIO, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_PSYCHIC_DARIO_2},
+ MAP_GROUP(SEVEN_ISLAND_TRAINER_TOWER), MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER) },
+ { {TRAINER_PSYCHIC_RODETTE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_PSYCHIC_RODETTE_2},
+ MAP_GROUP(SEVEN_ISLAND_TRAINER_TOWER), MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER) },
+ { {TRAINER_AROMA_LADY_MIAH, TRAINER_AROMA_LADY_MIAH},
+ MAP_GROUP(SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE), MAP_NUM(SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE) },
+ { {TRAINER_YOUNG_COUPLE_EVE_JON, TRAINER_YOUNG_COUPLE_EVE_JON},
+ MAP_GROUP(SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE), MAP_NUM(SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE) },
+ { {TRAINER_JUGGLER_MASON, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_JUGGLER_MASON_2},
+ MAP_GROUP(SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE), MAP_NUM(SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE) },
+ { {TRAINER_PKMN_RANGER_NICOLAS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_PKMN_RANGER_NICOLAS_2},
+ MAP_GROUP(SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE), MAP_NUM(SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE) },
+ { {TRAINER_PKMN_RANGER_MADELINE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_PKMN_RANGER_MADELINE_2},
+ MAP_GROUP(SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE), MAP_NUM(SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE) },
+ { {TRAINER_CRUSH_GIRL_CYNDY, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_CRUSH_GIRL_CYNDY_2},
+ MAP_GROUP(SEVEN_ISLAND_SEVAULT_CANYON), MAP_NUM(SEVEN_ISLAND_SEVAULT_CANYON) },
+ { {TRAINER_TAMER_EVAN, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_TAMER_EVAN_2},
+ MAP_GROUP(SEVEN_ISLAND_SEVAULT_CANYON), MAP_NUM(SEVEN_ISLAND_SEVAULT_CANYON) },
+ { {TRAINER_PKMN_RANGER_JACKSON, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_PKMN_RANGER_JACKSON_2},
+ MAP_GROUP(SEVEN_ISLAND_SEVAULT_CANYON), MAP_NUM(SEVEN_ISLAND_SEVAULT_CANYON) },
+ { {TRAINER_PKMN_RANGER_KATELYN, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_PKMN_RANGER_KATELYN_2},
+ MAP_GROUP(SEVEN_ISLAND_SEVAULT_CANYON), MAP_NUM(SEVEN_ISLAND_SEVAULT_CANYON) },
+ { {TRAINER_COOLTRAINER_LEROY, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_COOLTRAINER_LEROY_2},
+ MAP_GROUP(SEVEN_ISLAND_SEVAULT_CANYON), MAP_NUM(SEVEN_ISLAND_SEVAULT_CANYON) },
+ { {TRAINER_COOLTRAINER_MICHELLE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_COOLTRAINER_MICHELLE_2},
+ MAP_GROUP(SEVEN_ISLAND_SEVAULT_CANYON), MAP_NUM(SEVEN_ISLAND_SEVAULT_CANYON) },
+ { {TRAINER_COOL_COUPLE_LEX_NYA, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, TRAINER_COOL_COUPLE_LEX_NYA_2},
+ MAP_GROUP(SEVEN_ISLAND_SEVAULT_CANYON), MAP_NUM(SEVEN_ISLAND_SEVAULT_CANYON) },
+ { {TRAINER_RUIN_MANIAC_BRANDON, TRAINER_RUIN_MANIAC_BRANDON},
+ MAP_GROUP(SEVEN_ISLAND_TANOBY_RUINS), MAP_NUM(SEVEN_ISLAND_TANOBY_RUINS) },
+ { {TRAINER_RUIN_MANIAC_BENJAMIN, TRAINER_RUIN_MANIAC_BENJAMIN},
+ MAP_GROUP(SEVEN_ISLAND_TANOBY_RUINS), MAP_NUM(SEVEN_ISLAND_TANOBY_RUINS) },
+ { {TRAINER_PAINTER_EDNA, TRAINER_PAINTER_EDNA},
+ MAP_GROUP(SEVEN_ISLAND_TANOBY_RUINS), MAP_NUM(SEVEN_ISLAND_TANOBY_RUINS) },
+ { {TRAINER_GENTLEMAN_CLIFFORD, TRAINER_GENTLEMAN_CLIFFORD},
+ MAP_GROUP(SEVEN_ISLAND_TANOBY_RUINS), MAP_NUM(SEVEN_ISLAND_TANOBY_RUINS) },
};
static const u8 gUnknown_8453F5C[] = {
@@ -641,7 +644,7 @@ bool8 sub_810C4EC(void)
gSaveBlock1Ptr->trainerRematchStepCounter++;
}
- if (FlagGet(0x801) == TRUE)
+ if (FlagGet(FLAG_SYS_VS_SEEKER_CHARGING) == TRUE)
{
u16 x;
do {
@@ -657,7 +660,7 @@ bool8 sub_810C4EC(void)
} while (0);
if (x == 100)
{
- FlagClear(0x801);
+ FlagClear(FLAG_SYS_VS_SEEKER_CHARGING);
sub_810C640();
sub_810D0D0();
return TRUE;
@@ -743,7 +746,7 @@ bool8 sub_810C4EC(void)
void sub_810C578(void)
{
- FlagClear(0x801);
+ FlagClear(FLAG_SYS_VS_SEEKER_CHARGING);
sub_810C640();
sub_810D0D0();
sub_810C594();
@@ -972,7 +975,7 @@ static u8 GetVsSeekerResponseInArea(const VsSeekerData * a0)
if (sVsSeeker->trainerWantsRematch)
{
PlaySE(SE_PIN);
- FlagSet(0x801); // TODO: make this an enum
+ FlagSet(FLAG_SYS_VS_SEEKER_CHARGING);
sub_810C640();
return 2;
}
@@ -1254,23 +1257,23 @@ static void TryGetRematchTrainerIdGivenGameState(const u16 * a0, u8 * a1)
case 0:
break;
case 1:
- if (!FlagGet(FLAG_0x292))
+ if (!FlagGet(FLAG_GOT_VS_SEEKER))
*a1 = GetRematchTrainerIdGivenGameState(a0, *a1);
break;
case 2:
- if (!FlagGet(FLAG_SYS_NATIONAL_DEX))
+ if (!FlagGet(FLAG_WORLD_MAP_CELADON_CITY))
*a1 = GetRematchTrainerIdGivenGameState(a0, *a1);
break;
case 3:
- if (!FlagGet(FLAG_SYS_CAVE_SHIP))
+ if (!FlagGet(FLAG_WORLD_MAP_FUCHSIA_CITY))
*a1 = GetRematchTrainerIdGivenGameState(a0, *a1);
break;
case 4:
- if (!FlagGet(FLAG_TRAINER_FLAG_START + 0x32c))
+ if (!FlagGet(FLAG_SYS_GAME_CLEAR))
*a1 = GetRematchTrainerIdGivenGameState(a0, *a1);
break;
case 5:
- if (!FlagGet(FLAG_TRAINER_FLAG_START + 0x344))
+ if (!FlagGet(FLAG_SYS_CAN_LINK_WITH_RS))
*a1 = GetRematchTrainerIdGivenGameState(a0, *a1);
break;
}
@@ -1287,7 +1290,7 @@ static u8 GetRematchTrainerIdGivenGameState(const u16 * a0, u8 a1)
return 0;
}
-u8 sub_810CD4C(void) // unreferenced, or reference not disassembled
+u8 sub_810CD4C(void)
{
if (sub_810CD80(sVsSeekerData, gTrainerBattleOpponent_A))
{
@@ -1302,7 +1305,7 @@ static bool8 sub_810CD80(const VsSeekerData *vsSeekerData, u16 trainerBattleOppo
if (rematchIdx == -1)
return FALSE;
- if (rematchIdx >= 0 && rematchIdx < ARRAY_COUNT(sVsSeekerData))
+ if (rematchIdx >= 0 && rematchIdx < NELEMS(sVsSeekerData))
{
if (IsThisTrainerRematchable(gSpecialVar_LastTalked))
return TRUE;
@@ -1332,7 +1335,7 @@ static s32 sub_810CE10(const VsSeekerData * a0, u16 a1)
u32 r1;
s32 r3;
- for (r1 = 0; r1 < ARRAY_COUNT(sVsSeekerData); r1++)
+ for (r1 = 0; r1 < NELEMS(sVsSeekerData); r1++)
{
for (r3 = 0; r3 < 6; r3++)
{
@@ -1372,7 +1375,7 @@ static bool8 sub_810CED0(const VsSeekerData * a0, u16 a1)
if (r1 == -1)
return FALSE;
- if ((u32)r1 >= ARRAY_COUNT(sVsSeekerData))
+ if ((u32)r1 >= NELEMS(sVsSeekerData))
return FALSE;
if (!IsThisTrainerRematchable(gSpecialVar_LastTalked))
return FALSE;
@@ -1411,32 +1414,32 @@ static u8 GetRunningBehaviorFromGraphicsId(u8 graphicsId)
{
switch (graphicsId)
{
- case 0x11:
- case 0x12:
- case 0x13:
- case 0x14:
- case 0x16:
- case 0x17:
- case 0x18:
- case 0x19:
- case 0x1a:
- case 0x1c:
- case 0x1d:
- case 0x1e:
- case 0x25:
- case 0x27:
- case 0x28:
- case 0x29:
- case 0x2a:
- case 0x2d:
- case 0x2e:
- case 0x36:
- case 0x38:
- case 0x3e:
+ case MAP_OBJ_GFX_LITTLE_GIRL:
+ case MAP_OBJ_GFX_YOUNGSTER:
+ case MAP_OBJ_GFX_BOY:
+ case MAP_OBJ_GFX_BUG_CATCHER:
+ case MAP_OBJ_GFX_LASS:
+ case MAP_OBJ_GFX_WOMAN_1:
+ case MAP_OBJ_GFX_BATTLE_GIRL:
+ case MAP_OBJ_GFX_MAN:
+ case MAP_OBJ_GFX_ROCKER:
+ case MAP_OBJ_GFX_WOMAN_2:
+ case MAP_OBJ_GFX_BEAUTY:
+ case MAP_OBJ_GFX_BALDING_MAN:
+ case MAP_OBJ_GFX_TUBER_F:
+ case MAP_OBJ_GFX_CAMPER:
+ case MAP_OBJ_GFX_PICNICKER:
+ case MAP_OBJ_GFX_COOLTRAINER_M:
+ case MAP_OBJ_GFX_COOLTRAINER_F:
+ case MAP_OBJ_GFX_SWIMMER_M_LAND:
+ case MAP_OBJ_GFX_SWIMMER_F_LAND:
+ case MAP_OBJ_GFX_BLACKBELT:
+ case MAP_OBJ_GFX_HIKER:
+ case MAP_OBJ_GFX_SAILOR:
return 0x4e;
- case 0x24:
- case 0x2b:
- case 0x2c:
+ case MAP_OBJ_GFX_TUBER_M_1:
+ case MAP_OBJ_GFX_SWIMMER_M_WATER:
+ case MAP_OBJ_GFX_SWIMMER_F_WATER:
return 0x4f;
default:
return 0x4d;
@@ -1468,7 +1471,7 @@ static s32 GetRematchIdx(const VsSeekerData * vsSeekerData, u16 trainerFlagIdx)
{
u32 i;
- for (i = 0; i < ARRAY_COUNT(sVsSeekerData); i++)
+ for (i = 0; i < NELEMS(sVsSeekerData); i++)
{
if (vsSeekerData[i].trainerIdxs[0] == trainerFlagIdx)
return i;
@@ -1488,7 +1491,7 @@ void sub_810D0D0(void)
{
u8 i;
- for (i = 0; i < 100; i++)
+ for (i = 0; i < NELEMS(gSaveBlock1Ptr->trainerRematches); i++)
gSaveBlock1Ptr->trainerRematches[i] = 0;
}
@@ -1515,7 +1518,7 @@ static u8 GetNextAvailableRematchTrainer(const VsSeekerData * vsSeekerData, u16
u32 i;
s32 j;
- for (i = 0; i < ARRAY_COUNT(sVsSeekerData); i++)
+ for (i = 0; i < NELEMS(sVsSeekerData); i++)
{
if (vsSeekerData[i].trainerIdxs[0] == trainerFlagNo)
{
diff --git a/src/wild_pokemon_area.c b/src/wild_pokemon_area.c
index 5ea9d1610..df8f9b8d9 100644
--- a/src/wild_pokemon_area.c
+++ b/src/wild_pokemon_area.c
@@ -180,7 +180,7 @@ s32 BuildPokedexAreaSubspriteBuffer(u16 species, struct Subsprite * subsprites)
seviiAreas = GetUnlockedSeviiAreas();
alteringCaveCount = 0;
- alteringCaveNum = VarGet(VAR_0x4024);
+ alteringCaveNum = VarGet(VAR_ALTERING_CAVE_WILD_SET);
if (alteringCaveNum > 8)
alteringCaveNum = 0;
for (i = 0, areaCount = 0; gWildMonHeaders[i].mapGroup != 0xFF; i++)