summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGriffinR <griffin.richards@comcast.net>2020-01-05 10:50:32 -0500
committerGriffinR <griffin.g.richards@gmail.com>2020-01-07 22:30:37 -0500
commitfb5bea98ce28044917451d83695991693fb0b64a (patch)
tree95d2f85fc852fa0b00ba23022f8bd7732ff30c59 /src
parentbb692a03eb6ac886524e917ed3548d769ac2f6d8 (diff)
More battle_dome.c doc
Diffstat (limited to 'src')
-rw-r--r--src/battle_dome.c4070
-rw-r--r--src/battle_factory.c5
-rw-r--r--src/battle_tent.c16
-rw-r--r--src/battle_tower.c160
-rw-r--r--src/data/battle_frontier/battle_frontier_trainer_mons.h118
-rw-r--r--src/data/battle_frontier/battle_frontier_trainers.h600
-rw-r--r--src/data/battle_frontier/battle_tent.h180
-rw-r--r--src/graphics.c32
-rw-r--r--src/mail.c2
-rw-r--r--src/mevent_801BAAC.c4
-rw-r--r--src/pokemon.c5
-rw-r--r--src/pokemon_icon.c2
12 files changed, 2556 insertions, 2638 deletions
diff --git a/src/battle_dome.c b/src/battle_dome.c
index b220e9c19..25b2d995d 100644
--- a/src/battle_dome.c
+++ b/src/battle_dome.c
@@ -42,14 +42,19 @@
#include "constants/battle_frontier.h"
#include "constants/rgb.h"
-struct BattleDomeStruct
+// Enough space to hold 2 match info cards worth of trainers and their parties
+#define NUM_INFOCARD_SPRITES ((FRONTIER_PARTY_SIZE + 1) * 4)
+#define NUM_INFOCARD_TRAINERS 2
+
+// An 'Info Card' is a trainer or match information page that can be viewed on the Tourney Tree
+struct TourneyTreeInfoCard
{
- u8 arr[DOME_TOURNAMENT_TRAINERS_COUNT];
- u8 unk_10;
- u8 unk_11[2];
+ u8 spriteIds[NUM_INFOCARD_SPRITES];
+ u8 pos;
+ u8 tournamentIds[NUM_INFOCARD_TRAINERS];
};
-struct UnkStruct_860DD10
+struct TourneyTreeLineSection
{
u8 x;
u8 y;
@@ -59,40 +64,51 @@ struct UnkStruct_860DD10
#define DOME_TRAINERS gSaveBlock2Ptr->frontier.domeTrainers
#define DOME_MONS gSaveBlock2Ptr->frontier.domeMonIds
+#define tState data[0]
+
+// Task data for Task_ShowTourneyTree
+#define tNotInteractive data[1]
+#define tIsPrevTourneyTree data[4]
+
+// Task data for Task_ShowTourneyInfoCard
+#define tTournamentId data[1]
+#define tMode data[2]
+#define tPrevTaskId data[3]
+
// This file's functions.
static u8 GetDomeTrainerMonIvs(u16 trainerId);
static void SwapDomeTrainers(int id1, int id2, u16 *statsArray);
static void CalcDomeMonStats(u16 species, int level, int ivs, u8 evBits, u8 nature, int *stats);
static void CreateDomeOpponentMons(u16 tournamentTrainerId);
-static int sub_818FCBC(u16 tournamentTrainerId, bool8 arg1);
-static int sub_818FDB8(u16 tournamentTrainerId, bool8 arg1);
+static int SelectOpponentMonsUsingPersonality(u16 tournamentTrainerId, bool8 arg1);
+static int SelectOpponentMonsUsingOtId(u16 tournamentTrainerId, bool8 arg1);
static int GetTypeEffectivenessPoints(int move, int species, int arg2);
static int SelectOpponentMonsFromParty(int *arr, bool8 arg1);
-static void Task_ShowOpponentInfo(u8 taskId);
-static void sub_8190CD4(u8 taskId);
-static u8 sub_819221C(u8 taskId);
+static void Task_ShowTourneyInfoCard(u8 taskId);
+static void Task_HandleInfoCardInput(u8 taskId);
+static u8 Task_GetInfoCardInput(u8 taskId);
static void SetFacilityTrainerAndMonPtrs(void);
static int TrainerIdToTournamentId(u16 trainerId);
static u16 TrainerIdOfPlayerOpponent(void);
static void Task_ShowTourneyTree(u8 taskId);
-static void sub_8194950(u8 taskId);
-static void CB2_BattleDome(void);
-static void VblankCb0_BattleDome(void);
+static void Task_HandleStaticTourneyTreeInput(u8 taskId);
+static void CB2_TourneyTree(void);
+static void VblankCb_TourneyInfoCard(void);
static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo);
-static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId);
+static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTourneyId);
static int BufferDomeWinString(u8, u8*);
static u8 GetDomeBrainTrainerPicId(void);
static u8 GetDomeBrainTrainerClass(void);
static void CopyDomeBrainTrainerName(u8 *str);
static void CopyDomeTrainerName(u8 *str, u16 trainerId);
-static void HblankCb_BattleDome(void);
-static void VblankCb1_BattleDome(void);
+static void HblankCb_TourneyTree(void);
+static void VblankCb_TourneyTree(void);
static u8 UpdateTourneyTreeCursor(u8 taskId);
static void DecideRoundWinners(u8 roundId);
static u8 sub_81953E8(u8 tournamentId, u8);
-static void sub_81948EC(u8, u8);
-static void sub_8190B40(struct Sprite *sprite);
-static void sub_8190C6C(struct Sprite *sprite);
+static void DrawTourneyAdvancementLine(u8, u8);
+static void SpriteCb_HorizontalScrollArrow(struct Sprite *sprite);
+static void SpriteCb_VerticalScrollArrow(struct Sprite *sprite);
static void InitDomeChallenge(void);
static void GetDomeData(void);
static void SetDomeData(void);
@@ -101,7 +117,7 @@ static void BufferDomeOpponentName(void);
static void InitDomeOpponentParty(void);
static void ShowDomeOpponentInfo(void);
static void ShowDomeTourneyTree(void);
-static void ShowPreviousDomeResultsTourneyTree(void);
+static void ShowPreviousDomeTourneyTree(void);
static void SetDomeOpponentId(void);
static void SetDomeOpponentGraphicsId(void);
static void ShowNonInteractiveDomeTourneyTree(void);
@@ -119,400 +135,401 @@ static void InitDomeTrainers(void);
// EWRAM variables.
EWRAM_DATA u32 gPlayerPartyLostHP = 0; // never read
static EWRAM_DATA u32 sPlayerPartyMaxHP = 0; // never read
-static EWRAM_DATA struct BattleDomeStruct *sBattleDomeStruct = {0};
+static EWRAM_DATA struct TourneyTreeInfoCard *sInfoCard = {0};
static EWRAM_DATA u8 *sTilemapBuffer = NULL;
-// Each move has an array of flags for different move qualities which contribute to a tourney trainers listed battle style (see sBattleStyleThresholds)
-static const u8 sBattleStyleMoveQualities[MOVES_COUNT][NUM_MOVE_QUALITIES] =
+// Each move has an array of points for different move characteristics which contribute to a tourney trainers listed battle style (see sBattleStyleThresholds)
+// All move points are either 1 or 0, so theyre essentially flags saying whether or not the move has that characteristic
+static const u8 sBattleStyleMovePoints[MOVES_COUNT][NUM_MOVE_POINT_TYPES] =
{
[MOVE_NONE] = {0},
- [MOVE_POUND] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_KARATE_CHOP] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_DOUBLE_SLAP] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_COMET_PUNCH] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_MEGA_PUNCH] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_PAY_DAY] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_FIRE_PUNCH] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_ICE_PUNCH] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_THUNDER_PUNCH] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_SCRATCH] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_VICE_GRIP] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_GUILLOTINE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_RAZOR_WIND] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_SWORDS_DANCE] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_STAT_RAISE] = 1, [MOVE_QUALITY_POPULAR] = 1},
- [MOVE_CUT] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_GUST] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_WING_ATTACK] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_WHIRLWIND] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_FLY] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_BIND] = {[MOVE_QUALITY_STATUS] = 1, [MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_SLAM] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_VINE_WHIP] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_STOMP] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_DOUBLE_KICK] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_MEGA_KICK] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_JUMP_KICK] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_ROLLING_KICK] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_SAND_ATTACK] = {[MOVE_QUALITY_STAT_LOWER] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_HEADBUTT] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_HORN_ATTACK] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_FURY_ATTACK] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_HORN_DRILL] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_TACKLE] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_BODY_SLAM] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_WRAP] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_TAKE_DOWN] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_THRASH] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_DOUBLE_EDGE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_TAIL_WHIP] = {[MOVE_QUALITY_STAT_LOWER] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_POISON_STING] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_TWINEEDLE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_PIN_MISSILE] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_LEER] = {[MOVE_QUALITY_STAT_LOWER] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_BITE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_GROWL] = {[MOVE_QUALITY_STAT_LOWER] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_ROAR] = {[MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_SING] = {[MOVE_QUALITY_STATUS] = 1},
- [MOVE_SUPERSONIC] = {[MOVE_QUALITY_STATUS] = 1},
- [MOVE_SONIC_BOOM] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_DISABLE] = {[MOVE_QUALITY_STATUS] = 1},
- [MOVE_ACID] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_EMBER] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_FLAMETHROWER] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_POPULAR] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_EFFECT] = 1},
+ [MOVE_POUND] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_KARATE_CHOP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_DOUBLE_SLAP] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_COMET_PUNCH] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_MEGA_PUNCH] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_PAY_DAY] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_FIRE_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_ICE_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_THUNDER_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SCRATCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_VICE_GRIP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_GUILLOTINE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_RAZOR_WIND] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SWORDS_DANCE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_POPULAR] = 1},
+ [MOVE_CUT] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_GUST] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_WING_ATTACK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_WHIRLWIND] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_FLY] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_BIND] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SLAM] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_VINE_WHIP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_STOMP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_DOUBLE_KICK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_MEGA_KICK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_JUMP_KICK] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_ROLLING_KICK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SAND_ATTACK] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_HEADBUTT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_HORN_ATTACK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_FURY_ATTACK] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_HORN_DRILL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_TACKLE] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_BODY_SLAM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_WRAP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_TAKE_DOWN] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_THRASH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_DOUBLE_EDGE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_TAIL_WHIP] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_POISON_STING] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_TWINEEDLE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_PIN_MISSILE] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_LEER] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_BITE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_GROWL] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_ROAR] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SING] = {[MOVE_POINTS_STATUS] = 1},
+ [MOVE_SUPERSONIC] = {[MOVE_POINTS_STATUS] = 1},
+ [MOVE_SONIC_BOOM] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_DISABLE] = {[MOVE_POINTS_STATUS] = 1},
+ [MOVE_ACID] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_EMBER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_FLAMETHROWER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
[MOVE_MIST] = {0},
- [MOVE_WATER_GUN] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_HYDRO_PUMP] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_SURF] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_POPULAR] = 1, [MOVE_QUALITY_STRONG] = 1},
- [MOVE_ICE_BEAM] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_POPULAR] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_BLIZZARD] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_LOW_PP] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_PSYBEAM] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_BUBBLE_BEAM] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_AURORA_BEAM] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_HYPER_BEAM] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_POPULAR] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_PECK] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_DRILL_PECK] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_SUBMISSION] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_LOW_KICK] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_COUNTER] = {[MOVE_QUALITY_DEF] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_LUCK] = 1},
- [MOVE_SEISMIC_TOSS] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_STRENGTH] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_ABSORB] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_MEGA_DRAIN] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_LEECH_SEED] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_STATUS] = 1},
- [MOVE_GROWTH] = {[MOVE_QUALITY_STAT_RAISE] = 1},
- [MOVE_RAZOR_LEAF] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_SOLAR_BEAM] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_POPULAR] = 1, [MOVE_QUALITY_STRONG] = 1},
- [MOVE_POISON_POWDER] = {[MOVE_QUALITY_STATUS] = 1},
- [MOVE_STUN_SPORE] = {[MOVE_QUALITY_STATUS] = 1},
- [MOVE_SLEEP_POWDER] = {[MOVE_QUALITY_STATUS] = 1},
- [MOVE_PETAL_DANCE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_STRING_SHOT] = {[MOVE_QUALITY_STAT_LOWER] = 1},
- [MOVE_DRAGON_RAGE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_FIRE_SPIN] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_THUNDER_SHOCK] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_THUNDERBOLT] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_POPULAR] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_THUNDER_WAVE] = {[MOVE_QUALITY_STATUS] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_THUNDER] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_ROCK_THROW] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_EARTHQUAKE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_POPULAR] = 1, [MOVE_QUALITY_STRONG] = 1},
- [MOVE_FISSURE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_LUCK] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_DIG] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_TOXIC] = {[MOVE_QUALITY_STATUS] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_CONFUSION] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_PSYCHIC] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_POPULAR] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_HYPNOSIS] = {[MOVE_QUALITY_COMBO] = 1},
- [MOVE_MEDITATE] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_STAT_RAISE] = 1},
- [MOVE_AGILITY] = {[MOVE_QUALITY_STAT_RAISE] = 1},
- [MOVE_QUICK_ATTACK] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_RAGE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
+ [MOVE_WATER_GUN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_HYDRO_PUMP] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_SURF] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_ICE_BEAM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_BLIZZARD] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_PSYBEAM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_BUBBLE_BEAM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_AURORA_BEAM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_HYPER_BEAM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_PECK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_DRILL_PECK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SUBMISSION] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_LOW_KICK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_COUNTER] = {[MOVE_POINTS_DEF] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LUCK] = 1},
+ [MOVE_SEISMIC_TOSS] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_STRENGTH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_ABSORB] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_MEGA_DRAIN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_LEECH_SEED] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STATUS] = 1},
+ [MOVE_GROWTH] = {[MOVE_POINTS_STAT_RAISE] = 1},
+ [MOVE_RAZOR_LEAF] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_SOLAR_BEAM] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_POISON_POWDER] = {[MOVE_POINTS_STATUS] = 1},
+ [MOVE_STUN_SPORE] = {[MOVE_POINTS_STATUS] = 1},
+ [MOVE_SLEEP_POWDER] = {[MOVE_POINTS_STATUS] = 1},
+ [MOVE_PETAL_DANCE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_STRING_SHOT] = {[MOVE_POINTS_STAT_LOWER] = 1},
+ [MOVE_DRAGON_RAGE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_FIRE_SPIN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_THUNDER_SHOCK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_THUNDERBOLT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_THUNDER_WAVE] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_THUNDER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_ROCK_THROW] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_EARTHQUAKE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_FISSURE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LUCK] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_DIG] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_TOXIC] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_CONFUSION] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_PSYCHIC] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_HYPNOSIS] = {[MOVE_POINTS_COMBO] = 1},
+ [MOVE_MEDITATE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STAT_RAISE] = 1},
+ [MOVE_AGILITY] = {[MOVE_POINTS_STAT_RAISE] = 1},
+ [MOVE_QUICK_ATTACK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_RAGE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
[MOVE_TELEPORT] = {0},
- [MOVE_NIGHT_SHADE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_MIMIC] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_SCREECH] = {[MOVE_QUALITY_STAT_LOWER] = 1},
- [MOVE_DOUBLE_TEAM] = {[MOVE_QUALITY_STAT_RAISE] = 1, [MOVE_QUALITY_DEF] = 1},
+ [MOVE_NIGHT_SHADE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_MIMIC] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SCREECH] = {[MOVE_POINTS_STAT_LOWER] = 1},
+ [MOVE_DOUBLE_TEAM] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1},
[MOVE_RECOVER] = {0},
- [MOVE_HARDEN] = {[MOVE_QUALITY_STAT_RAISE] = 1, [MOVE_QUALITY_DEF] = 1},
- [MOVE_MINIMIZE] = {[MOVE_QUALITY_STAT_RAISE] = 1, [MOVE_QUALITY_DEF] = 1},
- [MOVE_SMOKESCREEN] = {[MOVE_QUALITY_STAT_LOWER] = 1, [MOVE_QUALITY_DEF] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_CONFUSE_RAY] = {[MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_WITHDRAW] = {[MOVE_QUALITY_STAT_RAISE] = 1, [MOVE_QUALITY_DEF] = 1},
- [MOVE_DEFENSE_CURL] = {[MOVE_QUALITY_STAT_RAISE] = 1, [MOVE_QUALITY_DEF] = 1},
- [MOVE_BARRIER] = {[MOVE_QUALITY_DEF] = 1},
- [MOVE_LIGHT_SCREEN] = {[MOVE_QUALITY_DEF] = 1},
+ [MOVE_HARDEN] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1},
+ [MOVE_MINIMIZE] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1},
+ [MOVE_SMOKESCREEN] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_DEF] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_CONFUSE_RAY] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_WITHDRAW] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1},
+ [MOVE_DEFENSE_CURL] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1},
+ [MOVE_BARRIER] = {[MOVE_POINTS_DEF] = 1},
+ [MOVE_LIGHT_SCREEN] = {[MOVE_POINTS_DEF] = 1},
[MOVE_HAZE] = {0},
- [MOVE_REFLECT] = {[MOVE_QUALITY_DEF] = 1},
- [MOVE_FOCUS_ENERGY] = {[MOVE_QUALITY_COMBO] = 1},
- [MOVE_BIDE] = {[MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_METRONOME] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_LUCK] = 1},
- [MOVE_MIRROR_MOVE] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_LUCK] = 1},
- [MOVE_SELF_DESTRUCT] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_EGG_BOMB] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_STRONG] = 1},
- [MOVE_LICK] = {[MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_SMOG] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_SLUDGE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_BONE_CLUB] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_FIRE_BLAST] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_LOW_PP] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_WATERFALL] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_CLAMP] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_SWIFT] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_SKULL_BASH] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_STRONG] = 1},
- [MOVE_SPIKE_CANNON] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_CONSTRICT] = {[MOVE_QUALITY_STATUS] = 1, [MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_AMNESIA] = {[MOVE_QUALITY_STAT_RAISE] = 1, [MOVE_QUALITY_DEF] = 1},
- [MOVE_KINESIS] = {[MOVE_QUALITY_STAT_LOWER] = 1},
- [MOVE_SOFT_BOILED] = {[MOVE_QUALITY_HEAL] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_HI_JUMP_KICK] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_GLARE] = {[MOVE_QUALITY_STAT_LOWER] = 1},
- [MOVE_DREAM_EATER] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_HEAL] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_STRONG] = 1},
- [MOVE_POISON_GAS] = {[MOVE_QUALITY_STATUS] = 1},
- [MOVE_BARRAGE] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_LEECH_LIFE] = {[MOVE_QUALITY_HEAL] = 1, [MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_LOVELY_KISS] = {[MOVE_QUALITY_STATUS] = 1},
- [MOVE_SKY_ATTACK] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_LOW_PP] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_TRANSFORM] = {[MOVE_QUALITY_RARE] = 1},
- [MOVE_BUBBLE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_DIZZY_PUNCH] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_SPORE] = {[MOVE_QUALITY_STATUS] = 1, [MOVE_QUALITY_ACCURATE] = 1},
+ [MOVE_REFLECT] = {[MOVE_POINTS_DEF] = 1},
+ [MOVE_FOCUS_ENERGY] = {[MOVE_POINTS_COMBO] = 1},
+ [MOVE_BIDE] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_METRONOME] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_LUCK] = 1},
+ [MOVE_MIRROR_MOVE] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_LUCK] = 1},
+ [MOVE_SELF_DESTRUCT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_EGG_BOMB] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_LICK] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SMOG] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SLUDGE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_BONE_CLUB] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_FIRE_BLAST] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_WATERFALL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_CLAMP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SWIFT] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_SKULL_BASH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_SPIKE_CANNON] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_CONSTRICT] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_AMNESIA] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1},
+ [MOVE_KINESIS] = {[MOVE_POINTS_STAT_LOWER] = 1},
+ [MOVE_SOFT_BOILED] = {[MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_HI_JUMP_KICK] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_GLARE] = {[MOVE_POINTS_STAT_LOWER] = 1},
+ [MOVE_DREAM_EATER] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_RARE] = 1, [MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_POISON_GAS] = {[MOVE_POINTS_STATUS] = 1},
+ [MOVE_BARRAGE] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_LEECH_LIFE] = {[MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_LOVELY_KISS] = {[MOVE_POINTS_STATUS] = 1},
+ [MOVE_SKY_ATTACK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_TRANSFORM] = {[MOVE_POINTS_RARE] = 1},
+ [MOVE_BUBBLE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_DIZZY_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SPORE] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1},
[MOVE_FLASH] = {0},
- [MOVE_PSYWAVE] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_SPLASH] = {[MOVE_QUALITY_RARE] = 1},
- [MOVE_ACID_ARMOR] = {[MOVE_QUALITY_STAT_RAISE] = 1, [MOVE_QUALITY_DEF] = 1},
- [MOVE_CRABHAMMER] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_STRONG] = 1},
- [MOVE_EXPLOSION] = {[MOVE_QUALITY_RISKY] = 1, [MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_POPULAR] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_FURY_SWIPES] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_BONEMERANG] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_REST] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_HEAL] = 1},
- [MOVE_ROCK_SLIDE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_HYPER_FANG] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_SHARPEN] = {[MOVE_QUALITY_STAT_RAISE] = 1, [MOVE_QUALITY_DEF] = 1},
- [MOVE_CONVERSION] = {[MOVE_QUALITY_DEF] = 1},
- [MOVE_TRI_ATTACK] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_SUPER_FANG] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_SLASH] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_SUBSTITUTE] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_DEF] = 1},
- [MOVE_STRUGGLE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_LOW_PP] = 1}, // Odd that this is assigned qualities
- [MOVE_SKETCH] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_LUCK] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_TRIPLE_KICK] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_THIEF] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_SPIDER_WEB] = {[MOVE_QUALITY_STAT_LOWER] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_MIND_READER] = {[MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_NIGHTMARE] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_STATUS] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_FLAME_WHEEL] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_SNORE] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_CURSE] = {[MOVE_QUALITY_STATUS] = 1},
- [MOVE_FLAIL] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_CONVERSION_2] = {[MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_AEROBLAST] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_COTTON_SPORE] = {[MOVE_QUALITY_STAT_LOWER] = 1},
- [MOVE_REVERSAL] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_SPITE] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_RISKY] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_POWDER_SNOW] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_PROTECT] = {[MOVE_QUALITY_DEF] = 1, [MOVE_QUALITY_POPULAR] = 1},
- [MOVE_MACH_PUNCH] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
+ [MOVE_PSYWAVE] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_SPLASH] = {[MOVE_POINTS_RARE] = 1},
+ [MOVE_ACID_ARMOR] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1},
+ [MOVE_CRABHAMMER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_EXPLOSION] = {[MOVE_POINTS_RISKY] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_FURY_SWIPES] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_BONEMERANG] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_REST] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_HEAL] = 1},
+ [MOVE_ROCK_SLIDE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_HYPER_FANG] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SHARPEN] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1},
+ [MOVE_CONVERSION] = {[MOVE_POINTS_DEF] = 1},
+ [MOVE_TRI_ATTACK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SUPER_FANG] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_SLASH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SUBSTITUTE] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_DEF] = 1},
+ [MOVE_STRUGGLE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1}, // Odd that this is assigned qualities
+ [MOVE_SKETCH] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_LUCK] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_TRIPLE_KICK] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_THIEF] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SPIDER_WEB] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_MIND_READER] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_NIGHTMARE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_FLAME_WHEEL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SNORE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_CURSE] = {[MOVE_POINTS_STATUS] = 1},
+ [MOVE_FLAIL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_CONVERSION_2] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_AEROBLAST] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_COTTON_SPORE] = {[MOVE_POINTS_STAT_LOWER] = 1},
+ [MOVE_REVERSAL] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SPITE] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_RISKY] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_POWDER_SNOW] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_PROTECT] = {[MOVE_POINTS_DEF] = 1, [MOVE_POINTS_POPULAR] = 1},
+ [MOVE_MACH_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
[MOVE_SCARY_FACE] = {0},
- [MOVE_FAINT_ATTACK] = {[MOVE_QUALITY_DMG] = 1},
+ [MOVE_FAINT_ATTACK] = {[MOVE_POINTS_DMG] = 1},
[MOVE_SWEET_KISS] = {0},
- [MOVE_BELLY_DRUM] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_STAT_RAISE] = 1},
- [MOVE_SLUDGE_BOMB] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_MUD_SLAP] = {[MOVE_QUALITY_STAT_LOWER] = 1, [MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_OCTAZOOKA] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_SPIKES] = {[MOVE_QUALITY_COMBO] = 1},
- [MOVE_ZAP_CANNON] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_LUCK] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_LOW_PP] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_FORESIGHT] = {[MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_DESTINY_BOND] = {[MOVE_QUALITY_RISKY] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_PERISH_SONG] = {[MOVE_QUALITY_RISKY] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_ICY_WIND] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_DETECT] = {[MOVE_QUALITY_DEF] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_BONE_RUSH] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_LOCK_ON] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_OUTRAGE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_EFFECT] = 1},
+ [MOVE_BELLY_DRUM] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STAT_RAISE] = 1},
+ [MOVE_SLUDGE_BOMB] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_MUD_SLAP] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_OCTAZOOKA] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SPIKES] = {[MOVE_POINTS_COMBO] = 1},
+ [MOVE_ZAP_CANNON] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_LUCK] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_FORESIGHT] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_DESTINY_BOND] = {[MOVE_POINTS_RISKY] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_PERISH_SONG] = {[MOVE_POINTS_RISKY] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_ICY_WIND] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_DETECT] = {[MOVE_POINTS_DEF] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_BONE_RUSH] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_LOCK_ON] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_OUTRAGE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
[MOVE_SANDSTORM] = {0},
- [MOVE_GIGA_DRAIN] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_ENDURE] = {[MOVE_QUALITY_DEF] = 1},
- [MOVE_CHARM] = {[MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_ROLLOUT] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_FALSE_SWIPE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_SWAGGER] = {[MOVE_QUALITY_EFFECT] = 1},
- [MOVE_MILK_DRINK] = {[MOVE_QUALITY_HEAL] = 1},
- [MOVE_SPARK] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_FURY_CUTTER] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_STEEL_WING] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_MEAN_LOOK] = {[MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_ATTRACT] = {[MOVE_QUALITY_STATUS] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_SLEEP_TALK] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_LUCK] = 1},
- [MOVE_HEAL_BELL] = {[MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_RETURN] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_PRESENT] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_LUCK] = 1},
- [MOVE_FRUSTRATION] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_SAFEGUARD] = {[MOVE_QUALITY_DEF] = 1},
- [MOVE_PAIN_SPLIT] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_SACRED_FIRE] = {[MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_LOW_PP] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_MAGNITUDE] = {[MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_DYNAMIC_PUNCH] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_LUCK] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_LOW_PP] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_MEGAHORN] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_STRONG] = 1},
- [MOVE_DRAGON_BREATH] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_BATON_PASS] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_RARE] = 1},
- [MOVE_ENCORE] = {[MOVE_QUALITY_STATUS] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_PURSUIT] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_RAPID_SPIN] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_SWEET_SCENT] = {[MOVE_QUALITY_STAT_LOWER] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_IRON_TAIL] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_METAL_CLAW] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_VITAL_THROW] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_MORNING_SUN] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_HEAL] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_SYNTHESIS] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_HEAL] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_MOONLIGHT] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_HEAL] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_HIDDEN_POWER] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_CROSS_CHOP] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_TWISTER] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_RAIN_DANCE] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_SUNNY_DAY] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_CRUNCH] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_MIRROR_COAT] = {[MOVE_QUALITY_DEF] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_PSYCH_UP] = {[MOVE_QUALITY_STAT_RAISE] = 1},
- [MOVE_EXTREME_SPEED] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_ANCIENT_POWER] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_LOW_PP] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_SHADOW_BALL] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_FUTURE_SIGHT] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_DMG] = 1},
- [MOVE_ROCK_SMASH] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_WHIRLPOOL] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_BEAT_UP] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_FAKE_OUT] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_UPROAR] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_STOCKPILE] = {[MOVE_QUALITY_COMBO] = 1},
- [MOVE_SPIT_UP] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_STRONG] = 1},
- [MOVE_SWALLOW] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_HEAL] = 1},
- [MOVE_HEAT_WAVE] = {[MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_EFFECT] = 1},
+ [MOVE_GIGA_DRAIN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_ENDURE] = {[MOVE_POINTS_DEF] = 1},
+ [MOVE_CHARM] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_ROLLOUT] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_FALSE_SWIPE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SWAGGER] = {[MOVE_POINTS_EFFECT] = 1},
+ [MOVE_MILK_DRINK] = {[MOVE_POINTS_HEAL] = 1},
+ [MOVE_SPARK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_FURY_CUTTER] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_STEEL_WING] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_MEAN_LOOK] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_ATTRACT] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SLEEP_TALK] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_LUCK] = 1},
+ [MOVE_HEAL_BELL] = {[MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_RETURN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_PRESENT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LUCK] = 1},
+ [MOVE_FRUSTRATION] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SAFEGUARD] = {[MOVE_POINTS_DEF] = 1},
+ [MOVE_PAIN_SPLIT] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SACRED_FIRE] = {[MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_MAGNITUDE] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_DYNAMIC_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LUCK] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_MEGAHORN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_DRAGON_BREATH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_BATON_PASS] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_RARE] = 1},
+ [MOVE_ENCORE] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_PURSUIT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_RAPID_SPIN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SWEET_SCENT] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_IRON_TAIL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_METAL_CLAW] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_VITAL_THROW] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_MORNING_SUN] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_SYNTHESIS] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_MOONLIGHT] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_HIDDEN_POWER] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_CROSS_CHOP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_TWISTER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_RAIN_DANCE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_SUNNY_DAY] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_CRUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_MIRROR_COAT] = {[MOVE_POINTS_DEF] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_PSYCH_UP] = {[MOVE_POINTS_STAT_RAISE] = 1},
+ [MOVE_EXTREME_SPEED] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_ANCIENT_POWER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SHADOW_BALL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_FUTURE_SIGHT] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_DMG] = 1},
+ [MOVE_ROCK_SMASH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_WHIRLPOOL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_BEAT_UP] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_FAKE_OUT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_UPROAR] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_STOCKPILE] = {[MOVE_POINTS_COMBO] = 1},
+ [MOVE_SPIT_UP] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_SWALLOW] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_HEAL] = 1},
+ [MOVE_HEAT_WAVE] = {[MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
[MOVE_HAIL] = {0},
- [MOVE_TORMENT] = {[MOVE_QUALITY_STATUS] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_FLATTER] = {[MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_WILL_O_WISP] = {[MOVE_QUALITY_STATUS] = 1},
- [MOVE_MEMENTO] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_FACADE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_FOCUS_PUNCH] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_STRONG] = 1},
- [MOVE_SMELLING_SALT] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_FOLLOW_ME] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_NATURE_POWER] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_CHARGE] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_TAUNT] = {[MOVE_QUALITY_STATUS] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_HELPING_HAND] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_TRICK] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_ROLE_PLAY] = {[MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_WISH] = {[MOVE_QUALITY_HEAL] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_ASSIST] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_LUCK] = 1},
- [MOVE_INGRAIN] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_HEAL] = 1, [MOVE_QUALITY_DEF] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_SUPERPOWER] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_MAGIC_COAT] = {[MOVE_QUALITY_DEF] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_LUCK] = 1},
- [MOVE_RECYCLE] = {[MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_REVENGE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_LUCK] = 1},
- [MOVE_BRICK_BREAK] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_YAWN] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_STATUS] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_KNOCK_OFF] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_ENDEAVOR] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_ERUPTION] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_SKILL_SWAP] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_IMPRISON] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_LUCK] = 1},
- [MOVE_REFRESH] = {[MOVE_QUALITY_HEAL] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_GRUDGE] = {[MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_SNATCH] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_LUCK] = 1},
- [MOVE_SECRET_POWER] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_DIVE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_ARM_THRUST] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_CAMOUFLAGE] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_TAIL_GLOW] = {[MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_LUSTER_PURGE] = {[MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_LOW_PP] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_MIST_BALL] = {[MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_LOW_PP] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_FEATHER_DANCE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_TEETER_DANCE] = {[MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_BLAZE_KICK] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_MUD_SPORT] = {[MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_ICE_BALL] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_NEEDLE_ARM] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_SLACK_OFF] = {[MOVE_QUALITY_HEAL] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_HYPER_VOICE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_STRONG] = 1},
- [MOVE_POISON_FANG] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_CRUSH_CLAW] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_BLAST_BURN] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_HYDRO_CANNON] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_METEOR_MASH] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_ASTONISH] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_WEATHER_BALL] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_AROMATHERAPY] = {[MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_FAKE_TEARS] = {[MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_AIR_CUTTER] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_OVERHEAT] = {[MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_LOW_PP] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_ODOR_SLEUTH] = {[MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_ROCK_TOMB] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_SILVER_WIND] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_LOW_PP] = 1, [MOVE_QUALITY_EFFECT] = 1},
+ [MOVE_TORMENT] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_FLATTER] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_WILL_O_WISP] = {[MOVE_POINTS_STATUS] = 1},
+ [MOVE_MEMENTO] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_FACADE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_FOCUS_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_SMELLING_SALT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_FOLLOW_ME] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_NATURE_POWER] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_CHARGE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_TAUNT] = {[MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_HELPING_HAND] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_TRICK] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_ROLE_PLAY] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_WISH] = {[MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_ASSIST] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LUCK] = 1},
+ [MOVE_INGRAIN] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_DEF] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_SUPERPOWER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_MAGIC_COAT] = {[MOVE_POINTS_DEF] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LUCK] = 1},
+ [MOVE_RECYCLE] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_REVENGE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LUCK] = 1},
+ [MOVE_BRICK_BREAK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_YAWN] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_KNOCK_OFF] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_ENDEAVOR] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_ERUPTION] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_SKILL_SWAP] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_IMPRISON] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LUCK] = 1},
+ [MOVE_REFRESH] = {[MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_GRUDGE] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_SNATCH] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LUCK] = 1},
+ [MOVE_SECRET_POWER] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_DIVE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_ARM_THRUST] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_CAMOUFLAGE] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_TAIL_GLOW] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_LUSTER_PURGE] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_MIST_BALL] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_FEATHER_DANCE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_TEETER_DANCE] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_BLAZE_KICK] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_MUD_SPORT] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_ICE_BALL] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_NEEDLE_ARM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SLACK_OFF] = {[MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_HYPER_VOICE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_POISON_FANG] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_CRUSH_CLAW] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_BLAST_BURN] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_HYDRO_CANNON] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_METEOR_MASH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_ASTONISH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_WEATHER_BALL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_AROMATHERAPY] = {[MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_FAKE_TEARS] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_AIR_CUTTER] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_OVERHEAT] = {[MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_ODOR_SLEUTH] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_ROCK_TOMB] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SILVER_WIND] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
[MOVE_METAL_SOUND] = {0},
[MOVE_GRASS_WHISTLE] = {0},
- [MOVE_TICKLE] = {[MOVE_QUALITY_ACCURATE] = 1},
+ [MOVE_TICKLE] = {[MOVE_POINTS_ACCURATE] = 1},
[MOVE_COSMIC_POWER] = {0},
- [MOVE_WATER_SPOUT] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_SIGNAL_BEAM] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_SHADOW_PUNCH] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_EXTRASENSORY] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_SKY_UPPERCUT] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_SAND_TOMB] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_SHEER_COLD] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_LUCK] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_MUDDY_WATER] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_BULLET_SEED] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_AERIAL_ACE] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_ICICLE_SPEAR] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_IRON_DEFENSE] = {[MOVE_QUALITY_DEF] = 1},
- [MOVE_BLOCK] = {[MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_LOW_PP] = 1},
+ [MOVE_WATER_SPOUT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_SIGNAL_BEAM] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SHADOW_PUNCH] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_EXTRASENSORY] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SKY_UPPERCUT] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_SAND_TOMB] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_SHEER_COLD] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LUCK] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_MUDDY_WATER] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_BULLET_SEED] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_AERIAL_ACE] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_ICICLE_SPEAR] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_IRON_DEFENSE] = {[MOVE_POINTS_DEF] = 1},
+ [MOVE_BLOCK] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_LOW_PP] = 1},
[MOVE_HOWL] = {0},
- [MOVE_DRAGON_CLAW] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_FRENZY_PLANT] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_BULK_UP] = {[MOVE_QUALITY_COMBO] = 1},
- [MOVE_BOUNCE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_LOW_PP] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_MUD_SHOT] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_POISON_TAIL] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_COVET] = {[MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_VOLT_TACKLE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_STRONG] = 1},
- [MOVE_MAGICAL_LEAF] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_WATER_SPORT] = {[MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_CALM_MIND] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_STAT_RAISE] = 1},
- [MOVE_LEAF_BLADE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1},
- [MOVE_DRAGON_DANCE] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_STAT_RAISE] = 1},
- [MOVE_ROCK_BLAST] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_SHOCK_WAVE] = {[MOVE_QUALITY_DMG] = 1},
- [MOVE_WATER_PULSE] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_ACCURATE] = 1, [MOVE_QUALITY_EFFECT] = 1},
- [MOVE_DOOM_DESIRE] = {[MOVE_QUALITY_RARE] = 1, [MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_LOW_PP] = 1},
- [MOVE_PSYCHO_BOOST] = {[MOVE_QUALITY_DMG] = 1, [MOVE_QUALITY_POWERFUL] = 1, [MOVE_QUALITY_STRONG] = 1, [MOVE_QUALITY_LOW_PP] = 1, [MOVE_QUALITY_EFFECT] = 1},
+ [MOVE_DRAGON_CLAW] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_FRENZY_PLANT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_BULK_UP] = {[MOVE_POINTS_COMBO] = 1},
+ [MOVE_BOUNCE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_MUD_SHOT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_POISON_TAIL] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_COVET] = {[MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_VOLT_TACKLE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1},
+ [MOVE_MAGICAL_LEAF] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_WATER_SPORT] = {[MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_CALM_MIND] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STAT_RAISE] = 1},
+ [MOVE_LEAF_BLADE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
+ [MOVE_DRAGON_DANCE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STAT_RAISE] = 1},
+ [MOVE_ROCK_BLAST] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_SHOCK_WAVE] = {[MOVE_POINTS_DMG] = 1},
+ [MOVE_WATER_PULSE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
+ [MOVE_DOOM_DESIRE] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1},
+ [MOVE_PSYCHO_BOOST] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_POWERFUL] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_LOW_PP] = 1, [MOVE_POINTS_EFFECT] = 1},
};
// This array is searched in-order to determine what battle style a tourney trainer uses.
-// If the sum of the quality flags for the party's moves meets/exceeds all the point totals of an element, then they use that battle style
-static const u8 sBattleStyleThresholds[NUM_BATTLE_STYLES - 1][NUM_MOVE_QUALITIES] =
-{
- [DOME_BATTLE_STYLE_RISKY] = {[MOVE_QUALITY_RISKY] = 1},
- [DOME_BATTLE_STYLE_STALL] = {[MOVE_QUALITY_HEAL] = 2, [MOVE_QUALITY_STATUS] = 1, [MOVE_QUALITY_DEF] = 2},
- [DOME_BATTLE_STYLE_VARIED] = {[MOVE_QUALITY_COMBO] = 1, [MOVE_QUALITY_STAT_RAISE] = 1, [MOVE_QUALITY_STAT_LOWER] = 1, [MOVE_QUALITY_HEAL] = 1, [MOVE_QUALITY_STATUS] = 1, [MOVE_QUALITY_DEF] = 1},
- [DOME_BATTLE_STYLE_COMBO_HIGH] = {[MOVE_QUALITY_COMBO] = 3},
- [DOME_BATTLE_STYLE_RARE_MOVES] = {[MOVE_QUALITY_RARE] = 2},
- [DOME_BATTLE_STYLE_RARE_MOVE] = {[MOVE_QUALITY_RARE] = 1},
- [DOME_BATTLE_STYLE_HP] = {[MOVE_QUALITY_HEAL] = 3},
- [DOME_BATTLE_STYLE_STORE_POWER] = {[MOVE_QUALITY_STAT_RAISE] = 1, [MOVE_QUALITY_HEAL] = 1},
- [DOME_BATTLE_STYLE_ENFEEBLE_LOW] = {[MOVE_QUALITY_STAT_LOWER] = 1, [MOVE_QUALITY_STATUS] = 1},
- [DOME_BATTLE_STYLE_LUCK] = {[MOVE_QUALITY_LUCK] = 2},
- [DOME_BATTLE_STYLE_10] = {[MOVE_QUALITY_STAT_RAISE] = 1, [MOVE_QUALITY_HEAL] = 1, [MOVE_QUALITY_DEF] = 1, [MOVE_QUALITY_POPULAR] = 1, [MOVE_QUALITY_STRONG] = 1},
- [DOME_BATTLE_STYLE_LOW_PP] = {[MOVE_QUALITY_LOW_PP] = 3},
- [DOME_BATTLE_STYLE_STATUS_ATK] = {[MOVE_QUALITY_STAT_RAISE] = 1, [MOVE_QUALITY_STATUS] = 1},
- [DOME_BATTLE_STYLE_ENDURE] = {[MOVE_QUALITY_HEAL] = 2, [MOVE_QUALITY_DEF] = 2},
- [DOME_BATTLE_STYLE_STATUS] = {[MOVE_QUALITY_STATUS] = 2},
- [DOME_BATTLE_STYLE_STRAIGHTFORWARD] = {[MOVE_QUALITY_ACCURATE] = 3, [MOVE_QUALITY_STRONG] = 3},
- [DOME_BATTLE_STYLE_AGGRESSIVE] = {[MOVE_QUALITY_STRONG] = 4},
- [DOME_BATTLE_STYLE_DEF] = {[MOVE_QUALITY_DEF] = 3},
- [DOME_BATTLE_STYLE_ENFEEBLE_HIGH] = {[MOVE_QUALITY_STAT_LOWER] = 2, [MOVE_QUALITY_STATUS] = 2}, // BUG: This battle style is unobtainable; DOME_BATTLE_STYLE_ENFEEBLE_LOW will always succeed before it
- [DOME_BATTLE_STYLE_POPULAR_POWER] = {[MOVE_QUALITY_POWERFUL] = 3, [MOVE_QUALITY_POPULAR] = 3},
- [DOME_BATTLE_STYLE_COMBO_LOW] = {[MOVE_QUALITY_COMBO] = 2},
- [DOME_BATTLE_STYLE_ACCURATE] = {[MOVE_QUALITY_HEAL] = 1, [MOVE_QUALITY_ACCURATE] = 3},
- [DOME_BATTLE_STYLE_POWERFUL] = {[MOVE_QUALITY_POWERFUL] = 4},
- [DOME_BATTLE_STYLE_ATK_OVER_DEF] = {[MOVE_QUALITY_DMG] = 7},
- [DOME_BATTLE_STYLE_DEF_OVER_ATK] = {[MOVE_QUALITY_DEF] = 4}, // BUG: This battle style is unobtainable; DOME_BATTLE_STYLE_DEF will always succeed before it
- [DOME_BATTLE_STYLE_POPULAR_STRONG] = {[MOVE_QUALITY_POPULAR] = 2, [MOVE_QUALITY_STRONG] = 4},
- [DOME_BATTLE_STYLE_EFFECTS] = {[MOVE_QUALITY_EFFECT] = 4},
+// If the sum of the points for the party's moves meets/exceeds all the point totals of an element, then they use that battle style
+static const u8 sBattleStyleThresholds[NUM_BATTLE_STYLES - 1][NUM_MOVE_POINT_TYPES] =
+{
+ [DOME_BATTLE_STYLE_RISKY] = {[MOVE_POINTS_RISKY] = 1},
+ [DOME_BATTLE_STYLE_STALL] = {[MOVE_POINTS_HEAL] = 2, [MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_DEF] = 2},
+ [DOME_BATTLE_STYLE_VARIED] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_STATUS] = 1, [MOVE_POINTS_DEF] = 1},
+ [DOME_BATTLE_STYLE_COMBO_HIGH] = {[MOVE_POINTS_COMBO] = 3},
+ [DOME_BATTLE_STYLE_RARE_MOVES] = {[MOVE_POINTS_RARE] = 2},
+ [DOME_BATTLE_STYLE_RARE_MOVE] = {[MOVE_POINTS_RARE] = 1},
+ [DOME_BATTLE_STYLE_HP] = {[MOVE_POINTS_HEAL] = 3},
+ [DOME_BATTLE_STYLE_STORE_POWER] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_HEAL] = 1},
+ [DOME_BATTLE_STYLE_ENFEEBLE_LOW] = {[MOVE_POINTS_STAT_LOWER] = 1, [MOVE_POINTS_STATUS] = 1},
+ [DOME_BATTLE_STYLE_LUCK] = {[MOVE_POINTS_LUCK] = 2},
+ [DOME_BATTLE_STYLE_REGAL] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_DEF] = 1, [MOVE_POINTS_POPULAR] = 1, [MOVE_POINTS_STRONG] = 1},
+ [DOME_BATTLE_STYLE_LOW_PP] = {[MOVE_POINTS_LOW_PP] = 3},
+ [DOME_BATTLE_STYLE_STATUS_ATK] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_STATUS] = 1},
+ [DOME_BATTLE_STYLE_ENDURE] = {[MOVE_POINTS_HEAL] = 2, [MOVE_POINTS_DEF] = 2},
+ [DOME_BATTLE_STYLE_STATUS] = {[MOVE_POINTS_STATUS] = 2},
+ [DOME_BATTLE_STYLE_STRAIGHTFORWARD] = {[MOVE_POINTS_ACCURATE] = 3, [MOVE_POINTS_STRONG] = 3},
+ [DOME_BATTLE_STYLE_AGGRESSIVE] = {[MOVE_POINTS_STRONG] = 4},
+ [DOME_BATTLE_STYLE_DEF] = {[MOVE_POINTS_DEF] = 3},
+ [DOME_BATTLE_STYLE_ENFEEBLE_HIGH] = {[MOVE_POINTS_STAT_LOWER] = 2, [MOVE_POINTS_STATUS] = 2}, // BUG: This battle style is unobtainable; DOME_BATTLE_STYLE_ENFEEBLE_LOW will always succeed before it
+ [DOME_BATTLE_STYLE_POPULAR_POWER] = {[MOVE_POINTS_POWERFUL] = 3, [MOVE_POINTS_POPULAR] = 3},
+ [DOME_BATTLE_STYLE_COMBO_LOW] = {[MOVE_POINTS_COMBO] = 2},
+ [DOME_BATTLE_STYLE_ACCURATE] = {[MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_ACCURATE] = 3},
+ [DOME_BATTLE_STYLE_POWERFUL] = {[MOVE_POINTS_POWERFUL] = 4},
+ [DOME_BATTLE_STYLE_ATK_OVER_DEF] = {[MOVE_POINTS_DMG] = 7},
+ [DOME_BATTLE_STYLE_DEF_OVER_ATK] = {[MOVE_POINTS_DEF] = 4}, // BUG: This battle style is unobtainable; DOME_BATTLE_STYLE_DEF will always succeed before it
+ [DOME_BATTLE_STYLE_POPULAR_STRONG] = {[MOVE_POINTS_POPULAR] = 2, [MOVE_POINTS_STRONG] = 4},
+ [DOME_BATTLE_STYLE_EFFECTS] = {[MOVE_POINTS_EFFECT] = 4},
[DOME_BATTLE_STYLE_BALANCED] = {0}, // If no other thresholds are met, this battle style is used
[DOME_BATTLE_STYLE_UNUSED1] = {0}, // Here below is unreachable
[DOME_BATTLE_STYLE_UNUSED2] = {0},
@@ -531,40 +548,44 @@ static const u8 sUnusedArray[] =
0, 0, 0, 254, 0, 0, 0, 0, 0,
};
-static const u8 sTourneyTreeCursorMovementMap[][5][4]=
-{
- {{0x07, 0x01, 0x08, 0x10}, {0x07, 0x01, 0x08, 0x10}, {0x07, 0x01, 0x08, 0x10}, {0x07, 0x01, 0x08, 0x10}, {0x07, 0x01, 0x08, 0x10}},
- {{0x00, 0x02, 0x09, 0x10}, {0x00, 0x02, 0x09, 0x10}, {0x00, 0x02, 0x09, 0x10}, {0x00, 0x02, 0x09, 0x10}, {0x00, 0x02, 0x09, 0x10}},
- {{0x01, 0x03, 0x0a, 0x11}, {0x01, 0x03, 0x0a, 0x11}, {0x01, 0x03, 0x0a, 0x11}, {0x01, 0x03, 0x0a, 0x11}, {0x01, 0x03, 0x0a, 0x11}},
- {{0x02, 0x04, 0x0b, 0x11}, {0x02, 0x04, 0x0b, 0x11}, {0x02, 0x04, 0x0b, 0x11}, {0x02, 0x04, 0x0b, 0x11}, {0x02, 0x04, 0x0b, 0x11}},
- {{0x03, 0x05, 0x0c, 0x12}, {0x03, 0x05, 0x0c, 0x12}, {0x03, 0x05, 0x0c, 0x12}, {0x03, 0x05, 0x0c, 0x12}, {0x03, 0x05, 0x0c, 0x12}},
- {{0x04, 0x06, 0x0d, 0x12}, {0x04, 0x06, 0x0d, 0x12}, {0x04, 0x06, 0x0d, 0x12}, {0x04, 0x06, 0x0d, 0x12}, {0x04, 0x06, 0x0d, 0x12}},
- {{0x05, 0x07, 0x0e, 0x13}, {0x05, 0x07, 0x0e, 0x13}, {0x05, 0x07, 0x0e, 0x13}, {0x05, 0x07, 0x0e, 0x13}, {0x05, 0x07, 0x0e, 0x13}},
- {{0x06, 0x00, 0x0f, 0x13}, {0x06, 0x00, 0x0f, 0x13}, {0x06, 0x00, 0x0f, 0x13}, {0x06, 0x00, 0x0f, 0x13}, {0x06, 0x00, 0x0f, 0x13}},
- {{0x1f, 0x09, 0x14, 0x1f}, {0x1f, 0x09, 0x14, 0x1f}, {0x1f, 0x09, 0x14, 0x1f}, {0x1f, 0x09, 0x14, 0x1f}, {0x1f, 0x09, 0x14, 0x1f}},
- {{0x08, 0x0a, 0x14, 0x01}, {0x08, 0x0a, 0x14, 0x01}, {0x08, 0x0a, 0x14, 0x01}, {0x08, 0x0a, 0x14, 0x01}, {0x08, 0x0a, 0x14, 0x01}},
- {{0x09, 0x0b, 0x15, 0x02}, {0x09, 0x0b, 0x15, 0x02}, {0x09, 0x0b, 0x15, 0x02}, {0x09, 0x0b, 0x15, 0x02}, {0x09, 0x0b, 0x15, 0x02}},
- {{0x0a, 0x0c, 0x15, 0x03}, {0x0a, 0x0c, 0x15, 0x03}, {0x0a, 0x0c, 0x15, 0x03}, {0x0a, 0x0c, 0x15, 0x03}, {0x0a, 0x0c, 0x15, 0x03}},
- {{0x0b, 0x0d, 0x16, 0x04}, {0x0b, 0x0d, 0x16, 0x04}, {0x0b, 0x0d, 0x16, 0x04}, {0x0b, 0x0d, 0x16, 0x04}, {0x0b, 0x0d, 0x16, 0x04}},
- {{0x0c, 0x0e, 0x16, 0x05}, {0x0c, 0x0e, 0x16, 0x05}, {0x0c, 0x0e, 0x16, 0x05}, {0x0c, 0x0e, 0x16, 0x05}, {0x0c, 0x0e, 0x16, 0x05}},
- {{0x0d, 0x0f, 0x17, 0x06}, {0x0d, 0x0f, 0x17, 0x06}, {0x0d, 0x0f, 0x17, 0x06}, {0x0d, 0x0f, 0x17, 0x06}, {0x0d, 0x0f, 0x17, 0x06}},
- {{0x0e, 0x1f, 0x17, 0x07}, {0x0e, 0x1f, 0x17, 0x07}, {0x0e, 0x1f, 0x17, 0x07}, {0x0e, 0x1f, 0x17, 0x07}, {0x0e, 0x1f, 0x17, 0x07}},
- {{0x13, 0x11, 0x00, 0x14}, {0x13, 0x11, 0x00, 0x18}, {0x13, 0x11, 0x00, 0x18}, {0x13, 0x11, 0x00, 0x18}, {0x13, 0x11, 0x00, 0x18}},
- {{0x10, 0x12, 0x02, 0x15}, {0x10, 0x12, 0x02, 0x18}, {0x10, 0x12, 0x02, 0x18}, {0x10, 0x12, 0x02, 0x18}, {0x10, 0x12, 0x02, 0x18}},
- {{0x11, 0x13, 0x04, 0x16}, {0x11, 0x13, 0x04, 0x19}, {0x11, 0x13, 0x04, 0x19}, {0x11, 0x13, 0x04, 0x19}, {0x11, 0x13, 0x04, 0x19}},
- {{0x12, 0x10, 0x06, 0x17}, {0x12, 0x10, 0x06, 0x19}, {0x12, 0x10, 0x06, 0x19}, {0x12, 0x10, 0x06, 0x19}, {0x12, 0x10, 0x06, 0x19}},
- {{0x17, 0x15, 0x10, 0x08}, {0x17, 0x15, 0x1a, 0x08}, {0x17, 0x15, 0x1a, 0x08}, {0x17, 0x15, 0x1a, 0x08}, {0x17, 0x15, 0x1a, 0x08}},
- {{0x14, 0x16, 0x11, 0x0a}, {0x14, 0x16, 0x1a, 0x0a}, {0x14, 0x16, 0x1a, 0x0a}, {0x14, 0x16, 0x1a, 0x0a}, {0x14, 0x16, 0x1a, 0x0a}},
- {{0x15, 0x17, 0x12, 0x0c}, {0x15, 0x17, 0x1b, 0x0c}, {0x15, 0x17, 0x1b, 0x0c}, {0x15, 0x17, 0x1b, 0x0c}, {0x15, 0x17, 0x1b, 0x0c}},
- {{0x16, 0x14, 0x13, 0x0e}, {0x16, 0x14, 0x1b, 0x0e}, {0x16, 0x14, 0x1b, 0x0e}, {0x16, 0x14, 0x1b, 0x0e}, {0x16, 0x14, 0x1b, 0x0e}},
- {{0xff, 0xff, 0xff, 0xff}, {0x19, 0x19, 0x10, 0x1a}, {0x19, 0x19, 0x10, 0x1c}, {0x19, 0x19, 0x10, 0x1c}, {0x19, 0x19, 0x10, 0x1c}},
- {{0xff, 0xff, 0xff, 0xff}, {0x18, 0x18, 0x12, 0x1b}, {0x18, 0x18, 0x12, 0x1c}, {0x18, 0x18, 0x12, 0x1c}, {0x18, 0x18, 0x12, 0x1c}},
- {{0xff, 0xff, 0xff, 0xff}, {0x1b, 0x1b, 0x18, 0x14}, {0x1b, 0x1b, 0x1d, 0x14}, {0x1b, 0x1b, 0x1d, 0x14}, {0x1b, 0x1b, 0x1d, 0x14}},
- {{0xff, 0xff, 0xff, 0xff}, {0x1a, 0x1a, 0x19, 0x16}, {0x1a, 0x1a, 0x1d, 0x16}, {0x1a, 0x1a, 0x1d, 0x16}, {0x1a, 0x1a, 0x1d, 0x16}},
- {{0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0x18, 0x1d}, {0xff, 0xff, 0x18, 0x1e}, {0xff, 0xff, 0x18, 0x1e}},
- {{0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0x1c, 0x1a}, {0xff, 0xff, 0x1e, 0x1a}, {0xff, 0xff, 0x1e, 0x1a}},
- {{0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0xff, 0xff}, {0xff, 0xff, 0x1c, 0x1d}, {0xff, 0xff, 0x1c, 0x1d}},
- {{0x0f, 0x08, 0x08, 0x00}, {0x0f, 0x08, 0x08, 0x00}, {0x0f, 0x08, 0x08, 0x00}, {0x0f, 0x08, 0x08, 0x00}, {0x0f, 0x08, 0x08, 0x00}},
+// 1st array is for cursor position (sprite id): cursor can be on a trainer info button, a match info button, or the exit/cancel button
+// 2nd array is for round count. For some reason this array contains an inaccessible Round 5 which is identical to Round 4
+// 3rd array is movement direction (see the MOVE_DIR_* constants in UpdateTourneyTreeCursor)
+// The values are sprite IDs for the cursor position to move to, with 0xFF being an invalid move
+static const u8 sTourneyTreeCursorMovementMap[DOME_TOURNAMENT_TRAINERS_COUNT + DOME_TOURNAMENT_MATCHES_COUNT + 1][DOME_ROUNDS_COUNT + 1][4]=
+{
+ [0] = {{ 7, 1, 8, 16}, { 7, 1, 8, 16}, { 7, 1, 8, 16}, { 7, 1, 8, 16}, { 7, 1, 8, 16}},
+ [1] = {{ 0, 2, 9, 16}, { 0, 2, 9, 16}, { 0, 2, 9, 16}, { 0, 2, 9, 16}, { 0, 2, 9, 16}},
+ [2] = {{ 1, 3, 10, 17}, { 1, 3, 10, 17}, { 1, 3, 10, 17}, { 1, 3, 10, 17}, { 1, 3, 10, 17}},
+ [3] = {{ 2, 4, 11, 17}, { 2, 4, 11, 17}, { 2, 4, 11, 17}, { 2, 4, 11, 17}, { 2, 4, 11, 17}},
+ [4] = {{ 3, 5, 12, 18}, { 3, 5, 12, 18}, { 3, 5, 12, 18}, { 3, 5, 12, 18}, { 3, 5, 12, 18}},
+ [5] = {{ 4, 6, 13, 18}, { 4, 6, 13, 18}, { 4, 6, 13, 18}, { 4, 6, 13, 18}, { 4, 6, 13, 18}},
+ [6] = {{ 5, 7, 14, 19}, { 5, 7, 14, 19}, { 5, 7, 14, 19}, { 5, 7, 14, 19}, { 5, 7, 14, 19}},
+ [7] = {{ 6, 0, 15, 19}, { 6, 0, 15, 19}, { 6, 0, 15, 19}, { 6, 0, 15, 19}, { 6, 0, 15, 19}},
+ [8] = {{ 31, 9, 20, 31}, { 31, 9, 20, 31}, { 31, 9, 20, 31}, { 31, 9, 20, 31}, { 31, 9, 20, 31}},
+ [9] = {{ 8, 10, 20, 1}, { 8, 10, 20, 1}, { 8, 10, 20, 1}, { 8, 10, 20, 1}, { 8, 10, 20, 1}},
+ [10] = {{ 9, 11, 21, 2}, { 9, 11, 21, 2}, { 9, 11, 21, 2}, { 9, 11, 21, 2}, { 9, 11, 21, 2}},
+ [11] = {{ 10, 12, 21, 3}, { 10, 12, 21, 3}, { 10, 12, 21, 3}, { 10, 12, 21, 3}, { 10, 12, 21, 3}},
+ [12] = {{ 11, 13, 22, 4}, { 11, 13, 22, 4}, { 11, 13, 22, 4}, { 11, 13, 22, 4}, { 11, 13, 22, 4}},
+ [13] = {{ 12, 14, 22, 5}, { 12, 14, 22, 5}, { 12, 14, 22, 5}, { 12, 14, 22, 5}, { 12, 14, 22, 5}},
+ [14] = {{ 13, 15, 23, 6}, { 13, 15, 23, 6}, { 13, 15, 23, 6}, { 13, 15, 23, 6}, { 13, 15, 23, 6}},
+ [15] = {{ 14, 31, 23, 7}, { 14, 31, 23, 7}, { 14, 31, 23, 7}, { 14, 31, 23, 7}, { 14, 31, 23, 7}},
+ [16] = {{ 19, 17, 0, 20}, { 19, 17, 0, 24}, { 19, 17, 0, 24}, { 19, 17, 0, 24}, { 19, 17, 0, 24}},
+ [17] = {{ 16, 18, 2, 21}, { 16, 18, 2, 24}, { 16, 18, 2, 24}, { 16, 18, 2, 24}, { 16, 18, 2, 24}},
+ [18] = {{ 17, 19, 4, 22}, { 17, 19, 4, 25}, { 17, 19, 4, 25}, { 17, 19, 4, 25}, { 17, 19, 4, 25}},
+ [19] = {{ 18, 16, 6, 23}, { 18, 16, 6, 25}, { 18, 16, 6, 25}, { 18, 16, 6, 25}, { 18, 16, 6, 25}},
+ [20] = {{ 23, 21, 16, 8}, { 23, 21, 26, 8}, { 23, 21, 26, 8}, { 23, 21, 26, 8}, { 23, 21, 26, 8}},
+ [21] = {{ 20, 22, 17, 10}, { 20, 22, 26, 10}, { 20, 22, 26, 10}, { 20, 22, 26, 10}, { 20, 22, 26, 10}},
+ [22] = {{ 21, 23, 18, 12}, { 21, 23, 27, 12}, { 21, 23, 27, 12}, { 21, 23, 27, 12}, { 21, 23, 27, 12}},
+ [23] = {{ 22, 20, 19, 14}, { 22, 20, 27, 14}, { 22, 20, 27, 14}, { 22, 20, 27, 14}, { 22, 20, 27, 14}},
+ [24] = {{0xFF, 0xFF, 0xFF, 0xFF}, { 25, 25, 16, 26}, { 25, 25, 16, 28}, { 25, 25, 16, 28}, { 25, 25, 16, 28}},
+ [25] = {{0xFF, 0xFF, 0xFF, 0xFF}, { 24, 24, 18, 27}, { 24, 24, 18, 28}, { 24, 24, 18, 28}, { 24, 24, 18, 28}},
+ [26] = {{0xFF, 0xFF, 0xFF, 0xFF}, { 27, 27, 24, 20}, { 27, 27, 29, 20}, { 27, 27, 29, 20}, { 27, 27, 29, 20}},
+ [27] = {{0xFF, 0xFF, 0xFF, 0xFF}, { 26, 26, 25, 22}, { 26, 26, 29, 22}, { 26, 26, 29, 22}, { 26, 26, 29, 22}},
+ [28] = {{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 24, 29}, {0xFF, 0xFF, 24, 30}, {0xFF, 0xFF, 24, 30}},
+ [29] = {{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 28, 26}, {0xFF, 0xFF, 30, 26}, {0xFF, 0xFF, 30, 26}},
+ [30] = {{0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 0xFF, 0xFF}, {0xFF, 0xFF, 28, 29}, {0xFF, 0xFF, 28, 29}},
+ [31] = {{ 15, 8, 8, 0}, { 15, 8, 8, 0}, { 15, 8, 8, 0}, { 15, 8, 8, 0}, { 15, 8, 8, 0}}, // TOURNEY_TREE_CLOSE_BUTTON
};
static const struct BgTemplate sTourneyTreeBgTemplates[4] =
@@ -607,7 +628,7 @@ static const struct BgTemplate sTourneyTreeBgTemplates[4] =
},
};
-static const struct BgTemplate sOpponentInfoBgTemplates[4] =
+static const struct BgTemplate sInfoCardBgTemplates[4] =
{
{
.bg = 0,
@@ -679,7 +700,7 @@ static const struct WindowTemplate sTourneyTreeWindowTemplates[] =
DUMMY_WIN_TEMPLATE,
};
-static const struct WindowTemplate sOpponentInfoWindowTemplates[] =
+static const struct WindowTemplate sInfoCardWindowTemplates[] =
{
{
.bg = 0,
@@ -853,19 +874,20 @@ static const struct ScanlineEffectParams sTourneyTreeScanlineEffectParams =
.initState = 1,
};
-static const struct CompressedSpriteSheet sDomeOptionsSpriteSheet[] =
+static const struct CompressedSpriteSheet sTourneyTreeButtonsSpriteSheet[] =
{
- {gBattleFrontierGfx_DomeOptions, 0x0600, 0x0000},
+ {gDomeTourneyTreeButtons_Gfx, 0x0600, 0x0000},
{},
};
-static const struct CompressedSpritePalette gUnknown_0860CF60[] =
+// Unused
+static const struct CompressedSpritePalette sTourneyTreeButtonsSpritePal[] =
{
- {gUnknown_08D85444, 0x0000},
+ {gDomeTourneyTreeButtons_Pal, 0x0000},
{},
};
-static const struct OamData gUnknown_0860CF70 =
+static const struct OamData sOamData_TourneyTreePokeball =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -882,7 +904,8 @@ static const struct OamData gUnknown_0860CF70 =
.affineParam = 0,
};
-static const struct OamData gUnknown_0860CF78 =
+// For Exit/Cancel buttons
+static const struct OamData sOamData_TourneyTreeCloseButton =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -899,7 +922,7 @@ static const struct OamData gUnknown_0860CF78 =
.affineParam = 0,
};
-static const struct OamData gUnknown_0860CF80 =
+static const struct OamData sOamData_VerticalScrollArrow =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -916,7 +939,7 @@ static const struct OamData gUnknown_0860CF80 =
.affineParam = 0,
};
-static const struct OamData gUnknown_0860CF88 =
+static const struct OamData sOamData_HorizontalScrollArrow =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -933,161 +956,153 @@ static const struct OamData gUnknown_0860CF88 =
.affineParam = 0,
};
-static const union AnimCmd gUnknown_0860CF90[] =
+static const union AnimCmd sSpriteAnim_TourneyTreePokeballNormal[] =
{
ANIMCMD_FRAME(20, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_0860CF98[] =
+static const union AnimCmd sSpriteAnim_TourneyTreePokeballSelected[] =
{
ANIMCMD_FRAME(24, 1),
ANIMCMD_END,
};
-static const union AnimCmd * const gUnknown_0860CFA0[] =
+static const union AnimCmd * const sSpriteAnimTable_TourneyTreePokeball[] =
{
- gUnknown_0860CF90,
- gUnknown_0860CF98,
+ sSpriteAnim_TourneyTreePokeballNormal,
+ sSpriteAnim_TourneyTreePokeballSelected,
};
-static const struct SpriteTemplate gUnknown_0860CFA8 =
+// Sprite template for the pokeballs on the tourney tree that act as buttons to view a trainer/match info card
+static const struct SpriteTemplate sTourneyTreePokeballSpriteTemplate =
{
.tileTag = 0x0000,
.paletteTag = 0xffff,
- .oam = &gUnknown_0860CF70,
- .anims = gUnknown_0860CFA0,
+ .oam = &sOamData_TourneyTreePokeball,
+ .anims = sSpriteAnimTable_TourneyTreePokeball,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy
+ .callback = SpriteCallbackDummy
};
-static const union AnimCmd gUnknown_0860CFC0[] =
+static const union AnimCmd sSpriteAnim_TourneyTreeCancelButtonNormal[] =
{
ANIMCMD_FRAME(8, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_0860CFC8[] =
+static const union AnimCmd sSpriteAnim_TourneyTreeCancelButtonSelected[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-static const union AnimCmd * const gUnknown_0860CFD0[] =
+static const union AnimCmd * const sSpriteAnimTable_TourneyTreeCancelButton[] =
{
- gUnknown_0860CFC0,
- gUnknown_0860CFC8,
+ sSpriteAnim_TourneyTreeCancelButtonNormal,
+ sSpriteAnim_TourneyTreeCancelButtonSelected,
};
-static const struct SpriteTemplate gUnknown_0860CFD8 =
+static const struct SpriteTemplate sCancelButtonSpriteTemplate =
{
.tileTag = 0x0000,
.paletteTag = 0xffff,
- .oam = &gUnknown_0860CF78,
- .anims = gUnknown_0860CFD0,
+ .oam = &sOamData_TourneyTreeCloseButton,
+ .anims = sSpriteAnimTable_TourneyTreeCancelButton,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy
};
-static const union AnimCmd gUnknown_0860CFF0[] =
+static const union AnimCmd sSpriteAnim_TourneyTreeExitButtonNormal[] =
{
ANIMCMD_FRAME(40, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_0860CFF8[] =
+static const union AnimCmd sSpriteAnim_TourneyTreeExitButtonSelected[] =
{
ANIMCMD_FRAME(32, 1),
ANIMCMD_END,
};
-static const union AnimCmd * const gUnknown_0860D000[] =
+static const union AnimCmd * const sSpriteAnimTable_TourneyTreeExitButton[] =
{
- gUnknown_0860CFF0,
- gUnknown_0860CFF8,
+ sSpriteAnim_TourneyTreeExitButtonNormal,
+ sSpriteAnim_TourneyTreeExitButtonSelected,
};
-static const struct SpriteTemplate gUnknown_0860D008 =
+static const struct SpriteTemplate sExitButtonSpriteTemplate =
{
.tileTag = 0x0000,
.paletteTag = 0xffff,
- .oam = &gUnknown_0860CF78,
- .anims = gUnknown_0860D000,
+ .oam = &sOamData_TourneyTreeCloseButton,
+ .anims = sSpriteAnimTable_TourneyTreeExitButton,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy
};
-static const union AnimCmd gUnknown_0860D020[] =
+static const union AnimCmd sSpriteAnim_UpArrow[] =
{
ANIMCMD_FRAME(18, 1),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_0860D028[] =
+static const union AnimCmd sSpriteAnim_DownArrow[] =
{
ANIMCMD_FRAME(18, 1, .vFlip = TRUE),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_0860D030[] =
+static const union AnimCmd sSpriteAnim_LeftArrow[] =
{
ANIMCMD_FRAME(16, 1, .hFlip = TRUE),
ANIMCMD_END,
};
-static const union AnimCmd gUnknown_0860D038[] =
+static const union AnimCmd sSpriteAnim_RightArrow[] =
{
ANIMCMD_FRAME(16, 1),
ANIMCMD_END,
};
-static const union AnimCmd * const gUnknown_0860D040[] =
+static const union AnimCmd * const sSpriteAnimTable_VerticalScrollArrow[] =
{
- gUnknown_0860D020,
- gUnknown_0860D028,
+ sSpriteAnim_UpArrow,
+ sSpriteAnim_DownArrow,
};
-static const union AnimCmd * const gUnknown_0860D048[] =
+static const union AnimCmd * const sSpriteAnimTable_HorizontalScrollArrow[] =
{
- gUnknown_0860D030,
- gUnknown_0860D038,
+ sSpriteAnim_LeftArrow,
+ sSpriteAnim_RightArrow,
};
-static const struct SpriteTemplate gUnknown_0860D050 =
+static const struct SpriteTemplate sHorizontalScrollArrowSpriteTemplate =
{
.tileTag = 0x0000,
.paletteTag = 0xffff,
- .oam = &gUnknown_0860CF88,
- .anims = gUnknown_0860D048,
+ .oam = &sOamData_HorizontalScrollArrow,
+ .anims = sSpriteAnimTable_HorizontalScrollArrow,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8190B40
+ .callback = SpriteCb_HorizontalScrollArrow
};
-static const struct SpriteTemplate gUnknown_0860D068 =
+static const struct SpriteTemplate sVerticalScrollArrowSpriteTemplate =
{
.tileTag = 0x0000,
.paletteTag = 0xffff,
- .oam = &gUnknown_0860CF80,
- .anims = gUnknown_0860D040,
+ .oam = &sOamData_VerticalScrollArrow,
+ .anims = sSpriteAnimTable_VerticalScrollArrow,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8190C6C
+ .callback = SpriteCb_VerticalScrollArrow
};
// Organized by seed starting position, i.e. seed 0 battles seed 8 first
-static const u8 sTourneyTreeTrainerIds[DOME_TOURNAMENT_TRAINERS_COUNT] =
-{
- 0, 8,
- 12, 4,
- 7, 15,
- 11, 3,
- 2, 10,
- 14, 6,
- 5, 13,
- 9, 1};
+static const u8 sTourneyTreeTrainerIds[DOME_TOURNAMENT_TRAINERS_COUNT] = {0, 8, 12, 4, 7, 15, 11, 3, 2, 10, 14, 6, 5, 13, 9, 1};
static void (* const sBattleDomeFunctions[])(void) =
{
@@ -1099,7 +1114,7 @@ static void (* const sBattleDomeFunctions[])(void) =
[BATTLE_DOME_FUNC_INIT_OPPONENT_PARTY] = InitDomeOpponentParty,
[BATTLE_DOME_FUNC_SHOW_OPPONENT_INFO] = ShowDomeOpponentInfo,
[BATTLE_DOME_FUNC_SHOW_TOURNEY_TREE] = ShowDomeTourneyTree,
- [BATTLE_DOME_FUNC_SHOW_PREV_RESULTS_TREE] = ShowPreviousDomeResultsTourneyTree,
+ [BATTLE_DOME_FUNC_SHOW_PREV_TOURNEY_TREE] = ShowPreviousDomeTourneyTree,
[BATTLE_DOME_FUNC_SET_OPPONENT_ID] = SetDomeOpponentId,
[BATTLE_DOME_FUNC_SET_OPPONENT_GFX] = SetDomeOpponentGraphicsId,
[BATTLE_DOME_FUNC_SHOW_STATIC_TOURNEY_TREE] = ShowNonInteractiveDomeTourneyTree,
@@ -1128,66 +1143,52 @@ static const u32 sWinStreakMasks[][2] =
{~(STREAK_DOME_DOUBLES_50), ~(STREAK_DOME_DOUBLES_OPEN)},
};
+// TODO: The below two arrays probably need better names. The one below for example is only true of sIdToOpponentId[i][0]
static const u8 sIdToOpponentId[DOME_TOURNAMENT_TRAINERS_COUNT][DOME_ROUNDS_COUNT] =
{
- [0] = {8, 0, 4, 8},
- [1] = {9, 12, 8, 0},
- [2] = {10, 8, 12, 0},
- [3] = {11, 4, 0, 8},
- [4] = {12, 0, 4, 8},
- [5] = {13, 12, 8, 0},
- [6] = {14, 8, 12, 0},
- [7] = {15, 4, 0, 8},
- [8] = {0, 0, 4, 8},
- [9] = {1, 12, 8, 0},
- [10] = {2, 8, 12, 0},
- [11] = {3, 4, 0, 8},
- [12] = {4, 0, 4, 8},
- [13] = {5, 12, 8, 0},
- [14] = {6, 8, 12, 0},
- [15] = {7, 4, 0, 8},
+ [0] = { 8, 0, 4, 8},
+ [1] = { 9, 12, 8, 0},
+ [2] = {10, 8, 12, 0},
+ [3] = {11, 4, 0, 8},
+ [4] = {12, 0, 4, 8},
+ [5] = {13, 12, 8, 0},
+ [6] = {14, 8, 12, 0},
+ [7] = {15, 4, 0, 8},
+ [8] = { 0, 0, 4, 8},
+ [9] = { 1, 12, 8, 0},
+ [10] = { 2, 8, 12, 0},
+ [11] = { 3, 4, 0, 8},
+ [12] = { 4, 0, 4, 8},
+ [13] = { 5, 12, 8, 0},
+ [14] = { 6, 8, 12, 0},
+ [15] = { 7, 4, 0, 8},
};
-static const u8 gUnknown_0860D14C[DOME_TOURNAMENT_TRAINERS_COUNT] =
-{
- 0,
- 8,
- 4,
- 12,
- 7,
- 15,
- 3,
- 11,
- 2,
- 10,
- 6,
- 14,
- 5,
- 13,
- 1,
- 9};
-
-static const u8 gUnknown_0860D15C[][4] =
-{
- {0x00, 0x08, 0x0c, 0x0e},
- {0x00, 0x08, 0x0c, 0x0e},
- {0x01, 0x08, 0x0c, 0x0e},
- {0x01, 0x08, 0x0c, 0x0e},
- {0x02, 0x09, 0x0c, 0x0e},
- {0x02, 0x09, 0x0c, 0x0e},
- {0x03, 0x09, 0x0c, 0x0e},
- {0x03, 0x09, 0x0c, 0x0e},
- {0x04, 0x0a, 0x0d, 0x0e},
- {0x04, 0x0a, 0x0d, 0x0e},
- {0x05, 0x0a, 0x0d, 0x0e},
- {0x05, 0x0a, 0x0d, 0x0e},
- {0x06, 0x0b, 0x0d, 0x0e},
- {0x06, 0x0b, 0x0d, 0x0e},
- {0x07, 0x0b, 0x0d, 0x0e},
- {0x07, 0x0b, 0x0d, 0x0e},
+// sTourneyTreeTrainerIds with every other pair swapped
+static const u8 sTourneyTreeTrainerOpponentIds[DOME_TOURNAMENT_TRAINERS_COUNT] = { 0, 8, 4, 12, 7, 15, 3, 11, 2, 10, 6, 14, 5, 13, 1, 9 };
+
+// The match number - 1 that a given tournament trainer will participate in for a given round
+static const u8 sIdToMatchNumber[DOME_TOURNAMENT_TRAINERS_COUNT][DOME_ROUNDS_COUNT] =
+{
+ { 0, 8, 12, 14},
+ { 0, 8, 12, 14},
+ { 1, 8, 12, 14},
+ { 1, 8, 12, 14},
+ { 2, 9, 12, 14},
+ { 2, 9, 12, 14},
+ { 3, 9, 12, 14},
+ { 3, 9, 12, 14},
+ { 4, 10, 13, 14},
+ { 4, 10, 13, 14},
+ { 5, 10, 13, 14},
+ { 5, 10, 13, 14},
+ { 6, 11, 13, 14},
+ { 6, 11, 13, 14},
+ { 7, 11, 13, 14},
+ { 7, 11, 13, 14},
};
-static const u8 gUnknown_0860D19C[DOME_ROUNDS_COUNT] =
+static const u8 sLastMatchCardNum[DOME_ROUNDS_COUNT] =
{
[DOME_ROUND1] = 23,
[DOME_ROUND2] = 27,
@@ -1195,7 +1196,7 @@ static const u8 gUnknown_0860D19C[DOME_ROUNDS_COUNT] =
[DOME_FINAL] = 30
};
-static const u8 gUnknown_0860D1A0[][DOME_ROUNDS_COUNT] =
+static const u8 gUnknown_0860D1A0[DOME_TOURNAMENT_TRAINERS_COUNT / 2][DOME_ROUNDS_COUNT] =
{
{16, 24, 28, 30},
{17, 24, 28, 30},
@@ -1209,7 +1210,7 @@ static const u8 gUnknown_0860D1A0[][DOME_ROUNDS_COUNT] =
static const u8 gUnknown_0860D1C0[DOME_TOURNAMENT_TRAINERS_COUNT] = {0, 15, 8, 7, 3, 12, 11, 4, 1, 14, 9, 6, 2, 13, 10, 5};
-// Each tourney trainer has a text describing their potential, depending on their seed ranking for the current tourney
+// Each tourney trainer has a text describing their potential to win, depending on their seed ranking for the current tourney
// Dome Ace Tucker has their own separate potential text
static const u8 *const sBattleDomePotentialTexts[DOME_TOURNAMENT_TRAINERS_COUNT + 1] =
{
@@ -1232,6 +1233,7 @@ static const u8 *const sBattleDomePotentialTexts[DOME_TOURNAMENT_TRAINERS_COUNT
BattleDome_Text_PotentialDomeAceTucker,
};
+// The first line of text on a trainers info card that gives information about their battle style (dependent on their party's moves)
static const u8 *const sBattleDomeOpponentStyleTexts[NUM_BATTLE_STYLES] =
{
[DOME_BATTLE_STYLE_RISKY] = BattleDome_Text_StyleRiskDisaster,
@@ -1244,7 +1246,7 @@ static const u8 *const sBattleDomeOpponentStyleTexts[NUM_BATTLE_STYLES] =
[DOME_BATTLE_STYLE_STORE_POWER] = BattleDome_Text_StyleStoresAndLoosesPower,
[DOME_BATTLE_STYLE_ENFEEBLE_LOW] = BattleDome_Text_StyleEnfeeblesFoes,
[DOME_BATTLE_STYLE_LUCK] = BattleDome_Text_StylePrefersLuckTactics,
- [DOME_BATTLE_STYLE_10] = BattleDome_Text_StyleRegalAtmosphere,
+ [DOME_BATTLE_STYLE_REGAL] = BattleDome_Text_StyleRegalAtmosphere,
[DOME_BATTLE_STYLE_LOW_PP] = BattleDome_Text_StylePowerfulLowPPMoves,
[DOME_BATTLE_STYLE_STATUS_ATK] = BattleDome_Text_StyleEnfeebleThenAttack,
[DOME_BATTLE_STYLE_ENDURE] = BattleDome_Text_StyleBattlesWhileEnduring,
@@ -1268,1024 +1270,814 @@ static const u8 *const sBattleDomeOpponentStyleTexts[NUM_BATTLE_STYLES] =
[DOME_BATTLE_STYLE_UNUSED4] = BattleDome_Text_StyleSampleMessage4,
};
+// The second line of text on a trainers info card that gives information about their party's stat spread
static const u8 *const sBattleDomeOpponentStatsTexts[] =
{
- BattleDome_Text_EmphasizesHPAndAtk,
+ BattleDome_Text_EmphasizesHPAndAtk, // DOME_TEXT_TWO_GOOD_STATS and DOME_TEXT_HP start here
BattleDome_Text_EmphasizesHPAndDef,
BattleDome_Text_EmphasizesHPAndSpeed,
BattleDome_Text_EmphasizesHPAndSpAtk,
BattleDome_Text_EmphasizesHPAndSpDef,
- gBattleDomeOpponentStatsText6,
- gBattleDomeOpponentStatsText7,
- gBattleDomeOpponentStatsText8,
- gBattleDomeOpponentStatsText9,
- gBattleDomeOpponentStatsText10,
- gBattleDomeOpponentStatsText11,
- gBattleDomeOpponentStatsText12,
- gBattleDomeOpponentStatsText13,
- gBattleDomeOpponentStatsText14,
- gBattleDomeOpponentStatsText15,
- BattleDome_Text_EmphasizesHP,
- gBattleDomeOpponentStatsText17,
- gBattleDomeOpponentStatsText18,
- gBattleDomeOpponentStatsText19,
- gBattleDomeOpponentStatsText20,
- gBattleDomeOpponentStatsText21,
- BattleDome_Text_NeglectsHPAndAtk,
- gBattleDomeOpponentStatsText23,
- gBattleDomeOpponentStatsText24,
- gBattleDomeOpponentStatsText25,
- gBattleDomeOpponentStatsText26,
- gBattleDomeOpponentStatsText27,
- gBattleDomeOpponentStatsText28,
- gBattleDomeOpponentStatsText29,
- gBattleDomeOpponentStatsText30,
- gBattleDomeOpponentStatsText31,
- gBattleDomeOpponentStatsText32,
- gBattleDomeOpponentStatsText33,
- gBattleDomeOpponentStatsText34,
- gBattleDomeOpponentStatsText35,
- gBattleDomeOpponentStatsText36,
- BattleDome_Text_NeglectsHP,
- gBattleDomeOpponentStatsText38,
- gBattleDomeOpponentStatsText39,
- gBattleDomeOpponentStatsText40,
- gBattleDomeOpponentStatsText41,
- gBattleDomeOpponentStatsText42,
- BattleDome_Text_RaisesMonsWellBalanced,
+ BattleDome_Text_EmphasizesAtkAndDef, // DOME_TEXT_ATK starts here
+ BattleDome_Text_EmphasizesAtkAndSpeed,
+ BattleDome_Text_EmphasizesAtkAndSpAtk,
+ BattleDome_Text_EmphasizesAtkAndSpDef,
+ BattleDome_Text_EmphasizesDefAndSpeed, // DOME_TEXT_DEF starts here
+ BattleDome_Text_EmphasizesDefAndSpAtk,
+ BattleDome_Text_EmphasizesDefAndSpDef,
+ BattleDome_Text_EmphasizesSpeedAndSpAtk, // DOME_TEXT_SPEED starts here
+ BattleDome_Text_EmphasizesSpeedAndSpDef,
+ BattleDome_Text_EmphasizesSpAtkAndSpDef, // DOME_TEXT_SPATK starts here
+ BattleDome_Text_EmphasizesHP, // DOME_TEXT_ONE_GOOD_STAT starts here
+ BattleDome_Text_EmphasizesAtk,
+ BattleDome_Text_EmphasizesDef,
+ BattleDome_Text_EmphasizesSpeed,
+ BattleDome_Text_EmphasizesSpAtk,
+ BattleDome_Text_EmphasizesSpDef,
+ BattleDome_Text_NeglectsHPAndAtk, // DOME_TEXT_TWO_BAD_STATS starts here
+ BattleDome_Text_NeglectsHPAndDef,
+ BattleDome_Text_NeglectsHPAndSpeed,
+ BattleDome_Text_NeglectsHPAndSpAtk,
+ BattleDome_Text_NeglectsHPAndSpDef,
+ BattleDome_Text_NeglectsAtkAndDef,
+ BattleDome_Text_NeglectsAtkAndSpeed,
+ BattleDome_Text_NeglectsAtkAndSpAtk,
+ BattleDome_Text_NeglectsAtkAndSpDef,
+ BattleDome_Text_NeglectsDefAndSpeed,
+ BattleDome_Text_NeglectsDefAndSpAtk,
+ BattleDome_Text_NeglectsDefAndSpDef,
+ BattleDome_Text_NeglectsSpeedAndSpAtk,
+ BattleDome_Text_NeglectsSpeedAndSpDef,
+ BattleDome_Text_NeglectsSpAtkAndSpDef,
+ BattleDome_Text_NeglectsHP, // DOME_TEXT_ONE_BAD_STAT starts here
+ BattleDome_Text_NeglectsAtk,
+ BattleDome_Text_NeglectsDef,
+ BattleDome_Text_NeglectsSpeed,
+ BattleDome_Text_NeglectsSpAtk,
+ BattleDome_Text_NeglectsSpDef,
+ [DOME_TEXT_WELL_BALANCED] = BattleDome_Text_RaisesMonsWellBalanced,
};
-static const u8 sInfoTrainerMonX[] = {0x68, 0x88, 0x68};
-static const u8 sInfoTrainerMonY[] = {0x26, 0x3e, 0x4e};
+static const u8 sInfoTrainerMonX[FRONTIER_PARTY_SIZE] = {104, 136, 104};
+static const u8 sInfoTrainerMonY[FRONTIER_PARTY_SIZE] = { 38, 62, 78};
static const u8 sSpeciesNameTextYCoords[] = {0, 4, 0};
-static const u8 gUnknown_0860D349[] = {0x00, 0x05, 0x09, 0x0c, 0x0e, 0x00, 0x00};
+// Offsets within sBattleDomeOpponentStatsTexts for stat combinations
+// SPDEF has no offset because by then all stat combinations have been reached, so it has no combination texts
+static const u8 sStatTextOffsets[NUM_STATS - 1] =
+{
+ DOME_TEXT_HP,
+ DOME_TEXT_ATK,
+ DOME_TEXT_DEF,
+ DOME_TEXT_SPEED,
+ DOME_TEXT_SPATK
+};
static const u8 *const sBattleDomeMatchNumberTexts[DOME_TOURNAMENT_MATCHES_COUNT] =
{
- gBattleDomeMatchNumberText1,
- gBattleDomeMatchNumberText2,
- gBattleDomeMatchNumberText3,
- gBattleDomeMatchNumberText4,
- gBattleDomeMatchNumberText5,
- gBattleDomeMatchNumberText6,
- gBattleDomeMatchNumberText7,
- gBattleDomeMatchNumberText8,
- gBattleDomeMatchNumberText9,
- gBattleDomeMatchNumberText10,
- gBattleDomeMatchNumberText11,
- gBattleDomeMatchNumberText12,
- gBattleDomeMatchNumberText13,
- gBattleDomeMatchNumberText14,
- gBattleDomeMatchNumberText15,
+ BattleDome_Text_Round1Match1,
+ BattleDome_Text_Round1Match2,
+ BattleDome_Text_Round1Match3,
+ BattleDome_Text_Round1Match4,
+ BattleDome_Text_Round1Match5,
+ BattleDome_Text_Round1Match6,
+ BattleDome_Text_Round1Match7,
+ BattleDome_Text_Round1Match8,
+ BattleDome_Text_Round2Match1,
+ BattleDome_Text_Round2Match2,
+ BattleDome_Text_Round2Match3,
+ BattleDome_Text_Round2Match4,
+ BattleDome_Text_SemifinalMatch1,
+ BattleDome_Text_SemifinalMatch2,
+ BattleDome_Text_FinalMatch,
};
static const u8 *const sBattleDomeWinTexts[] =
{
- gBattleDomeWinText1,
- gBattleDomeWinText2,
- gBattleDomeWinText3,
- gBattleDomeWinText4,
- gBattleDomeWinText5,
- gBattleDomeWinText6,
- gBattleDomeWinText7,
+ [DOME_TEXT_NO_WINNER_YET] = BattleDome_Text_LetTheBattleBegin,
+ [DOME_TEXT_WON_USING_MOVE] = BattleDome_Text_TrainerWonUsingMove,
+ [DOME_TEXT_CHAMP_USING_MOVE] = BattleDome_Text_TrainerBecameChamp,
+ [DOME_TEXT_WON_ON_FORFEIT] = BattleDome_Text_TrainerWonByDefault,
+ [DOME_TEXT_CHAMP_ON_FORFEIT] = BattleDome_Text_TrainerWonOutrightByDefault,
+ [DOME_TEXT_WON_NO_MOVES] = BattleDome_Text_TrainerWonNoMoves,
+ [DOME_TEXT_CHAMP_NO_MOVES] = BattleDome_Text_TrainerWonOutrightNoMoves,
};
-static const u8 sFirstTrainerMonX[] = {0x60, 0x60, 0x60};
-static const u8 sFirstTrainerMonY[] = {0x38, 0x50, 0x68};
-static const u8 sSecondTrainerMonX[] = {0x90, 0x90, 0x90};
-static const u8 sSecondTrainerMonY[] = {0x38, 0x50, 0x68};
-
-static const u8 gUnknown_0860D3B4[DOME_TOURNAMENT_TRAINERS_COUNT] = {0, 8, 12, 4, 7, 15, 11, 3, 2, 10, 14, 6, 5, 13, 9, 1};
-
-static const u8 gUnknown_0860D3C4[DOME_TOURNAMENT_MATCHES_COUNT][3] =
-{
- { 0, 2, DOME_ROUND1},
- { 2, 2, DOME_ROUND1},
- { 4, 2, DOME_ROUND1},
- { 6, 2, DOME_ROUND1},
- { 8, 2, DOME_ROUND1},
- {10, 2, DOME_ROUND1},
- {12, 2, DOME_ROUND1},
- {14, 2, DOME_ROUND1},
- { 0, 4, DOME_ROUND2},
- { 4, 4, DOME_ROUND2},
- { 8, 4, DOME_ROUND2},
- {12, 4, DOME_ROUND2},
- { 0, 8, DOME_SEMIFINAL},
- { 8, 8, DOME_SEMIFINAL},
- { 0, 16, DOME_FINAL},
+static const u8 sLeftTrainerMonX[FRONTIER_PARTY_SIZE] = { 96, 96, 96};
+static const u8 sLeftTrainerMonY[FRONTIER_PARTY_SIZE] = { 56, 80, 104};
+static const u8 sRightTrainerMonX[FRONTIER_PARTY_SIZE] = {144, 144, 144};
+static const u8 sRightTrainerMonY[FRONTIER_PARTY_SIZE] = { 56, 80, 104};
+
+// Duplicate of sTourneyTreeTrainerIds
+static const u8 sTourneyTreeTrainerIds2[DOME_TOURNAMENT_TRAINERS_COUNT] = {0, 8, 12, 4, 7, 15, 11, 3, 2, 10, 14, 6, 5, 13, 9, 1};
+
+// The number of possible trainers that could be competing in a given match
+#define NUM_POSSIBLE_MATCH_TRAINERS(round) (DOME_TOURNAMENT_TRAINERS_COUNT / (1 << (DOME_ROUNDS_COUNT - round - 1)))
+
+// The range of tournament trainers to check as possible participants in a given match
+// Given by the offset in sCompetitorRangeByMatch[][0], the number of trainers in sCompetitorRangeByMatch[][1], and the round
+static const u8 sCompetitorRangeByMatch[DOME_TOURNAMENT_MATCHES_COUNT][3] =
+{
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 0, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 1, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 2, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 3, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 4, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 5, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 6, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1) * 7, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND1), DOME_ROUND1},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2) * 0, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2), DOME_ROUND2},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2) * 1, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2), DOME_ROUND2},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2) * 2, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2), DOME_ROUND2},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2) * 3, NUM_POSSIBLE_MATCH_TRAINERS(DOME_ROUND2), DOME_ROUND2},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_SEMIFINAL) * 0, NUM_POSSIBLE_MATCH_TRAINERS(DOME_SEMIFINAL), DOME_SEMIFINAL},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_SEMIFINAL) * 1, NUM_POSSIBLE_MATCH_TRAINERS(DOME_SEMIFINAL), DOME_SEMIFINAL},
+ { NUM_POSSIBLE_MATCH_TRAINERS(DOME_FINAL) * 0, NUM_POSSIBLE_MATCH_TRAINERS(DOME_FINAL), DOME_FINAL},
};
-static const u8 gUnknown_0860D3F1[DOME_TOURNAMENT_TRAINERS_COUNT][2] =
-{
- {0x00, 0x00},
- {0x01, 0x70},
- {0x01, 0x00},
- {0x00, 0x70},
- {0x00, 0x30},
- {0x01, 0x40},
- {0x01, 0x30},
- {0x00, 0x40},
- {0x00, 0x10},
- {0x01, 0x60},
- {0x01, 0x10},
- {0x00, 0x60},
- {0x00, 0x20},
- {0x01, 0x50},
- {0x01, 0x20},
- {0x00, 0x50},
+// 1st value is the windowId (0 for left column, 1 for right column)
+// 2nd value is the y coord
+static const u8 sTrainerNamePositions[DOME_TOURNAMENT_TRAINERS_COUNT][2] =
+{
+ { 0, 0},
+ { 1, 112},
+ { 1, 0},
+ { 0, 112},
+ { 0, 48},
+ { 1, 64},
+ { 1, 48},
+ { 0, 64},
+ { 0, 16},
+ { 1, 96},
+ { 1, 16},
+ { 0, 96},
+ { 0, 32},
+ { 1, 80},
+ { 1, 32},
+ { 0, 80},
};
-static const u8 gUnknown_0860D411[][2] =
-{
- {0x44, 0x21},
- {0x44, 0x31},
- {0x44, 0x41},
- {0x44, 0x51},
- {0x44, 0x61},
- {0x44, 0x71},
- {0x44, 0x81},
- {0x44, 0x91},
- {0xac, 0x21},
- {0xac, 0x31},
- {0xac, 0x41},
- {0xac, 0x51},
- {0xac, 0x61},
- {0xac, 0x71},
- {0xac, 0x81},
- {0xac, 0x91},
- {0x57, 0x29},
- {0x57, 0x49},
- {0x57, 0x69},
- {0x57, 0x89},
- {0x99, 0x29},
- {0x99, 0x49},
- {0x99, 0x69},
- {0x99, 0x89},
- {0x5f, 0x39},
- {0x5f, 0x79},
- {0x91, 0x39},
- {0x91, 0x79},
- {0x67, 0x59},
- {0x89, 0x59},
- {0x78, 0x59},
+// Coords for the pokeballs on the tourney tree that act as buttons to view trainer/match info
+static const u8 sTourneyTreePokeballCoords[DOME_TOURNAMENT_TRAINERS_COUNT + DOME_TOURNAMENT_MATCHES_COUNT][2] =
+{
+ { 68, 33}, // Left side trainers
+ { 68, 49},
+ { 68, 65},
+ { 68, 81},
+ { 68, 97},
+ { 68, 113},
+ { 68, 129},
+ { 68, 145},
+ {172, 33}, // Right side trainers
+ {172, 49},
+ {172, 65},
+ {172, 81},
+ {172, 97},
+ {172, 113},
+ {172, 129},
+ {172, 145},
+ { 87, 41}, // Left side Round 1 matches
+ { 87, 73},
+ { 87, 105},
+ { 87, 137},
+ {153, 41}, // Right side Round 1 matches
+ {153, 73},
+ {153, 105},
+ {153, 137},
+ { 95, 57}, // Left side Round 2 matches
+ { 95, 121},
+ {145, 57}, // Right side Round 2 matches
+ {145, 121},
+ {103, 89}, // Left side semifinal match
+ {137, 89}, // Right side semifinal match
+ {120, 89}, // Final match
};
-static const struct UnkStruct_860DD10 gUnknown_0860d450[] =
+// Each of these line sections define the position of the advancement line on the tourney tree for the victor of that round
+// The trainers here are numbered by tourney ID (rank/seed) and ordered according to where they start on the tourney tree
+#define LINESECTION_ROUND1_TRAINER1(lastSrc) \
+ {.src = 0x6021, .y = 0x04, .x = 0x09}, \
+ {.src = 0x6023, .y = 0x04, .x = 0x0a}, \
+ {.src = 0x6047, .y = 0x05, .x = 0x0a}, \
+ {.src = lastSrc, .y = 0x05, .x = 0x0b},
+
+#define LINESECTION_ROUND1_TRAINER9(lastSrc) \
+ {.src = 0x6021, .y = 0x06, .x = 0x09}, \
+ {.src = 0x6021, .y = 0x06, .x = 0x0a}, \
+ {.src = 0x6027, .y = 0x05, .x = 0x0a}, \
+ {.src = lastSrc, .y = 0x05, .x = 0x0b},
+
+#define LINESECTION_ROUND1_TRAINER13(lastSrc) \
+ {.src = 0x6021, .y = 0x08, .x = 0x09}, \
+ {.src = 0x6023, .y = 0x08, .x = 0x0a}, \
+ {.src = 0x6047, .y = 0x09, .x = 0x0a}, \
+ {.src = lastSrc, .y = 0x09, .x = 0x0b},
+
+#define LINESECTION_ROUND1_TRAINER5(lastSrc) \
+ {.src = 0x6021, .y = 0x0a, .x = 0x09}, \
+ {.src = 0x6021, .y = 0x0a, .x = 0x0a}, \
+ {.src = 0x6027, .y = 0x09, .x = 0x0a}, \
+ {.src = lastSrc, .y = 0x09, .x = 0x0b},
+
+#define LINESECTION_ROUND1_TRAINER8(lastSrc) \
+ {.src = 0x6021, .y = 0x0c, .x = 0x09}, \
+ {.src = 0x6023, .y = 0x0c, .x = 0x0a}, \
+ {.src = 0x6047, .y = 0x0d, .x = 0x0a}, \
+ {.src = lastSrc, .y = 0x0d, .x = 0x0b},
+
+#define LINESECTION_ROUND1_TRAINER16(lastSrc) \
+ {.src = 0x6021, .y = 0x0e, .x = 0x09}, \
+ {.src = 0x6021, .y = 0x0e, .x = 0x0a}, \
+ {.src = 0x6027, .y = 0x0d, .x = 0x0a}, \
+ {.src = lastSrc, .y = 0x0d, .x = 0x0b},
+
+#define LINESECTION_ROUND1_TRAINER12(lastSrc) \
+ {.src = 0x6021, .y = 0x10, .x = 0x09}, \
+ {.src = 0x6023, .y = 0x10, .x = 0x0a}, \
+ {.src = 0x6047, .y = 0x11, .x = 0x0a}, \
+ {.src = lastSrc, .y = 0x11, .x = 0x0b},
+
+#define LINESECTION_ROUND1_TRAINER4(lastSrc) \
+ {.src = 0x602b, .y = 0x12, .x = 0x09}, \
+ {.src = 0x602b, .y = 0x12, .x = 0x0a}, \
+ {.src = 0x6027, .y = 0x11, .x = 0x0a}, \
+ {.src = lastSrc, .y = 0x11, .x = 0x0b},
+
+#define LINESECTION_ROUND1_TRAINER3(lastSrc) \
+ {.src = 0x6021, .y = 0x04, .x = 0x14}, \
+ {.src = 0x6025, .y = 0x04, .x = 0x13}, \
+ {.src = 0x6049, .y = 0x05, .x = 0x13}, \
+ {.src = lastSrc, .y = 0x05, .x = 0x12},
+
+#define LINESECTION_ROUND1_TRAINER11(lastSrc) \
+ {.src = 0x6021, .y = 0x06, .x = 0x14}, \
+ {.src = 0x6021, .y = 0x06, .x = 0x13}, \
+ {.src = 0x6029, .y = 0x05, .x = 0x13}, \
+ {.src = lastSrc, .y = 0x05, .x = 0x12},
+
+#define LINESECTION_ROUND1_TRAINER15(lastSrc) \
+ {.src = 0x6021, .y = 0x08, .x = 0x14}, \
+ {.src = 0x6025, .y = 0x08, .x = 0x13}, \
+ {.src = 0x6049, .y = 0x09, .x = 0x13}, \
+ {.src = lastSrc, .y = 0x09, .x = 0x12},
+
+#define LINESECTION_ROUND1_TRAINER7(lastSrc) \
+ {.src = 0x6021, .y = 0x0a, .x = 0x14}, \
+ {.src = 0x6021, .y = 0x0a, .x = 0x13}, \
+ {.src = 0x6029, .y = 0x09, .x = 0x13}, \
+ {.src = lastSrc, .y = 0x09, .x = 0x12},
+
+#define LINESECTION_ROUND1_TRAINER6(lastSrc) \
+ {.src = 0x6021, .y = 0x0c, .x = 0x14}, \
+ {.src = 0x6025, .y = 0x0c, .x = 0x13}, \
+ {.src = 0x6049, .y = 0x0d, .x = 0x13}, \
+ {.src = lastSrc, .y = 0x0d, .x = 0x12},
+
+#define LINESECTION_ROUND1_TRAINER14(lastSrc) \
+ {.src = 0x6021, .y = 0x0e, .x = 0x14}, \
+ {.src = 0x6021, .y = 0x0e, .x = 0x13}, \
+ {.src = 0x6029, .y = 0x0d, .x = 0x13}, \
+ {.src = lastSrc, .y = 0x0d, .x = 0x12},
+
+#define LINESECTION_ROUND1_TRAINER10(lastSrc) \
+ {.src = 0x6021, .y = 0x10, .x = 0x14}, \
+ {.src = 0x6025, .y = 0x10, .x = 0x13}, \
+ {.src = 0x6049, .y = 0x11, .x = 0x13}, \
+ {.src = lastSrc, .y = 0x11, .x = 0x12},
+
+#define LINESECTION_ROUND1_TRAINER2(lastSrc) \
+ {.src = 0x602b, .y = 0x12, .x = 0x14}, \
+ {.src = 0x602b, .y = 0x12, .x = 0x13}, \
+ {.src = 0x6029, .y = 0x11, .x = 0x13}, \
+ {.src = lastSrc, .y = 0x11, .x = 0x12},
+
+#define LINESECTION_ROUND2_MATCH1(lastSrc) \
+ {.src = 0x6027, .y = 0x06, .x = 0x0b}, \
+ {.src = 0x6047, .y = 0x07, .x = 0x0b}, \
+ {.src = lastSrc, .y = 0x07, .x = 0x0c},
+
+#define LINESECTION_ROUND2_MATCH2(lastSrc) \
+ {.src = 0x6027, .y = 0x08, .x = 0x0b}, \
+ {.src = 0x6027, .y = 0x07, .x = 0x0b}, \
+ {.src = lastSrc, .y = 0x07, .x = 0x0c},
+
+#define LINESECTION_ROUND2_MATCH3(lastSrc) \
+ {.src = 0x6027, .y = 0x0e, .x = 0x0b}, \
+ {.src = 0x6047, .y = 0x0f, .x = 0x0b}, \
+ {.src = lastSrc, .y = 0x0f, .x = 0x0c},
+
+#define LINESECTION_ROUND2_MATCH4(lastSrc) \
+ {.src = 0x6027, .y = 0x10, .x = 0x0b}, \
+ {.src = 0x6027, .y = 0x0f, .x = 0x0b}, \
+ {.src = lastSrc, .y = 0x0f, .x = 0x0c},
+
+#define LINESECTION_ROUND2_MATCH5(lastSrc) \
+ {.src = 0x6029, .y = 0x06, .x = 0x12}, \
+ {.src = 0x6049, .y = 0x07, .x = 0x12}, \
+ {.src = lastSrc, .y = 0x07, .x = 0x11},
+
+#define LINESECTION_ROUND2_MATCH6(lastSrc) \
+ {.src = 0x6029, .y = 0x08, .x = 0x12}, \
+ {.src = 0x6029, .y = 0x07, .x = 0x12}, \
+ {.src = lastSrc, .y = 0x07, .x = 0x11},
+
+#define LINESECTION_ROUND2_MATCH7(lastSrc) \
+ {.src = 0x6029, .y = 0x0e, .x = 0x12}, \
+ {.src = 0x6049, .y = 0x0f, .x = 0x12}, \
+ {.src = lastSrc, .y = 0x0f, .x = 0x11},
+
+#define LINESECTION_ROUND2_MATCH8(lastSrc) \
+ {.src = 0x6029, .y = 0x10, .x = 0x12}, \
+ {.src = 0x6029, .y = 0x0f, .x = 0x12}, \
+ {.src = lastSrc, .y = 0x0f, .x = 0x11},
+
+#define LINESECTION_SEMIFINAL_TOP_LEFT \
+ {.src = 0x6027, .y = 0x08, .x = 0x0c}, \
+ {.src = 0x6027, .y = 0x09, .x = 0x0c}, \
+ {.src = 0x6027, .y = 0x0a, .x = 0x0c}, \
+ {.src = 0x603b, .y = 0x0b, .x = 0x0c},
+
+#define LINESECTION_SEMIFINAL_BOTTOM_LEFT \
+ {.src = 0x6033, .y = 0x0e, .x = 0x0c}, \
+ {.src = 0x6032, .y = 0x0d, .x = 0x0c}, \
+ {.src = 0x6031, .y = 0x0c, .x = 0x0c}, \
+ {.src = 0x6030, .y = 0x0b, .x = 0x0c},
+
+#define LINESECTION_SEMIFINAL_TOP_RIGHT \
+ {.src = 0x6029, .y = 0x08, .x = 0x11}, \
+ {.src = 0x6029, .y = 0x09, .x = 0x11}, \
+ {.src = 0x6029, .y = 0x0a, .x = 0x11}, \
+ {.src = 0x603c, .y = 0x0b, .x = 0x11},
+
+#define LINESECTION_SEMIFINAL_BOTTOM_RIGHT \
+ {.src = 0x6038, .y = 0x0e, .x = 0x11}, \
+ {.src = 0x6037, .y = 0x0d, .x = 0x11}, \
+ {.src = 0x6036, .y = 0x0c, .x = 0x11}, \
+ {.src = 0x6035, .y = 0x0b, .x = 0x11},
+
+#define LINESECTION_FINAL_LEFT \
+ {.src = 0x602c, .y = 0x0b, .x = 0x0d}, \
+ {.src = 0x602d, .y = 0x0b, .x = 0x0e},
+
+#define LINESECTION_FINAL_RIGHT \
+ {.src = 0x602f, .y = 0x0b, .x = 0x10}, \
+ {.src = 0x602e, .y = 0x0b, .x = 0x0f},
+
+
+static const struct TourneyTreeLineSection sLineSectionTrainer1Round1[] =
{
- {.src = 0x6021, .y = 0x04, .x = 0x09},
- {.src = 0x6023, .y = 0x04, .x = 0x0a},
- {.src = 0x6047, .y = 0x05, .x = 0x0a},
- {.src = 0x6043, .y = 0x05, .x = 0x0b},
+ LINESECTION_ROUND1_TRAINER1(0x6043)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d460[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer1Round2[] =
{
- {.src = 0x6021, .y = 0x04, .x = 0x09},
- {.src = 0x6023, .y = 0x04, .x = 0x0a},
- {.src = 0x6047, .y = 0x05, .x = 0x0a},
- {.src = 0x6023, .y = 0x05, .x = 0x0b},
- {.src = 0x6027, .y = 0x06, .x = 0x0b},
- {.src = 0x6047, .y = 0x07, .x = 0x0b},
- {.src = 0x6043, .y = 0x07, .x = 0x0c},
+ LINESECTION_ROUND1_TRAINER1(0x6023)
+ LINESECTION_ROUND2_MATCH1(0x6043)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d47c[] =
-{
- {.src = 0x6021, .y = 0x04, .x = 0x09},
- {.src = 0x6023, .y = 0x04, .x = 0x0a},
- {.src = 0x6047, .y = 0x05, .x = 0x0a},
- {.src = 0x6023, .y = 0x05, .x = 0x0b},
- {.src = 0x6027, .y = 0x06, .x = 0x0b},
- {.src = 0x6047, .y = 0x07, .x = 0x0b},
- {.src = 0x6023, .y = 0x07, .x = 0x0c},
- {.src = 0x6027, .y = 0x08, .x = 0x0c},
- {.src = 0x6027, .y = 0x09, .x = 0x0c},
- {.src = 0x6027, .y = 0x0a, .x = 0x0c},
- {.src = 0x603b, .y = 0x0b, .x = 0x0c},
+static const struct TourneyTreeLineSection sLineSectionTrainer1Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER1(0x6023)
+ LINESECTION_ROUND2_MATCH1(0x6023)
+ LINESECTION_SEMIFINAL_TOP_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d4a8[] =
-{
- {.src = 0x6021, .y = 0x04, .x = 0x09},
- {.src = 0x6023, .y = 0x04, .x = 0x0a},
- {.src = 0x6047, .y = 0x05, .x = 0x0a},
- {.src = 0x6023, .y = 0x05, .x = 0x0b},
- {.src = 0x6027, .y = 0x06, .x = 0x0b},
- {.src = 0x6047, .y = 0x07, .x = 0x0b},
- {.src = 0x6023, .y = 0x07, .x = 0x0c},
- {.src = 0x6027, .y = 0x08, .x = 0x0c},
- {.src = 0x6027, .y = 0x09, .x = 0x0c},
- {.src = 0x6027, .y = 0x0a, .x = 0x0c},
- {.src = 0x603b, .y = 0x0b, .x = 0x0c},
- {.src = 0x602c, .y = 0x0b, .x = 0x0d},
- {.src = 0x602d, .y = 0x0b, .x = 0x0e},
+static const struct TourneyTreeLineSection sLineSectionTrainer1Final[] =
+{
+ LINESECTION_ROUND1_TRAINER1(0x6023)
+ LINESECTION_ROUND2_MATCH1(0x6023)
+ LINESECTION_SEMIFINAL_TOP_LEFT
+ LINESECTION_FINAL_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d4dc[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer9Round1[] =
{
- {.src = 0x6021, .y = 0x06, .x = 0x09},
- {.src = 0x6021, .y = 0x06, .x = 0x0a},
- {.src = 0x6027, .y = 0x05, .x = 0x0a},
- {.src = 0x6043, .y = 0x05, .x = 0x0b},
+ LINESECTION_ROUND1_TRAINER9(0x6043)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d4ec[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer9Round2[] =
{
- {.src = 0x6021, .y = 0x06, .x = 0x09},
- {.src = 0x6021, .y = 0x06, .x = 0x0a},
- {.src = 0x6027, .y = 0x05, .x = 0x0a},
- {.src = 0x6023, .y = 0x05, .x = 0x0b},
- {.src = 0x6027, .y = 0x06, .x = 0x0b},
- {.src = 0x6047, .y = 0x07, .x = 0x0b},
- {.src = 0x6043, .y = 0x07, .x = 0x0c},
+ LINESECTION_ROUND1_TRAINER9(0x6023)
+ LINESECTION_ROUND2_MATCH1(0x6043)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d508[] =
-{
- {.src = 0x6021, .y = 0x06, .x = 0x09},
- {.src = 0x6021, .y = 0x06, .x = 0x0a},
- {.src = 0x6027, .y = 0x05, .x = 0x0a},
- {.src = 0x6023, .y = 0x05, .x = 0x0b},
- {.src = 0x6027, .y = 0x06, .x = 0x0b},
- {.src = 0x6047, .y = 0x07, .x = 0x0b},
- {.src = 0x6023, .y = 0x07, .x = 0x0c},
- {.src = 0x6027, .y = 0x08, .x = 0x0c},
- {.src = 0x6027, .y = 0x09, .x = 0x0c},
- {.src = 0x6027, .y = 0x0a, .x = 0x0c},
- {.src = 0x603b, .y = 0x0b, .x = 0x0c},
+static const struct TourneyTreeLineSection sLineSectionTrainer9Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER9(0x6023)
+ LINESECTION_ROUND2_MATCH1(0x6023)
+ LINESECTION_SEMIFINAL_TOP_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d534[] =
-{
- {.src = 0x6021, .y = 0x06, .x = 0x09},
- {.src = 0x6021, .y = 0x06, .x = 0x0a},
- {.src = 0x6027, .y = 0x05, .x = 0x0a},
- {.src = 0x6023, .y = 0x05, .x = 0x0b},
- {.src = 0x6027, .y = 0x06, .x = 0x0b},
- {.src = 0x6047, .y = 0x07, .x = 0x0b},
- {.src = 0x6023, .y = 0x07, .x = 0x0c},
- {.src = 0x6027, .y = 0x08, .x = 0x0c},
- {.src = 0x6027, .y = 0x09, .x = 0x0c},
- {.src = 0x6027, .y = 0x0a, .x = 0x0c},
- {.src = 0x603b, .y = 0x0b, .x = 0x0c},
- {.src = 0x602c, .y = 0x0b, .x = 0x0d},
- {.src = 0x602d, .y = 0x0b, .x = 0x0e},
+static const struct TourneyTreeLineSection sLineSectionTrainer9Final[] =
+{
+ LINESECTION_ROUND1_TRAINER9(0x6023)
+ LINESECTION_ROUND2_MATCH1(0x6023)
+ LINESECTION_SEMIFINAL_TOP_LEFT
+ LINESECTION_FINAL_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d568[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer13Round1[] =
{
- {.src = 0x6021, .y = 0x08, .x = 0x09},
- {.src = 0x6023, .y = 0x08, .x = 0x0a},
- {.src = 0x6047, .y = 0x09, .x = 0x0a},
- {.src = 0x6021, .y = 0x09, .x = 0x0b},
+ LINESECTION_ROUND1_TRAINER13(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d578[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer13Round2[] =
{
- {.src = 0x6021, .y = 0x08, .x = 0x09},
- {.src = 0x6023, .y = 0x08, .x = 0x0a},
- {.src = 0x6047, .y = 0x09, .x = 0x0a},
- {.src = 0x6021, .y = 0x09, .x = 0x0b},
- {.src = 0x6027, .y = 0x08, .x = 0x0b},
- {.src = 0x6027, .y = 0x07, .x = 0x0b},
- {.src = 0x6043, .y = 0x07, .x = 0x0c},
+ LINESECTION_ROUND1_TRAINER13(0x6021)
+ LINESECTION_ROUND2_MATCH2(0x6043)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d594[] =
-{
- {.src = 0x6021, .y = 0x08, .x = 0x09},
- {.src = 0x6023, .y = 0x08, .x = 0x0a},
- {.src = 0x6047, .y = 0x09, .x = 0x0a},
- {.src = 0x6021, .y = 0x09, .x = 0x0b},
- {.src = 0x6027, .y = 0x08, .x = 0x0b},
- {.src = 0x6027, .y = 0x07, .x = 0x0b},
- {.src = 0x6023, .y = 0x07, .x = 0x0c},
- {.src = 0x6027, .y = 0x08, .x = 0x0c},
- {.src = 0x6027, .y = 0x09, .x = 0x0c},
- {.src = 0x6027, .y = 0x0a, .x = 0x0c},
- {.src = 0x603b, .y = 0x0b, .x = 0x0c},
+static const struct TourneyTreeLineSection sLineSectionTrainer13Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER13(0x6021)
+ LINESECTION_ROUND2_MATCH2(0x6023)
+ LINESECTION_SEMIFINAL_TOP_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d5c0[] =
-{
- {.src = 0x6021, .y = 0x08, .x = 0x09},
- {.src = 0x6023, .y = 0x08, .x = 0x0a},
- {.src = 0x6047, .y = 0x09, .x = 0x0a},
- {.src = 0x6021, .y = 0x09, .x = 0x0b},
- {.src = 0x6027, .y = 0x08, .x = 0x0b},
- {.src = 0x6027, .y = 0x07, .x = 0x0b},
- {.src = 0x6023, .y = 0x07, .x = 0x0c},
- {.src = 0x6027, .y = 0x08, .x = 0x0c},
- {.src = 0x6027, .y = 0x09, .x = 0x0c},
- {.src = 0x6027, .y = 0x0a, .x = 0x0c},
- {.src = 0x603b, .y = 0x0b, .x = 0x0c},
- {.src = 0x602c, .y = 0x0b, .x = 0x0d},
- {.src = 0x602d, .y = 0x0b, .x = 0x0e},
+static const struct TourneyTreeLineSection sLineSectionTrainer13Final[] =
+{
+ LINESECTION_ROUND1_TRAINER13(0x6021)
+ LINESECTION_ROUND2_MATCH2(0x6023)
+ LINESECTION_SEMIFINAL_TOP_LEFT
+ LINESECTION_FINAL_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d5f4[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer5Round1[] =
{
- {.src = 0x6021, .y = 0x0a, .x = 0x09},
- {.src = 0x6021, .y = 0x0a, .x = 0x0a},
- {.src = 0x6027, .y = 0x09, .x = 0x0a},
- {.src = 0x6021, .y = 0x09, .x = 0x0b},
+ LINESECTION_ROUND1_TRAINER5(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d604[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer5Round2[] =
{
- {.src = 0x6021, .y = 0x0a, .x = 0x09},
- {.src = 0x6021, .y = 0x0a, .x = 0x0a},
- {.src = 0x6027, .y = 0x09, .x = 0x0a},
- {.src = 0x6021, .y = 0x09, .x = 0x0b},
- {.src = 0x6027, .y = 0x08, .x = 0x0b},
- {.src = 0x6027, .y = 0x07, .x = 0x0b},
- {.src = 0x6043, .y = 0x07, .x = 0x0c},
+ LINESECTION_ROUND1_TRAINER5(0x6021)
+ LINESECTION_ROUND2_MATCH2(0x6043)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d620[] =
-{
- {.src = 0x6021, .y = 0x0a, .x = 0x09},
- {.src = 0x6021, .y = 0x0a, .x = 0x0a},
- {.src = 0x6027, .y = 0x09, .x = 0x0a},
- {.src = 0x6021, .y = 0x09, .x = 0x0b},
- {.src = 0x6027, .y = 0x08, .x = 0x0b},
- {.src = 0x6027, .y = 0x07, .x = 0x0b},
- {.src = 0x6023, .y = 0x07, .x = 0x0c},
- {.src = 0x6027, .y = 0x08, .x = 0x0c},
- {.src = 0x6027, .y = 0x09, .x = 0x0c},
- {.src = 0x6027, .y = 0x0a, .x = 0x0c},
- {.src = 0x603b, .y = 0x0b, .x = 0x0c},
+static const struct TourneyTreeLineSection sLineSectionTrainer5Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER5(0x6021)
+ LINESECTION_ROUND2_MATCH2(0x6023)
+ LINESECTION_SEMIFINAL_TOP_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d64c[] =
-{
- {.src = 0x6021, .y = 0x0a, .x = 0x09},
- {.src = 0x6021, .y = 0x0a, .x = 0x0a},
- {.src = 0x6027, .y = 0x09, .x = 0x0a},
- {.src = 0x6021, .y = 0x09, .x = 0x0b},
- {.src = 0x6027, .y = 0x08, .x = 0x0b},
- {.src = 0x6027, .y = 0x07, .x = 0x0b},
- {.src = 0x6023, .y = 0x07, .x = 0x0c},
- {.src = 0x6027, .y = 0x08, .x = 0x0c},
- {.src = 0x6027, .y = 0x09, .x = 0x0c},
- {.src = 0x6027, .y = 0x0a, .x = 0x0c},
- {.src = 0x603b, .y = 0x0b, .x = 0x0c},
- {.src = 0x602c, .y = 0x0b, .x = 0x0d},
- {.src = 0x602d, .y = 0x0b, .x = 0x0e},
+static const struct TourneyTreeLineSection sLineSectionTrainer5Final[] =
+{
+ LINESECTION_ROUND1_TRAINER5(0x6021)
+ LINESECTION_ROUND2_MATCH2(0x6023)
+ LINESECTION_SEMIFINAL_TOP_LEFT
+ LINESECTION_FINAL_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d680[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer8Round1[] =
{
- {.src = 0x6021, .y = 0x0c, .x = 0x09},
- {.src = 0x6023, .y = 0x0c, .x = 0x0a},
- {.src = 0x6047, .y = 0x0d, .x = 0x0a},
- {.src = 0x6043, .y = 0x0d, .x = 0x0b},
+ LINESECTION_ROUND1_TRAINER8(0x6043)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d690[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer8Round2[] =
{
- {.src = 0x6021, .y = 0x0c, .x = 0x09},
- {.src = 0x6023, .y = 0x0c, .x = 0x0a},
- {.src = 0x6047, .y = 0x0d, .x = 0x0a},
- {.src = 0x6023, .y = 0x0d, .x = 0x0b},
- {.src = 0x6027, .y = 0x0e, .x = 0x0b},
- {.src = 0x6047, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
+ LINESECTION_ROUND1_TRAINER8(0x6023)
+ LINESECTION_ROUND2_MATCH3(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d6ac[] =
-{
- {.src = 0x6021, .y = 0x0c, .x = 0x09},
- {.src = 0x6023, .y = 0x0c, .x = 0x0a},
- {.src = 0x6047, .y = 0x0d, .x = 0x0a},
- {.src = 0x6023, .y = 0x0d, .x = 0x0b},
- {.src = 0x6027, .y = 0x0e, .x = 0x0b},
- {.src = 0x6047, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
- {.src = 0x6033, .y = 0x0e, .x = 0x0c},
- {.src = 0x6032, .y = 0x0d, .x = 0x0c},
- {.src = 0x6031, .y = 0x0c, .x = 0x0c},
- {.src = 0x6030, .y = 0x0b, .x = 0x0c},
+static const struct TourneyTreeLineSection sLineSectionTrainer8Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER8(0x6023)
+ LINESECTION_ROUND2_MATCH3(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d6d8[] =
-{
- {.src = 0x6021, .y = 0x0c, .x = 0x09},
- {.src = 0x6023, .y = 0x0c, .x = 0x0a},
- {.src = 0x6047, .y = 0x0d, .x = 0x0a},
- {.src = 0x6023, .y = 0x0d, .x = 0x0b},
- {.src = 0x6027, .y = 0x0e, .x = 0x0b},
- {.src = 0x6047, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
- {.src = 0x6033, .y = 0x0e, .x = 0x0c},
- {.src = 0x6032, .y = 0x0d, .x = 0x0c},
- {.src = 0x6031, .y = 0x0c, .x = 0x0c},
- {.src = 0x6030, .y = 0x0b, .x = 0x0c},
- {.src = 0x602c, .y = 0x0b, .x = 0x0d},
- {.src = 0x602d, .y = 0x0b, .x = 0x0e},
+static const struct TourneyTreeLineSection sLineSectionTrainer8Final[] =
+{
+ LINESECTION_ROUND1_TRAINER8(0x6023)
+ LINESECTION_ROUND2_MATCH3(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_LEFT
+ LINESECTION_FINAL_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d70c[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer16Round1[] =
{
- {.src = 0x6021, .y = 0x0e, .x = 0x09},
- {.src = 0x6021, .y = 0x0e, .x = 0x0a},
- {.src = 0x6027, .y = 0x0d, .x = 0x0a},
- {.src = 0x6043, .y = 0x0d, .x = 0x0b},
+ LINESECTION_ROUND1_TRAINER16(0x6043)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d71c[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer16Round2[] =
{
- {.src = 0x6021, .y = 0x0e, .x = 0x09},
- {.src = 0x6021, .y = 0x0e, .x = 0x0a},
- {.src = 0x6027, .y = 0x0d, .x = 0x0a},
- {.src = 0x6023, .y = 0x0d, .x = 0x0b},
- {.src = 0x6027, .y = 0x0e, .x = 0x0b},
- {.src = 0x6047, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
+ LINESECTION_ROUND1_TRAINER16(0x6023)
+ LINESECTION_ROUND2_MATCH3(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d738[] =
-{
- {.src = 0x6021, .y = 0x0e, .x = 0x09},
- {.src = 0x6021, .y = 0x0e, .x = 0x0a},
- {.src = 0x6027, .y = 0x0d, .x = 0x0a},
- {.src = 0x6023, .y = 0x0d, .x = 0x0b},
- {.src = 0x6027, .y = 0x0e, .x = 0x0b},
- {.src = 0x6047, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
- {.src = 0x6033, .y = 0x0e, .x = 0x0c},
- {.src = 0x6032, .y = 0x0d, .x = 0x0c},
- {.src = 0x6031, .y = 0x0c, .x = 0x0c},
- {.src = 0x6030, .y = 0x0b, .x = 0x0c},
+static const struct TourneyTreeLineSection sLineSectionTrainer16Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER16(0x6023)
+ LINESECTION_ROUND2_MATCH3(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d764[] =
-{
- {.src = 0x6021, .y = 0x0e, .x = 0x09},
- {.src = 0x6021, .y = 0x0e, .x = 0x0a},
- {.src = 0x6027, .y = 0x0d, .x = 0x0a},
- {.src = 0x6023, .y = 0x0d, .x = 0x0b},
- {.src = 0x6027, .y = 0x0e, .x = 0x0b},
- {.src = 0x6047, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
- {.src = 0x6033, .y = 0x0e, .x = 0x0c},
- {.src = 0x6032, .y = 0x0d, .x = 0x0c},
- {.src = 0x6031, .y = 0x0c, .x = 0x0c},
- {.src = 0x6030, .y = 0x0b, .x = 0x0c},
- {.src = 0x602c, .y = 0x0b, .x = 0x0d},
- {.src = 0x602d, .y = 0x0b, .x = 0x0e},
+static const struct TourneyTreeLineSection sLineSectionTrainer16Final[] =
+{
+ LINESECTION_ROUND1_TRAINER16(0x6023)
+ LINESECTION_ROUND2_MATCH3(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_LEFT
+ LINESECTION_FINAL_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d798[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer12Round1[] =
{
- {.src = 0x6021, .y = 0x10, .x = 0x09},
- {.src = 0x6023, .y = 0x10, .x = 0x0a},
- {.src = 0x6047, .y = 0x11, .x = 0x0a},
- {.src = 0x6021, .y = 0x11, .x = 0x0b},
+ LINESECTION_ROUND1_TRAINER12(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d7a8[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer12Round2[] =
{
- {.src = 0x6021, .y = 0x10, .x = 0x09},
- {.src = 0x6023, .y = 0x10, .x = 0x0a},
- {.src = 0x6047, .y = 0x11, .x = 0x0a},
- {.src = 0x6021, .y = 0x11, .x = 0x0b},
- {.src = 0x6027, .y = 0x10, .x = 0x0b},
- {.src = 0x6027, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
+ LINESECTION_ROUND1_TRAINER12(0x6021)
+ LINESECTION_ROUND2_MATCH4(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d7c4[] =
-{
- {.src = 0x6021, .y = 0x10, .x = 0x09},
- {.src = 0x6023, .y = 0x10, .x = 0x0a},
- {.src = 0x6047, .y = 0x11, .x = 0x0a},
- {.src = 0x6021, .y = 0x11, .x = 0x0b},
- {.src = 0x6027, .y = 0x10, .x = 0x0b},
- {.src = 0x6027, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
- {.src = 0x6033, .y = 0x0e, .x = 0x0c},
- {.src = 0x6032, .y = 0x0d, .x = 0x0c},
- {.src = 0x6031, .y = 0x0c, .x = 0x0c},
- {.src = 0x6030, .y = 0x0b, .x = 0x0c},
+static const struct TourneyTreeLineSection sLineSectionTrainer12Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER12(0x6021)
+ LINESECTION_ROUND2_MATCH4(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d7f0[] =
-{
- {.src = 0x6021, .y = 0x10, .x = 0x09},
- {.src = 0x6023, .y = 0x10, .x = 0x0a},
- {.src = 0x6047, .y = 0x11, .x = 0x0a},
- {.src = 0x6021, .y = 0x11, .x = 0x0b},
- {.src = 0x6027, .y = 0x10, .x = 0x0b},
- {.src = 0x6027, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
- {.src = 0x6033, .y = 0x0e, .x = 0x0c},
- {.src = 0x6032, .y = 0x0d, .x = 0x0c},
- {.src = 0x6031, .y = 0x0c, .x = 0x0c},
- {.src = 0x6030, .y = 0x0b, .x = 0x0c},
- {.src = 0x602c, .y = 0x0b, .x = 0x0d},
- {.src = 0x602d, .y = 0x0b, .x = 0x0e},
+static const struct TourneyTreeLineSection sLineSectionTrainer12Final[] =
+{
+ LINESECTION_ROUND1_TRAINER12(0x6021)
+ LINESECTION_ROUND2_MATCH4(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_LEFT
+ LINESECTION_FINAL_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d824[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer4Round1[] =
{
- {.src = 0x602b, .y = 0x12, .x = 0x09},
- {.src = 0x602b, .y = 0x12, .x = 0x0a},
- {.src = 0x6027, .y = 0x11, .x = 0x0a},
- {.src = 0x6021, .y = 0x11, .x = 0x0b},
+ LINESECTION_ROUND1_TRAINER4(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d834[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer4Round2[] =
{
- {.src = 0x602b, .y = 0x12, .x = 0x09},
- {.src = 0x602b, .y = 0x12, .x = 0x0a},
- {.src = 0x6027, .y = 0x11, .x = 0x0a},
- {.src = 0x6021, .y = 0x11, .x = 0x0b},
- {.src = 0x6027, .y = 0x10, .x = 0x0b},
- {.src = 0x6027, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
+ LINESECTION_ROUND1_TRAINER4(0x6021)
+ LINESECTION_ROUND2_MATCH4(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d850[] =
-{
- {.src = 0x602b, .y = 0x12, .x = 0x09},
- {.src = 0x602b, .y = 0x12, .x = 0x0a},
- {.src = 0x6027, .y = 0x11, .x = 0x0a},
- {.src = 0x6021, .y = 0x11, .x = 0x0b},
- {.src = 0x6027, .y = 0x10, .x = 0x0b},
- {.src = 0x6027, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
- {.src = 0x6033, .y = 0x0e, .x = 0x0c},
- {.src = 0x6032, .y = 0x0d, .x = 0x0c},
- {.src = 0x6031, .y = 0x0c, .x = 0x0c},
- {.src = 0x6030, .y = 0x0b, .x = 0x0c},
+static const struct TourneyTreeLineSection sLineSectionTrainer4Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER4(0x6021)
+ LINESECTION_ROUND2_MATCH4(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d87c[] =
-{
- {.src = 0x602b, .y = 0x12, .x = 0x09},
- {.src = 0x602b, .y = 0x12, .x = 0x0a},
- {.src = 0x6027, .y = 0x11, .x = 0x0a},
- {.src = 0x6021, .y = 0x11, .x = 0x0b},
- {.src = 0x6027, .y = 0x10, .x = 0x0b},
- {.src = 0x6027, .y = 0x0f, .x = 0x0b},
- {.src = 0x6021, .y = 0x0f, .x = 0x0c},
- {.src = 0x6033, .y = 0x0e, .x = 0x0c},
- {.src = 0x6032, .y = 0x0d, .x = 0x0c},
- {.src = 0x6031, .y = 0x0c, .x = 0x0c},
- {.src = 0x6030, .y = 0x0b, .x = 0x0c},
- {.src = 0x602c, .y = 0x0b, .x = 0x0d},
- {.src = 0x602d, .y = 0x0b, .x = 0x0e},
+static const struct TourneyTreeLineSection sLineSectionTrainer4Final[] =
+{
+ LINESECTION_ROUND1_TRAINER4(0x6021)
+ LINESECTION_ROUND2_MATCH4(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_LEFT
+ LINESECTION_FINAL_LEFT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d8b0[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer3Round1[] =
{
- {.src = 0x6021, .y = 0x04, .x = 0x14},
- {.src = 0x6025, .y = 0x04, .x = 0x13},
- {.src = 0x6049, .y = 0x05, .x = 0x13},
- {.src = 0x6045, .y = 0x05, .x = 0x12},
+ LINESECTION_ROUND1_TRAINER3(0x6045)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d8c0[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer3Round2[] =
{
- {.src = 0x6021, .y = 0x04, .x = 0x14},
- {.src = 0x6025, .y = 0x04, .x = 0x13},
- {.src = 0x6049, .y = 0x05, .x = 0x13},
- {.src = 0x6025, .y = 0x05, .x = 0x12},
- {.src = 0x6029, .y = 0x06, .x = 0x12},
- {.src = 0x6049, .y = 0x07, .x = 0x12},
- {.src = 0x6045, .y = 0x07, .x = 0x11},
+ LINESECTION_ROUND1_TRAINER3(0x6025)
+ LINESECTION_ROUND2_MATCH5(0x6045)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d8dc[] =
-{
- {.src = 0x6021, .y = 0x04, .x = 0x14},
- {.src = 0x6025, .y = 0x04, .x = 0x13},
- {.src = 0x6049, .y = 0x05, .x = 0x13},
- {.src = 0x6025, .y = 0x05, .x = 0x12},
- {.src = 0x6029, .y = 0x06, .x = 0x12},
- {.src = 0x6049, .y = 0x07, .x = 0x12},
- {.src = 0x6025, .y = 0x07, .x = 0x11},
- {.src = 0x6029, .y = 0x08, .x = 0x11},
- {.src = 0x6029, .y = 0x09, .x = 0x11},
- {.src = 0x6029, .y = 0x0a, .x = 0x11},
- {.src = 0x603c, .y = 0x0b, .x = 0x11},
+static const struct TourneyTreeLineSection sLineSectionTrainer3Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER3(0x6025)
+ LINESECTION_ROUND2_MATCH5(0x6025)
+ LINESECTION_SEMIFINAL_TOP_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d908[] =
-{
- {.src = 0x6021, .y = 0x04, .x = 0x14},
- {.src = 0x6025, .y = 0x04, .x = 0x13},
- {.src = 0x6049, .y = 0x05, .x = 0x13},
- {.src = 0x6025, .y = 0x05, .x = 0x12},
- {.src = 0x6029, .y = 0x06, .x = 0x12},
- {.src = 0x6049, .y = 0x07, .x = 0x12},
- {.src = 0x6025, .y = 0x07, .x = 0x11},
- {.src = 0x6029, .y = 0x08, .x = 0x11},
- {.src = 0x6029, .y = 0x09, .x = 0x11},
- {.src = 0x6029, .y = 0x0a, .x = 0x11},
- {.src = 0x603c, .y = 0x0b, .x = 0x11},
- {.src = 0x602f, .y = 0x0b, .x = 0x10},
- {.src = 0x602e, .y = 0x0b, .x = 0x0f},
+static const struct TourneyTreeLineSection sLineSectionTrainer3Final[] =
+{
+ LINESECTION_ROUND1_TRAINER3(0x6025)
+ LINESECTION_ROUND2_MATCH5(0x6025)
+ LINESECTION_SEMIFINAL_TOP_RIGHT
+ LINESECTION_FINAL_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d93c[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer11Round1[] =
{
- {.src = 0x6021, .y = 0x06, .x = 0x14},
- {.src = 0x6021, .y = 0x06, .x = 0x13},
- {.src = 0x6029, .y = 0x05, .x = 0x13},
- {.src = 0x6045, .y = 0x05, .x = 0x12},
+ LINESECTION_ROUND1_TRAINER11(0x6045)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d94c[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer11Round2[] =
{
- {.src = 0x6021, .y = 0x06, .x = 0x14},
- {.src = 0x6021, .y = 0x06, .x = 0x13},
- {.src = 0x6029, .y = 0x05, .x = 0x13},
- {.src = 0x6025, .y = 0x05, .x = 0x12},
- {.src = 0x6029, .y = 0x06, .x = 0x12},
- {.src = 0x6049, .y = 0x07, .x = 0x12},
- {.src = 0x6045, .y = 0x07, .x = 0x11},
+ LINESECTION_ROUND1_TRAINER11(0x6025)
+ LINESECTION_ROUND2_MATCH5(0x6045)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d968[] =
-{
- {.src = 0x6021, .y = 0x06, .x = 0x14},
- {.src = 0x6021, .y = 0x06, .x = 0x13},
- {.src = 0x6029, .y = 0x05, .x = 0x13},
- {.src = 0x6025, .y = 0x05, .x = 0x12},
- {.src = 0x6029, .y = 0x06, .x = 0x12},
- {.src = 0x6049, .y = 0x07, .x = 0x12},
- {.src = 0x6025, .y = 0x07, .x = 0x11},
- {.src = 0x6029, .y = 0x08, .x = 0x11},
- {.src = 0x6029, .y = 0x09, .x = 0x11},
- {.src = 0x6029, .y = 0x0a, .x = 0x11},
- {.src = 0x603c, .y = 0x0b, .x = 0x11},
+static const struct TourneyTreeLineSection sLineSectionTrainer11Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER11(0x6025)
+ LINESECTION_ROUND2_MATCH5(0x6025)
+ LINESECTION_SEMIFINAL_TOP_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d994[] =
-{
- {.src = 0x6021, .y = 0x06, .x = 0x14},
- {.src = 0x6021, .y = 0x06, .x = 0x13},
- {.src = 0x6029, .y = 0x05, .x = 0x13},
- {.src = 0x6025, .y = 0x05, .x = 0x12},
- {.src = 0x6029, .y = 0x06, .x = 0x12},
- {.src = 0x6049, .y = 0x07, .x = 0x12},
- {.src = 0x6025, .y = 0x07, .x = 0x11},
- {.src = 0x6029, .y = 0x08, .x = 0x11},
- {.src = 0x6029, .y = 0x09, .x = 0x11},
- {.src = 0x6029, .y = 0x0a, .x = 0x11},
- {.src = 0x603c, .y = 0x0b, .x = 0x11},
- {.src = 0x602f, .y = 0x0b, .x = 0x10},
- {.src = 0x602e, .y = 0x0b, .x = 0x0f},
+static const struct TourneyTreeLineSection sLineSectionTrainer11Final[] =
+{
+ LINESECTION_ROUND1_TRAINER11(0x6025)
+ LINESECTION_ROUND2_MATCH5(0x6025)
+ LINESECTION_SEMIFINAL_TOP_RIGHT
+ LINESECTION_FINAL_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860d9c8[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer15Round1[] =
{
- {.src = 0x6021, .y = 0x08, .x = 0x14},
- {.src = 0x6025, .y = 0x08, .x = 0x13},
- {.src = 0x6049, .y = 0x09, .x = 0x13},
- {.src = 0x6021, .y = 0x09, .x = 0x12},
+ LINESECTION_ROUND1_TRAINER15(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d9d8[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer15Round2[] =
{
- {.src = 0x6021, .y = 0x08, .x = 0x14},
- {.src = 0x6025, .y = 0x08, .x = 0x13},
- {.src = 0x6049, .y = 0x09, .x = 0x13},
- {.src = 0x6021, .y = 0x09, .x = 0x12},
- {.src = 0x6029, .y = 0x08, .x = 0x12},
- {.src = 0x6029, .y = 0x07, .x = 0x12},
- {.src = 0x6045, .y = 0x07, .x = 0x11},
+ LINESECTION_ROUND1_TRAINER15(0x6021)
+ LINESECTION_ROUND2_MATCH6(0x6045)
};
-static const struct UnkStruct_860DD10 gUnknown_0860d9f4[] =
-{
- {.src = 0x6021, .y = 0x08, .x = 0x14},
- {.src = 0x6025, .y = 0x08, .x = 0x13},
- {.src = 0x6049, .y = 0x09, .x = 0x13},
- {.src = 0x6021, .y = 0x09, .x = 0x12},
- {.src = 0x6029, .y = 0x08, .x = 0x12},
- {.src = 0x6029, .y = 0x07, .x = 0x12},
- {.src = 0x6025, .y = 0x07, .x = 0x11},
- {.src = 0x6029, .y = 0x08, .x = 0x11},
- {.src = 0x6029, .y = 0x09, .x = 0x11},
- {.src = 0x6029, .y = 0x0a, .x = 0x11},
- {.src = 0x603c, .y = 0x0b, .x = 0x11},
+static const struct TourneyTreeLineSection sLineSectionTrainer15Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER15(0x6021)
+ LINESECTION_ROUND2_MATCH6(0x6025)
+ LINESECTION_SEMIFINAL_TOP_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860da20[] =
-{
- {.src = 0x6021, .y = 0x08, .x = 0x14},
- {.src = 0x6025, .y = 0x08, .x = 0x13},
- {.src = 0x6049, .y = 0x09, .x = 0x13},
- {.src = 0x6021, .y = 0x09, .x = 0x12},
- {.src = 0x6029, .y = 0x08, .x = 0x12},
- {.src = 0x6029, .y = 0x07, .x = 0x12},
- {.src = 0x6025, .y = 0x07, .x = 0x11},
- {.src = 0x6029, .y = 0x08, .x = 0x11},
- {.src = 0x6029, .y = 0x09, .x = 0x11},
- {.src = 0x6029, .y = 0x0a, .x = 0x11},
- {.src = 0x603c, .y = 0x0b, .x = 0x11},
- {.src = 0x602f, .y = 0x0b, .x = 0x10},
- {.src = 0x602e, .y = 0x0b, .x = 0x0f},
+static const struct TourneyTreeLineSection sLineSectionTrainer15Final[] =
+{
+ LINESECTION_ROUND1_TRAINER15(0x6021)
+ LINESECTION_ROUND2_MATCH6(0x6025)
+ LINESECTION_SEMIFINAL_TOP_RIGHT
+ LINESECTION_FINAL_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860da54[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer7Round1[] =
{
- {.src = 0x6021, .y = 0x0a, .x = 0x14},
- {.src = 0x6021, .y = 0x0a, .x = 0x13},
- {.src = 0x6029, .y = 0x09, .x = 0x13},
- {.src = 0x6021, .y = 0x09, .x = 0x12},
+ LINESECTION_ROUND1_TRAINER7(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860da64[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer7Round2[] =
{
- {.src = 0x6021, .y = 0x0a, .x = 0x14},
- {.src = 0x6021, .y = 0x0a, .x = 0x13},
- {.src = 0x6029, .y = 0x09, .x = 0x13},
- {.src = 0x6021, .y = 0x09, .x = 0x12},
- {.src = 0x6029, .y = 0x08, .x = 0x12},
- {.src = 0x6029, .y = 0x07, .x = 0x12},
- {.src = 0x6045, .y = 0x07, .x = 0x11},
+ LINESECTION_ROUND1_TRAINER7(0x6021)
+ LINESECTION_ROUND2_MATCH6(0x6045)
};
-static const struct UnkStruct_860DD10 gUnknown_0860da80[] =
-{
- {.src = 0x6021, .y = 0x0a, .x = 0x14},
- {.src = 0x6021, .y = 0x0a, .x = 0x13},
- {.src = 0x6029, .y = 0x09, .x = 0x13},
- {.src = 0x6021, .y = 0x09, .x = 0x12},
- {.src = 0x6029, .y = 0x08, .x = 0x12},
- {.src = 0x6029, .y = 0x07, .x = 0x12},
- {.src = 0x6025, .y = 0x07, .x = 0x11},
- {.src = 0x6029, .y = 0x08, .x = 0x11},
- {.src = 0x6029, .y = 0x09, .x = 0x11},
- {.src = 0x6029, .y = 0x0a, .x = 0x11},
- {.src = 0x603c, .y = 0x0b, .x = 0x11},
+static const struct TourneyTreeLineSection sLineSectionTrainer7Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER7(0x6021)
+ LINESECTION_ROUND2_MATCH6(0x6025)
+ LINESECTION_SEMIFINAL_TOP_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860daac[] =
-{
- {.src = 0x6021, .y = 0x0a, .x = 0x14},
- {.src = 0x6021, .y = 0x0a, .x = 0x13},
- {.src = 0x6029, .y = 0x09, .x = 0x13},
- {.src = 0x6021, .y = 0x09, .x = 0x12},
- {.src = 0x6029, .y = 0x08, .x = 0x12},
- {.src = 0x6029, .y = 0x07, .x = 0x12},
- {.src = 0x6025, .y = 0x07, .x = 0x11},
- {.src = 0x6029, .y = 0x08, .x = 0x11},
- {.src = 0x6029, .y = 0x09, .x = 0x11},
- {.src = 0x6029, .y = 0x0a, .x = 0x11},
- {.src = 0x603c, .y = 0x0b, .x = 0x11},
- {.src = 0x602f, .y = 0x0b, .x = 0x10},
- {.src = 0x602e, .y = 0x0b, .x = 0x0f},
+static const struct TourneyTreeLineSection sLineSectionTrainer7Final[] =
+{
+ LINESECTION_ROUND1_TRAINER7(0x6021)
+ LINESECTION_ROUND2_MATCH6(0x6025)
+ LINESECTION_SEMIFINAL_TOP_RIGHT
+ LINESECTION_FINAL_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860dae0[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer6Round1[] =
{
- {.src = 0x6021, .y = 0x0c, .x = 0x14},
- {.src = 0x6025, .y = 0x0c, .x = 0x13},
- {.src = 0x6049, .y = 0x0d, .x = 0x13},
- {.src = 0x6045, .y = 0x0d, .x = 0x12},
+ LINESECTION_ROUND1_TRAINER6(0x6045)
};
-static const struct UnkStruct_860DD10 gUnknown_0860daf0[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer6Round2[] =
{
- {.src = 0x6021, .y = 0x0c, .x = 0x14},
- {.src = 0x6025, .y = 0x0c, .x = 0x13},
- {.src = 0x6049, .y = 0x0d, .x = 0x13},
- {.src = 0x6025, .y = 0x0d, .x = 0x12},
- {.src = 0x6029, .y = 0x0e, .x = 0x12},
- {.src = 0x6049, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
+ LINESECTION_ROUND1_TRAINER6(0x6025)
+ LINESECTION_ROUND2_MATCH7(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860db0c[] =
-{
- {.src = 0x6021, .y = 0x0c, .x = 0x14},
- {.src = 0x6025, .y = 0x0c, .x = 0x13},
- {.src = 0x6049, .y = 0x0d, .x = 0x13},
- {.src = 0x6025, .y = 0x0d, .x = 0x12},
- {.src = 0x6029, .y = 0x0e, .x = 0x12},
- {.src = 0x6049, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
- {.src = 0x6038, .y = 0x0e, .x = 0x11},
- {.src = 0x6037, .y = 0x0d, .x = 0x11},
- {.src = 0x6036, .y = 0x0c, .x = 0x11},
- {.src = 0x6035, .y = 0x0b, .x = 0x11},
+static const struct TourneyTreeLineSection sLineSectionTrainer6Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER6(0x6025)
+ LINESECTION_ROUND2_MATCH7(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860db38[] =
-{
- {.src = 0x6021, .y = 0x0c, .x = 0x14},
- {.src = 0x6025, .y = 0x0c, .x = 0x13},
- {.src = 0x6049, .y = 0x0d, .x = 0x13},
- {.src = 0x6025, .y = 0x0d, .x = 0x12},
- {.src = 0x6029, .y = 0x0e, .x = 0x12},
- {.src = 0x6049, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
- {.src = 0x6038, .y = 0x0e, .x = 0x11},
- {.src = 0x6037, .y = 0x0d, .x = 0x11},
- {.src = 0x6036, .y = 0x0c, .x = 0x11},
- {.src = 0x6035, .y = 0x0b, .x = 0x11},
- {.src = 0x602f, .y = 0x0b, .x = 0x10},
- {.src = 0x602e, .y = 0x0b, .x = 0x0f},
+static const struct TourneyTreeLineSection sLineSectionTrainer6Final[] =
+{
+ LINESECTION_ROUND1_TRAINER6(0x6025)
+ LINESECTION_ROUND2_MATCH7(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_RIGHT
+ LINESECTION_FINAL_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860db6c[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer14Round1[] =
{
- {.src = 0x6021, .y = 0x0e, .x = 0x14},
- {.src = 0x6021, .y = 0x0e, .x = 0x13},
- {.src = 0x6029, .y = 0x0d, .x = 0x13},
- {.src = 0x6045, .y = 0x0d, .x = 0x12},
+ LINESECTION_ROUND1_TRAINER14(0x6045)
};
-static const struct UnkStruct_860DD10 gUnknown_0860db7c[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer14Round2[] =
{
- {.src = 0x6021, .y = 0x0e, .x = 0x14},
- {.src = 0x6021, .y = 0x0e, .x = 0x13},
- {.src = 0x6029, .y = 0x0d, .x = 0x13},
- {.src = 0x6025, .y = 0x0d, .x = 0x12},
- {.src = 0x6029, .y = 0x0e, .x = 0x12},
- {.src = 0x6049, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
+ LINESECTION_ROUND1_TRAINER14(0x6025)
+ LINESECTION_ROUND2_MATCH7(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860db98[] =
-{
- {.src = 0x6021, .y = 0x0e, .x = 0x14},
- {.src = 0x6021, .y = 0x0e, .x = 0x13},
- {.src = 0x6029, .y = 0x0d, .x = 0x13},
- {.src = 0x6025, .y = 0x0d, .x = 0x12},
- {.src = 0x6029, .y = 0x0e, .x = 0x12},
- {.src = 0x6049, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
- {.src = 0x6038, .y = 0x0e, .x = 0x11},
- {.src = 0x6037, .y = 0x0d, .x = 0x11},
- {.src = 0x6036, .y = 0x0c, .x = 0x11},
- {.src = 0x6035, .y = 0x0b, .x = 0x11},
+static const struct TourneyTreeLineSection sLineSectionTrainer14Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER14(0x6025)
+ LINESECTION_ROUND2_MATCH7(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860dbc4[] =
-{
- {.src = 0x6021, .y = 0x0e, .x = 0x14},
- {.src = 0x6021, .y = 0x0e, .x = 0x13},
- {.src = 0x6029, .y = 0x0d, .x = 0x13},
- {.src = 0x6025, .y = 0x0d, .x = 0x12},
- {.src = 0x6029, .y = 0x0e, .x = 0x12},
- {.src = 0x6049, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
- {.src = 0x6038, .y = 0x0e, .x = 0x11},
- {.src = 0x6037, .y = 0x0d, .x = 0x11},
- {.src = 0x6036, .y = 0x0c, .x = 0x11},
- {.src = 0x6035, .y = 0x0b, .x = 0x11},
- {.src = 0x602f, .y = 0x0b, .x = 0x10},
- {.src = 0x602e, .y = 0x0b, .x = 0x0f},
+static const struct TourneyTreeLineSection sLineSectionTrainer14Final[] =
+{
+ LINESECTION_ROUND1_TRAINER14(0x6025)
+ LINESECTION_ROUND2_MATCH7(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_RIGHT
+ LINESECTION_FINAL_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860dbf8[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer10Round1[] =
{
- {.src = 0x6021, .y = 0x10, .x = 0x14},
- {.src = 0x6025, .y = 0x10, .x = 0x13},
- {.src = 0x6049, .y = 0x11, .x = 0x13},
- {.src = 0x6021, .y = 0x11, .x = 0x12},
+ LINESECTION_ROUND1_TRAINER10(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860dc08[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer10Round2[] =
{
- {.src = 0x6021, .y = 0x10, .x = 0x14},
- {.src = 0x6025, .y = 0x10, .x = 0x13},
- {.src = 0x6049, .y = 0x11, .x = 0x13},
- {.src = 0x6021, .y = 0x11, .x = 0x12},
- {.src = 0x6029, .y = 0x10, .x = 0x12},
- {.src = 0x6029, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
+ LINESECTION_ROUND1_TRAINER10(0x6021)
+ LINESECTION_ROUND2_MATCH8(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860dc24[] =
-{
- {.src = 0x6021, .y = 0x10, .x = 0x14},
- {.src = 0x6025, .y = 0x10, .x = 0x13},
- {.src = 0x6049, .y = 0x11, .x = 0x13},
- {.src = 0x6021, .y = 0x11, .x = 0x12},
- {.src = 0x6029, .y = 0x10, .x = 0x12},
- {.src = 0x6029, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
- {.src = 0x6038, .y = 0x0e, .x = 0x11},
- {.src = 0x6037, .y = 0x0d, .x = 0x11},
- {.src = 0x6036, .y = 0x0c, .x = 0x11},
- {.src = 0x6035, .y = 0x0b, .x = 0x11},
+static const struct TourneyTreeLineSection sLineSectionTrainer10Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER10(0x6021)
+ LINESECTION_ROUND2_MATCH8(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860dc50[] =
-{
- {.src = 0x6021, .y = 0x10, .x = 0x14},
- {.src = 0x6025, .y = 0x10, .x = 0x13},
- {.src = 0x6049, .y = 0x11, .x = 0x13},
- {.src = 0x6021, .y = 0x11, .x = 0x12},
- {.src = 0x6029, .y = 0x10, .x = 0x12},
- {.src = 0x6029, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
- {.src = 0x6038, .y = 0x0e, .x = 0x11},
- {.src = 0x6037, .y = 0x0d, .x = 0x11},
- {.src = 0x6036, .y = 0x0c, .x = 0x11},
- {.src = 0x6035, .y = 0x0b, .x = 0x11},
- {.src = 0x602f, .y = 0x0b, .x = 0x10},
- {.src = 0x602e, .y = 0x0b, .x = 0x0f},
+static const struct TourneyTreeLineSection sLineSectionTrainer10Final[] =
+{
+ LINESECTION_ROUND1_TRAINER10(0x6021)
+ LINESECTION_ROUND2_MATCH8(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_RIGHT
+ LINESECTION_FINAL_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860dc84[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer2Round1[] =
{
- {.src = 0x602b, .y = 0x12, .x = 0x14},
- {.src = 0x602b, .y = 0x12, .x = 0x13},
- {.src = 0x6029, .y = 0x11, .x = 0x13},
- {.src = 0x6021, .y = 0x11, .x = 0x12},
+ LINESECTION_ROUND1_TRAINER2(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860dc94[] =
+static const struct TourneyTreeLineSection sLineSectionTrainer2Round2[] =
{
- {.src = 0x602b, .y = 0x12, .x = 0x14},
- {.src = 0x602b, .y = 0x12, .x = 0x13},
- {.src = 0x6029, .y = 0x11, .x = 0x13},
- {.src = 0x6021, .y = 0x11, .x = 0x12},
- {.src = 0x6029, .y = 0x10, .x = 0x12},
- {.src = 0x6029, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
+ LINESECTION_ROUND1_TRAINER2(0x6021)
+ LINESECTION_ROUND2_MATCH8(0x6021)
};
-static const struct UnkStruct_860DD10 gUnknown_0860dcb0[] =
-{
- {.src = 0x602b, .y = 0x12, .x = 0x14},
- {.src = 0x602b, .y = 0x12, .x = 0x13},
- {.src = 0x6029, .y = 0x11, .x = 0x13},
- {.src = 0x6021, .y = 0x11, .x = 0x12},
- {.src = 0x6029, .y = 0x10, .x = 0x12},
- {.src = 0x6029, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
- {.src = 0x6038, .y = 0x0e, .x = 0x11},
- {.src = 0x6037, .y = 0x0d, .x = 0x11},
- {.src = 0x6036, .y = 0x0c, .x = 0x11},
- {.src = 0x6035, .y = 0x0b, .x = 0x11},
+static const struct TourneyTreeLineSection sLineSectionTrainer2Semifinal[] =
+{
+ LINESECTION_ROUND1_TRAINER2(0x6021)
+ LINESECTION_ROUND2_MATCH8(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_RIGHT
};
-static const struct UnkStruct_860DD10 gUnknown_0860dcdc[] =
-{
- {.src = 0x602b, .y = 0x12, .x = 0x14},
- {.src = 0x602b, .y = 0x12, .x = 0x13},
- {.src = 0x6029, .y = 0x11, .x = 0x13},
- {.src = 0x6021, .y = 0x11, .x = 0x12},
- {.src = 0x6029, .y = 0x10, .x = 0x12},
- {.src = 0x6029, .y = 0x0f, .x = 0x12},
- {.src = 0x6021, .y = 0x0f, .x = 0x11},
- {.src = 0x6038, .y = 0x0e, .x = 0x11},
- {.src = 0x6037, .y = 0x0d, .x = 0x11},
- {.src = 0x6036, .y = 0x0c, .x = 0x11},
- {.src = 0x6035, .y = 0x0b, .x = 0x11},
- {.src = 0x602f, .y = 0x0b, .x = 0x10},
- {.src = 0x602e, .y = 0x0b, .x = 0x0f},
+static const struct TourneyTreeLineSection sLineSectionTrainer2Final[] =
+{
+ LINESECTION_ROUND1_TRAINER2(0x6021)
+ LINESECTION_ROUND2_MATCH8(0x6021)
+ LINESECTION_SEMIFINAL_BOTTOM_RIGHT
+ LINESECTION_FINAL_RIGHT
};
-static const struct UnkStruct_860DD10 * const gUnknown_0860DD10[DOME_TOURNAMENT_TRAINERS_COUNT][DOME_ROUNDS_COUNT] =
-{
- {gUnknown_0860d450, gUnknown_0860d460, gUnknown_0860d47c, gUnknown_0860d4a8},
- {gUnknown_0860dc84, gUnknown_0860dc94, gUnknown_0860dcb0, gUnknown_0860dcdc},
- {gUnknown_0860d8b0, gUnknown_0860d8c0, gUnknown_0860d8dc, gUnknown_0860d908},
- {gUnknown_0860d824, gUnknown_0860d834, gUnknown_0860d850, gUnknown_0860d87c},
- {gUnknown_0860d5f4, gUnknown_0860d604, gUnknown_0860d620, gUnknown_0860d64c},
- {gUnknown_0860dae0, gUnknown_0860daf0, gUnknown_0860db0c, gUnknown_0860db38},
- {gUnknown_0860da54, gUnknown_0860da64, gUnknown_0860da80, gUnknown_0860daac},
- {gUnknown_0860d680, gUnknown_0860d690, gUnknown_0860d6ac, gUnknown_0860d6d8},
- {gUnknown_0860d4dc, gUnknown_0860d4ec, gUnknown_0860d508, gUnknown_0860d534},
- {gUnknown_0860dbf8, gUnknown_0860dc08, gUnknown_0860dc24, gUnknown_0860dc50},
- {gUnknown_0860d93c, gUnknown_0860d94c, gUnknown_0860d968, gUnknown_0860d994},
- {gUnknown_0860d798, gUnknown_0860d7a8, gUnknown_0860d7c4, gUnknown_0860d7f0},
- {gUnknown_0860d568, gUnknown_0860d578, gUnknown_0860d594, gUnknown_0860d5c0},
- {gUnknown_0860db6c, gUnknown_0860db7c, gUnknown_0860db98, gUnknown_0860dbc4},
- {gUnknown_0860d9c8, gUnknown_0860d9d8, gUnknown_0860d9f4, gUnknown_0860da20},
- {gUnknown_0860d70c, gUnknown_0860d71c, gUnknown_0860d738, gUnknown_0860d764},
+static const struct TourneyTreeLineSection *const sTourneyTreeLineSections[DOME_TOURNAMENT_TRAINERS_COUNT][DOME_ROUNDS_COUNT] =
+{
+ {sLineSectionTrainer1Round1, sLineSectionTrainer1Round2, sLineSectionTrainer1Semifinal, sLineSectionTrainer1Final},
+ {sLineSectionTrainer2Round1, sLineSectionTrainer2Round2, sLineSectionTrainer2Semifinal, sLineSectionTrainer2Final},
+ {sLineSectionTrainer3Round1, sLineSectionTrainer3Round2, sLineSectionTrainer3Semifinal, sLineSectionTrainer3Final},
+ {sLineSectionTrainer4Round1, sLineSectionTrainer4Round2, sLineSectionTrainer4Semifinal, sLineSectionTrainer4Final},
+ {sLineSectionTrainer5Round1, sLineSectionTrainer5Round2, sLineSectionTrainer5Semifinal, sLineSectionTrainer5Final},
+ {sLineSectionTrainer6Round1, sLineSectionTrainer6Round2, sLineSectionTrainer6Semifinal, sLineSectionTrainer6Final},
+ {sLineSectionTrainer7Round1, sLineSectionTrainer7Round2, sLineSectionTrainer7Semifinal, sLineSectionTrainer7Final},
+ {sLineSectionTrainer8Round1, sLineSectionTrainer8Round2, sLineSectionTrainer8Semifinal, sLineSectionTrainer8Final},
+ {sLineSectionTrainer9Round1, sLineSectionTrainer9Round2, sLineSectionTrainer9Semifinal, sLineSectionTrainer9Final},
+ {sLineSectionTrainer10Round1, sLineSectionTrainer10Round2, sLineSectionTrainer10Semifinal, sLineSectionTrainer10Final},
+ {sLineSectionTrainer11Round1, sLineSectionTrainer11Round2, sLineSectionTrainer11Semifinal, sLineSectionTrainer11Final},
+ {sLineSectionTrainer12Round1, sLineSectionTrainer12Round2, sLineSectionTrainer12Semifinal, sLineSectionTrainer12Final},
+ {sLineSectionTrainer13Round1, sLineSectionTrainer13Round2, sLineSectionTrainer13Semifinal, sLineSectionTrainer13Final},
+ {sLineSectionTrainer14Round1, sLineSectionTrainer14Round2, sLineSectionTrainer14Semifinal, sLineSectionTrainer14Final},
+ {sLineSectionTrainer15Round1, sLineSectionTrainer15Round2, sLineSectionTrainer15Semifinal, sLineSectionTrainer15Final},
+ {sLineSectionTrainer16Round1, sLineSectionTrainer16Round2, sLineSectionTrainer16Semifinal, sLineSectionTrainer16Final},
};
-static const u8 gUnknown_0860DE10[DOME_TOURNAMENT_TRAINERS_COUNT][DOME_ROUNDS_COUNT] =
-{
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
- {0x04, 0x07, 0x0b, 0x0d},
+static const u8 sTourneyTreeLineSectionArrayCounts[DOME_TOURNAMENT_TRAINERS_COUNT][DOME_ROUNDS_COUNT] =
+{
+ {ARRAY_COUNT(sLineSectionTrainer1Round1), ARRAY_COUNT(sLineSectionTrainer1Round2), ARRAY_COUNT(sLineSectionTrainer1Semifinal), ARRAY_COUNT(sLineSectionTrainer1Final)},
+ {ARRAY_COUNT(sLineSectionTrainer2Round1), ARRAY_COUNT(sLineSectionTrainer2Round2), ARRAY_COUNT(sLineSectionTrainer2Semifinal), ARRAY_COUNT(sLineSectionTrainer2Final)},
+ {ARRAY_COUNT(sLineSectionTrainer3Round1), ARRAY_COUNT(sLineSectionTrainer3Round2), ARRAY_COUNT(sLineSectionTrainer3Semifinal), ARRAY_COUNT(sLineSectionTrainer3Final)},
+ {ARRAY_COUNT(sLineSectionTrainer4Round1), ARRAY_COUNT(sLineSectionTrainer4Round2), ARRAY_COUNT(sLineSectionTrainer4Semifinal), ARRAY_COUNT(sLineSectionTrainer4Final)},
+ {ARRAY_COUNT(sLineSectionTrainer5Round1), ARRAY_COUNT(sLineSectionTrainer5Round2), ARRAY_COUNT(sLineSectionTrainer5Semifinal), ARRAY_COUNT(sLineSectionTrainer5Final)},
+ {ARRAY_COUNT(sLineSectionTrainer6Round1), ARRAY_COUNT(sLineSectionTrainer6Round2), ARRAY_COUNT(sLineSectionTrainer6Semifinal), ARRAY_COUNT(sLineSectionTrainer6Final)},
+ {ARRAY_COUNT(sLineSectionTrainer7Round1), ARRAY_COUNT(sLineSectionTrainer7Round2), ARRAY_COUNT(sLineSectionTrainer7Semifinal), ARRAY_COUNT(sLineSectionTrainer7Final)},
+ {ARRAY_COUNT(sLineSectionTrainer8Round1), ARRAY_COUNT(sLineSectionTrainer8Round2), ARRAY_COUNT(sLineSectionTrainer8Semifinal), ARRAY_COUNT(sLineSectionTrainer8Final)},
+ {ARRAY_COUNT(sLineSectionTrainer9Round1), ARRAY_COUNT(sLineSectionTrainer9Round2), ARRAY_COUNT(sLineSectionTrainer9Semifinal), ARRAY_COUNT(sLineSectionTrainer9Final)},
+ {ARRAY_COUNT(sLineSectionTrainer10Round1), ARRAY_COUNT(sLineSectionTrainer10Round2), ARRAY_COUNT(sLineSectionTrainer10Semifinal), ARRAY_COUNT(sLineSectionTrainer10Final)},
+ {ARRAY_COUNT(sLineSectionTrainer11Round1), ARRAY_COUNT(sLineSectionTrainer11Round2), ARRAY_COUNT(sLineSectionTrainer11Semifinal), ARRAY_COUNT(sLineSectionTrainer11Final)},
+ {ARRAY_COUNT(sLineSectionTrainer12Round1), ARRAY_COUNT(sLineSectionTrainer12Round2), ARRAY_COUNT(sLineSectionTrainer12Semifinal), ARRAY_COUNT(sLineSectionTrainer12Final)},
+ {ARRAY_COUNT(sLineSectionTrainer13Round1), ARRAY_COUNT(sLineSectionTrainer13Round2), ARRAY_COUNT(sLineSectionTrainer13Semifinal), ARRAY_COUNT(sLineSectionTrainer13Final)},
+ {ARRAY_COUNT(sLineSectionTrainer14Round1), ARRAY_COUNT(sLineSectionTrainer14Round2), ARRAY_COUNT(sLineSectionTrainer14Semifinal), ARRAY_COUNT(sLineSectionTrainer14Final)},
+ {ARRAY_COUNT(sLineSectionTrainer15Round1), ARRAY_COUNT(sLineSectionTrainer15Round2), ARRAY_COUNT(sLineSectionTrainer15Semifinal), ARRAY_COUNT(sLineSectionTrainer15Final)},
+ {ARRAY_COUNT(sLineSectionTrainer16Round1), ARRAY_COUNT(sLineSectionTrainer16Round2), ARRAY_COUNT(sLineSectionTrainer16Semifinal), ARRAY_COUNT(sLineSectionTrainer16Final)},
};
// code
@@ -2372,7 +2164,7 @@ static void GetDomeData(void)
gSelectedOrderFromParty[0] = gSaveBlock2Ptr->frontier.selectedPartyMons[3];
gSelectedOrderFromParty[1] = gSaveBlock2Ptr->frontier.selectedPartyMons[3] >> 8;
break;
- case DOME_DATA_LAST_TOURNEY_TYPE:
+ case DOME_DATA_PREV_TOURNEY_TYPE:
gSpecialVar_Result = (gSaveBlock2Ptr->frontier.domeLvlMode * 2) - 3 + gSaveBlock2Ptr->frontier.domeBattleMode;
break;
}
@@ -2451,7 +2243,7 @@ static void InitDomeTrainers(void)
int species[FRONTIER_PARTY_SIZE];
int monTypesBits, monTypesCount;
int trainerId;
- int monSetId;
+ int monId;
u16 *rankingScores;
int *statValues;
u8 ivs = 0;
@@ -2484,7 +2276,7 @@ static void InitDomeTrainers(void)
// Populate the tourney roster with random frontier trainers (dependent on streak)
for (i = 1; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
{
- // First 5/16 trainers are easier than the rest
+ // Choose trainer. First 5/16 trainers are easier than the rest
if (i > 5)
{
do
@@ -2512,25 +2304,26 @@ static void InitDomeTrainers(void)
DOME_TRAINERS[i].trainerId = trainerId;
}
+ // Choose party
for (j = 0; j < FRONTIER_PARTY_SIZE; j++)
{
- // Make sure the mon is valid.
do
{
- monSetId = RandomizeFacilityTrainerMonSet(trainerId);
+ monId = GetRandomFrontierMonFromSet(trainerId);
for (k = 0; k < j; k++)
{
- int checkingMonSetId = DOME_MONS[i][k];
- if (checkingMonSetId == monSetId
- || species[0] == gFacilityTrainerMons[monSetId].species
- || species[1] == gFacilityTrainerMons[monSetId].species
- || gFacilityTrainerMons[checkingMonSetId].itemTableId == gFacilityTrainerMons[monSetId].itemTableId)
+ // Make sure the mon is valid.
+ int alreadySelectedMonId = DOME_MONS[i][k];
+ if (alreadySelectedMonId == monId
+ || species[0] == gFacilityTrainerMons[monId].species
+ || species[1] == gFacilityTrainerMons[monId].species
+ || gFacilityTrainerMons[alreadySelectedMonId].itemTableId == gFacilityTrainerMons[monId].itemTableId)
break;
}
} while (k != j);
- DOME_MONS[i][j] = monSetId;
- species[j] = gFacilityTrainerMons[monSetId].species;
+ DOME_MONS[i][j] = monId;
+ species[j] = gFacilityTrainerMons[monId].species;
}
DOME_TRAINERS[i].isEliminated = FALSE;
@@ -2633,8 +2426,7 @@ static void InitDomeTrainers(void)
break;
}
- // if i != 0, the below conditional is always TRUE
- if (gUnknown_0860D3F1[i][0] != 0)
+ if (sTrainerNamePositions[i][0] != 0)
{
j = 0;
DOME_TRAINERS[j].trainerId = TRAINER_FRONTIER_BRAIN;
@@ -2735,7 +2527,7 @@ static void CreateDomeOpponentMon(u8 monPartyId, u16 tournamentTrainerId, u8 tou
{
int i;
u8 friendship = MAX_FRIENDSHIP;
- u8 fixedIv = GetDomeTrainerMonIvs(tournamentTrainerId); // BUG: Should be using DOME_TRAINERS[tournamentTrainerId].trainerId instead of tournamentTrainerId. As a result, all Pokemon have ivs of 3.
+ u8 fixedIv = GetDomeTrainerMonIvs(tournamentTrainerId); // BUG: Should be using (DOME_TRAINERS[tournamentTrainerId].trainerId) instead of (tournamentTrainerId). As a result, all Pokemon have ivs of 3.
u8 level = SetFacilityPtrsGetLevel();
CreateMonWithEVSpreadNatureOTID(&gEnemyParty[monPartyId],
gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][tournamentMonId]].species,
@@ -2801,21 +2593,23 @@ int GetDomeTrainerSelectedMons(u16 tournamentTrainerId)
int selectedMonBits;
if (Random() & 1)
{
- selectedMonBits = sub_818FCBC(tournamentTrainerId, FALSE);
+ selectedMonBits = SelectOpponentMonsUsingPersonality(tournamentTrainerId, FALSE);
if (selectedMonBits == 0)
- selectedMonBits = sub_818FDB8(tournamentTrainerId, TRUE);
+ selectedMonBits = SelectOpponentMonsUsingOtId(tournamentTrainerId, TRUE);
}
else
{
- selectedMonBits = sub_818FDB8(tournamentTrainerId, FALSE);
+ selectedMonBits = SelectOpponentMonsUsingOtId(tournamentTrainerId, FALSE);
if (selectedMonBits == 0)
- selectedMonBits = sub_818FCBC(tournamentTrainerId, TRUE);
+ selectedMonBits = SelectOpponentMonsUsingPersonality(tournamentTrainerId, TRUE);
}
return selectedMonBits;
}
-static int sub_818FCBC(u16 tournamentTrainerId, bool8 allowRandom)
+// Could probably use a better name once GetTypeEffectivenessPoints is clarified
+// Personality seems to be used to select a different weighting system for type effectiveness points
+static int SelectOpponentMonsUsingPersonality(u16 tournamentTrainerId, bool8 allowRandom)
{
int i, moveId, playerMonId;
int partyMovePoints[FRONTIER_PARTY_SIZE];
@@ -2843,7 +2637,8 @@ static int sub_818FCBC(u16 tournamentTrainerId, bool8 allowRandom)
return SelectOpponentMonsFromParty(partyMovePoints, allowRandom);
}
-static int sub_818FDB8(u16 tournamentTrainerId, bool8 allowRandom)
+// See above function, identical but uses MON_DATA_OT_ID
+static int SelectOpponentMonsUsingOtId(u16 tournamentTrainerId, bool8 allowRandom)
{
int i, moveId, playerMonId;
int partyMovePoints[FRONTIER_PARTY_SIZE];
@@ -3297,6 +3092,7 @@ _08190156:\n\
// Duplicate of GetFrontierTrainerFixedIvs
// NOTE: In CreateDomeOpponentMon a tournament trainer ID (0-15) is passed instead, resulting in all IVs of 3
+// To fix, see CreateDomeOpponentMon
static u8 GetDomeTrainerMonIvs(u16 trainerId)
{
u8 fixedIv;
@@ -3321,41 +3117,43 @@ static u8 GetDomeTrainerMonIvs(u16 trainerId)
return fixedIv;
}
-// TODO: if 0xFF is returned, overflow in TrainerIdOfPlayerOpponent
static int TournamentIdOfOpponent(int roundId, int trainerId)
{
- int i, j, val;
+ int i, j, opponentMax;
+ // Get trainer's tournament id
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
{
if (DOME_TRAINERS[i].trainerId == trainerId)
break;
}
+ // Get trainer's opponent's tournament id
if (roundId != DOME_ROUND1)
{
if (roundId == DOME_FINAL)
- val = sIdToOpponentId[i][roundId] + 8;
+ opponentMax = sIdToOpponentId[i][roundId] + 8;
else
- val = sIdToOpponentId[i][roundId] + 4;
+ opponentMax = sIdToOpponentId[i][roundId] + 4;
- for (j = sIdToOpponentId[i][roundId]; j < val; j++)
+ // Get first non-eliminated trainer in range of possible opponents
+ for (j = sIdToOpponentId[i][roundId]; j < opponentMax; j++)
{
- if (gUnknown_0860D14C[j] != i && !DOME_TRAINERS[gUnknown_0860D14C[j]].isEliminated)
+ if (sTourneyTreeTrainerOpponentIds[j] != i && !DOME_TRAINERS[sTourneyTreeTrainerOpponentIds[j]].isEliminated)
break;
}
- if (j != val)
- return gUnknown_0860D14C[j];
+ if (j != opponentMax)
+ return sTourneyTreeTrainerOpponentIds[j];
else
- return 0xFF;
+ return 0xFF; // Already eliminated
}
else
{
if (!DOME_TRAINERS[sIdToOpponentId[i][roundId]].isEliminated)
return sIdToOpponentId[i][roundId];
else
- return 0xFF;
+ return 0xFF; // Already eliminated
}
}
@@ -3364,6 +3162,7 @@ static void SetDomeOpponentId(void)
gTrainerBattleOpponent_A = TrainerIdOfPlayerOpponent();
}
+// While not an issue in-game, this will overflow if called after the player's opponent for the current round has been eliminated
static u16 TrainerIdOfPlayerOpponent(void)
{
return DOME_TRAINERS[TournamentIdOfOpponent(gSaveBlock2Ptr->frontier.curChallengeBattleNum, TRAINER_PLAYER)].trainerId;
@@ -3396,25 +3195,27 @@ static void IncrementDomeStreaks(void)
gSaveBlock2Ptr->frontier.domeRecordWinStreaks[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode];
}
+// For showing the opponent info card of the upcoming trainer
static void ShowDomeOpponentInfo(void)
{
- u8 taskId = CreateTask(Task_ShowOpponentInfo, 0);
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].data[1] = TrainerIdToTournamentId(TrainerIdOfPlayerOpponent());
- gTasks[taskId].data[2] = 0;
- gTasks[taskId].data[3] = 0;
+ u8 taskId = CreateTask(Task_ShowTourneyInfoCard, 0);
+ gTasks[taskId].tState = 0;
+ gTasks[taskId].tTournamentId = TrainerIdToTournamentId(TrainerIdOfPlayerOpponent());
+ gTasks[taskId].tMode = INFOCARD_NEXT_OPPONENT;
+ gTasks[taskId].tPrevTaskId = 0;
- SetMainCallback2(CB2_BattleDome);
+ SetMainCallback2(CB2_TourneyTree);
}
-static void Task_ShowOpponentInfo(u8 taskId)
+// For showing the opponent info card or the match info card
+static void Task_ShowTourneyInfoCard(u8 taskId)
{
int i;
- int r5 = gTasks[taskId].data[1];
- int r9 = gTasks[taskId].data[2];
- int r7 = gTasks[taskId].data[3];
+ int tournamentId = gTasks[taskId].tTournamentId;
+ int mode = gTasks[taskId].tMode;
+ int id = gTasks[taskId].tPrevTaskId;
- switch (gTasks[taskId].data[0])
+ switch (gTasks[taskId].tState)
{
case 0:
SetHBlankCallback(NULL);
@@ -3422,8 +3223,8 @@ static void Task_ShowOpponentInfo(u8 taskId)
EnableInterrupts(INTR_FLAG_VBLANK);
CpuFill32(0, (void *)VRAM, VRAM_SIZE);
ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, sOpponentInfoBgTemplates, ARRAY_COUNT(sOpponentInfoBgTemplates));
- InitWindows(sOpponentInfoWindowTemplates);
+ InitBgsFromTemplates(0, sInfoCardBgTemplates, ARRAY_COUNT(sInfoCardBgTemplates));
+ InitWindows(sInfoCardWindowTemplates);
DeactivateAllTextPrinters();
gBattle_BG0_X = 0;
gBattle_BG0_Y = 0;
@@ -3431,12 +3232,12 @@ static void Task_ShowOpponentInfo(u8 taskId)
gBattle_BG1_Y = 0;
gBattle_BG3_X = 0;
gBattle_BG3_Y = 0;
- if (r9 == 2)
+ if (mode == INFOCARD_MATCH)
gBattle_BG2_X = 0, gBattle_BG2_Y = 0;
else
gBattle_BG2_X = 0, gBattle_BG2_Y = 160;
- gTasks[taskId].data[0]++;
+ gTasks[taskId].tState++;
break;
case 1:
SetGpuReg(REG_OFFSET_BLDCNT, 0);
@@ -3453,67 +3254,71 @@ static void Task_ShowOpponentInfo(u8 taskId)
ResetSpriteData();
FreeAllSpritePalettes();
gReservedSpritePaletteCount = 4;
- gTasks[taskId].data[0]++;
+ gTasks[taskId].tState++;
break;
case 2:
- DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D83D50, 0x2000, 0, 0);
- DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D84970, 0x2000, 0, 1);
- DecompressAndLoadBgGfxUsingHeap(3, gUnknown_08D84F00, 0x800, 0, 1);
- LoadCompressedSpriteSheet(sDomeOptionsSpriteSheet);
- LoadCompressedPalette(gUnknown_08D85358, 0, 0x200);
- LoadCompressedPalette(gUnknown_08D85444, 0x100, 0x200);
+ DecompressAndLoadBgGfxUsingHeap(2, gDomeTourneyInfoCard_Gfx, 0x2000, 0, 0);
+ DecompressAndLoadBgGfxUsingHeap(2, gDomeTourneyInfoCard_Tilemap, 0x2000, 0, 1);
+ DecompressAndLoadBgGfxUsingHeap(3, gDomeTourneyInfoCardBg_Tilemap, 0x800, 0, 1);
+ LoadCompressedSpriteSheet(sTourneyTreeButtonsSpriteSheet);
+ LoadCompressedPalette(gDomeTourneyTree_Pal, 0, 0x200);
+ LoadCompressedPalette(gDomeTourneyTreeButtons_Pal, 0x100, 0x200);
LoadCompressedPalette(gBattleWindowTextPalette, 0xF0, 0x20);
- if (r9 == 2)
- LoadCompressedPalette(gUnknown_08D854C8, 0x50, 0x20);
+ if (mode == INFOCARD_MATCH)
+ LoadCompressedPalette(gDomeTourneyMatchCardBg_Pal, 0x50, 0x20); // Changes the moving info card bg to orange when in match card mode
CpuFill32(0, gPlttBufferFaded, 0x400);
ShowBg(0);
ShowBg(1);
ShowBg(2);
ShowBg(3);
- gTasks[taskId].data[0]++;
+ gTasks[taskId].tState++;
break;
case 3:
- SetVBlankCallback(VblankCb0_BattleDome);
- sBattleDomeStruct = AllocZeroed(sizeof(*sBattleDomeStruct));
- for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
- sBattleDomeStruct->arr[i] = 0xFF;
+ SetVBlankCallback(VblankCb_TourneyInfoCard);
+ sInfoCard = AllocZeroed(sizeof(*sInfoCard));
+ for (i = 0; i < NUM_INFOCARD_SPRITES; i++)
+ sInfoCard->spriteIds[i] = 0xFF;
LoadMonIconPalettes();
- i = CreateTask(sub_8190CD4, 0);
+ i = CreateTask(Task_HandleInfoCardInput, 0);
gTasks[i].data[0] = 0;
gTasks[i].data[2] = 0;
- gTasks[i].data[3] = r9;
- gTasks[i].data[4] = r7;
- if (r9 == 2)
+ gTasks[i].data[3] = mode;
+ gTasks[i].data[4] = id;
+ if (mode == INFOCARD_MATCH)
{
- DisplayMatchInfoOnCard(0, r5);
- sBattleDomeStruct->unk_10 = 1;
+ DisplayMatchInfoOnCard(0, tournamentId);
+ sInfoCard->pos = 1;
}
else
{
- DisplayTrainerInfoOnCard(0, r5);
+ DisplayTrainerInfoOnCard(0, tournamentId);
}
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_1D_MAP);
- if (r9 != 0)
+ if (mode != INFOCARD_NEXT_OPPONENT)
{
- r7 = CreateSprite(&gUnknown_0860D068, 120, 4, 0);
- StartSpriteAnim(&gSprites[r7], 0);
- gSprites[r7].data[0] = i;
-
- r7 = CreateSprite(&gUnknown_0860D068, 120, 156, 0);
- StartSpriteAnim(&gSprites[r7], 1);
- gSprites[r7].data[0] = i;
-
- r7 = CreateSprite(&gUnknown_0860D050, 6, 80, 0);
- StartSpriteAnim(&gSprites[r7], 0);
- gSprites[r7].data[0] = i;
- gSprites[r7].data[1] = 0;
- if (r9 == 1)
- gSprites[r7].invisible = TRUE;
-
- r7 = CreateSprite(&gUnknown_0860D050, 234, 80, 0);
- StartSpriteAnim(&gSprites[r7], 1);
- gSprites[r7].data[0] = i;
- gSprites[r7].data[1] = 1;
+ // Scroll up arrow
+ id = CreateSprite(&sVerticalScrollArrowSpriteTemplate, 120, 4, 0);
+ StartSpriteAnim(&gSprites[id], 0);
+ gSprites[id].data[0] = i;
+
+ // Scroll down arrow
+ id = CreateSprite(&sVerticalScrollArrowSpriteTemplate, 120, 156, 0);
+ StartSpriteAnim(&gSprites[id], 1);
+ gSprites[id].data[0] = i;
+
+ // Scroll left arrow
+ id = CreateSprite(&sHorizontalScrollArrowSpriteTemplate, 6, 80, 0);
+ StartSpriteAnim(&gSprites[id], 0);
+ gSprites[id].data[0] = i;
+ gSprites[id].data[1] = 0;
+ if (mode == INFOCARD_TRAINER)
+ gSprites[id].invisible = TRUE;
+
+ // Scroll right arrow
+ id = CreateSprite(&sHorizontalScrollArrowSpriteTemplate, 234, 80, 0);
+ StartSpriteAnim(&gSprites[id], 1);
+ gSprites[id].data[0] = i;
+ gSprites[id].data[1] = 1;
}
DestroyTask(taskId);
break;
@@ -3523,7 +3328,6 @@ static void Task_ShowOpponentInfo(u8 taskId)
// Note: Card scrolling up means the current card goes down and another one appears from top.
// The same is true for scrolling left.
// That means that the sprite needs to move with the moving card in the opposite scrolling direction.
-
static void SpriteCb_TrainerIconCardScrollUp(struct Sprite *sprite)
{
sprite->pos1.y += 4;
@@ -3538,7 +3342,7 @@ static void SpriteCb_TrainerIconCardScrollUp(struct Sprite *sprite)
{
if (sprite->pos1.y >= 192)
{
- sBattleDomeStruct->arr[sprite->data[2]] = 0xFF;
+ sInfoCard->spriteIds[sprite->data[2]] = 0xFF;
FreeAndDestroyTrainerPicSprite(sprite->data[3]);
}
}
@@ -3558,7 +3362,7 @@ static void SpriteCb_TrainerIconCardScrollDown(struct Sprite *sprite)
{
if (sprite->pos1.y <= -32)
{
- sBattleDomeStruct->arr[sprite->data[2]] = 0xFF;
+ sInfoCard->spriteIds[sprite->data[2]] = 0xFF;
FreeAndDestroyTrainerPicSprite(sprite->data[3]);
}
}
@@ -3578,7 +3382,7 @@ static void SpriteCb_TrainerIconCardScrollLeft(struct Sprite *sprite)
{
if (sprite->pos1.x >= 272)
{
- sBattleDomeStruct->arr[sprite->data[2]] = 0xFF;
+ sInfoCard->spriteIds[sprite->data[2]] = 0xFF;
FreeAndDestroyTrainerPicSprite(sprite->data[3]);
}
}
@@ -3598,7 +3402,7 @@ static void SpriteCb_TrainerIconCardScrollRight(struct Sprite *sprite)
{
if (sprite->pos1.x <= -32)
{
- sBattleDomeStruct->arr[sprite->data[2]] = 0xFF;
+ sInfoCard->spriteIds[sprite->data[2]] = 0xFF;
FreeAndDestroyTrainerPicSprite(sprite->data[3]);
}
}
@@ -3628,8 +3432,8 @@ static void SpriteCb_MonIconCardScrollUp(struct Sprite *sprite)
{
if (sprite->pos1.y >= 176)
{
- sBattleDomeStruct->arr[sprite->data[2]] = 0xFF;
- sub_80D2EF8(sprite);
+ sInfoCard->spriteIds[sprite->data[2]] = 0xFF;
+ FreeAndDestroyMonIconSprite(sprite);
}
}
}
@@ -3650,8 +3454,8 @@ static void SpriteCb_MonIconCardScrollDown(struct Sprite *sprite)
{
if (sprite->pos1.y <= -16)
{
- sBattleDomeStruct->arr[sprite->data[2]] = 0xFF;
- sub_80D2EF8(sprite);
+ sInfoCard->spriteIds[sprite->data[2]] = 0xFF;
+ FreeAndDestroyMonIconSprite(sprite);
}
}
}
@@ -3672,8 +3476,8 @@ static void SpriteCb_MonIconCardScrollLeft(struct Sprite *sprite)
{
if (sprite->pos1.x >= 256)
{
- sBattleDomeStruct->arr[sprite->data[2]] = 0xFF;
- sub_80D2EF8(sprite);
+ sInfoCard->spriteIds[sprite->data[2]] = 0xFF;
+ FreeAndDestroyMonIconSprite(sprite);
}
}
}
@@ -3694,13 +3498,13 @@ static void SpriteCb_MonIconCardScrollRight(struct Sprite *sprite)
{
if (sprite->pos1.x <= -16)
{
- sBattleDomeStruct->arr[sprite->data[2]] = 0xFF;
- sub_80D2EF8(sprite);
+ sInfoCard->spriteIds[sprite->data[2]] = 0xFF;
+ FreeAndDestroyMonIconSprite(sprite);
}
}
}
-static void sub_8190B40(struct Sprite *sprite)
+static void SpriteCb_HorizontalScrollArrow(struct Sprite *sprite)
{
int taskId1 = sprite->data[0];
int arrId = gTasks[gTasks[taskId1].data[4]].data[1];
@@ -3712,12 +3516,12 @@ static void sub_8190B40(struct Sprite *sprite)
if (sprite->data[1])
{
if ((DOME_TRAINERS[tournmanetTrainerId].isEliminated
- && sBattleDomeStruct->unk_10 - 1 < DOME_TRAINERS[tournmanetTrainerId].eliminatedAt))
+ && sInfoCard->pos - 1 < DOME_TRAINERS[tournmanetTrainerId].eliminatedAt))
{
sprite->invisible = FALSE;
}
else if (!DOME_TRAINERS[tournmanetTrainerId].isEliminated
- && sBattleDomeStruct->unk_10 - 1 < roundId)
+ && sInfoCard->pos - 1 < roundId)
{
sprite->invisible = FALSE;
}
@@ -3729,7 +3533,7 @@ static void sub_8190B40(struct Sprite *sprite)
}
else
{
- if (sBattleDomeStruct->unk_10 != 0)
+ if (sInfoCard->pos != 0)
{
sprite->invisible = FALSE;
}
@@ -3744,7 +3548,7 @@ static void sub_8190B40(struct Sprite *sprite)
{
if (sprite->data[1])
{
- if (sBattleDomeStruct->unk_10 > 1)
+ if (sInfoCard->pos > 1)
{
if (gTasks[taskId1].data[0] == 2)
sprite->invisible = TRUE;
@@ -3756,7 +3560,7 @@ static void sub_8190B40(struct Sprite *sprite)
}
else
{
- if (sBattleDomeStruct->unk_10 != 0)
+ if (sInfoCard->pos != 0)
{
sprite->invisible = FALSE;
}
@@ -3769,13 +3573,13 @@ static void sub_8190B40(struct Sprite *sprite)
}
}
-static void sub_8190C6C(struct Sprite *sprite)
+static void SpriteCb_VerticalScrollArrow(struct Sprite *sprite)
{
int taskId1 = sprite->data[0];
if (gTasks[taskId1].data[3] == 1)
{
- if (sBattleDomeStruct->unk_10 != 0)
+ if (sInfoCard->pos != 0)
{
if (gTasks[taskId1].data[0] == 2)
sprite->invisible = TRUE;
@@ -3787,7 +3591,7 @@ static void sub_8190C6C(struct Sprite *sprite)
}
else
{
- if (sBattleDomeStruct->unk_10 != 1)
+ if (sInfoCard->pos != 1)
{
if (gTasks[taskId1].data[0] == 2)
sprite->invisible = TRUE;
@@ -3799,39 +3603,53 @@ static void sub_8190C6C(struct Sprite *sprite)
}
}
-static void sub_8190CD4(u8 taskId)
+// Task states for Task_HandleInfoCardInput
+#define STATE_FADE_IN 0
+#define STATE_WAIT_FADE 1
+#define STATE_GET_INPUT 2
+#define STATE_REACT_INPUT 3
+#define STATE_MOVE_UP 4
+#define STATE_MOVE_DOWN 5
+#define STATE_MOVE_LEFT 6
+#define STATE_MOVE_RIGHT 7
+#define STATE_CLOSE_CARD 8
+
+#define tUsingAlternateSlot data[2] // CARD_ALTERNATE_SLOT
+
+static void Task_HandleInfoCardInput(u8 taskId)
{
int i;
int windowId = 0;
- int r9 = gTasks[taskId].data[3];
+ int mode = gTasks[taskId].data[3];
int taskId2 = gTasks[taskId].data[4];
- int trainerTournamentId = 0;
+ int trainerTourneyId = 0;
int matchNo = 0;
- switch (gTasks[taskId].data[0])
+ switch (gTasks[taskId].tState)
{
- case 0:
+ case STATE_FADE_IN:
if (!gPaletteFade.active)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
- gTasks[taskId].data[0] = 1;
+ gTasks[taskId].tState = STATE_WAIT_FADE;
}
break;
- case 1:
+ case STATE_WAIT_FADE:
if (!gPaletteFade.active)
- gTasks[taskId].data[0] = 2;
+ gTasks[taskId].tState = STATE_GET_INPUT;
break;
- case 2:
- i = sub_819221C(taskId);
+ case STATE_GET_INPUT:
+ i = Task_GetInfoCardInput(taskId);
switch (i)
{
- case 9:
+ case INFOCARD_INPUT_AB:
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
- gTasks[taskId].data[0] = 8;
+ gTasks[taskId].tState = STATE_CLOSE_CARD;
break;
- case 1 ... 8:
+ case TRAINERCARD_INPUT_UP ... TRAINERCARD_INPUT_RIGHT:
+ case MATCHCARD_INPUT_UP ... MATCHCARD_INPUT_RIGHT:
gTasks[taskId].data[5] = i;
- if (gTasks[taskId].data[2] != 0)
+ if (gTasks[taskId].tUsingAlternateSlot)
windowId = 9;
else
windowId = 0;
@@ -3841,19 +3659,19 @@ static void sub_8190CD4(u8 taskId)
CopyWindowToVram(i, 2);
FillWindowPixelBuffer(i, PIXEL_FILL(0));
}
- gTasks[taskId].data[0] = 3;
+ gTasks[taskId].tState = STATE_REACT_INPUT;
break;
- case 0:
+ case INFOCARD_INPUT_NONE:
break;
}
break;
- case 3:
+ case STATE_REACT_INPUT:
i = gTasks[taskId].data[5];
switch (i)
{
- case 1:
- case 5:
- if (gTasks[taskId].data[2])
+ case TRAINERCARD_INPUT_UP:
+ case MATCHCARD_INPUT_UP:
+ if (gTasks[taskId].tUsingAlternateSlot)
{
gBattle_BG0_X = 0;
gBattle_BG0_Y = 0;
@@ -3868,108 +3686,108 @@ static void sub_8190CD4(u8 taskId)
gBattle_BG1_Y = 0;
}
- if (i == 1)
+ if (i == TRAINERCARD_INPUT_UP)
{
- if (sBattleDomeStruct->unk_10 == 0)
+ if (sInfoCard->pos == 0)
{
gBattle_BG2_X = 0;
gBattle_BG2_Y = 320;
- trainerTournamentId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
- DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 0x10, trainerTournamentId);
+ trainerTourneyId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
+ DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_UP, trainerTourneyId);
}
else
{
gBattle_BG2_X = 256;
gBattle_BG2_Y = 0;
- trainerTournamentId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
- DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 0x10, trainerTournamentId);
- sBattleDomeStruct->unk_10 = 0;
+ trainerTourneyId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
+ DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_UP, trainerTourneyId);
+ sInfoCard->pos = 0;
}
}
- else
+ else // i == MATCHCARD_INPUT_UP
{
- if (sBattleDomeStruct->unk_10 == 0)
+ if (sInfoCard->pos == 0)
{
matchNo = gTasks[taskId2].data[1] - 16;
- BufferDomeWinString(matchNo, sBattleDomeStruct->unk_11);
+ BufferDomeWinString(matchNo, sInfoCard->tournamentIds);
gBattle_BG2_X = 0;
gBattle_BG2_Y = 320;
- trainerTournamentId = sBattleDomeStruct->unk_11[0];
- DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 0x10, trainerTournamentId);
+ trainerTourneyId = sInfoCard->tournamentIds[0];
+ DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_UP, trainerTourneyId);
}
- else if (sBattleDomeStruct->unk_10 == 2)
+ else if (sInfoCard->pos == 2)
{
matchNo = gTasks[taskId2].data[1] - 16;
- BufferDomeWinString(matchNo, sBattleDomeStruct->unk_11);
+ BufferDomeWinString(matchNo, sInfoCard->tournamentIds);
gBattle_BG2_X = 0;
gBattle_BG2_Y = 320;
- trainerTournamentId = sBattleDomeStruct->unk_11[1];
- DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 0x10, trainerTournamentId);
+ trainerTourneyId = sInfoCard->tournamentIds[1];
+ DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_UP, trainerTourneyId);
}
else
{
gBattle_BG2_X = 256;
gBattle_BG2_Y = 160;
matchNo = gTasks[taskId2].data[1] - 16;
- DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 0x10, matchNo);
+ DisplayMatchInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_UP, matchNo);
}
}
- for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++)
+ for (i = 0; i < NUM_INFOCARD_SPRITES / 2; i++)
{
if (i < 2)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollUp;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollUp;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollUp;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollUp;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
+ for (i = NUM_INFOCARD_SPRITES / 2; i < NUM_INFOCARD_SPRITES; i++)
{
if (i < 10)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollUp;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollUp;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollUp;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollUp;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- gTasks[taskId].data[0] = 4;
+ gTasks[taskId].tState = STATE_MOVE_UP;
gTasks[taskId].data[5] = 0;
break;
- case 2:
- case 6:
- if (gTasks[taskId].data[2])
+ case TRAINERCARD_INPUT_DOWN:
+ case MATCHCARD_INPUT_DOWN:
+ if (gTasks[taskId].tUsingAlternateSlot)
{
gBattle_BG0_X = 0;
gBattle_BG0_Y = 0;
@@ -3984,107 +3802,107 @@ static void sub_8190CD4(u8 taskId)
gBattle_BG1_Y = 0;
}
- if (i == 2)
+ if (i == TRAINERCARD_INPUT_DOWN)
{
- if (sBattleDomeStruct->unk_10 == 0)
+ if (sInfoCard->pos == 0)
{
gBattle_BG2_X = 0;
gBattle_BG2_Y = 160;
- trainerTournamentId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
- DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 4, trainerTournamentId);
+ trainerTourneyId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
+ DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_DOWN, trainerTourneyId);
}
else
{
gBattle_BG2_X = 0;
gBattle_BG2_Y = 0;
- trainerTournamentId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
- DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 4, trainerTournamentId);
- sBattleDomeStruct->unk_10 = 0;
+ trainerTourneyId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
+ DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_DOWN, trainerTourneyId);
+ sInfoCard->pos = 0;
}
}
- else
+ else // i == MATCHCARD_INPUT_DOWN
{
- if (sBattleDomeStruct->unk_10 == 0)
+ if (sInfoCard->pos == 0)
{
matchNo = gTasks[taskId2].data[1] - 16;
- BufferDomeWinString(matchNo, sBattleDomeStruct->unk_11);
+ BufferDomeWinString(matchNo, sInfoCard->tournamentIds);
gBattle_BG2_X = 0;
gBattle_BG2_Y = 160;
- trainerTournamentId = sBattleDomeStruct->unk_11[0];
- DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 4, trainerTournamentId);
+ trainerTourneyId = sInfoCard->tournamentIds[0];
+ DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_DOWN, trainerTourneyId);
}
- else if (sBattleDomeStruct->unk_10 == 2)
+ else if (sInfoCard->pos == 2)
{
matchNo = gTasks[taskId2].data[1] - 16;
- BufferDomeWinString(matchNo, sBattleDomeStruct->unk_11);
+ BufferDomeWinString(matchNo, sInfoCard->tournamentIds);
gBattle_BG2_X = 0;
gBattle_BG2_Y = 160;
- trainerTournamentId = sBattleDomeStruct->unk_11[1];
- DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 4, trainerTournamentId);
+ trainerTourneyId = sInfoCard->tournamentIds[1];
+ DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_DOWN, trainerTourneyId);
}
else
{
gBattle_BG2_X = 256;
gBattle_BG2_Y = 0;
matchNo = gTasks[taskId2].data[1] - 16;
- DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 4, matchNo);
+ DisplayMatchInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_DOWN, matchNo);
}
}
- for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++)
+ for (i = 0; i < NUM_INFOCARD_SPRITES / 2; i++)
{
if (i < 2)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollDown;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollDown;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollDown;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollDown;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
+ for (i = NUM_INFOCARD_SPRITES / 2; i < NUM_INFOCARD_SPRITES; i++)
{
if (i < 10)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollDown;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollDown;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollDown;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollDown;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- gTasks[taskId].data[0] = 5;
+ gTasks[taskId].tState = STATE_MOVE_DOWN;
gTasks[taskId].data[5] = 0;
break;
- case 3:
- if (gTasks[taskId].data[2])
+ case TRAINERCARD_INPUT_LEFT:
+ if (gTasks[taskId].tUsingAlternateSlot)
{
gBattle_BG0_X = 0;
gBattle_BG0_Y = 0;
@@ -4099,75 +3917,75 @@ static void sub_8190CD4(u8 taskId)
gBattle_BG1_Y = 0;
}
- if (sBattleDomeStruct->unk_10 == 0)
+ if (sInfoCard->pos == 0)
{
gBattle_BG2_X = 256;
gBattle_BG2_Y = 160;
- trainerTournamentId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
- DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 8, trainerTournamentId);
+ trainerTourneyId = sTourneyTreeTrainerIds[gTasks[taskId2].data[1]];
+ DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_LEFT, trainerTourneyId);
}
else
{
gBattle_BG2_X = 256;
gBattle_BG2_Y = 0;
- matchNo = gUnknown_0860D15C[gTasks[taskId2].data[1]][sBattleDomeStruct->unk_10 - 1];
- DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 8, matchNo);
+ matchNo = sIdToMatchNumber[gTasks[taskId2].data[1]][sInfoCard->pos - 1];
+ DisplayMatchInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_LEFT, matchNo);
}
- for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++)
+ for (i = 0; i < NUM_INFOCARD_SPRITES / 2; i++)
{
if (i < 2)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollLeft;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollLeft;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollLeft;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
+ for (i = NUM_INFOCARD_SPRITES / 2; i < NUM_INFOCARD_SPRITES; i++)
{
if (i < 10)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollLeft;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollLeft;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollLeft;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- gTasks[taskId].data[0] = 6;
+ gTasks[taskId].tState = STATE_MOVE_LEFT;
gTasks[taskId].data[5] = 0;
break;
- case 7:
- if (gTasks[taskId].data[2])
+ case MATCHCARD_INPUT_LEFT:
+ if (gTasks[taskId].tUsingAlternateSlot)
{
gBattle_BG0_X = 0;
gBattle_BG0_Y = 0;
@@ -4182,75 +4000,75 @@ static void sub_8190CD4(u8 taskId)
gBattle_BG1_Y = 0;
}
- if (sBattleDomeStruct->unk_10 == 0)
+ if (sInfoCard->pos == 0)
{
gBattle_BG2_X = 256;
gBattle_BG2_Y = 160;
- trainerTournamentId = sBattleDomeStruct->unk_11[0];
- DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 8, trainerTournamentId);
+ trainerTourneyId = sInfoCard->tournamentIds[0];
+ DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_LEFT, trainerTourneyId);
}
else
{
gBattle_BG2_X = 0;
gBattle_BG2_Y = 160;
matchNo = gTasks[taskId2].data[1] - 16;
- DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 8, matchNo);
+ DisplayMatchInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_LEFT, matchNo);
}
- for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++)
+ for (i = 0; i < NUM_INFOCARD_SPRITES / 2; i++)
{
if (i < 2)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollLeft;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollLeft;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollLeft;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
+ for (i = NUM_INFOCARD_SPRITES / 2; i < NUM_INFOCARD_SPRITES; i++)
{
if (i < 10)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollLeft;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollLeft;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollLeft;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollLeft;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- gTasks[taskId].data[0] = 6;
+ gTasks[taskId].tState = STATE_MOVE_LEFT;
gTasks[taskId].data[5] = 0;
break;
- case 4:
- if (gTasks[taskId].data[2])
+ case TRAINERCARD_INPUT_RIGHT:
+ if (gTasks[taskId].tUsingAlternateSlot)
{
gBattle_BG0_X = 0;
gBattle_BG0_Y = 0;
@@ -4265,7 +4083,7 @@ static void sub_8190CD4(u8 taskId)
gBattle_BG1_Y = 0;
}
- if (sBattleDomeStruct->unk_10 == 1)
+ if (sInfoCard->pos == 1)
{
gBattle_BG2_X = 0;
gBattle_BG2_Y = 160;
@@ -4275,63 +4093,63 @@ static void sub_8190CD4(u8 taskId)
gBattle_BG2_X = 0;
gBattle_BG2_Y = 0;
}
- matchNo = gUnknown_0860D15C[gTasks[taskId2].data[1]][sBattleDomeStruct->unk_10 - 1];
- DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 2, matchNo);
+ matchNo = sIdToMatchNumber[gTasks[taskId2].data[1]][sInfoCard->pos - 1];
+ DisplayMatchInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_RIGHT, matchNo);
- for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++)
+ for (i = 0; i < NUM_INFOCARD_SPRITES / 2; i++)
{
if (i < 2)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollRight;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollRight;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollRight;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
+ for (i = NUM_INFOCARD_SPRITES / 2; i < NUM_INFOCARD_SPRITES; i++)
{
if (i < 10)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollRight;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollRight;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollRight;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- gTasks[taskId].data[0] = 7;
+ gTasks[taskId].tState = STATE_MOVE_RIGHT;
gTasks[taskId].data[5] = 0;
break;
- case 8:
- if (gTasks[taskId].data[2])
+ case MATCHCARD_INPUT_RIGHT:
+ if (gTasks[taskId].tUsingAlternateSlot)
{
gBattle_BG0_X = 0;
gBattle_BG0_Y = 0;
@@ -4346,76 +4164,76 @@ static void sub_8190CD4(u8 taskId)
gBattle_BG1_Y = 0;
}
- if (sBattleDomeStruct->unk_10 == 2)
+ if (sInfoCard->pos == 2)
{
gBattle_BG2_X = 256;
gBattle_BG2_Y = 160;
- trainerTournamentId = sBattleDomeStruct->unk_11[1];
- DisplayTrainerInfoOnCard(gTasks[taskId].data[2] | 2, trainerTournamentId);
+ trainerTourneyId = sInfoCard->tournamentIds[1];
+ DisplayTrainerInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_RIGHT, trainerTourneyId);
}
else
{
gBattle_BG2_X = 0;
gBattle_BG2_Y = 160;
matchNo = gTasks[taskId2].data[1] - 16;
- DisplayMatchInfoOnCard(gTasks[taskId].data[2] | 2, matchNo);
+ DisplayMatchInfoOnCard(gTasks[taskId].tUsingAlternateSlot | MOVE_CARD_RIGHT, matchNo);
}
- for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++)
+ for (i = 0; i < NUM_INFOCARD_SPRITES / 2; i++)
{
if (i < 2)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollRight;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollRight;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2] ^ 1;
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollRight;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot ^ 1;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
+ for (i = NUM_INFOCARD_SPRITES / 2; i < NUM_INFOCARD_SPRITES; i++)
{
if (i < 10)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_TrainerIconCardScrollRight;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
- gSprites[sBattleDomeStruct->arr[i]].data[3] = sBattleDomeStruct->arr[i];
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_TrainerIconCardScrollRight;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].data[3] = sInfoCard->spriteIds[i];
}
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
+ if (sInfoCard->spriteIds[i] != 0xFF)
{
- gSprites[sBattleDomeStruct->arr[i]].callback = SpriteCb_MonIconCardScrollRight;
- gSprites[sBattleDomeStruct->arr[i]].data[0] = gTasks[taskId].data[2];
- gSprites[sBattleDomeStruct->arr[i]].data[1] = 0;
- gSprites[sBattleDomeStruct->arr[i]].data[2] = i;
+ gSprites[sInfoCard->spriteIds[i]].callback = SpriteCb_MonIconCardScrollRight;
+ gSprites[sInfoCard->spriteIds[i]].data[0] = gTasks[taskId].tUsingAlternateSlot;
+ gSprites[sInfoCard->spriteIds[i]].data[1] = 0;
+ gSprites[sInfoCard->spriteIds[i]].data[2] = i;
}
}
}
- gTasks[taskId].data[0] = 7;
+ gTasks[taskId].tState = STATE_MOVE_RIGHT;
gTasks[taskId].data[5] = 0;
break;
}
break;
- case 4:
+ case STATE_MOVE_UP:
if (++gTasks[taskId].data[5] != 41)
{
gBattle_BG0_Y -= 4;
@@ -4424,10 +4242,10 @@ static void sub_8190CD4(u8 taskId)
}
else
{
- gTasks[taskId].data[0] = 2;
+ gTasks[taskId].tState = STATE_GET_INPUT;
}
break;
- case 5:
+ case STATE_MOVE_DOWN:
if (++gTasks[taskId].data[5] != 41)
{
gBattle_BG0_Y += 4;
@@ -4436,10 +4254,10 @@ static void sub_8190CD4(u8 taskId)
}
else
{
- gTasks[taskId].data[0] = 2;
+ gTasks[taskId].tState = STATE_GET_INPUT;
}
break;
- case 6:
+ case STATE_MOVE_LEFT:
if (++gTasks[taskId].data[5] != 65)
{
gBattle_BG0_X -= 4;
@@ -4448,10 +4266,10 @@ static void sub_8190CD4(u8 taskId)
}
else
{
- gTasks[taskId].data[0] = 2;
+ gTasks[taskId].tState = STATE_GET_INPUT;
}
break;
- case 7:
+ case STATE_MOVE_RIGHT:
if (++gTasks[taskId].data[5] != 65)
{
gBattle_BG0_X += 4;
@@ -4460,43 +4278,44 @@ static void sub_8190CD4(u8 taskId)
}
else
{
- gTasks[taskId].data[0] = 2;
+ gTasks[taskId].tState = STATE_GET_INPUT;
}
break;
- case 8:
+ case STATE_CLOSE_CARD:
if (!gPaletteFade.active)
{
- for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT / 2; i++)
+ for (i = 0; i < NUM_INFOCARD_SPRITES / 2; i++)
{
if (i < 2)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
- FreeAndDestroyTrainerPicSprite(sBattleDomeStruct->arr[i]);
+ if (sInfoCard->spriteIds[i] != 0xFF)
+ FreeAndDestroyTrainerPicSprite(sInfoCard->spriteIds[i]);
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
- sub_80D2EF8(&gSprites[sBattleDomeStruct->arr[i]]);
+ if (sInfoCard->spriteIds[i] != 0xFF)
+ FreeAndDestroyMonIconSprite(&gSprites[sInfoCard->spriteIds[i]]);
}
}
- for (i = DOME_TOURNAMENT_TRAINERS_COUNT / 2; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
+ for (i = NUM_INFOCARD_SPRITES / 2; i < NUM_INFOCARD_SPRITES; i++)
{
if (i < 10)
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
- FreeAndDestroyTrainerPicSprite(sBattleDomeStruct->arr[i]);
+ if (sInfoCard->spriteIds[i] != 0xFF)
+ FreeAndDestroyTrainerPicSprite(sInfoCard->spriteIds[i]);
}
else
{
- if (sBattleDomeStruct->arr[i] != 0xFF)
- sub_80D2EF8(&gSprites[sBattleDomeStruct->arr[i]]);
+ if (sInfoCard->spriteIds[i] != 0xFF)
+ FreeAndDestroyMonIconSprite(&gSprites[sInfoCard->spriteIds[i]]);
}
}
FreeMonIconPalettes();
- FREE_AND_SET_NULL(sBattleDomeStruct);
+ FREE_AND_SET_NULL(sInfoCard);
FreeAllWindowBuffers();
- if (r9 == 0)
+
+ if (mode == INFOCARD_NEXT_OPPONENT)
{
SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
}
@@ -4504,10 +4323,10 @@ static void sub_8190CD4(u8 taskId)
{
i = CreateTask(Task_ShowTourneyTree, 0);
gTasks[i].data[0] = 0;
- gTasks[i].data[1] = 0;
+ gTasks[i].tNotInteractive = FALSE;
gTasks[i].data[2] = 3;
gTasks[i].data[3] = gTasks[taskId].data[4];
- gTasks[i].data[4] = gTasks[taskId2].data[6];
+ gTasks[i].tIsPrevTourneyTree = gTasks[taskId2].data[6];
}
DestroyTask(taskId);
}
@@ -4515,116 +4334,142 @@ static void sub_8190CD4(u8 taskId)
}
}
-static u8 sub_819221C(u8 taskId)
+// undefine task states for Task_HandleInfoCardInput
+#undef STATE_FADE_IN
+#undef STATE_WAIT_FADE
+#undef STATE_GET_INPUT
+#undef STATE_REACT_INPUT
+#undef STATE_MOVE_UP
+#undef STATE_MOVE_DOWN
+#undef STATE_MOVE_LEFT
+#undef STATE_MOVE_RIGHT
+#undef STATE_CLOSE_CARD
+
+static u8 Task_GetInfoCardInput(u8 taskId)
{
- u8 retVal = 0;
+ u8 input = INFOCARD_INPUT_NONE;
int taskId2 = gTasks[taskId].data[4];
- int r5 = gTasks[taskId2].data[1];
- u8 r10 = sTourneyTreeTrainerIds[r5];
+ int position = gTasks[taskId2].data[1];
+ u8 tourneyId = sTourneyTreeTrainerIds[position];
u16 roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
if (gMain.newKeys & (A_BUTTON | B_BUTTON))
- retVal = 9;
+ input = INFOCARD_INPUT_AB;
- if (gTasks[taskId].data[3] == 0)
- return retVal;
+ // Next opponent card cant scroll
+ if (gTasks[taskId].data[3] == INFOCARD_NEXT_OPPONENT)
+ return input;
- if (gTasks[taskId].data[3] == 1)
+ if (gTasks[taskId].data[3] == INFOCARD_TRAINER)
{
- if (gMain.newKeys & DPAD_UP && sBattleDomeStruct->unk_10 == 0)
+ // For trainer info cards, pos is 0 when on a trainer info card (not viewing that trainer's match progression)
+ // Scrolling up/down from a trainer info card goes to other trainer info cards
+ if (gMain.newKeys & DPAD_UP && sInfoCard->pos == 0)
{
- if (r5 == 0)
- r5 = DOME_TOURNAMENT_TRAINERS_COUNT - 1;
+ if (position == 0)
+ position = DOME_TOURNAMENT_TRAINERS_COUNT - 1;
else
- r5--;
- retVal = 1;
+ position--;
+ input = TRAINERCARD_INPUT_UP;
}
- else if (gMain.newKeys & DPAD_DOWN && sBattleDomeStruct->unk_10 == 0)
+ else if (gMain.newKeys & DPAD_DOWN && sInfoCard->pos == 0)
{
- if (r5 == DOME_TOURNAMENT_TRAINERS_COUNT - 1)
- r5 = 0;
+ if (position == DOME_TOURNAMENT_TRAINERS_COUNT - 1)
+ position = 0;
else
- r5++;
- retVal = 2;
+ position++;
+ input = TRAINERCARD_INPUT_DOWN;
}
- else if (gMain.newKeys & DPAD_LEFT && sBattleDomeStruct->unk_10 != 0)
+ // Scrolling left can only be done after scrolling right
+ else if (gMain.newKeys & DPAD_LEFT && sInfoCard->pos != 0)
{
- sBattleDomeStruct->unk_10--;
- retVal = 3;
+ sInfoCard->pos--;
+ input = TRAINERCARD_INPUT_LEFT;
}
+ // Scrolling right from a trainer info card shows their match progression
else if (gMain.newKeys & DPAD_RIGHT)
{
- if (DOME_TRAINERS[r10].isEliminated && sBattleDomeStruct->unk_10 - 1 < DOME_TRAINERS[r10].eliminatedAt)
+ // Can only scroll right from a trainer card until the round they were eliminated
+ if (DOME_TRAINERS[tourneyId].isEliminated && sInfoCard->pos - 1 < DOME_TRAINERS[tourneyId].eliminatedAt)
{
- sBattleDomeStruct->unk_10++;
- retVal = 4;
+ sInfoCard->pos++;
+ input = TRAINERCARD_INPUT_RIGHT;
}
- if (!DOME_TRAINERS[r10].isEliminated && sBattleDomeStruct->unk_10 - 1 < roundId)
+ // otherwise can scroll as far right as the current round allows
+ if (!DOME_TRAINERS[tourneyId].isEliminated && sInfoCard->pos - 1 < roundId)
{
- sBattleDomeStruct->unk_10++;
- retVal = 4;
+ sInfoCard->pos++;
+ input = TRAINERCARD_INPUT_RIGHT;
}
}
- if (retVal == 9)
+ if (input == INFOCARD_INPUT_AB)
{
- if (sBattleDomeStruct->unk_10 != 0)
- gTasks[taskId2].data[1] = gUnknown_0860D1A0[r5 / 2][sBattleDomeStruct->unk_10 - 1];
+ if (sInfoCard->pos != 0)
+ gTasks[taskId2].data[1] = gUnknown_0860D1A0[position / 2][sInfoCard->pos - 1];
else
- gTasks[taskId2].data[1] = r5;
+ gTasks[taskId2].data[1] = position;
}
}
- else
+ else // gTasks[taskId].data[3] == INFOCARD_MATCH
{
- if (gMain.newKeys & DPAD_UP && sBattleDomeStruct->unk_10 == 1)
+ // For match info cards, pos is 1 when on the match card, 0 when on the left trainer, and 1 when on the right trainer
+ // Scrolling up/down from a match info card goes to the next/previous match
+ if (gMain.newKeys & DPAD_UP && sInfoCard->pos == 1)
{
- if (r5 == DOME_TOURNAMENT_TRAINERS_COUNT)
- r5 = gUnknown_0860D19C[roundId];
+ if (position == DOME_TOURNAMENT_TRAINERS_COUNT)
+ position = sLastMatchCardNum[roundId];
else
- r5--;
- retVal = 5;
+ position--;
+ input = MATCHCARD_INPUT_UP;
}
- else if (gMain.newKeys & DPAD_DOWN && sBattleDomeStruct->unk_10 == 1)
+ else if (gMain.newKeys & DPAD_DOWN && sInfoCard->pos == 1)
{
- if (r5 == gUnknown_0860D19C[roundId])
- r5 = DOME_TOURNAMENT_TRAINERS_COUNT;
+ if (position == sLastMatchCardNum[roundId])
+ position = DOME_TOURNAMENT_TRAINERS_COUNT;
else
- r5++;
- retVal = 6;
+ position++;
+ input = MATCHCARD_INPUT_DOWN;
}
- else if (gMain.newKeys & DPAD_LEFT && sBattleDomeStruct->unk_10 != 0)
+ // Scrolling left/right from a match info card shows the trainer info card of the competitors for that match
+ else if (gMain.newKeys & DPAD_LEFT && sInfoCard->pos != 0)
{
- retVal = 7;
- sBattleDomeStruct->unk_10--;
+ input = MATCHCARD_INPUT_LEFT;
+ sInfoCard->pos--;
}
- else if (gMain.newKeys & DPAD_RIGHT && (sBattleDomeStruct->unk_10 == 0 || sBattleDomeStruct->unk_10 == 1))
+ else if (gMain.newKeys & DPAD_RIGHT && (sInfoCard->pos == 0 || sInfoCard->pos == 1))
{
- retVal = 8;
- sBattleDomeStruct->unk_10++;
+ input = MATCHCARD_INPUT_RIGHT;
+ sInfoCard->pos++;
}
- if (retVal == 9)
+ if (input == INFOCARD_INPUT_AB)
{
- if (sBattleDomeStruct->unk_10 == 0)
- gTasks[taskId2].data[1] = gUnknown_0860D1C0[sBattleDomeStruct->unk_11[0]];
- else if (sBattleDomeStruct->unk_10 == 2)
- gTasks[taskId2].data[1] = gUnknown_0860D1C0[sBattleDomeStruct->unk_11[1]];
- else
- gTasks[taskId2].data[1] = r5;
+ if (sInfoCard->pos == 0) // On left trainer info card
+ gTasks[taskId2].data[1] = gUnknown_0860D1C0[sInfoCard->tournamentIds[0]];
+ else if (sInfoCard->pos == 2) // On right trainer info card
+ gTasks[taskId2].data[1] = gUnknown_0860D1C0[sInfoCard->tournamentIds[1]];
+ else // On match info card
+ gTasks[taskId2].data[1] = position;
}
}
- if (retVal != 0 && retVal != 9)
+ if (input != INFOCARD_INPUT_NONE && input != INFOCARD_INPUT_AB)
{
PlaySE(SE_SELECT);
- gTasks[taskId2].data[1] = r5;
- gTasks[taskId].data[2] ^= 1;
+ gTasks[taskId2].data[1] = position;
+ gTasks[taskId].tUsingAlternateSlot ^= 1;
}
- return retVal;
+ return input;
}
-static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
+#undef tUsingAlternateSlot
+
+// allocatedArray below needs to be large enough to hold stat totals for each mon, or totals of each type of move points
+#define ALLOC_ARRAY_SIZE (NUM_STATS * FRONTIER_PARTY_SIZE >= NUM_MOVE_POINT_TYPES ? (NUM_STATS * FRONTIER_PARTY_SIZE) : NUM_MOVE_POINT_TYPES)
+
+static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTourneyId)
{
struct TextPrinterTemplate textPrinter;
int i, j, k;
@@ -4634,64 +4479,64 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
int windowId = 0;
int x = 0, y = 0;
u8 palSlot = 0;
- s16 *allocatedArray = AllocZeroed(sizeof(s16) * 18);
- trainerId = DOME_TRAINERS[trainerTournamentId].trainerId;
+ s16 *allocatedArray = AllocZeroed(sizeof(s16) * ALLOC_ARRAY_SIZE);
+ trainerId = DOME_TRAINERS[trainerTourneyId].trainerId;
- if (flags & 1)
- arrId = 8, windowId = 9, palSlot = 2;
- if (flags & 2)
+ if (flags & CARD_ALTERNATE_SLOT)
+ arrId = 2 * (FRONTIER_PARTY_SIZE + 1), windowId = 9, palSlot = 2;
+ if (flags & MOVE_CARD_RIGHT)
x = 256;
- if (flags & 4)
+ if (flags & MOVE_CARD_DOWN)
y = 160;
- if (flags & 8)
+ if (flags & MOVE_CARD_LEFT)
x = -256;
- if (flags & 0x10)
+ if (flags & MOVE_CARD_UP)
y = -160;
// Create trainer pic sprite
if (trainerId == TRAINER_PLAYER)
- sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF);
+ sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF);
else if (trainerId == TRAINER_FRONTIER_BRAIN)
- sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF);
+ sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF);
else
- sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerId), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF);
+ sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerId), TRUE, x + 48, y + 64, palSlot + 12, 0xFFFF);
- if (flags & 0x1E)
- gSprites[sBattleDomeStruct->arr[arrId]].invisible = TRUE;
+ if (flags & MOVE_CARD)
+ gSprites[sInfoCard->spriteIds[arrId]].invisible = TRUE;
// Create party mon icons
for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
if (trainerId == TRAINER_PLAYER)
{
- sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(DOME_MONS[trainerTournamentId][i],
+ sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(DOME_MONS[trainerTourneyId][i],
SpriteCb_MonIcon,
x | sInfoTrainerMonX[i],
y + sInfoTrainerMonY[i],
0, 0, TRUE);
- gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0;
+ gSprites[sInfoCard->spriteIds[2 + i + arrId]].oam.priority = 0;
}
else if (trainerId == TRAINER_FRONTIER_BRAIN)
{
- sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(DOME_MONS[trainerTournamentId][i],
+ sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(DOME_MONS[trainerTourneyId][i],
SpriteCb_MonIcon,
x | sInfoTrainerMonX[i],
y + sInfoTrainerMonY[i],
0, 0, TRUE);
- gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0;
+ gSprites[sInfoCard->spriteIds[2 + i + arrId]].oam.priority = 0;
}
else
{
- sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[DOME_MONS[trainerTournamentId][i]].species,
+ sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].species,
SpriteCb_MonIcon,
x | sInfoTrainerMonX[i],
y + sInfoTrainerMonY[i],
0, 0, TRUE);
- gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0;
+ gSprites[sInfoCard->spriteIds[2 + i + arrId]].oam.priority = 0;
}
- if (flags & 0x1E)
- gSprites[sBattleDomeStruct->arr[2 + i + arrId]].invisible = TRUE;
+ if (flags & MOVE_CARD)
+ gSprites[sInfoCard->spriteIds[2 + i + arrId]].invisible = TRUE;
}
// Initialize the text printer
@@ -4750,11 +4595,11 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
{
textPrinter.currentY = sSpeciesNameTextYCoords[i];
if (trainerId == TRAINER_PLAYER)
- textPrinter.currentChar = gSpeciesNames[DOME_MONS[trainerTournamentId][i]];
+ textPrinter.currentChar = gSpeciesNames[DOME_MONS[trainerTourneyId][i]];
else if (trainerId == TRAINER_FRONTIER_BRAIN)
- textPrinter.currentChar = gSpeciesNames[DOME_MONS[trainerTournamentId][i]];
+ textPrinter.currentChar = gSpeciesNames[DOME_MONS[trainerTourneyId][i]];
else
- textPrinter.currentChar = gSpeciesNames[gFacilityTrainerMons[DOME_MONS[trainerTournamentId][i]].species];
+ textPrinter.currentChar = gSpeciesNames[gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].species];
textPrinter.windowId = 1 + i + windowId;
if (i == 1)
@@ -4774,7 +4619,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
if (trainerId == TRAINER_FRONTIER_BRAIN)
textPrinter.currentChar = sBattleDomePotentialTexts[DOME_TOURNAMENT_TRAINERS_COUNT];
else
- textPrinter.currentChar = sBattleDomePotentialTexts[trainerTournamentId];
+ textPrinter.currentChar = sBattleDomePotentialTexts[trainerTourneyId];
textPrinter.fontId = 1;
textPrinter.windowId = windowId + 4;
@@ -4788,14 +4633,14 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
{
for (j = 0; j < MAX_MON_MOVES; j++)
{
- for (k = 0; k < NUM_MOVE_QUALITIES; k++)
+ for (k = 0; k < NUM_MOVE_POINT_TYPES; k++)
{
if (trainerId == TRAINER_FRONTIER_BRAIN)
- allocatedArray[k] += sBattleStyleMoveQualities[GetFrontierBrainMonMove(i, j)][k];
+ allocatedArray[k] += sBattleStyleMovePoints[GetFrontierBrainMonMove(i, j)][k];
else if (trainerId == TRAINER_PLAYER)
- allocatedArray[k] += sBattleStyleMoveQualities[gSaveBlock2Ptr->frontier.domePlayerPartyData[i].moves[j]][k];
+ allocatedArray[k] += sBattleStyleMovePoints[gSaveBlock2Ptr->frontier.domePlayerPartyData[i].moves[j]][k];
else
- allocatedArray[k] += sBattleStyleMoveQualities[gFacilityTrainerMons[DOME_MONS[trainerTournamentId][i]].moves[j]][k];
+ allocatedArray[k] += sBattleStyleMovePoints[gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].moves[j]][k];
}
}
}
@@ -4807,7 +4652,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
{
int thresholdStatCount = 0;
- for (k = 0, j = 0; j < NUM_MOVE_QUALITIES; j++)
+ for (k = 0, j = 0; j < NUM_MOVE_POINT_TYPES; j++)
{
if (sBattleStyleThresholds[i][j] != 0)
{
@@ -4826,7 +4671,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
textPrinter.currentY = 20;
AddTextPrinter(&textPrinter, 0, NULL);
- for (i = 0; i < 18; i++)
+ for (i = 0; i < ALLOC_ARRAY_SIZE; i++)
allocatedArray[i] = 0;
// Calculate EV/nature points for the stat portion of battle style
@@ -4834,6 +4679,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
{
for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
+ // Add the EVs for this mon
for (j = 0; j < NUM_STATS; j++)
{
if (trainerId == TRAINER_FRONTIER_BRAIN)
@@ -4841,8 +4687,12 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
else
allocatedArray[j] = gSaveBlock2Ptr->frontier.domePlayerPartyData[i].evs[j];
}
- allocatedArray[NUM_STATS] += allocatedArray[0];
- for (j = 0; j < 5; j++)
+
+ // HP doesnt have a nature modifier, so just add it here
+ allocatedArray[NUM_STATS] += allocatedArray[STAT_HP];
+
+ // Add the EVs with the nature modifier for this mon and and track number of negative natures
+ for (j = 0; j < NUM_EV_STATS; j++)
{
if (trainerId == TRAINER_FRONTIER_BRAIN)
nature = GetFrontierBrainMonNature(i);
@@ -4851,16 +4701,16 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
if (gNatureStatTable[nature][j] > 0)
{
- allocatedArray[j + 7] += (allocatedArray[j + 1] * 110) / 100;
+ allocatedArray[j + NUM_STATS + 1] += (allocatedArray[j + 1] * 110) / 100;
}
else if (gNatureStatTable[nature][j] < 0)
{
- allocatedArray[j + 7] += (allocatedArray[j + 1] * 90) / 100;
- allocatedArray[j + 13]++;
+ allocatedArray[j + NUM_STATS + 1] += (allocatedArray[j + 1] * 90) / 100;
+ allocatedArray[j + NUM_STATS + NUM_EV_STATS + 2]++;
}
else
{
- allocatedArray[j + 7] += allocatedArray[j + 1];
+ allocatedArray[j + NUM_STATS + 1] += allocatedArray[j + 1];
}
}
}
@@ -4869,11 +4719,12 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
for (i = 0; i < NUM_STATS; i++)
allocatedArray[i] = (allocatedArray[NUM_STATS + i] * 100) / j;
}
+ // Same as above but for regular trainers instead of the frontier brain or player
else
{
for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
- int evBits = gFacilityTrainerMons[DOME_MONS[trainerTournamentId][i]].evSpread;
+ int evBits = gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].evSpread;
for (k = 0, j = 0; j < NUM_STATS; j++)
{
allocatedArray[j] = 0;
@@ -4882,7 +4733,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
evBits >>= 1;
}
k = MAX_TOTAL_EVS / k;
- evBits = gFacilityTrainerMons[DOME_MONS[trainerTournamentId][i]].evSpread;
+ evBits = gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].evSpread;
for (j = 0; j < NUM_STATS; j++)
{
if (evBits & 1)
@@ -4890,22 +4741,22 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
evBits >>= 1;
}
- allocatedArray[NUM_STATS] += allocatedArray[0];
- for (j = 0; j < 5; j++)
+ allocatedArray[NUM_STATS] += allocatedArray[STAT_HP];
+ for (j = 0; j < NUM_EV_STATS; j++)
{
- nature = gFacilityTrainerMons[DOME_MONS[trainerTournamentId][i]].nature;
+ nature = gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].nature;
if (gNatureStatTable[nature][j] > 0)
{
- allocatedArray[j + 7] += (allocatedArray[j + 1] * 110) / 100;
+ allocatedArray[j + NUM_STATS + 1] += (allocatedArray[j + 1] * 110) / 100;
}
else if (gNatureStatTable[nature][j] < 0)
{
- allocatedArray[j + 7] += (allocatedArray[j + 1] * 90) / 100;
- allocatedArray[j + 13]++;
+ allocatedArray[j + NUM_STATS + 1] += (allocatedArray[j + 1] * 90) / 100;
+ allocatedArray[j + NUM_STATS + NUM_EV_STATS + 2]++;
}
else
{
- allocatedArray[j + 7] += allocatedArray[j + 1];
+ allocatedArray[j + NUM_STATS + 1] += allocatedArray[j + 1];
}
}
}
@@ -4915,12 +4766,17 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
allocatedArray[i] = (allocatedArray[NUM_STATS + i] * 100) / j;
}
- for (i = 0, j = 0, k = 0; k < 6; k++)
+ // Count the number of good/bad stats for the party
+ // i is the number of good stats, j is the number of bad stats
+ for (i = 0, j = 0, k = 0; k < NUM_STATS; k++)
{
+ // Any stat above 29 EVs is considered good
if (allocatedArray[k] > 29)
{
+ // If 2 good stats have been found already, choose which to use
if (i == 2)
{
+
if (allocatedArray[6] < allocatedArray[k])
{
if (allocatedArray[7] < allocatedArray[k])
@@ -4953,8 +4809,11 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
i++;
}
}
+
+ // Any stat with 0 EVs is considered bad
if (allocatedArray[k] == 0)
{
+ // If 2 bad stats have been found already, choose which to use
if (j == 2)
{
if (allocatedArray[k + 12] >= 2
@@ -4983,17 +4842,19 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
}
}
+ // Get the string ID to display which stats are good/bad
if (i == 2)
- i = gUnknown_0860D349[allocatedArray[6]] + (allocatedArray[7] - (allocatedArray[6] + 1));
+ i = sStatTextOffsets[allocatedArray[6]] + (allocatedArray[7] - (allocatedArray[6] + 1)) + DOME_TEXT_TWO_GOOD_STATS;
else if (i == 1)
- i = allocatedArray[6] + 15;
+ i = allocatedArray[6] + DOME_TEXT_ONE_GOOD_STAT;
else if (j == 2)
- i = gUnknown_0860D349[allocatedArray[8]] + (allocatedArray[9] - (allocatedArray[8] + 1)) + 21;
+ i = sStatTextOffsets[allocatedArray[8]] + (allocatedArray[9] - (allocatedArray[8] + 1)) + DOME_TEXT_TWO_BAD_STATS;
else if (j == 1)
- i = allocatedArray[8] + 36;
+ i = allocatedArray[8] + DOME_TEXT_ONE_BAD_STAT;
else
- i = DOME_STATTEXT_WELL_BALANCED;
+ i = DOME_TEXT_WELL_BALANCED;
+ // Print the stat text
textPrinter.currentChar = sBattleDomeOpponentStatsTexts[i];
textPrinter.y = 36;
textPrinter.currentY = 36;
@@ -5001,20 +4862,20 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
Free(allocatedArray);
}
-// TODO:
-static int BufferDomeWinString(u8 matchNum, u8 *arg1)
+static int BufferDomeWinString(u8 matchNum, u8 *tournamentIds)
{
int i;
u8 tournamentId;
int winStringId = 0;
int count = 0;
- for (i = gUnknown_0860D3C4[matchNum][0]; i < gUnknown_0860D3C4[matchNum][0] + gUnknown_0860D3C4[matchNum][1]; i++)
+ // Get winners name
+ for (i = sCompetitorRangeByMatch[matchNum][0]; i < sCompetitorRangeByMatch[matchNum][0] + sCompetitorRangeByMatch[matchNum][1]; i++)
{
- tournamentId = gUnknown_0860D3B4[i];
+ tournamentId = sTourneyTreeTrainerIds2[i];
if (!DOME_TRAINERS[tournamentId].isEliminated)
{
- arg1[count] = tournamentId;
+ tournamentIds[count] = tournamentId;
if (DOME_TRAINERS[tournamentId].trainerId == TRAINER_PLAYER)
StringCopy(gStringVar1, gSaveBlock2Ptr->playerName);
else if (DOME_TRAINERS[tournamentId].trainerId == TRAINER_FRONTIER_BRAIN)
@@ -5027,23 +4888,26 @@ static int BufferDomeWinString(u8 matchNum, u8 *arg1)
// Neither trainer has been eliminated, battle hasn't occurred yet
if (count == 2)
- return 0;
+ return DOME_TEXT_NO_WINNER_YET;
- for (i = gUnknown_0860D3C4[matchNum][0]; i < gUnknown_0860D3C4[matchNum][0] + gUnknown_0860D3C4[matchNum][1]; i++)
+ for (i = sCompetitorRangeByMatch[matchNum][0]; i < sCompetitorRangeByMatch[matchNum][0] + sCompetitorRangeByMatch[matchNum][1]; i++)
{
- tournamentId = gUnknown_0860D3B4[i];
+ tournamentId = sTourneyTreeTrainerIds2[i];
+
if (DOME_TRAINERS[tournamentId].isEliminated
- && DOME_TRAINERS[tournamentId].eliminatedAt >= gUnknown_0860D3C4[matchNum][2])
+ && DOME_TRAINERS[tournamentId].eliminatedAt >= sCompetitorRangeByMatch[matchNum][2])
{
- arg1[count] = tournamentId;
+ tournamentIds[count] = tournamentId;
count++;
- if (DOME_TRAINERS[tournamentId].eliminatedAt == gUnknown_0860D3C4[matchNum][2])
+
+ if (DOME_TRAINERS[tournamentId].eliminatedAt == sCompetitorRangeByMatch[matchNum][2])
{
+ // Set initial winStringId offset
StringCopy(gStringVar2, gMoveNames[gSaveBlock2Ptr->frontier.domeWinningMoves[tournamentId]]);
- winStringId = DOME_TRAINERS[tournamentId].forfeited * 2;
+ winStringId = DOME_TRAINERS[tournamentId].forfeited * 2; // (DOME_TEXT_WON_USING_MOVE - 1) or (DOME_TEXT_WON_ON_FORFEIT - 1)
if (gSaveBlock2Ptr->frontier.domeWinningMoves[tournamentId] == MOVE_NONE && DOME_TRAINERS[tournamentId].forfeited == FALSE)
- winStringId = 4;
+ winStringId = DOME_TEXT_WON_NO_MOVES - 1;
}
else
{
@@ -5060,10 +4924,10 @@ static int BufferDomeWinString(u8 matchNum, u8 *arg1)
break;
}
- if (matchNum == 14)
- return winStringId + 2;
+ if (matchNum == DOME_TOURNAMENT_MATCHES_COUNT - 1)
+ return winStringId + 2; // use DOME_TEXT_CHAMP_*
else
- return winStringId + 1;
+ return winStringId + 1; // use DOME_TEXT_WON_*
}
static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
@@ -5079,137 +4943,137 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
int x = 0, y = 0;
u8 palSlot = 0;
- if (flags & 1)
- arrId = 8, windowId = 9, palSlot = 2;
- if (flags & 2)
+ if (flags & CARD_ALTERNATE_SLOT)
+ arrId = 2 * (FRONTIER_PARTY_SIZE + 1), windowId = 9, palSlot = 2;
+ if (flags & MOVE_CARD_RIGHT)
x = 256;
- if (flags & 4)
+ if (flags & MOVE_CARD_DOWN)
y = 160;
- if (flags & 8)
+ if (flags & MOVE_CARD_LEFT)
x = -256;
- if (flags & 0x10)
+ if (flags & MOVE_CARD_UP)
y = -160;
// Copy trainers information to handy arrays.
- winStringId = BufferDomeWinString(matchNo, sBattleDomeStruct->unk_11);
- for (i = 0; i < 2; i++)
+ winStringId = BufferDomeWinString(matchNo, sInfoCard->tournamentIds);
+ for (i = 0; i < NUM_INFOCARD_TRAINERS; i++)
{
- tournamentIds[i] = sBattleDomeStruct->unk_11[i];
+ tournamentIds[i] = sInfoCard->tournamentIds[i];
trainerIds[i] = DOME_TRAINERS[tournamentIds[i]].trainerId;
- if (DOME_TRAINERS[tournamentIds[i]].eliminatedAt <= gUnknown_0860D3C4[matchNo][2]
+ if (DOME_TRAINERS[tournamentIds[i]].eliminatedAt <= sCompetitorRangeByMatch[matchNo][2]
&& DOME_TRAINERS[tournamentIds[i]].isEliminated)
lost[i] = TRUE;
else
lost[i] = FALSE;
}
- // Draw first trainer sprite.
+ // Draw left trainer sprite.
if (trainerIds[0] == TRAINER_PLAYER)
- sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF);
+ sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF);
else if (trainerIds[0] == TRAINER_FRONTIER_BRAIN)
- sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF);
+ sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF);
else
- sBattleDomeStruct->arr[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[0]), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF);
+ sInfoCard->spriteIds[arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[0]), TRUE, x + 48, y + 88, palSlot + 12, 0xFFFF);
- if (flags & 0x1E)
- gSprites[sBattleDomeStruct->arr[arrId]].invisible = TRUE;
+ if (flags & MOVE_CARD)
+ gSprites[sInfoCard->spriteIds[arrId]].invisible = TRUE;
if (lost[0])
- gSprites[sBattleDomeStruct->arr[arrId]].oam.paletteNum = 3;
+ gSprites[sInfoCard->spriteIds[arrId]].oam.paletteNum = 3;
- // Draw second trainer sprite.
+ // Draw right trainer sprite.
if (trainerIds[1] == TRAINER_PLAYER)
- sBattleDomeStruct->arr[1 + arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF);
+ sInfoCard->spriteIds[1 + arrId] = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF);
else if (trainerIds[1] == TRAINER_FRONTIER_BRAIN)
- sBattleDomeStruct->arr[1 + arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF);
+ sInfoCard->spriteIds[1 + arrId] = CreateTrainerPicSprite(GetDomeBrainTrainerPicId(), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF);
else
- sBattleDomeStruct->arr[1 + arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[1]), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF);
+ sInfoCard->spriteIds[1 + arrId] = CreateTrainerPicSprite(GetFrontierTrainerFrontSpriteId(trainerIds[1]), TRUE, x + 192, y + 88, palSlot + 13, 0xFFFF);
- if (flags & 0x1E)
- gSprites[sBattleDomeStruct->arr[1 + arrId]].invisible = TRUE;
+ if (flags & MOVE_CARD)
+ gSprites[sInfoCard->spriteIds[1 + arrId]].invisible = TRUE;
if (lost[1])
- gSprites[sBattleDomeStruct->arr[1 + arrId]].oam.paletteNum = 3;
+ gSprites[sInfoCard->spriteIds[1 + arrId]].oam.paletteNum = 3;
- // Draw first trainer's pokemon icons.
+ // Draw left trainer's pokemon icons.
for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
if (trainerIds[0] == TRAINER_PLAYER)
{
- sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(DOME_MONS[tournamentIds[0]][i],
+ sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(DOME_MONS[tournamentIds[0]][i],
SpriteCb_MonIcon,
- x | sFirstTrainerMonX[i],
- y + sFirstTrainerMonY[i],
+ x | sLeftTrainerMonX[i],
+ y + sLeftTrainerMonY[i],
0, 0, TRUE);
- gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0;
+ gSprites[sInfoCard->spriteIds[2 + i + arrId]].oam.priority = 0;
}
else if (trainerIds[0] == TRAINER_FRONTIER_BRAIN)
{
- sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(DOME_MONS[tournamentIds[0]][i],
+ sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(DOME_MONS[tournamentIds[0]][i],
SpriteCb_MonIcon,
- x | sFirstTrainerMonX[i],
- y + sFirstTrainerMonY[i],
+ x | sLeftTrainerMonX[i],
+ y + sLeftTrainerMonY[i],
0, 0, TRUE);
- gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0;
+ gSprites[sInfoCard->spriteIds[2 + i + arrId]].oam.priority = 0;
}
else
{
- sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[DOME_MONS[tournamentIds[0]][i]].species,
+ sInfoCard->spriteIds[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[DOME_MONS[tournamentIds[0]][i]].species,
SpriteCb_MonIcon,
- x | sFirstTrainerMonX[i],
- y + sFirstTrainerMonY[i],
+ x | sLeftTrainerMonX[i],
+ y + sLeftTrainerMonY[i],
0, 0, TRUE);
- gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.priority = 0;
+ gSprites[sInfoCard->spriteIds[2 + i + arrId]].oam.priority = 0;
}
- if (flags & 0x1E)
- gSprites[sBattleDomeStruct->arr[2 + i + arrId]].invisible = TRUE;
+ if (flags & MOVE_CARD)
+ gSprites[sInfoCard->spriteIds[2 + i + arrId]].invisible = TRUE;
if (lost[0])
{
- gSprites[sBattleDomeStruct->arr[2 + i + arrId]].oam.paletteNum = 3;
- gSprites[sBattleDomeStruct->arr[2 + i + arrId]].sMonIconStill = TRUE;
+ gSprites[sInfoCard->spriteIds[2 + i + arrId]].oam.paletteNum = 3;
+ gSprites[sInfoCard->spriteIds[2 + i + arrId]].sMonIconStill = TRUE;
}
}
- // Draw second trainer's pokemon icons.
+ // Draw right trainer's pokemon icons.
for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
if (trainerIds[1] == TRAINER_PLAYER)
{
- sBattleDomeStruct->arr[5 + i + arrId] = CreateMonIcon(DOME_MONS[tournamentIds[1]][i],
+ sInfoCard->spriteIds[5 + i + arrId] = CreateMonIcon(DOME_MONS[tournamentIds[1]][i],
SpriteCb_MonIcon,
- x | sSecondTrainerMonX[i],
- y + sSecondTrainerMonY[i],
+ x | sRightTrainerMonX[i],
+ y + sRightTrainerMonY[i],
0, 0, TRUE);
- gSprites[sBattleDomeStruct->arr[5 + i + arrId]].oam.priority = 0;
+ gSprites[sInfoCard->spriteIds[5 + i + arrId]].oam.priority = 0;
}
else if (trainerIds[1] == TRAINER_FRONTIER_BRAIN)
{
- sBattleDomeStruct->arr[5 + i + arrId] = CreateMonIcon(DOME_MONS[tournamentIds[1]][i],
+ sInfoCard->spriteIds[5 + i + arrId] = CreateMonIcon(DOME_MONS[tournamentIds[1]][i],
SpriteCb_MonIcon,
- x | sSecondTrainerMonX[i],
- y + sSecondTrainerMonY[i],
+ x | sRightTrainerMonX[i],
+ y + sRightTrainerMonY[i],
0, 0, TRUE);
- gSprites[sBattleDomeStruct->arr[5 + i + arrId]].oam.priority = 0;
+ gSprites[sInfoCard->spriteIds[5 + i + arrId]].oam.priority = 0;
}
else
{
- sBattleDomeStruct->arr[5 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[DOME_MONS[tournamentIds[1]][i]].species,
+ sInfoCard->spriteIds[5 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[DOME_MONS[tournamentIds[1]][i]].species,
SpriteCb_MonIcon,
- x | sSecondTrainerMonX[i],
- y + sSecondTrainerMonY[i],
+ x | sRightTrainerMonX[i],
+ y + sRightTrainerMonY[i],
0, 0, TRUE);
- gSprites[sBattleDomeStruct->arr[5 + i + arrId]].oam.priority = 0;
+ gSprites[sInfoCard->spriteIds[5 + i + arrId]].oam.priority = 0;
}
- if (flags & 0x1E)
- gSprites[sBattleDomeStruct->arr[5 + i + arrId]].invisible = TRUE;
+ if (flags & MOVE_CARD)
+ gSprites[sInfoCard->spriteIds[5 + i + arrId]].invisible = TRUE;
if (lost[1])
{
- gSprites[sBattleDomeStruct->arr[5 + i + arrId]].oam.paletteNum = 3;
- gSprites[sBattleDomeStruct->arr[5 + i + arrId]].sMonIconStill = TRUE;
+ gSprites[sInfoCard->spriteIds[5 + i + arrId]].oam.paletteNum = 3;
+ gSprites[sInfoCard->spriteIds[5 + i + arrId]].sMonIconStill = TRUE;
}
}
- // Print the win string (or 'Let the battle begin!' one).
+ // Print the win string (or 'Let the battle begin!').
textPrinter.x = 0;
textPrinter.y = 2;
textPrinter.currentX = textPrinter.x;
@@ -5230,7 +5094,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
textPrinter.currentY = textPrinter.y = 0;
AddTextPrinter(&textPrinter, 0, NULL);
- // Print first trainer's name.
+ // Print left trainer's name.
if (trainerIds[0] == TRAINER_PLAYER)
StringCopy(gStringVar1, gSaveBlock2Ptr->playerName);
else if (trainerIds[0] == TRAINER_FRONTIER_BRAIN)
@@ -5248,7 +5112,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
CopyWindowToVram(windowId + 6, 3);
AddTextPrinter(&textPrinter, 0, NULL);
- // Print second trainer's name.
+ // Print right trainer's name.
if (trainerIds[1] == TRAINER_PLAYER)
StringCopy(gStringVar1, gSaveBlock2Ptr->playerName);
else if (trainerIds[1] == TRAINER_FRONTIER_BRAIN)
@@ -5278,14 +5142,15 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
static void ShowDomeTourneyTree(void)
{
u8 taskId = CreateTask(Task_ShowTourneyTree, 0);
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].data[1] = 0;
+ gTasks[taskId].tState = 0;
+ gTasks[taskId].tNotInteractive = FALSE;
gTasks[taskId].data[2] = 2;
- gTasks[taskId].data[4] = 0;
- SetMainCallback2(CB2_BattleDome);
+ gTasks[taskId].tIsPrevTourneyTree = FALSE;
+ SetMainCallback2(CB2_TourneyTree);
}
-static void ShowPreviousDomeResultsTourneyTree(void)
+// To show the results of the last tourney on the computer in the lobby
+static void ShowPreviousDomeTourneyTree(void)
{
u8 taskId;
@@ -5293,88 +5158,96 @@ static void ShowPreviousDomeResultsTourneyTree(void)
gSaveBlock2Ptr->frontier.lvlMode = gSaveBlock2Ptr->frontier.domeLvlMode - 1;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = DOME_FINAL;
taskId = CreateTask(Task_ShowTourneyTree, 0);
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].data[1] = 0;
+ gTasks[taskId].tState = 0;
+ gTasks[taskId].tNotInteractive = FALSE;
gTasks[taskId].data[2] = 2;
- gTasks[taskId].data[4] = 1;
- SetMainCallback2(CB2_BattleDome);
+ gTasks[taskId].tIsPrevTourneyTree = TRUE;
+ SetMainCallback2(CB2_TourneyTree);
}
-static void sub_819395C(u8 taskId)
+// Task states for Task_HandleTourneyTreeInput
+#define STATE_FADE_IN 0
+#define STATE_WAIT_FADE 1
+#define STATE_GET_INPUT 2
+#define STATE_SHOW_INFOCARD_TRAINER 3
+#define STATE_SHOW_INFOCARD_MATCH 5
+#define STATE_CLOSE_TOURNEY_TREE 7
+
+static void Task_HandleTourneyTreeInput(u8 taskId)
{
u8 newTaskId = 0;
int spriteId = gTasks[taskId].data[1];
- switch (gTasks[taskId].data[0])
+ switch (gTasks[taskId].tState)
{
- case 0:
+ case STATE_FADE_IN:
if (!gPaletteFade.active)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
- gTasks[taskId].data[0] = 1;
+ gTasks[taskId].tState = STATE_WAIT_FADE;
StartSpriteAnim(&gSprites[spriteId], 1);
}
break;
- case 1:
+ case STATE_WAIT_FADE:
if (!gPaletteFade.active)
- gTasks[taskId].data[0] = 2;
+ gTasks[taskId].tState = STATE_GET_INPUT;
break;
- case 2:
+ case STATE_GET_INPUT:
switch (UpdateTourneyTreeCursor(taskId))
{
- case 0:
+ case TOURNEY_TREE_SELECTED_CLOSE:
default:
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
- gTasks[taskId].data[0] = 7;
+ gTasks[taskId].tState = STATE_CLOSE_TOURNEY_TREE;
break;
- case 1:
+ case TOURNEY_TREE_NO_SELECTION:
break;
- case 2:
+ case TOURNEY_TREE_SELECTED_TRAINER:
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
- gTasks[taskId].data[0] = 3;
+ gTasks[taskId].tState = STATE_SHOW_INFOCARD_TRAINER;
break;
- case 3:
+ case TOURNEY_TREE_SELECTED_MATCH:
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
- gTasks[taskId].data[0] = 5;
+ gTasks[taskId].tState = STATE_SHOW_INFOCARD_MATCH;
break;
}
break;
- case 3:
+ case STATE_SHOW_INFOCARD_TRAINER:
if (!gPaletteFade.active)
{
FreeAllWindowBuffers();
ScanlineEffect_Stop();
FREE_AND_SET_NULL(sTilemapBuffer);
- newTaskId = CreateTask(Task_ShowOpponentInfo, 0);
- gTasks[newTaskId].data[0] = 0;
- gTasks[newTaskId].data[1] = sTourneyTreeTrainerIds[spriteId];
- gTasks[newTaskId].data[2] = 1;
- gTasks[newTaskId].data[3] = taskId;
-
- gTasks[taskId].data[0] = 4;
- sBattleDomeStruct->unk_10 = 0;
+ newTaskId = CreateTask(Task_ShowTourneyInfoCard, 0);
+ gTasks[newTaskId].tState = 0;
+ gTasks[newTaskId].tTournamentId = sTourneyTreeTrainerIds[spriteId];
+ gTasks[newTaskId].tMode = INFOCARD_TRAINER;
+ gTasks[newTaskId].tPrevTaskId = taskId;
+
+ gTasks[taskId].tState = STATE_SHOW_INFOCARD_TRAINER + 1;
+ sInfoCard->pos = 0;
}
break;
- case 4:
+ case STATE_SHOW_INFOCARD_TRAINER + 1:
break;
- case 5:
+ case STATE_SHOW_INFOCARD_MATCH:
if (!gPaletteFade.active)
{
FreeAllWindowBuffers();
ScanlineEffect_Stop();
FREE_AND_SET_NULL(sTilemapBuffer);
- newTaskId = CreateTask(Task_ShowOpponentInfo, 0);
- gTasks[newTaskId].data[0] = 0;
- gTasks[newTaskId].data[1] = spriteId - 16;
- gTasks[newTaskId].data[2] = 2;
- gTasks[newTaskId].data[3] = taskId;
+ newTaskId = CreateTask(Task_ShowTourneyInfoCard, 0);
+ gTasks[newTaskId].tState = 0;
+ gTasks[newTaskId].tTournamentId = spriteId - DOME_TOURNAMENT_TRAINERS_COUNT;
+ gTasks[newTaskId].tMode = INFOCARD_MATCH;
+ gTasks[newTaskId].tPrevTaskId = taskId;
- gTasks[taskId].data[0] = 6;
+ gTasks[taskId].tState = STATE_SHOW_INFOCARD_MATCH + 1;
}
break;
- case 6:
+ case STATE_SHOW_INFOCARD_MATCH + 1:
break;
- case 7:
+ case STATE_CLOSE_TOURNEY_TREE:
if (!gPaletteFade.active)
{
FreeAllWindowBuffers();
@@ -5388,63 +5261,87 @@ static void sub_819395C(u8 taskId)
}
}
+// undefine task states for Task_HandleTourneyTreeInput
+#undef STATE_FADE_IN
+#undef STATE_WAIT_FADE
+#undef STATE_GET_INPUT
+#undef STATE_SHOW_INFOCARD_TRAINER
+#undef STATE_SHOW_INFOCARD_MATCH
+#undef STATE_CLOSE_TOURNEY_TREE
+
+
+#define MOVE_DIR_UP 0
+#define MOVE_DIR_DOWN 1
+#define MOVE_DIR_LEFT 2
+#define MOVE_DIR_RIGHT 3
+#define MOVE_DIR_NONE 4
+
+// Move the tourney tree cursor
+// The 'cursor' is actually just which button sprite is currently doing the 'selected' animation
static u8 UpdateTourneyTreeCursor(u8 taskId)
{
- u8 retVal = 1;
- int direction = 4;
+ u8 selection = TOURNEY_TREE_NO_SELECTION;
+ int direction = MOVE_DIR_NONE;
int tourneyTreeCursorSpriteId = gTasks[taskId].data[1];
int roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
- if (gMain.newKeys == B_BUTTON || (gMain.newKeys & A_BUTTON && tourneyTreeCursorSpriteId == 31))
+ if (gMain.newKeys == B_BUTTON || (gMain.newKeys & A_BUTTON && tourneyTreeCursorSpriteId == TOURNEY_TREE_CLOSE_BUTTON))
{
PlaySE(SE_SELECT);
- retVal = 0;
+ selection = TOURNEY_TREE_SELECTED_CLOSE;
}
else if (gMain.newKeys & A_BUTTON)
{
if (tourneyTreeCursorSpriteId < DOME_TOURNAMENT_TRAINERS_COUNT)
{
PlaySE(SE_SELECT);
- retVal = 2;
+ selection = TOURNEY_TREE_SELECTED_TRAINER;
}
else
{
PlaySE(SE_SELECT);
- retVal = 3;
+ selection = TOURNEY_TREE_SELECTED_MATCH;
}
}
else
{
if (gMain.newKeys == DPAD_UP && sTourneyTreeCursorMovementMap[tourneyTreeCursorSpriteId][roundId][0] != 0xFF)
- direction = 0;
+ direction = MOVE_DIR_UP;
else if (gMain.newKeys == DPAD_DOWN && sTourneyTreeCursorMovementMap[tourneyTreeCursorSpriteId][roundId][1] != 0xFF)
- direction = 1;
+ direction = MOVE_DIR_DOWN;
else if (gMain.newKeys == DPAD_LEFT && sTourneyTreeCursorMovementMap[tourneyTreeCursorSpriteId][roundId][2] != 0xFF)
- direction = 2;
+ direction = MOVE_DIR_LEFT;
else if (gMain.newKeys == DPAD_RIGHT && sTourneyTreeCursorMovementMap[tourneyTreeCursorSpriteId][roundId][3] != 0xFF)
- direction = 3;
+ direction = MOVE_DIR_RIGHT;
}
- if (direction != 4)
+ if (direction != MOVE_DIR_NONE)
{
PlaySE(SE_SELECT);
- StartSpriteAnim(&gSprites[tourneyTreeCursorSpriteId], 0);
+ StartSpriteAnim(&gSprites[tourneyTreeCursorSpriteId], 0); // Do unselected sprite anim
tourneyTreeCursorSpriteId = sTourneyTreeCursorMovementMap[tourneyTreeCursorSpriteId][roundId][direction];
- StartSpriteAnim(&gSprites[tourneyTreeCursorSpriteId], 1);
+ StartSpriteAnim(&gSprites[tourneyTreeCursorSpriteId], 1); // Do selected sprite anim
gTasks[taskId].data[1] = tourneyTreeCursorSpriteId;
}
- return retVal;
+ return selection;
}
+#undef MOVE_DIR_UP
+#undef MOVE_DIR_DOWN
+#undef MOVE_DIR_LEFT
+#undef MOVE_DIR_RIGHT
+#undef MOVE_DIR_NONE
+
+// Shows the results of the just-completed round for the current tourney
static void ShowNonInteractiveDomeTourneyTree(void)
{
u8 taskId = CreateTask(Task_ShowTourneyTree, 0);
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].data[1] = 1;
+ gTasks[taskId].tState = 0;
+ gTasks[taskId].tNotInteractive = TRUE;
gTasks[taskId].data[2] = 2;
- gTasks[taskId].data[4] = 0;
- SetMainCallback2(CB2_BattleDome);
+ gTasks[taskId].tIsPrevTourneyTree = FALSE;
+ SetMainCallback2(CB2_TourneyTree);
}
static void ResolveDomeRoundWinners(void)
@@ -5456,6 +5353,8 @@ static void ResolveDomeRoundWinners(void)
DOME_TRAINERS[TrainerIdToTournamentId(gTrainerBattleOpponent_A)].isEliminated = TRUE;
DOME_TRAINERS[TrainerIdToTournamentId(gTrainerBattleOpponent_A)].eliminatedAt = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
gSaveBlock2Ptr->frontier.domeWinningMoves[TrainerIdToTournamentId(gTrainerBattleOpponent_A)] = gBattleResults.lastUsedMovePlayer;
+
+ // If the player's match was the final one, no NPC vs NPC matches to decide
if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < DOME_FINAL)
DecideRoundWinners(gSaveBlock2Ptr->frontier.curChallengeBattleNum);
}
@@ -5464,13 +5363,17 @@ static void ResolveDomeRoundWinners(void)
DOME_TRAINERS[TrainerIdToTournamentId(TRAINER_PLAYER)].isEliminated = TRUE;
DOME_TRAINERS[TrainerIdToTournamentId(TRAINER_PLAYER)].eliminatedAt = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
gSaveBlock2Ptr->frontier.domeWinningMoves[TrainerIdToTournamentId(TRAINER_PLAYER)] = gBattleResults.lastUsedMoveOpponent;
+
if (gBattleOutcome == B_OUTCOME_FORFEITED || gSpecialVar_0x8005 == DOME_PLAYER_RETIRED)
DOME_TRAINERS[TrainerIdToTournamentId(TRAINER_PLAYER)].forfeited = TRUE;
+
+ // Player lost, decide remaining outcome of tournament
for (i = gSaveBlock2Ptr->frontier.curChallengeBattleNum; i < DOME_ROUNDS_COUNT; i++)
DecideRoundWinners(i);
}
}
+// Decides the winning move of an NPC vs NPC match
static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roundId)
{
int i, j, k;
@@ -5590,10 +5493,10 @@ static void Task_ShowTourneyTree(u8 taskId)
{
int i;
struct TextPrinterTemplate textPrinter;
- int r10 = gTasks[taskId].data[1];
+ int notInteractive = gTasks[taskId].tNotInteractive;
int r4 = gTasks[taskId].data[2];
- switch (gTasks[taskId].data[0])
+ switch (gTasks[taskId].tState)
{
case 0:
SetHBlankCallback(NULL);
@@ -5612,7 +5515,7 @@ static void Task_ShowTourneyTree(u8 taskId)
ChangeBgY(2, 0, 0);
ChangeBgX(3, 0, 0);
ChangeBgY(3, 0xB00, 0);
- gTasks[taskId].data[0]++;
+ gTasks[taskId].tState++;
break;
case 1:
SetGpuReg(REG_OFFSET_BLDCNT, 0);
@@ -5628,41 +5531,42 @@ static void Task_ShowTourneyTree(u8 taskId)
ResetPaletteFade();
ResetSpriteData();
FreeAllSpritePalettes();
- gTasks[taskId].data[0]++;
+ gTasks[taskId].tState++;
break;
case 2:
sTilemapBuffer = AllocZeroed(0x800);
- LZDecompressWram(gUnknown_08D83900, sTilemapBuffer);
+ LZDecompressWram(gDomeTourneyLineMask_Tilemap, sTilemapBuffer);
SetBgTilemapBuffer(1, sTilemapBuffer);
CopyBgTilemapBufferToVram(1);
- DecompressAndLoadBgGfxUsingHeap(1, gUnknown_08D82F10, 0x2000, 0, 0);
- DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D834FC, 0x2000, 0, 0);
- DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D83B2C, 0x2000, 0, 1);
- DecompressAndLoadBgGfxUsingHeap(3, gUnknown_08D83C3C, 0x2000, 0, 1);
- LoadCompressedPalette(gUnknown_08D85358, 0, 0x200);
- LoadCompressedPalette(gUnknown_08D85444, 0x100, 0x200);
+ DecompressAndLoadBgGfxUsingHeap(1, gDomeTourneyBg_Gfx, 0x2000, 0, 0);
+ DecompressAndLoadBgGfxUsingHeap(2, gDomeTourneyLine_Gfx, 0x2000, 0, 0);
+ DecompressAndLoadBgGfxUsingHeap(2, gDomeTourneyLineDown_Tilemap, 0x2000, 0, 1);
+ DecompressAndLoadBgGfxUsingHeap(3, gDomeTourneyLineUp_Tilemap, 0x2000, 0, 1);
+ LoadCompressedPalette(gDomeTourneyTree_Pal, 0, 0x200);
+ LoadCompressedPalette(gDomeTourneyTreeButtons_Pal, 0x100, 0x200);
LoadCompressedPalette(gBattleWindowTextPalette, 0xF0, 0x20);
CpuFill32(0, gPlttBufferFaded, 0x400);
ShowBg(0);
ShowBg(1);
ShowBg(2);
ShowBg(3);
- gTasks[taskId].data[0]++;
+ gTasks[taskId].tState++;
break;
case 3:
- LoadCompressedSpriteSheet(sDomeOptionsSpriteSheet);
- if (r10 == 0)
+ LoadCompressedSpriteSheet(sTourneyTreeButtonsSpriteSheet);
+ if (notInteractive == FALSE)
{
- for (i = 0; i < ARRAY_COUNT(gUnknown_0860D411); i++)
- CreateSprite(&gUnknown_0860CFA8, gUnknown_0860D411[i][0], gUnknown_0860D411[i][1], 0);
- if (gTasks[taskId].data[4])
- CreateSprite(&gUnknown_0860D008, 218, 12, 0);
+ for (i = 0; i < ARRAY_COUNT(sTourneyTreePokeballCoords); i++)
+ CreateSprite(&sTourneyTreePokeballSpriteTemplate, sTourneyTreePokeballCoords[i][0], sTourneyTreePokeballCoords[i][1], 0);
+
+ if (gTasks[taskId].tIsPrevTourneyTree)
+ CreateSprite(&sExitButtonSpriteTemplate, 218, 12, 0);
else
- CreateSprite(&gUnknown_0860CFD8, 218, 12, 0);
+ CreateSprite(&sCancelButtonSpriteTemplate, 218, 12, 0);
}
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON | DISPCNT_WIN1_ON | DISPCNT_OBJ_1D_MAP);
- gTasks[taskId].data[0]++;
+ gTasks[taskId].tState++;
break;
case 4:
textPrinter.fontId = 2;
@@ -5684,48 +5588,48 @@ static void Task_ShowTourneyTree(u8 taskId)
int roundId, var2;
CopyDomeTrainerName(gDisplayedStringBattle, DOME_TRAINERS[i].trainerId);
- if (r10 == 1)
+ if (notInteractive == TRUE)
{
if (DOME_TRAINERS[i].isEliminated)
{
if (DOME_TRAINERS[i].eliminatedAt != DOME_ROUND1)
{
var2 = DOME_TRAINERS[i].eliminatedAt - 1;
- sub_81948EC(i, var2);
+ DrawTourneyAdvancementLine(i, var2);
}
}
else if (gSaveBlock2Ptr->frontier.curChallengeBattleNum != DOME_ROUND2)
{
- sub_81948EC(i, gSaveBlock2Ptr->frontier.curChallengeBattleNum - 2);
+ DrawTourneyAdvancementLine(i, gSaveBlock2Ptr->frontier.curChallengeBattleNum - 2);
}
}
- else if (r10 == 0)
+ else if (notInteractive == FALSE)
{
if (DOME_TRAINERS[i].isEliminated)
{
if (DOME_TRAINERS[i].eliminatedAt != DOME_ROUND1)
{
var2 = DOME_TRAINERS[i].eliminatedAt - 1;
- sub_81948EC(i, var2);
+ DrawTourneyAdvancementLine(i, var2);
}
}
else if (gSaveBlock2Ptr->frontier.curChallengeBattleNum != DOME_ROUND1)
{
- if (gTasks[taskId].data[4])
+ if (gTasks[taskId].tIsPrevTourneyTree)
var2 = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
else
var2 = gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1;
- sub_81948EC(i, var2);
+ DrawTourneyAdvancementLine(i, var2);
}
}
- if (gTasks[taskId].data[4])
+ if (gTasks[taskId].tIsPrevTourneyTree)
roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
else
roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1;
- if ( ((r10 == 1 && DOME_TRAINERS[i].eliminatedAt < gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1)
- || (r10 == 0 && DOME_TRAINERS[i].eliminatedAt <= roundId))
+ if ( ((notInteractive == TRUE && DOME_TRAINERS[i].eliminatedAt < gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1)
+ || (notInteractive == FALSE && DOME_TRAINERS[i].eliminatedAt <= roundId))
&& DOME_TRAINERS[i].isEliminated)
{
if (DOME_TRAINERS[i].trainerId == TRAINER_PLAYER)
@@ -5753,16 +5657,16 @@ static void Task_ShowTourneyTree(u8 taskId)
}
}
- if (gUnknown_0860D3F1[i][0] == 0)
+ if (sTrainerNamePositions[i][0] == 0)
textPrinter.currentX = GetStringWidthDifference(textPrinter.fontId, gDisplayedStringBattle, 0x3D, textPrinter.letterSpacing);
else
textPrinter.currentX = 3;
textPrinter.currentChar = gDisplayedStringBattle;
- textPrinter.windowId = gUnknown_0860D3F1[i][0];
- textPrinter.currentY = gUnknown_0860D3F1[i][1];
+ textPrinter.windowId = sTrainerNamePositions[i][0];
+ textPrinter.currentY = sTrainerNamePositions[i][1];
AddTextPrinter(&textPrinter, 0, NULL);
}
- gTasks[taskId].data[0]++;
+ gTasks[taskId].tState++;
break;
case 5:
PutWindowTilemap(0);
@@ -5771,27 +5675,27 @@ static void Task_ShowTourneyTree(u8 taskId)
CopyWindowToVram(0, 3);
CopyWindowToVram(1, 3);
CopyWindowToVram(2, 3);
- SetHBlankCallback(HblankCb_BattleDome);
- SetVBlankCallback(VblankCb1_BattleDome);
+ SetHBlankCallback(HblankCb_TourneyTree);
+ SetVBlankCallback(VblankCb_TourneyTree);
if (r4 == 2)
{
- if (r10 == 0)
+ if (notInteractive == FALSE)
{
- i = CreateTask(sub_819395C, 0);
- gTasks[i].data[0] = r10;
- gTasks[i].data[1] = r10;
- gTasks[i].data[6] = gTasks[taskId].data[4];
+ i = CreateTask(Task_HandleTourneyTreeInput, 0);
+ gTasks[i].data[0] = notInteractive;
+ gTasks[i].data[1] = notInteractive;
+ gTasks[i].data[6] = gTasks[taskId].tIsPrevTourneyTree;
}
else
{
- i = CreateTask(sub_8194950, 0);
+ i = CreateTask(Task_HandleStaticTourneyTreeInput, 0);
gTasks[i].data[0] = 0;
}
}
else
{
i = gTasks[taskId].data[3];
- gTasks[i].data[0] = 0;
+ gTasks[i].tState = 0;
}
ScanlineEffect_Clear();
@@ -5816,32 +5720,39 @@ static void Task_ShowTourneyTree(u8 taskId)
}
}
-static void sub_81948EC(u8 tournamentId, u8 arg1)
+static void DrawTourneyAdvancementLine(u8 tournamentId, u8 roundId)
{
int i;
- const struct UnkStruct_860DD10 *structPtr = gUnknown_0860DD10[tournamentId][arg1];
+ const struct TourneyTreeLineSection *lineSection = sTourneyTreeLineSections[tournamentId][roundId];
- for (i = 0; i < gUnknown_0860DE10[tournamentId][arg1]; i++)
- CopyToBgTilemapBufferRect_ChangePalette(1, &structPtr[i].src, structPtr[i].x, structPtr[i].y, 1, 1, 0x11);
+ for (i = 0; i < sTourneyTreeLineSectionArrayCounts[tournamentId][roundId]; i++)
+ CopyToBgTilemapBufferRect_ChangePalette(1, &lineSection[i].src, lineSection[i].x, lineSection[i].y, 1, 1, 17);
CopyBgTilemapBufferToVram(1);
}
-static void sub_8194950(u8 taskId)
+#define STATE_FADE_IN 0
+#define STATE_SHOW_RESULTS 1
+#define STATE_DELAY 2
+#define STATE_WAIT_FOR_INPUT 3
+#define STATE_CLOSE_TOURNEY_TREE 4
+
+// The non-interactive tourney tree that's shown when a round is completed
+static void Task_HandleStaticTourneyTreeInput(u8 taskId)
{
int i;
struct TextPrinterTemplate textPrinter;
- switch (gTasks[taskId].data[0])
+ switch (gTasks[taskId].tState)
{
- case 0:
+ case STATE_FADE_IN:
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
- gTasks[taskId].data[0] = 1;
+ gTasks[taskId].tState = STATE_SHOW_RESULTS;
break;
- case 1:
+ case STATE_SHOW_RESULTS:
if (!gPaletteFade.active)
{
- gTasks[taskId].data[0] = 2;
+ gTasks[taskId].tState = STATE_DELAY;
gTasks[taskId].data[3] = 64;
textPrinter.fontId = 2;
textPrinter.x = 0;
@@ -5852,42 +5763,44 @@ static void sub_8194950(u8 taskId)
textPrinter.fgColor = TEXT_DYNAMIC_COLOR_2;
textPrinter.bgColor = TEXT_COLOR_TRANSPARENT;
textPrinter.shadowColor = TEXT_DYNAMIC_COLOR_4;
+
+ // Update the advancement lines and gray out eliminated trainer names
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
{
CopyDomeTrainerName(gDisplayedStringBattle, DOME_TRAINERS[i].trainerId);
if (DOME_TRAINERS[i].eliminatedAt == gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1
&& DOME_TRAINERS[i].isEliminated)
{
- if (gUnknown_0860D3F1[i][0] == 0)
+ if (sTrainerNamePositions[i][0] == 0)
textPrinter.currentX = GetStringWidthDifference(textPrinter.fontId, gDisplayedStringBattle, 0x3D, textPrinter.letterSpacing);
else
textPrinter.currentX = 3;
textPrinter.currentChar = gDisplayedStringBattle;
- textPrinter.windowId = gUnknown_0860D3F1[i][0];
- textPrinter.currentY = gUnknown_0860D3F1[i][1];
+ textPrinter.windowId = sTrainerNamePositions[i][0];
+ textPrinter.currentY = sTrainerNamePositions[i][1];
AddTextPrinter(&textPrinter, 0, NULL);
}
if (!DOME_TRAINERS[i].isEliminated)
{
int roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1;
- sub_81948EC(i, roundId);
+ DrawTourneyAdvancementLine(i, roundId);
}
}
}
break;
- case 2:
+ case STATE_DELAY:
if (--gTasks[taskId].data[3] == 0)
- gTasks[taskId].data[0] = 3;
+ gTasks[taskId].tState = STATE_WAIT_FOR_INPUT;
break;
- case 3:
+ case STATE_WAIT_FOR_INPUT:
if (gMain.newKeys & (A_BUTTON | B_BUTTON))
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
- gTasks[taskId].data[0] = 4;
+ gTasks[taskId].tState = STATE_CLOSE_TOURNEY_TREE;
}
break;
- case 4:
+ case STATE_CLOSE_TOURNEY_TREE:
if (!gPaletteFade.active)
{
SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
@@ -5897,7 +5810,13 @@ static void sub_8194950(u8 taskId)
}
}
-static void CB2_BattleDome(void)
+#undef STATE_FADE_IN
+#undef STATE_SHOW_RESULTS
+#undef STATE_DELAY
+#undef STATE_WAIT_FOR_INPUT
+#undef STATE_CLOSE_TOURNEY_TREE
+
+static void CB2_TourneyTree(void)
{
AnimateSprites();
BuildOamBuffer();
@@ -5906,7 +5825,7 @@ static void CB2_BattleDome(void)
RunTasks();
}
-static void VblankCb0_BattleDome(void)
+static void VblankCb_TourneyInfoCard(void)
{
ChangeBgX(3, 0x80, 1);
ChangeBgY(3, 0x80, 2);
@@ -5926,7 +5845,7 @@ static void VblankCb0_BattleDome(void)
*(vu32*)(REG_ADDR_WIN0H) = ((win0H << 16) | (win1H)); \
}
-static void HblankCb_BattleDome(void)
+static void HblankCb_TourneyTree(void)
{
register u32 vCount asm("r0") = REG_VCOUNT;
register u32 vCount_ asm("r1") = vCount;
@@ -5990,7 +5909,7 @@ static void HblankCb_BattleDome(void)
SET_WIN0H_WIN1H(0, 0);
}
-static void VblankCb1_BattleDome(void)
+static void VblankCb_TourneyTree(void)
{
SetGpuReg(REG_OFFSET_BG0HOFS, gBattle_BG0_X);
SetGpuReg(REG_OFFSET_BG0VOFS, gBattle_BG0_Y);
@@ -6014,7 +5933,7 @@ static void ResetSketchedMoves(void)
{
int i, moveSlot;
- for (i = 0; i < 2; i++)
+ for (i = 0; i < DOME_BATTLE_PARTY_SIZE; i++)
{
int playerMonId = gSaveBlock2Ptr->frontier.selectedPartyMons[gSelectedOrderFromParty[i] - 1] - 1;
int count;
@@ -6055,6 +5974,7 @@ static void ReduceDomePlayerPartyToSelectedMons(void)
static void GetPlayerSeededBeforeOpponent(void)
{
+ // A higher tournament ID is a worse seed
if (TrainerIdToTournamentId(gTrainerBattleOpponent_A) > TrainerIdToTournamentId(TRAINER_PLAYER))
gSpecialVar_Result = 1;
else
@@ -6082,7 +6002,7 @@ static void InitRandomTourneyTreeResults(void)
int species[FRONTIER_PARTY_SIZE];
int monTypesBits;
int trainerId;
- int monSetId;
+ int monId;
u8 lvlMode;
u16 *statSums;
int *statValues;
@@ -6126,23 +6046,23 @@ static void InitRandomTourneyTreeResults(void)
DOME_TRAINERS[i].trainerId = trainerId;
for (j = 0; j < FRONTIER_PARTY_SIZE; j++)
{
- // Make sure the mon is valid.
do
{
- monSetId = RandomizeFacilityTrainerMonSet(trainerId);
+ monId = GetRandomFrontierMonFromSet(trainerId);
for (k = 0; k < j; k++)
{
- int checkingMonId = DOME_MONS[i][k];
- if (checkingMonId == monSetId
- || species[0] == gFacilityTrainerMons[monSetId].species
- || species[1] == gFacilityTrainerMons[monSetId].species
- || gFacilityTrainerMons[checkingMonId].itemTableId == gFacilityTrainerMons[monSetId].itemTableId)
+ // Make sure the mon is valid.
+ int alreadySelectedMonId = DOME_MONS[i][k];
+ if (alreadySelectedMonId == monId
+ || species[0] == gFacilityTrainerMons[monId].species
+ || species[1] == gFacilityTrainerMons[monId].species
+ || gFacilityTrainerMons[alreadySelectedMonId].itemTableId == gFacilityTrainerMons[monId].itemTableId)
break;
}
} while (k != j);
- DOME_MONS[i][j] = monSetId;
- species[j] = gFacilityTrainerMons[monSetId].species;
+ DOME_MONS[i][j] = monId;
+ species[j] = gFacilityTrainerMons[monId].species;
}
DOME_TRAINERS[i].isEliminated = FALSE;
DOME_TRAINERS[i].eliminatedAt = 0;
@@ -6235,16 +6155,18 @@ int TrainerIdToDomeTournamentId(u16 trainerId)
return i;
}
+// TODO:
static u8 sub_81953E8(u8 tournamentId, u8 round)
{
- u8 arr[2];
- BufferDomeWinString(gUnknown_0860D1A0[gUnknown_0860D1C0[tournamentId] / 2][round] - 16, arr);
- if (tournamentId == arr[0])
- return arr[1];
+ u8 tournamentIds[2];
+ BufferDomeWinString(gUnknown_0860D1A0[gUnknown_0860D1C0[tournamentId] / 2][round] - 16, tournamentIds);
+ if (tournamentId == tournamentIds[0])
+ return tournamentIds[1];
else
- return arr[0];
+ return tournamentIds[0];
}
+// Determines which trainers won in the NPC vs NPC battles
static void DecideRoundWinners(u8 roundId)
{
int i;
diff --git a/src/battle_factory.c b/src/battle_factory.c
index 9216e2416..569d665e1 100644
--- a/src/battle_factory.c
+++ b/src/battle_factory.c
@@ -12,6 +12,7 @@
#include "constants/battle_ai.h"
#include "constants/battle_factory.h"
#include "constants/battle_frontier.h"
+#include "constants/battle_frontier_mons.h"
#include "constants/frontier_util.h"
#include "constants/layouts.h"
#include "constants/trainers.h"
@@ -331,7 +332,7 @@ static void GenerateOpponentMons(void)
if (j != 6)
continue;
- if (lvlMode == FRONTIER_LVL_50 && monSetId > 849)
+ if (lvlMode == FRONTIER_LVL_50 && monSetId > FRONTIER_MONS_HIGH_TIER)
continue;
for (k = firstMonId; k < firstMonId + i; k++)
@@ -727,7 +728,7 @@ void FillFactoryBrainParty(void)
if (gFacilityTrainerMons[monSetId].species == SPECIES_UNOWN)
continue;
- if (monLevel == 50 && monSetId > 849)
+ if (monLevel == 50 && monSetId > FRONTIER_MONS_HIGH_TIER)
continue;
for (j = 0; j < 6; j++)
diff --git a/src/battle_tent.c b/src/battle_tent.c
index eebca1d07..7cde528ab 100644
--- a/src/battle_tent.c
+++ b/src/battle_tent.c
@@ -353,10 +353,10 @@ static void GenerateOpponentMons(void)
{
u16 trainerId;
s32 i, j, k;
- register const u16 *monSets asm("r9"); // Fix me. Compiler insists on moving that variable into stack.
+ register const u16 *monSet asm("r9"); // Fix me. Compiler insists on moving that variable into stack.
u16 species[FRONTIER_PARTY_SIZE];
u16 heldItems[FRONTIER_PARTY_SIZE];
- s32 setsCount = 0;
+ s32 monId = 0;
gFacilityTrainers = gSlateportBattleTentTrainers;
gFacilityTrainerMons = gSlateportBattleTentMons;
@@ -374,21 +374,21 @@ static void GenerateOpponentMons(void)
} while (i != gSaveBlock2Ptr->frontier.curChallengeBattleNum);
gTrainerBattleOpponent_A = trainerId;
- while (gFacilityTrainers[gTrainerBattleOpponent_A].monSets[setsCount] != 0xFFFF)
- setsCount++;
- if (setsCount > 8)
+ while (gFacilityTrainers[gTrainerBattleOpponent_A].monSet[monId] != 0xFFFF)
+ monId++;
+ if (monId > 8)
break;
- setsCount = 0;
+ monId = 0;
}
if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < 2)
gSaveBlock2Ptr->frontier.trainerIds[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = gTrainerBattleOpponent_A;
- monSets = gFacilityTrainers[gTrainerBattleOpponent_A].monSets;
+ monSet = gFacilityTrainers[gTrainerBattleOpponent_A].monSet;
i = 0;
while (i != FRONTIER_PARTY_SIZE)
{
- sRandMonSetId = monSets[Random() % setsCount];
+ sRandMonSetId = monSet[Random() % monId];
for (j = 0; j < 6; j++)
{
if (gFacilityTrainerMons[sRandMonSetId].species == gFacilityTrainerMons[gSaveBlock2Ptr->frontier.rentalMons[j].monId].species)
diff --git a/src/battle_tower.c b/src/battle_tower.c
index 4f6c1d163..879e5f3e3 100644
--- a/src/battle_tower.c
+++ b/src/battle_tower.c
@@ -1895,14 +1895,14 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
u8 level = SetFacilityPtrsGetLevel();
u8 fixedIV = 0;
u8 bfMonCount;
- const u16 *monSets = NULL;
+ const u16 *monSet = NULL;
u32 otID = 0;
if (trainerId < FRONTIER_TRAINERS_COUNT)
{
// Normal battle frontier trainer.
fixedIV = GetFrontierTrainerFixedIvs(trainerId);
- monSets = gFacilityTrainers[gTrainerBattleOpponent_A].monSets;
+ monSet = gFacilityTrainers[gTrainerBattleOpponent_A].monSet;
}
else if (trainerId == TRAINER_EREADER)
{
@@ -1940,20 +1940,20 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
// Attempt to fill the trainer's party with random Pokemon until 3 have been
// successfully chosen. The trainer's party may not have duplicate pokemon species
// or duplicate held items.
- for (bfMonCount = 0; monSets[bfMonCount] != 0xFFFF; bfMonCount++)
+ for (bfMonCount = 0; monSet[bfMonCount] != 0xFFFF; bfMonCount++)
;
i = 0;
otID = Random32();
while (i != monCount)
{
- u16 monSetId = monSets[Random() % bfMonCount];
- if ((level == 50 || level == 20) && monSetId > 849)
+ u16 monId = monSet[Random() % bfMonCount];
+ if ((level == 50 || level == 20) && monId > FRONTIER_MONS_HIGH_TIER)
continue;
// Ensure this pokemon species isn't a duplicate.
for (j = 0; j < i + firstMonId; j++)
{
- if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monSetId].species)
+ if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monId].species)
break;
}
if (j != i + firstMonId)
@@ -1963,7 +1963,7 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
for (j = 0; j < i + firstMonId; j++)
{
if (GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) != 0
- && GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) == gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId])
+ && GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) == gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId])
break;
}
if (j != i + firstMonId)
@@ -1973,34 +1973,34 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
// because the species and held items were already checked directly above.
for (j = 0; j < i; j++)
{
- if (chosenMonIndices[j] == monSetId)
+ if (chosenMonIndices[j] == monId)
break;
}
if (j != i)
continue;
- chosenMonIndices[i] = monSetId;
+ chosenMonIndices[i] = monId;
// Place the chosen pokemon into the trainer's party.
CreateMonWithEVSpreadNatureOTID(&gEnemyParty[i + firstMonId],
- gFacilityTrainerMons[monSetId].species,
+ gFacilityTrainerMons[monId].species,
level,
- gFacilityTrainerMons[monSetId].nature,
+ gFacilityTrainerMons[monId].nature,
fixedIV,
- gFacilityTrainerMons[monSetId].evSpread,
+ gFacilityTrainerMons[monId].evSpread,
otID);
friendship = MAX_FRIENDSHIP;
// Give the chosen pokemon its specified moves.
for (j = 0; j < MAX_MON_MOVES; j++)
{
- SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monSetId].moves[j], j);
- if (gFacilityTrainerMons[monSetId].moves[j] == MOVE_FRUSTRATION)
+ SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monId].moves[j], j);
+ if (gFacilityTrainerMons[monId].moves[j] == MOVE_FRUSTRATION)
friendship = 0; // Frustration is more powerful the lower the pokemon's friendship is.
}
SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_FRIENDSHIP, &friendship);
- SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
+ SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]);
// The pokemon was successfully added to the trainer's party, so it's safe to move on to
// the next party slot.
@@ -2041,27 +2041,27 @@ static void Unused_CreateApprenticeMons(u16 trainerId, u8 firstMonId)
}
}
-u16 RandomizeFacilityTrainerMonSet(u16 trainerId)
+u16 GetRandomFrontierMonFromSet(u16 trainerId)
{
u8 level = SetFacilityPtrsGetLevel();
- const u16 *monSets = gFacilityTrainers[trainerId].monSets;
- u8 numMonSets = 0;
- u32 monSetId = monSets[numMonSets];
+ const u16 *monSet = gFacilityTrainers[trainerId].monSet;
+ u8 numMons = 0;
+ u32 monId = monSet[numMons];
- while (monSetId != 0xFFFF)
+ while (monId != 0xFFFF)
{
- numMonSets++;
- monSetId = monSets[numMonSets];
- if (monSetId == 0xFFFF)
+ numMons++;
+ monId = monSet[numMons];
+ if (monId == 0xFFFF)
break;
}
do
{
- monSetId = monSets[Random() % numMonSets];
- } while((level == 50 || level == 20) && monSetId > 849);
+ monId = monSet[Random() % numMons];
+ } while((level == 50 || level == 20) && monId > FRONTIER_MONS_HIGH_TIER);
- return monSetId;
+ return monId;
}
static void FillFactoryTrainerParty(void)
@@ -2111,21 +2111,21 @@ static void FillFactoryFrontierTrainerParty(u16 trainerId, u8 firstMonId)
otID = T1_READ_32(gSaveBlock2Ptr->playerTrainerId);
for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
- u16 monSetId = gUnknown_03006298[i];
+ u16 monId = gUnknown_03006298[i];
CreateMonWithEVSpreadNatureOTID(&gEnemyParty[firstMonId + i],
- gFacilityTrainerMons[monSetId].species,
+ gFacilityTrainerMons[monId].species,
level,
- gFacilityTrainerMons[monSetId].nature,
+ gFacilityTrainerMons[monId].nature,
fixedIV,
- gFacilityTrainerMons[monSetId].evSpread,
+ gFacilityTrainerMons[monId].evSpread,
otID);
friendship = 0;
for (j = 0; j < MAX_MON_MOVES; j++)
- SetMonMoveAvoidReturn(&gEnemyParty[firstMonId + i], gFacilityTrainerMons[monSetId].moves[j], j);
+ SetMonMoveAvoidReturn(&gEnemyParty[firstMonId + i], gFacilityTrainerMons[monId].moves[j], j);
SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_FRIENDSHIP, &friendship);
- SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
+ SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]);
}
}
@@ -2139,25 +2139,25 @@ static void FillFactoryTentTrainerParty(u16 trainerId, u8 firstMonId)
for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
{
- u16 monSetId = gUnknown_03006298[i];
+ u16 monId = gUnknown_03006298[i];
CreateMonWithEVSpreadNatureOTID(&gEnemyParty[firstMonId + i],
- gFacilityTrainerMons[monSetId].species,
+ gFacilityTrainerMons[monId].species,
level,
- gFacilityTrainerMons[monSetId].nature,
+ gFacilityTrainerMons[monId].nature,
fixedIV,
- gFacilityTrainerMons[monSetId].evSpread,
+ gFacilityTrainerMons[monId].evSpread,
otID);
friendship = 0;
for (j = 0; j < MAX_MON_MOVES; j++)
{
- SetMonMoveAvoidReturn(&gEnemyParty[firstMonId + i], gFacilityTrainerMons[monSetId].moves[j], j);
- if (gFacilityTrainerMons[monSetId].moves[j] == MOVE_FRUSTRATION)
+ SetMonMoveAvoidReturn(&gEnemyParty[firstMonId + i], gFacilityTrainerMons[monId].moves[j], j);
+ if (gFacilityTrainerMons[monId].moves[j] == MOVE_FRUSTRATION)
friendship = 0;
}
SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_FRIENDSHIP, &friendship);
- SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
+ SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]);
}
}
@@ -2520,7 +2520,7 @@ static void sub_81642A0(void)
u32 spArray[5];
s32 r10;
u16 trainerId;
- u16 monSetId;
+ u16 monId;
u32 lvlMode, battleMode;
s32 challengeNum;
u32 species1, species2;
@@ -2562,24 +2562,24 @@ static void sub_81642A0(void)
{
while (1)
{
- monSetId = RandomizeFacilityTrainerMonSet(trainerId);
- if (j % 2 != 0 && gFacilityTrainerMons[gSaveBlock2Ptr->frontier.trainerIds[r10 - 1]].itemTableId == gFacilityTrainerMons[monSetId].itemTableId)
+ monId = GetRandomFrontierMonFromSet(trainerId);
+ if (j % 2 != 0 && gFacilityTrainerMons[gSaveBlock2Ptr->frontier.trainerIds[r10 - 1]].itemTableId == gFacilityTrainerMons[monId].itemTableId)
continue;
for (k = 8; k < r10; k++)
{
- if (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.trainerIds[k]].species == gFacilityTrainerMons[monSetId].species)
+ if (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.trainerIds[k]].species == gFacilityTrainerMons[monId].species)
break;
- if (species1 == gFacilityTrainerMons[monSetId].species)
+ if (species1 == gFacilityTrainerMons[monId].species)
break;
- if (species2 == gFacilityTrainerMons[monSetId].species)
+ if (species2 == gFacilityTrainerMons[monId].species)
break;
}
if (k == r10)
break;
}
- gSaveBlock2Ptr->frontier.trainerIds[r10] = monSetId;
+ gSaveBlock2Ptr->frontier.trainerIds[r10] = monId;
r10++;
}
}
@@ -2660,7 +2660,7 @@ static void sub_81642A0(void)
}
}
-static void sub_81646BC(u16 trainerId, u16 monSetId)
+static void sub_81646BC(u16 trainerId, u16 monId)
{
u16 move = 0;
u16 species = 0;
@@ -2670,8 +2670,8 @@ static void sub_81646BC(u16 trainerId, u16 monSetId)
{
if (trainerId < FRONTIER_TRAINERS_COUNT)
{
- move = gFacilityTrainerMons[monSetId].moves[0];
- species = gFacilityTrainerMons[monSetId].species;
+ move = gFacilityTrainerMons[monId].moves[0];
+ species = gFacilityTrainerMons[monId].species;
}
else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
{
@@ -2698,7 +2698,7 @@ static void sub_81646BC(u16 trainerId, u16 monSetId)
static void sub_8164828(void)
{
s32 i, j, arrId;
- s32 monSetId;
+ s32 monId;
s32 level = SetFacilityPtrsGetLevel();
u16 winStreak = GetCurrentFacilityWinStreak();
s32 challengeNum = winStreak / 7;
@@ -2736,12 +2736,12 @@ static void sub_8164828(void)
}
break;
case 1:
- monSetId = gSaveBlock2Ptr->frontier.trainerIds[8 + k * 2];
- sub_81646BC(trainerId, monSetId);
+ monId = gSaveBlock2Ptr->frontier.trainerIds[8 + k * 2];
+ sub_81646BC(trainerId, monId);
break;
case 2:
- monSetId = gSaveBlock2Ptr->frontier.trainerIds[9 + k * 2];
- sub_81646BC(trainerId, monSetId);
+ monId = gSaveBlock2Ptr->frontier.trainerIds[9 + k * 2];
+ sub_81646BC(trainerId, monId);
break;
case 3:
gPartnerTrainerId = trainerId;
@@ -3191,7 +3191,7 @@ static void FillPartnerParty(u16 trainerId)
s32 i, j;
u32 ivs, level;
u32 friendship;
- u16 monSetId;
+ u16 monId;
u32 otID;
u8 trainerName[PLAYER_NAME_LENGTH + 1];
SetFacilityPtrsGetLevel();
@@ -3232,23 +3232,23 @@ static void FillPartnerParty(u16 trainerId)
otID = Random32();
for (i = 0; i < 2; i++)
{
- monSetId = gSaveBlock2Ptr->frontier.trainerIds[i + 18];
+ monId = gSaveBlock2Ptr->frontier.trainerIds[i + 18];
CreateMonWithEVSpreadNatureOTID(&gPlayerParty[3 + i],
- gFacilityTrainerMons[monSetId].species,
+ gFacilityTrainerMons[monId].species,
level,
- gFacilityTrainerMons[monSetId].nature,
+ gFacilityTrainerMons[monId].nature,
ivs,
- gFacilityTrainerMons[monSetId].evSpread,
+ gFacilityTrainerMons[monId].evSpread,
otID);
friendship = MAX_FRIENDSHIP;
for (j = 0; j < MAX_MON_MOVES; j++)
{
- SetMonMoveSlot(&gPlayerParty[3 + i], gFacilityTrainerMons[monSetId].moves[j], j);
- if (gFacilityTrainerMons[monSetId].moves[j] == MOVE_FRUSTRATION)
+ SetMonMoveSlot(&gPlayerParty[3 + i], gFacilityTrainerMons[monId].moves[j], j);
+ if (gFacilityTrainerMons[monId].moves[j] == MOVE_FRUSTRATION)
friendship = 0;
}
SetMonData(&gPlayerParty[3 + i], MON_DATA_FRIENDSHIP, &friendship);
- SetMonData(&gPlayerParty[3 + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
+ SetMonData(&gPlayerParty[3 + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]);
for (j = 0; j < PLAYER_NAME_LENGTH + 1; j++)
trainerName[j] = gFacilityTrainers[trainerId].trainerName[j];
SetMonData(&gPlayerParty[3 + i], MON_DATA_OT_NAME, &trainerName);
@@ -3606,19 +3606,19 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount)
u8 level = SetTentPtrsGetLevel();
u8 fixedIV = 0;
u8 bfMonCount;
- const u16 *monSets = NULL;
+ const u16 *monSet = NULL;
u32 otID = 0;
- u16 monSetId;
+ u16 monId;
- monSets = gFacilityTrainers[gTrainerBattleOpponent_A].monSets;
+ monSet = gFacilityTrainers[gTrainerBattleOpponent_A].monSet;
bfMonCount = 0;
- monSetId = monSets[bfMonCount];
- while (monSetId != 0xFFFF)
+ monId = monSet[bfMonCount];
+ while (monId != 0xFFFF)
{
bfMonCount++;
- monSetId = monSets[bfMonCount];
- if (monSetId == 0xFFFF)
+ monId = monSet[bfMonCount];
+ if (monId == 0xFFFF)
break;
}
@@ -3626,12 +3626,12 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount)
otID = Random32();
while (i != monCount)
{
- u16 monSetId = monSets[Random() % bfMonCount];
+ u16 monId = monSet[Random() % bfMonCount];
// Ensure this pokemon species isn't a duplicate.
for (j = 0; j < i + firstMonId; j++)
{
- if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monSetId].species)
+ if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monId].species)
break;
}
if (j != i + firstMonId)
@@ -3641,7 +3641,7 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount)
for (j = 0; j < i + firstMonId; j++)
{
if (GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) != 0
- && GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) == gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId])
+ && GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) == gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId])
break;
}
if (j != i + firstMonId)
@@ -3651,34 +3651,34 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount)
// because the species and held items were already checked directly above.
for (j = 0; j < i; j++)
{
- if (chosenMonIndices[j] == monSetId)
+ if (chosenMonIndices[j] == monId)
break;
}
if (j != i)
continue;
- chosenMonIndices[i] = monSetId;
+ chosenMonIndices[i] = monId;
// Place the chosen pokemon into the trainer's party.
CreateMonWithEVSpreadNatureOTID(&gEnemyParty[i + firstMonId],
- gFacilityTrainerMons[monSetId].species,
+ gFacilityTrainerMons[monId].species,
level,
- gFacilityTrainerMons[monSetId].nature,
+ gFacilityTrainerMons[monId].nature,
fixedIV,
- gFacilityTrainerMons[monSetId].evSpread,
+ gFacilityTrainerMons[monId].evSpread,
otID);
friendship = MAX_FRIENDSHIP;
// Give the chosen pokemon its specified moves.
for (j = 0; j < MAX_MON_MOVES; j++)
{
- SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monSetId].moves[j], j);
- if (gFacilityTrainerMons[monSetId].moves[j] == MOVE_FRUSTRATION)
+ SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monId].moves[j], j);
+ if (gFacilityTrainerMons[monId].moves[j] == MOVE_FRUSTRATION)
friendship = 0; // Frustration is more powerful the lower the pokemon's friendship is.
}
SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_FRIENDSHIP, &friendship);
- SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
+ SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]);
// The pokemon was successfully added to the trainer's party, so it's safe to move on to
// the next party slot.
diff --git a/src/data/battle_frontier/battle_frontier_trainer_mons.h b/src/data/battle_frontier/battle_frontier_trainer_mons.h
index 19ed09788..183964f2d 100644
--- a/src/data/battle_frontier/battle_frontier_trainer_mons.h
+++ b/src/data/battle_frontier/battle_frontier_trainer_mons.h
@@ -3679,6 +3679,65 @@
FRONTIER_MON_MACHAMP_8, \
-1
+#define FRONTIER_MONS_BATTLE_GIRL_2A \
+ FRONTIER_MON_MEDICHAM_1, \
+ FRONTIER_MON_BRELOOM_1, \
+ FRONTIER_MON_MAROWAK_1, \
+ FRONTIER_MON_HARIYAMA_1, \
+ FRONTIER_MON_GOLEM_1, \
+ FRONTIER_MON_RHYDON_1, \
+ FRONTIER_MON_NIDOQUEEN_1, \
+ FRONTIER_MON_NIDOKING_1, \
+ FRONTIER_MON_HERACROSS_1, \
+ FRONTIER_MON_DONPHAN_1, \
+ FRONTIER_MON_MACHAMP_1, \
+ FRONTIER_MON_STEELIX_1, \
+ FRONTIER_MON_BLAZIKEN_1, \
+ FRONTIER_MON_MEDICHAM_2, \
+ FRONTIER_MON_MAROWAK_2, \
+ FRONTIER_MON_BRELOOM_2, \
+ FRONTIER_MON_HARIYAMA_2, \
+ FRONTIER_MON_GOLEM_2, \
+ FRONTIER_MON_RHYDON_2, \
+ FRONTIER_MON_NIDOQUEEN_2, \
+ FRONTIER_MON_NIDOKING_2, \
+ FRONTIER_MON_HERACROSS_2, \
+ FRONTIER_MON_DONPHAN_2, \
+ FRONTIER_MON_MACHAMP_2, \
+ FRONTIER_MON_STEELIX_2, \
+ FRONTIER_MON_BLAZIKEN_2, \
+ FRONTIER_MON_MEDICHAM_3, \
+ FRONTIER_MON_BRELOOM_3, \
+ FRONTIER_MON_MAROWAK_3, \
+ FRONTIER_MON_HARIYAMA_3, \
+ FRONTIER_MON_GOLEM_3, \
+ FRONTIER_MON_RHYDON_3, \
+ FRONTIER_MON_NIDOQUEEN_3, \
+ FRONTIER_MON_NIDOKING_3, \
+ FRONTIER_MON_HERACROSS_3, \
+ FRONTIER_MON_DONPHAN_3, \
+ FRONTIER_MON_MACHAMP_3, \
+ FRONTIER_MON_STEELIX_3, \
+ FRONTIER_MON_BLAZIKEN_3, \
+ FRONTIER_MON_MEDICHAM_4, \
+ FRONTIER_MON_BRELOOM_4, \
+ FRONTIER_MON_MAROWAK_4, \
+ FRONTIER_MON_HARIYAMA_4, \
+ FRONTIER_MON_GOLEM_4, \
+ FRONTIER_MON_RHYDON_4, \
+ FRONTIER_MON_NIDOQUEEN_4, \
+ FRONTIER_MON_NIDOKING_4, \
+ FRONTIER_MON_HERACROSS_4, \
+ FRONTIER_MON_DONPHAN_4, \
+ FRONTIER_MON_MACHAMP_4, \
+ FRONTIER_MON_STEELIX_4, \
+ FRONTIER_MON_BLAZIKEN_4, \
+ FRONTIER_MON_MACHAMP_5, \
+ FRONTIER_MON_MACHAMP_6, \
+ FRONTIER_MON_MACHAMP_7, \
+ FRONTIER_MON_MACHAMP_8, \
+ -1
+
#define FRONTIER_MONS_BLACK_BELT_BATTLE_GIRL_2B \
FRONTIER_MON_MEDICHAM_1, \
FRONTIER_MON_BRELOOM_1, \
@@ -3801,65 +3860,6 @@
FRONTIER_MON_METAGROSS_8, \
-1
-#define FRONTIER_MONS_BATTLE_GIRL_2A \
- FRONTIER_MON_MEDICHAM_1, \
- FRONTIER_MON_BRELOOM_1, \
- FRONTIER_MON_MAROWAK_1, \
- FRONTIER_MON_HARIYAMA_1, \
- FRONTIER_MON_GOLEM_1, \
- FRONTIER_MON_RHYDON_1, \
- FRONTIER_MON_NIDOQUEEN_1, \
- FRONTIER_MON_NIDOKING_1, \
- FRONTIER_MON_HERACROSS_1, \
- FRONTIER_MON_DONPHAN_1, \
- FRONTIER_MON_MACHAMP_1, \
- FRONTIER_MON_STEELIX_1, \
- FRONTIER_MON_BLAZIKEN_1, \
- FRONTIER_MON_MEDICHAM_2, \
- FRONTIER_MON_MAROWAK_2, \
- FRONTIER_MON_BRELOOM_2, \
- FRONTIER_MON_HARIYAMA_2, \
- FRONTIER_MON_GOLEM_2, \
- FRONTIER_MON_RHYDON_2, \
- FRONTIER_MON_NIDOQUEEN_2, \
- FRONTIER_MON_NIDOKING_2, \
- FRONTIER_MON_HERACROSS_2, \
- FRONTIER_MON_DONPHAN_2, \
- FRONTIER_MON_MACHAMP_2, \
- FRONTIER_MON_STEELIX_2, \
- FRONTIER_MON_BLAZIKEN_2, \
- FRONTIER_MON_MEDICHAM_3, \
- FRONTIER_MON_BRELOOM_3, \
- FRONTIER_MON_MAROWAK_3, \
- FRONTIER_MON_HARIYAMA_3, \
- FRONTIER_MON_GOLEM_3, \
- FRONTIER_MON_RHYDON_3, \
- FRONTIER_MON_NIDOQUEEN_3, \
- FRONTIER_MON_NIDOKING_3, \
- FRONTIER_MON_HERACROSS_3, \
- FRONTIER_MON_DONPHAN_3, \
- FRONTIER_MON_MACHAMP_3, \
- FRONTIER_MON_STEELIX_3, \
- FRONTIER_MON_BLAZIKEN_3, \
- FRONTIER_MON_MEDICHAM_4, \
- FRONTIER_MON_BRELOOM_4, \
- FRONTIER_MON_MAROWAK_4, \
- FRONTIER_MON_HARIYAMA_4, \
- FRONTIER_MON_GOLEM_4, \
- FRONTIER_MON_RHYDON_4, \
- FRONTIER_MON_NIDOQUEEN_4, \
- FRONTIER_MON_NIDOKING_4, \
- FRONTIER_MON_HERACROSS_4, \
- FRONTIER_MON_DONPHAN_4, \
- FRONTIER_MON_MACHAMP_4, \
- FRONTIER_MON_STEELIX_4, \
- FRONTIER_MON_BLAZIKEN_4, \
- FRONTIER_MON_MACHAMP_5, \
- FRONTIER_MON_MACHAMP_6, \
- FRONTIER_MON_MACHAMP_7, \
- FRONTIER_MON_MACHAMP_8, \
- -1
-
// For this group, Expert M uses Tyranitar, Expert F uses Dragonite
#define FRONTIER_MONS_EXPERT_2A(lastmon) \
FRONTIER_MON_BRELOOM_1, \
diff --git a/src/data/battle_frontier/battle_frontier_trainers.h b/src/data/battle_frontier/battle_frontier_trainers.h
index 081090aac..bbd88d76f 100644
--- a/src/data/battle_frontier/battle_frontier_trainers.h
+++ b/src/data/battle_frontier/battle_frontier_trainers.h
@@ -6,7 +6,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_NEVER, EC_WORD_GOING, EC_WORD_TO, EC_WORD_LOSE, EC_WORD_EXCL},
.speechWin = {EC_WORD_I_AM, EC_WORD_STRONG, EC_WORD_AREN_T, EC_WORD_I, EC_WORD_QUES, 0xFFFF},
.speechLose = {EC_WORD_WHAT, EC_WORD_QUES, 0xFFFF, EC_WORD_BUT, EC_WORD_HOW, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Brady
+ .monSet = gBattleFrontierTrainerMons_Brady
},
[FRONTIER_TRAINER_CONNER] = {
.facilityClass = FACILITY_CLASS_YOUNGSTER,
@@ -14,7 +14,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_LOSING, EC_WORD_DOESN_T, EC_WORD_BUG, EC_WORD_ME, 0xFFFF, 0xFFFF},
.speechWin = {EC_WORD_A, EC_WORD_WIN, EC_WORD_IS, EC_WORD_JUST, EC_WORD_AWESOME, 0xFFFF},
.speechLose = {EC_WORD_DARN, EC_WORD_ELLIPSIS, EC_WORD_LOSING, EC_WORD_DOES, EC_WORD_BUG, EC_WORD_ME},
- .monSets = gBattleFrontierTrainerMons_Conner
+ .monSet = gBattleFrontierTrainerMons_Conner
},
[FRONTIER_TRAINER_BRADLEY] = {
.facilityClass = FACILITY_CLASS_YOUNGSTER,
@@ -22,7 +22,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_HEY_THERE, EC_WORD_EXCL, EC_WORD_YOU_RE, EC_WORD_MY, EC_WORD_OPPONENT, EC_WORD_TODAY},
.speechWin = {EC_WORD_HAHAHA, EC_WORD_EXCL, 0xFFFF, EC_WORD_SEE_YA, EC_WORD_LATER, EC_WORD_EXCL},
.speechLose = {EC_WORD_TOMORROW, EC_WORD_IS, EC_WORD_WHEN, EC_WORD_WE, EC_WORD_REALLY, EC_WORD_BATTLE},
- .monSets = gBattleFrontierTrainerMons_Bradley
+ .monSet = gBattleFrontierTrainerMons_Bradley
},
[FRONTIER_TRAINER_CYBIL] = {
.facilityClass = FACILITY_CLASS_LASS,
@@ -30,7 +30,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YOU_RE, EC_WORD_REALLY, EC_WORD_NOT_VERY, EC_WORD_SCARY, EC_WORD_AT, EC_WORD_ALL},
.speechWin = {EC_WORD_IT_S, EC_WORD_SAD, EC_WORD_TO, EC_WORD_SEE, EC_WORD_YOU, EC_MOVE2(STRUGGLE)},
.speechLose = {EC_WORD_THIS, EC_WORD_CAN_T, EC_WORD_BE, EC_WORD_HAPPENING, EC_WORD_TO_ME, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Cybil
+ .monSet = gBattleFrontierTrainerMons_Cybil
},
[FRONTIER_TRAINER_RODETTE] = {
.facilityClass = FACILITY_CLASS_LASS,
@@ -38,7 +38,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_OH, EC_WORD_THIS, EC_WORD_IS, EC_WORD_SO, EC_WORD_EXCITING, EC_WORD_EXCL},
.speechWin = {EC_WORD_IT_S, EC_WORD_INCREDIBLE, EC_WORD_HOW, EC_WORD_STRONG, EC_WORD_I_AM, EC_WORD_EXCL},
.speechLose = {EC_WORD_OH_DEAR, EC_WORD_ELLIPSIS, EC_WORD_I_AM, EC_WORD_JUST, EC_WORD_NO, EC_WORD_GOOD},
- .monSets = gBattleFrontierTrainerMons_Rodette
+ .monSet = gBattleFrontierTrainerMons_Rodette
},
[FRONTIER_TRAINER_PEGGY] = {
.facilityClass = FACILITY_CLASS_LASS,
@@ -46,7 +46,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_GET, EC_WORD_READY, EC_WORD_TO, EC_WORD_BE, EC_WORD_DESTROYED, EC_WORD_EXCL},
.speechWin = {EC_WORD_HAHAHA, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_I_AM, EC_WORD_LOLLING, EC_WORD_EXCL},
.speechLose = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_SAD, EC_WORD_THANKS, EC_WORD_TO, EC_WORD_YOU},
- .monSets = gBattleFrontierTrainerMons_Peggy
+ .monSet = gBattleFrontierTrainerMons_Peggy
},
[FRONTIER_TRAINER_KEITH] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_M,
@@ -54,7 +54,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_JUST, EC_WORD_STUDY, EC_WORD_YOU, EC_WORD_KNOW},
.speechWin = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_STUDY, EC_WORD_ENOUGH, EC_WORD_ELLIPSIS, 0xFFFF},
.speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_STUDY, EC_WORD_MORE, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Keith
+ .monSet = gBattleFrontierTrainerMons_Keith
},
[FRONTIER_TRAINER_GRAYSON] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_M,
@@ -62,7 +62,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_A, EC_WORD_POKEMON, EC_WORD_BATTLE, EC_WORD_ISN_T, EC_WORD_CHILD_S_PLAY, EC_WORD_EXCL},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_DONE, EC_WORD_AREN_T, EC_WORD_YOU, EC_WORD_QUES, 0xFFFF},
.speechLose = {EC_WORD_WE, EC_WORD_WERE, EC_WORD_LIKE, EC_WORD_TOYS, EC_WORD_TO, EC_WORD_YOU},
- .monSets = gBattleFrontierTrainerMons_Grayson
+ .monSet = gBattleFrontierTrainerMons_Grayson
},
[FRONTIER_TRAINER_GLENN] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_M,
@@ -70,7 +70,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_WOULD, EC_WORD_BE, EC_WORD_COOL, EC_WORD_IF_I_WIN, 0xFFFF},
.speechWin = {EC_WORD_COOL, EC_WORD_EXCL, 0xFFFF, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM},
.speechLose = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_GOING, EC_WORD_TO, EC_WORD_BE, EC_WORD_COOL},
- .monSets = gBattleFrontierTrainerMons_Glenn
+ .monSet = gBattleFrontierTrainerMons_Glenn
},
[FRONTIER_TRAINER_LILIANA] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
@@ -78,7 +78,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_WON_T, EC_WORD_GIVE_UP, EC_WORD_UNTIL, EC_WORD_I, EC_WORD_WIN},
.speechWin = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_NO, EC_WORD_SURRENDER, EC_WORD_IN, EC_WORD_ME},
.speechLose = {EC_WORD_THAT_S, EC_WORD_IT, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_GIVE_UP, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Liliana
+ .monSet = gBattleFrontierTrainerMons_Liliana
},
[FRONTIER_TRAINER_ELISE] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
@@ -86,7 +86,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MY, EC_WORD_STRATEGY, EC_WORD_IS, EC_WORD_FROM, EC_WORD_MY, EC_WORD_FATHER},
.speechWin = {EC_WORD_I, EC_WORD_WIN, EC_WORD_EXCL, EC_WORD_FATHER, EC_WORD_I_VE, EC_WORD_WON},
.speechLose = {EC_WORD_FORGIVE, EC_WORD_ME, EC_WORD_FATHER, EC_WORD_FOR, EC_WORD_I_VE, EC_WORD_LOST},
- .monSets = gBattleFrontierTrainerMons_Elise
+ .monSet = gBattleFrontierTrainerMons_Elise
},
[FRONTIER_TRAINER_ZOEY] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
@@ -94,7 +94,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_PLEASE, EC_WORD_BATTLE, EC_WORD_LIKE, EC_WORD_YOU, EC_WORD_MEAN, EC_WORD_IT},
.speechWin = {EC_WORD_THANK_YOU, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_THANK_YOU, EC_WORD_SO, EC_WORD_MUCH},
.speechLose = {EC_WORD_WERE, EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_BEING, EC_WORD_SERIOUS, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Zoey
+ .monSet = gBattleFrontierTrainerMons_Zoey
},
[FRONTIER_TRAINER_MANUEL] = {
.facilityClass = FACILITY_CLASS_RICH_BOY,
@@ -102,7 +102,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_ME, EC_WORD_LOSE, EC_WORD_QUES, EC_WORD_THAT_S, EC_WORD_PREPOSTEROUS, EC_WORD_EXCL},
.speechWin = {EC_WORD_NATURALLY, EC_WORD_I, EC_WORD_WIN, 0xFFFF, 0xFFFF, 0xFFFF},
.speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_LOST, EC_WORD_MOTHER},
- .monSets = gBattleFrontierTrainerMons_Manuel
+ .monSet = gBattleFrontierTrainerMons_Manuel
},
[FRONTIER_TRAINER_RUSS] = {
.facilityClass = FACILITY_CLASS_RICH_BOY,
@@ -110,7 +110,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_THEY, EC_WORD_ALL, EC_WORD_WANT, EC_WORD_MY, EC_WORD_FABULOUS, EC_WORD_POKEMON},
.speechWin = {EC_WORD_I, EC_WORD_WILL, EC_WORD_HAVE, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_PARTY},
.speechLose = {EC_WORD_HOW, EC_WORD_COULD, EC_WORD_YOU, EC_WORD_DO, EC_WORD_THAT, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Russ
+ .monSet = gBattleFrontierTrainerMons_Russ
},
[FRONTIER_TRAINER_DUSTIN] = {
.facilityClass = FACILITY_CLASS_RICH_BOY,
@@ -118,7 +118,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_LIKE, EC_WORD_COOL, EC_WORD_POKEMON, 0xFFFF},
.speechWin = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_MYSELF, EC_WORD_WHEN_I_WIN, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_MYSELF, EC_WORD_IF_I_LOSE, EC_WORD_TOO, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Dustin
+ .monSet = gBattleFrontierTrainerMons_Dustin
},
[FRONTIER_TRAINER_TINA] = {
.facilityClass = FACILITY_CLASS_LADY,
@@ -126,7 +126,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_IF_I_WIN, EC_WORD_YOU, EC_WORD_CAN, EC_WORD_HAVE, EC_WORD_A, EC_MOVE2(SWEET_KISS)},
.speechWin = {EC_WORD_HERE_IT_IS, EC_WORD_YOUR, EC_MOVE2(SWEET_KISS), EC_WORD_FROM, EC_WORD_MY, EC_POKEMON2(JYNX)},
.speechLose = {EC_WORD_YOU, EC_WORD_WANT, EC_WORD_A, EC_MOVE(SWIFT), EC_MOVE2(MEGA_KICK), EC_WORD_INSTEAD},
- .monSets = gBattleFrontierTrainerMons_Tina
+ .monSet = gBattleFrontierTrainerMons_Tina
},
[FRONTIER_TRAINER_GILLIAN1] = {
.facilityClass = FACILITY_CLASS_LADY,
@@ -134,7 +134,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_THE, EC_WORD_GOURMET, EC_WORD_THING, EC_WORD_IS, EC_WORD_SO, EC_WORD_YESTERDAY},
.speechWin = {EC_WORD_POKEMON, EC_WORD_NEVER, EC_WORD_GO, EC_WORD_OUT, EC_WORD_OF, EC_WORD_FASHION},
.speechLose = {EC_WORD_LOSING, EC_WORD_DOESN_T, EC_WORD_DISAPPOINT, EC_WORD_ME, 0xFFFF, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Gillian
+ .monSet = gBattleFrontierTrainerMons_Gillian
},
[FRONTIER_TRAINER_ZOE] = {
.facilityClass = FACILITY_CLASS_LADY,
@@ -142,7 +142,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_HAVEN_T, EC_WORD_A, EC_WORD_WORRY, EC_WORD_AT, EC_WORD_ALL},
.speechWin = {EC_WORD_LIFE, EC_WORD_IS, EC_WORD_ALWAYS, EC_WORD_GOOD, EC_WORD_TO_ME, 0xFFFF},
.speechLose = {EC_WORD_I, EC_WORD_WORRY, EC_WORD_ABOUT, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_SKILL},
- .monSets = gBattleFrontierTrainerMons_Zoe
+ .monSet = gBattleFrontierTrainerMons_Zoe
},
[FRONTIER_TRAINER_CHEN] = {
.facilityClass = FACILITY_CLASS_CAMPER,
@@ -150,7 +150,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_TOTALLY, EC_WORD_READY, EC_WORD_TO, EC_WORD_ROCK, EC_WORD_TODAY},
.speechWin = {EC_WORD_I_AM, EC_WORD_READY, EC_WORD_TO, EC_WORD_GO, EC_WORD_ON, EC_WORD_EXCL},
.speechLose = {EC_WORD_I_VE, EC_WORD_LOST, EC_WORD_MY, EC_MOVE(FOCUS_ENERGY), EC_WORD_AND, EC_WORD_TOUGHNESS},
- .monSets = gBattleFrontierTrainerMons_Chen
+ .monSet = gBattleFrontierTrainerMons_Chen
},
[FRONTIER_TRAINER_AL] = {
.facilityClass = FACILITY_CLASS_CAMPER,
@@ -158,7 +158,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YOUR, EC_WORD_LOOK, EC_WORD_SAYS, EC_WORD_YOU_RE, EC_WORD_REALLY, EC_WORD_TOUGH},
.speechWin = {EC_WORD_IT_S, EC_WORD_ME, EC_WORD_WHO_IS, EC_WORD_REALLY, EC_WORD_TOUGH, 0xFFFF},
.speechLose = {EC_WORD_I_AM, EC_WORD_RIGHT, EC_WORD_EXCL, EC_WORD_YOU_RE, EC_WORD_REALLY, EC_WORD_TOUGH},
- .monSets = gBattleFrontierTrainerMons_Al
+ .monSet = gBattleFrontierTrainerMons_Al
},
[FRONTIER_TRAINER_MITCH] = {
.facilityClass = FACILITY_CLASS_CAMPER,
@@ -166,7 +166,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MOTHER, EC_WORD_NATURE, EC_WORD_IS, EC_WORD_MY, EC_WORD_ALLY, EC_WORD_EXCL},
.speechWin = {EC_WORD_WAS, EC_WORD_THAT, EC_WORD_ENOUGH, EC_WORD_FOR, EC_WORD_YOU, EC_WORD_QUES},
.speechLose = {EC_WORD_MOTHER, EC_WORD_NATURE, EC_WORD_DIDN_T, EC_WORD_LET_ME_WIN, EC_WORD_QUES, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Mitch
+ .monSet = gBattleFrontierTrainerMons_Mitch
},
[FRONTIER_TRAINER_ANNE] = {
.facilityClass = FACILITY_CLASS_PICNICKER,
@@ -174,7 +174,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_WAIT, EC_WORD_LET_S, EC_WORD_BATTLE, EC_WORD_NOW},
.speechWin = {EC_WORD_MY, EC_WORD_HAPPINESS, EC_WORD_IS, EC_WORD_OVERWHELMING, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_YOU_VE, EC_WORD_DESTROYED, EC_WORD_MY, EC_WORD_HAPPINESS, EC_WORD_ELLIPSIS, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Anne
+ .monSet = gBattleFrontierTrainerMons_Anne
},
[FRONTIER_TRAINER_ALIZE] = {
.facilityClass = FACILITY_CLASS_PICNICKER,
@@ -182,7 +182,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_CUTE, EC_WORD_AND, EC_WORD_AWFULLY, EC_WORD_STRONG, EC_WORD_THAT_S, EC_WORD_ME},
.speechWin = {EC_WORD_YUP, EC_WORD_I_AM, EC_WORD_CUTE, EC_WORD_AND, EC_WORD_AWFULLY, EC_WORD_STRONG},
.speechLose = {EC_WORD_I_AM, EC_WORD_WEAK, EC_WORD_ELLIPSIS, EC_WORD_BUT, EC_WORD_I_AM, EC_WORD_CUTE},
- .monSets = gBattleFrontierTrainerMons_Alize
+ .monSet = gBattleFrontierTrainerMons_Alize
},
[FRONTIER_TRAINER_LAUREN] = {
.facilityClass = FACILITY_CLASS_PICNICKER,
@@ -190,7 +190,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_OLD, EC_WORD_BUT, EC_WORD_I_AM, EC_WORD_ALSO, EC_WORD_GOOD},
.speechWin = {EC_WORD_I, EC_WORD_SAID, EC_WORD_I_WAS, EC_WORD_OLD, EC_WORD_BUT, EC_WORD_GOOD},
.speechLose = {EC_WORD_WHAT, EC_WORD_A, EC_WORD_WEIRD, EC_WORD_DREAM, EC_WORD_THAT_WAS, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Lauren
+ .monSet = gBattleFrontierTrainerMons_Lauren
},
[FRONTIER_TRAINER_KIPP] = {
.facilityClass = FACILITY_CLASS_TUBER_M,
@@ -198,7 +198,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_IF_I_WIN, EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_GO, EC_MOVE2(SURF)},
.speechWin = {EC_WORD_YEAH, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_OFF, EC_WORD_TO, EC_MOVE2(SURF)},
.speechLose = {EC_WORD_OH, EC_WORD_NO, EC_WORD_EXCL, EC_WORD_A, EC_MOVE(WHIRLPOOL), EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Kipp
+ .monSet = gBattleFrontierTrainerMons_Kipp
},
[FRONTIER_TRAINER_JASON] = {
.facilityClass = FACILITY_CLASS_TUBER_M,
@@ -206,7 +206,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_TEACH, EC_WORD_ME, EC_WORD_A, EC_WORD_GOOD, EC_WORD_STRATEGY, 0xFFFF},
.speechWin = {EC_WORD_THAT_WAS, EC_WORD_YOUR, EC_WORD_GOOD, EC_WORD_STRATEGY, EC_WORD_QUES_EXCL, 0xFFFF},
.speechLose = {EC_WORD_WOW, EC_WORD_THAT, EC_WORD_IS, EC_WORD_AN, EC_WORD_AWESOME, EC_WORD_STRATEGY},
- .monSets = gBattleFrontierTrainerMons_Jason
+ .monSet = gBattleFrontierTrainerMons_Jason
},
[FRONTIER_TRAINER_JOHN] = {
.facilityClass = FACILITY_CLASS_TUBER_M,
@@ -214,7 +214,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_PRETTY, EC_WORD_NEW, EC_WORD_TRAINER, 0xFFFF},
.speechWin = {EC_WORD_I_AM, EC_WORD_NEW, EC_WORD_BUT, EC_WORD_I, EC_WORD_WON, EC_WORD_EXCL},
.speechLose = {EC_WORD_I_AM, EC_WORD_NEW, EC_WORD_SO, EC_WORD_WHAT, EC_WORD_IF_I_LOSE, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_John
+ .monSet = gBattleFrontierTrainerMons_John
},
[FRONTIER_TRAINER_ANN] = {
.facilityClass = FACILITY_CLASS_TUBER_F,
@@ -222,7 +222,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_IT_S, EC_WORD_SO, EC_WORD_EXCITING, EC_WORD_IT, EC_WORD_REALLY, EC_WORD_IS},
.speechWin = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_HAPPY, EC_WORD_I, EC_WORD_CAN, EC_WORD_CRY},
.speechLose = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SAD, EC_WORD_I, EC_WORD_WILL, EC_WORD_CRY},
- .monSets = gBattleFrontierTrainerMons_Ann
+ .monSet = gBattleFrontierTrainerMons_Ann
},
[FRONTIER_TRAINER_EILEEN] = {
.facilityClass = FACILITY_CLASS_TUBER_F,
@@ -230,7 +230,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_LET_S, EC_WORD_PRETEND, EC_WORD_I_AM, EC_WORD_AN, EC_WORD_ADULT, EC_WORD_OK_QUES},
.speechWin = {EC_WORD_SO, EC_WORD_THIS, EC_WORD_IS, EC_WORD_AN, EC_WORD_ADULT, EC_WORD_FEELING},
.speechLose = {EC_WORD_AN, EC_WORD_ADULT, EC_WORD_CAN_T, EC_WORD_BEAT, EC_WORD_YOU, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Eileen
+ .monSet = gBattleFrontierTrainerMons_Eileen
},
[FRONTIER_TRAINER_CARLIE] = {
.facilityClass = FACILITY_CLASS_TUBER_F,
@@ -238,7 +238,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MY, EC_WORD_SUMMER, EC_WORD_VACATION, EC_WORD_IS, EC_WORD_FOR, EC_WORD_POKEMON},
.speechWin = {EC_WORD_MY, EC_WORD_SUMMER, EC_WORD_VACATION, EC_WORD_WILL, EC_WORD_BE, EC_WORD_AWESOME},
.speechLose = {EC_WORD_I, EC_WORD_CAN_T_WIN, EC_WORD_LIKE, EC_WORD_THIS, EC_WORD_ELLIPSIS, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Carlie
+ .monSet = gBattleFrontierTrainerMons_Carlie
},
[FRONTIER_TRAINER_GORDON] = {
.facilityClass = FACILITY_CLASS_SWIMMER_M,
@@ -246,7 +246,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_VICTORY, EC_WORD_WILL, EC_WORD_COME, EC_WORD_TO_ME, EC_WORD_EXCL, 0xFFFF},
.speechWin = {EC_WORD_OH_YEAH, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_REALLY, EC_WORD_WON},
.speechLose = {EC_WORD_NOTHING, EC_WORD_IS, EC_WORD_WORKING, EC_WORD_OUT, EC_WORD_FOR, EC_WORD_ME},
- .monSets = gBattleFrontierTrainerMons_Gordon
+ .monSet = gBattleFrontierTrainerMons_Gordon
},
[FRONTIER_TRAINER_AYDEN] = {
.facilityClass = FACILITY_CLASS_SWIMMER_M,
@@ -254,7 +254,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_COME_ON, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_WORD_HOT, EC_WORD_BATTLE},
.speechWin = {EC_WORD_I, EC_WORD_NEED, EC_WORD_WATER, EC_WORD_TO, EC_WORD_COOL, EC_WORD_DOWN},
.speechLose = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_ICE, EC_WORD_COLD},
- .monSets = gBattleFrontierTrainerMons_Ayden
+ .monSet = gBattleFrontierTrainerMons_Ayden
},
[FRONTIER_TRAINER_MARCO] = {
.facilityClass = FACILITY_CLASS_SWIMMER_M,
@@ -262,7 +262,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_MOVE2(SURF), EC_WORD_IN, EC_WORD_THE, EC_WORD_WINTER, EC_WORD_TOO},
.speechWin = {EC_WORD_I, EC_WORD_WILL, EC_WORD_GO, EC_MOVE2(SURF), EC_WORD_RIGHT, EC_WORD_NOW},
.speechLose = {EC_WORD_I, EC_WORD_WILL, EC_MOVE2(BEAT_UP), EC_WORD_MY, EC_MOVE2(SURF), EC_WORD_BOARD},
- .monSets = gBattleFrontierTrainerMons_Marco
+ .monSet = gBattleFrontierTrainerMons_Marco
},
[FRONTIER_TRAINER_CIERRA] = {
.facilityClass = FACILITY_CLASS_SWIMMER_F,
@@ -270,7 +270,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_SYNCHRONIZE, EC_WORD_MY, EC_WORD_SWIFT_SWIM},
.speechWin = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_SYNCHRONIZE, EC_WORD_WITH, EC_WORD_ME, 0xFFFF},
.speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_SYNCHRONIZE, EC_WORD_BETTER, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Cierra
+ .monSet = gBattleFrontierTrainerMons_Cierra
},
[FRONTIER_TRAINER_MARCY] = {
.facilityClass = FACILITY_CLASS_SWIMMER_F,
@@ -278,7 +278,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_KNOCKOUT, EC_WORD_YOU, EC_WORD_CAN_T_WIN, EC_WORD_EXCL},
.speechWin = {EC_WORD_AFTER, EC_WORD_ALL, EC_WORD_I_AM, EC_WORD_A, EC_WORD_KNOCKOUT, EC_WORD_EXCL},
.speechLose = {EC_WORD_THAT_S, EC_WORD_NOT, EC_WORD_THE, EC_WORD_KNOCKOUT, EC_WORD_I, EC_WORD_MEAN},
- .monSets = gBattleFrontierTrainerMons_Marcy
+ .monSet = gBattleFrontierTrainerMons_Marcy
},
[FRONTIER_TRAINER_KATHY] = {
.facilityClass = FACILITY_CLASS_SWIMMER_F,
@@ -286,7 +286,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_VE, EC_WORD_WON, EC_WORD_EVERY, EC_WORD_MATCH, EC_WORD_TODAY, EC_WORD_EXCL},
.speechWin = {EC_WORD_IT_S, EC_WORD_SO, EC_WORD_GREAT, EC_WORD_TO, EC_WORD_WIN, EC_WORD_EXCL},
.speechLose = {EC_WORD_HUH_QUES, EC_WORD_I, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_HAVE, EC_WORD_LOST},
- .monSets = gBattleFrontierTrainerMons_Kathy
+ .monSet = gBattleFrontierTrainerMons_Kathy
},
[FRONTIER_TRAINER_PEYTON] = {
.facilityClass = FACILITY_CLASS_POKEFAN_M,
@@ -294,7 +294,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_NEVER, EC_WORD_DISAPPOINTED, EC_WORD_WITH, EC_WORD_MY, EC_WORD_POKEMON},
.speechWin = {EC_WORD_I_AM, EC_WORD_HAPPY, EC_WORD_IF, EC_WORD_WE, EC_WORD_WIN, EC_WORD_TOGETHER},
.speechLose = {EC_WORD_I, EC_WORD_ADORE, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_MORE, EC_WORD_IF_I_LOSE},
- .monSets = gBattleFrontierTrainerMons_Peyton
+ .monSet = gBattleFrontierTrainerMons_Peyton
},
[FRONTIER_TRAINER_JULIAN] = {
.facilityClass = FACILITY_CLASS_POKEFAN_M,
@@ -302,7 +302,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YOU, EC_WORD_ADORE, EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_RIGHT, EC_WORD_QUES},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_TOTALLY, EC_WORD_OUT, EC_WORD_OF, EC_WORD_THE, EC_WORD_QUESTION},
.speechLose = {EC_WORD_YOU, EC_WORD_DO, EC_WORD_ADORE, EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Julian
+ .monSet = gBattleFrontierTrainerMons_Julian
},
[FRONTIER_TRAINER_QUINN] = {
.facilityClass = FACILITY_CLASS_POKEFAN_M,
@@ -310,7 +310,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_BUT, EC_WORD_A, EC_WORD_DREAM},
.speechWin = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_A, EC_WORD_BEAUTIFUL, EC_WORD_DREAM, EC_WORD_EXCL},
.speechLose = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_AN, EC_WORD_AWFUL, EC_MOVE(NIGHTMARE), EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Quinn
+ .monSet = gBattleFrontierTrainerMons_Quinn
},
[FRONTIER_TRAINER_HAYLEE] = {
.facilityClass = FACILITY_CLASS_POKEFAN_F,
@@ -318,7 +318,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_KNOW, EC_WORD_HOW, EC_WORD_I_AM, EC_WORD_FEELING},
.speechWin = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_OVERWHELMING, EC_WORD_JOY, EC_WORD_OVER, EC_WORD_THIS},
.speechLose = {EC_WORD_DESTROYED, EC_WORD_IS, EC_WORD_THE, EC_WORD_WAY, EC_WORD_I_AM, EC_WORD_FEELING},
- .monSets = gBattleFrontierTrainerMons_Haylee
+ .monSet = gBattleFrontierTrainerMons_Haylee
},
[FRONTIER_TRAINER_AMANDA] = {
.facilityClass = FACILITY_CLASS_POKEFAN_F,
@@ -326,7 +326,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_COME, EC_WORD_FROM, EC_WORD_A, EC_WORD_TRAINER, EC_WORD_FAMILY},
.speechWin = {EC_WORD_I, EC_WORD_WILL, EC_WORD_TREASURE, EC_WORD_THIS, EC_WORD_WIN, 0xFFFF},
.speechLose = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO_HOME, EC_WORD_RIGHT, EC_WORD_NOW},
- .monSets = gBattleFrontierTrainerMons_Amanda
+ .monSet = gBattleFrontierTrainerMons_Amanda
},
[FRONTIER_TRAINER_STACY] = {
.facilityClass = FACILITY_CLASS_POKEFAN_F,
@@ -334,7 +334,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_ALL, EC_WORD_POKEMON, EC_WORD_HAVE, EC_WORD_THEIR, EC_WORD_OWN, EC_WORD_CUTE_CHARM},
.speechWin = {EC_WORD_YOU, EC_WORD_SEE, EC_WORD_WHAT, EC_WORD_I, EC_WORD_MEAN, EC_WORD_QUES},
.speechLose = {EC_WORD_SHOULD, EC_WORD_I, EC_WORD_NOT, EC_WORD_ADORE, EC_WORD_POKEMON, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Stacy
+ .monSet = gBattleFrontierTrainerMons_Stacy
},
[FRONTIER_TRAINER_RAFAEL] = {
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
@@ -342,7 +342,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_COME_ON, EC_WORD_EXCL, EC_WORD_LET_S, EC_WORD_SEE, EC_WORD_SOME, EC_WORD_SPIRIT},
.speechWin = {EC_WORD_THAT_S_IT_EXCL, EC_WORD_THAT_S, EC_WORD_THE, EC_WORD_SPIRIT, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_WELL, EC_WORD_SO, EC_WORD_MUCH, EC_WORD_FOR, EC_WORD_OUR, EC_WORD_SPIRIT},
- .monSets = gBattleFrontierTrainerMons_Rafael
+ .monSet = gBattleFrontierTrainerMons_Rafael
},
[FRONTIER_TRAINER_OLIVER] = {
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
@@ -350,7 +350,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_A, EC_WORD_GENIUS, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM, EC_WORD_EXCL},
.speechWin = {EC_WORD_THAT_S, EC_WORD_HOW, EC_WORD_A, EC_WORD_GENIUS, EC_WORD_WORKS, EC_WORD_EXCL},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_MORE, EC_WORD_A, EC_WORD_GENIUS, EC_WORD_THAN, EC_WORD_I_AM},
- .monSets = gBattleFrontierTrainerMons_Oliver
+ .monSet = gBattleFrontierTrainerMons_Oliver
},
[FRONTIER_TRAINER_PAYTON] = {
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
@@ -358,7 +358,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_TRAIN, EC_WORD_FROM, EC_WORD_THE, EC_WORD_EGG, EC_WORD_UP},
.speechWin = {EC_WORD_WELL, EC_WORD_DONE, EC_WORD_EXCL, 0xFFFF, 0xFFFF, 0xFFFF},
.speechLose = {EC_WORD_THAT_WAS, EC_WORD_A, EC_MOVE2(SOFT_BOILED), EC_WORD_LOSS, EC_WORD_ELLIPSIS, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Payton
+ .monSet = gBattleFrontierTrainerMons_Payton
},
[FRONTIER_TRAINER_PAMELA] = {
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
@@ -366,7 +366,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_ALL, EC_WORD_POKEMON, EC_WORD_ADORE, EC_WORD_A, EC_WORD_KIND, EC_WORD_TRAINER},
.speechWin = {EC_WORD_IT_S, EC_WORD_TOO, EC_WORD_BAD, EC_WORD_YOU, EC_WORD_LOST, 0xFFFF},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_KIND, EC_WORD_AND, EC_WORD_YOU_RE, EC_WORD_ALSO, EC_WORD_STRONG},
- .monSets = gBattleFrontierTrainerMons_Pamela
+ .monSet = gBattleFrontierTrainerMons_Pamela
},
[FRONTIER_TRAINER_ELIZA] = {
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
@@ -374,7 +374,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_ADORE, EC_WORD_POKEMON, EC_WORD_LIKE, EC_WORD_MY, EC_WORD_CHILDREN},
.speechWin = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_HAPPY, EC_WORD_FOR, EC_WORD_MY, EC_WORD_POKEMON},
.speechLose = {EC_WORD_OH_DEAR, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SORRY, EC_WORD_ABOUT, EC_WORD_THIS},
- .monSets = gBattleFrontierTrainerMons_Eliza
+ .monSet = gBattleFrontierTrainerMons_Eliza
},
[FRONTIER_TRAINER_MARISA] = {
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
@@ -382,7 +382,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_PROMISE, EC_WORD_TO, EC_WORD_BATTLE, EC_WORD_SERIOUSLY, 0xFFFF},
.speechWin = {EC_WORD_PROMISE, EC_WORD_ME, EC_WORD_YOU, EC_WORD_WILL, EC_WORD_DO, EC_WORD_BETTER},
.speechLose = {EC_WORD_PROMISE, EC_WORD_ME, EC_WORD_ANOTHER, EC_WORD_BATTLE, EC_WORD_PLEASE, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Marisa
+ .monSet = gBattleFrontierTrainerMons_Marisa
},
[FRONTIER_TRAINER_LEWIS] = {
.facilityClass = FACILITY_CLASS_BUG_CATCHER,
@@ -390,7 +390,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_A_LITTLE, EC_WORD_BUG, EC_WORD_IS, EC_WORD_SCARY, EC_WORD_QUES, EC_WORD_HAHAHA},
.speechWin = {EC_WORD_LOOK, EC_WORD_LOOK, EC_WORD_EXCL, EC_WORD_A, EC_WORD_SCARY, EC_WORD_BUG},
.speechLose = {EC_WORD_OH, EC_WORD_A, EC_WORD_BUG, EC_WORD_ISN_T, EC_WORD_SCARY, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Lewis
+ .monSet = gBattleFrontierTrainerMons_Lewis
},
[FRONTIER_TRAINER_YOSHI] = {
.facilityClass = FACILITY_CLASS_BUG_CATCHER,
@@ -398,7 +398,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_LOVEY_DOVEY},
.speechWin = {EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_THE, EC_WORD_BEST, EC_WORD_EXCL},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_IGNORANT, EC_WORD_ABOUT, EC_WORD_BUG, EC_WORD_POKEMON, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Yoshi
+ .monSet = gBattleFrontierTrainerMons_Yoshi
},
[FRONTIER_TRAINER_DESTIN] = {
.facilityClass = FACILITY_CLASS_BUG_CATCHER,
@@ -406,7 +406,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_IT_S, EC_WORD_WAY, EC_WORD_TOO, EC_WORD_HOT, EC_WORD_HERE, 0xFFFF},
.speechWin = {EC_WORD_I_AM, EC_WORD_ABOUT, EC_WORD_TO, EC_MOVE(OVERHEAT), 0xFFFF, 0xFFFF},
.speechLose = {EC_WORD_PLEASE, EC_WORD_I, EC_WORD_NEED, EC_WORD_SOME, EC_WORD_WATER, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Destin
+ .monSet = gBattleFrontierTrainerMons_Destin
},
[FRONTIER_TRAINER_KEON] = {
.facilityClass = FACILITY_CLASS_NINJA_BOY,
@@ -414,7 +414,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_FORGIVE, EC_WORD_ME, EC_WORD_BUT, EC_WORD_HERE_I_COME, EC_WORD_EXCL, 0xFFFF},
.speechWin = {EC_WORD_FORGIVE, EC_WORD_ME, EC_WORD_FOR, EC_WORD_MY, EC_WORD_OVERWHELMING, EC_WORD_POWER},
.speechLose = {EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Keon
+ .monSet = gBattleFrontierTrainerMons_Keon
},
[FRONTIER_TRAINER_STUART] = {
.facilityClass = FACILITY_CLASS_NINJA_BOY,
@@ -422,7 +422,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_PROMISE, EC_WORD_YOU, EC_WORD_A, EC_WORD_HOT, EC_WORD_BATTLE},
.speechWin = {EC_WORD_THE, EC_WORD_MASTER, EC_WORD_OF, EC_WORD_COOL, EC_WORD_THAT_S, EC_WORD_ME},
.speechLose = {EC_WORD_I, EC_WORD_SEE, EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_SO, EC_WORD_COOL},
- .monSets = gBattleFrontierTrainerMons_Stuart
+ .monSet = gBattleFrontierTrainerMons_Stuart
},
[FRONTIER_TRAINER_NESTOR] = {
.facilityClass = FACILITY_CLASS_NINJA_BOY,
@@ -430,7 +430,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_SHOW, EC_WORD_ME, EC_WORD_A, EC_WORD_REALLY, EC_WORD_SMOOTH, EC_WORD_MOVE},
.speechWin = {EC_WORD_THERE, EC_WORD_WAS, EC_WORD_NOTHING, EC_WORD_SMOOTH, EC_WORD_ABOUT, EC_WORD_THAT},
.speechLose = {EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_ARE, EC_WORD_SMOOTH, EC_WORD_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Nestor
+ .monSet = gBattleFrontierTrainerMons_Nestor
},
[FRONTIER_TRAINER_DERRICK] = {
.facilityClass = FACILITY_CLASS_BUG_MANIAC,
@@ -438,7 +438,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_LET_S, EC_WORD_SEE, EC_WORD_YOU, EC_MOVE2(MEDITATE), EC_WORD_LIKE, EC_WORD_ME},
.speechWin = {EC_WORD_HOW, EC_WORD_I, EC_MOVE2(MEDITATE), EC_WORD_IS, EC_WORD_JUST, EC_WORD_BEAUTIFUL},
.speechLose = {EC_WORD_I, EC_WORD_WILL, EC_MOVE2(MEDITATE), EC_WORD_FOR, EC_WORD_A, EC_MOVE2(CALM_MIND)},
- .monSets = gBattleFrontierTrainerMons_Derrick
+ .monSet = gBattleFrontierTrainerMons_Derrick
},
[FRONTIER_TRAINER_BRYSON] = {
.facilityClass = FACILITY_CLASS_BUG_MANIAC,
@@ -446,7 +446,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_MOVE2(POISON_POWDER), EC_WORD_IS, EC_WORD_IN, EC_WORD_OUR, EC_MOVE2(COTTON_SPORE), EC_WORD_MOVE},
.speechWin = {EC_WORD_HOW_DO, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_OUR, EC_MOVE2(POISON_POWDER), EC_WORD_QUES},
.speechLose = {EC_WORD_MY, EC_MOVE2(COTTON_SPORE), EC_WORD_WAS, EC_WORD_USELESS, 0xFFFF, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Bryson
+ .monSet = gBattleFrontierTrainerMons_Bryson
},
[FRONTIER_TRAINER_CLAYTON] = {
.facilityClass = FACILITY_CLASS_BUG_MANIAC,
@@ -454,7 +454,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_HUH_QUES, 0xFFFF, 0xFFFF, EC_WORD_WHERE, EC_WORD_IS_IT_QUES, 0xFFFF},
.speechWin = {EC_WORD_WHERE, EC_WORD_IS_IT_QUES, EC_WORD_I_VE, EC_WORD_LOST, EC_WORD_MY, EC_WORD_POKENAV},
.speechLose = {EC_WORD_WHERE, EC_WORD_IS_IT_QUES, EC_WORD_I_VE, EC_WORD_LOST, EC_WORD_MY, EC_WORD_SENSE},
- .monSets = gBattleFrontierTrainerMons_Clayton
+ .monSet = gBattleFrontierTrainerMons_Clayton
},
[FRONTIER_TRAINER_TRENTON] = {
.facilityClass = FACILITY_CLASS_FISHERMAN,
@@ -462,7 +462,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_COME_OVER, EC_WORD_FOR, EC_WORD_SOME, EC_WORD_TASTY, EC_WORD_WATER, 0xFFFF},
.speechWin = {EC_WORD_MMM, EC_WORD_DO, EC_WORD_YOU, EC_WORD_WANT, EC_WORD_SOME, EC_WORD_QUES},
.speechLose = {EC_WORD_I, EC_WORD_GOT, EC_WORD_THIS, EC_WORD_TASTY, EC_WORD_WATER, EC_WORD_SHOPPING},
- .monSets = gBattleFrontierTrainerMons_Trenton
+ .monSet = gBattleFrontierTrainerMons_Trenton
},
[FRONTIER_TRAINER_JENSON] = {
.facilityClass = FACILITY_CLASS_FISHERMAN,
@@ -470,7 +470,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_WILL, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_DOWNCAST},
.speechWin = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_DON_T, EC_WORD_MAKE, EC_WORD_THE, EC_MOVE(CUT)},
.speechLose = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_TRAINER, EC_WORD_WHO_IS, EC_WORD_FEELING, EC_WORD_DOWNCAST},
- .monSets = gBattleFrontierTrainerMons_Jenson
+ .monSet = gBattleFrontierTrainerMons_Jenson
},
[FRONTIER_TRAINER_WESLEY] = {
.facilityClass = FACILITY_CLASS_FISHERMAN,
@@ -478,7 +478,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_POKEMON2(MEW), EC_POKEMON2(MEW), EC_WORD_IS, EC_WORD_HOW, EC_WORD_I, EC_WORD_CRY},
.speechWin = {EC_WORD_YES, EC_WORD_I, EC_WORD_KNOW, EC_WORD_I_AM, EC_WORD_CUTE, EC_WORD_EXCL},
.speechLose = {EC_POKEMON2(MEW), EC_POKEMON2(MEW), EC_WORD_EXCL, EC_POKEMON2(MEW), EC_WORD_EXCL_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Wesley
+ .monSet = gBattleFrontierTrainerMons_Wesley
},
[FRONTIER_TRAINER_ANTON] = {
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
@@ -486,7 +486,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_GET, EC_WORD_READY, EC_WORD_FOR, EC_WORD_ME, EC_WORD_TO, EC_MOVE(THRASH)},
.speechWin = {EC_WORD_WAHAHAHA, EC_WORD_EXCL, EC_WORD_SORRY, EC_WORD_ABOUT, EC_WORD_THAT, EC_WORD_EXCL},
.speechLose = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_TOUGH, EC_WORD_LOSS, EC_WORD_TO, EC_MOVE2(SWALLOW)},
- .monSets = gBattleFrontierTrainerMons_Anton
+ .monSet = gBattleFrontierTrainerMons_Anton
},
[FRONTIER_TRAINER_LAWSON] = {
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
@@ -494,7 +494,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_YOUNG, EC_WORD_AT, EC_WORD_HEART, EC_WORD_EXCL, 0xFFFF},
.speechWin = {EC_WORD_NOT, EC_WORD_COOL, EC_WORD_EXCL, EC_WORD_NOT, EC_WORD_AT, EC_WORD_ALL},
.speechLose = {EC_WORD_I_AM, EC_WORD_OLD, EC_WORD_AND, EC_WORD_FEELING, EC_WORD_SHAKY, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Lawson
+ .monSet = gBattleFrontierTrainerMons_Lawson
},
[FRONTIER_TRAINER_SAMMY] = {
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
@@ -502,7 +502,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MY, EC_WORD_PARTY, EC_WORD_IS, EC_WORD_READY, EC_WORD_TO, EC_WORD_ROCK},
.speechWin = {EC_WORD_MY, EC_WORD_PARTY, EC_WORD_IS, EC_WORD_JUST, EC_WORD_INCREDIBLE, EC_WORD_EXCL},
.speechLose = {EC_WORD_I, EC_WORD_CRY, EC_WORD_FOR, EC_WORD_MY, EC_WORD_PARTY, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Sammy
+ .monSet = gBattleFrontierTrainerMons_Sammy
},
[FRONTIER_TRAINER_ARNIE] = {
.facilityClass = FACILITY_CLASS_COLLECTOR,
@@ -510,7 +510,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_NO_1, EC_WORD_I, EC_WORD_HAVE, EC_WORD_NO, EC_WORD_RIVAL},
.speechWin = {EC_WORD_YOU, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_I, EC_WORD_CAN_T, EC_WORD_LOSE},
.speechLose = {EC_WORD_NO, EC_WORD_EXCL, EC_WORD_I, EC_WORD_WON_T, EC_WORD_ACCEPT, EC_WORD_THIS},
- .monSets = gBattleFrontierTrainerMons_Arnie
+ .monSet = gBattleFrontierTrainerMons_Arnie
},
[FRONTIER_TRAINER_ADRIAN] = {
.facilityClass = FACILITY_CLASS_COLLECTOR,
@@ -518,7 +518,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YAHOO, EC_WORD_EXCL, 0xFFFF, EC_WORD_YAHOO, EC_WORD_EXCL_EXCL, 0xFFFF},
.speechWin = {EC_WORD_THANK_YOU, EC_WORD_EXCL, 0xFFFF, EC_WORD_THANK_YOU, EC_WORD_EXCL_EXCL, 0xFFFF},
.speechLose = {EC_WORD_GOOD_BYE, EC_WORD_EXCL, 0xFFFF, EC_WORD_GOOD_BYE, EC_WORD_EXCL_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Adrian
+ .monSet = gBattleFrontierTrainerMons_Adrian
},
[FRONTIER_TRAINER_TRISTAN] = {
.facilityClass = FACILITY_CLASS_COLLECTOR,
@@ -526,7 +526,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_CONFUSED, EC_WORD_QUES, 0xFFFF, EC_WORD_I_AM, EC_WORD_A, EC_WORD_GENIUS},
.speechWin = {EC_WORD_SEE, EC_WORD_QUES, 0xFFFF, EC_WORD_I_AM, EC_WORD_A, EC_WORD_GENIUS},
.speechLose = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_A, EC_WORD_GENIUS, EC_WORD_IN, EC_WORD_BATTLE},
- .monSets = gBattleFrontierTrainerMons_Tristan
+ .monSet = gBattleFrontierTrainerMons_Tristan
},
[FRONTIER_TRAINER_JULIANA] = {
.facilityClass = FACILITY_CLASS_PARASOL_LADY,
@@ -534,7 +534,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_THINK, EC_WORD_I_AM, EC_WORD_SHOPPING, EC_WORD_TOO, EC_WORD_MUCH},
.speechWin = {EC_WORD_BUT, EC_WORD_I, EC_WORD_WANT, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_PLUSH_DOLL},
.speechLose = {EC_WORD_I, EC_WORD_SO, EC_WORD_WANT, EC_WORD_ANOTHER, EC_WORD_POKEMON, EC_WORD_PLUSH_DOLL},
- .monSets = gBattleFrontierTrainerMons_Juliana
+ .monSet = gBattleFrontierTrainerMons_Juliana
},
[FRONTIER_TRAINER_RYLEE] = {
.facilityClass = FACILITY_CLASS_PARASOL_LADY,
@@ -542,7 +542,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_SHOW, EC_WORD_ME, EC_WORD_THAT, EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_GUTS},
.speechWin = {EC_WORD_BYE_BYE, EC_WORD_EXCL, EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_NO, EC_WORD_GUTS},
.speechLose = {EC_WORD_THAT_WAS, EC_WORD_GUTSY, EC_WORD_ELLIPSIS, EC_WORD_YOU_RE, EC_WORD_QUITE, EC_WORD_SUPER},
- .monSets = gBattleFrontierTrainerMons_Rylee
+ .monSet = gBattleFrontierTrainerMons_Rylee
},
[FRONTIER_TRAINER_CHELSEA] = {
.facilityClass = FACILITY_CLASS_PARASOL_LADY,
@@ -550,7 +550,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_SERIOUSLY, EC_WORD_MEAN, EC_WORD_TO, EC_WORD_WIN, EC_WORD_EXCL},
.speechWin = {EC_WORD_THAT_WAS, EC_WORD_MY, EC_WORD_WILL, EC_WORD_TO, EC_WORD_WIN, 0xFFFF},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_FAR, EC_WORD_TOO_STRONG, EC_WORD_FOR, EC_WORD_ME, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Chelsea
+ .monSet = gBattleFrontierTrainerMons_Chelsea
},
[FRONTIER_TRAINER_DANELA] = {
.facilityClass = FACILITY_CLASS_BEAUTY,
@@ -558,7 +558,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YOU, EC_WORD_MUST_BE, EC_WORD_MY, EC_WORD_OPPONENT, EC_WORD_NOW, EC_WORD_EXCL},
.speechWin = {EC_WORD_OH_DEAR, EC_WORD_TOO_WEAK, EC_WORD_EXCL, EC_WORD_DON_T, EC_WORD_GIVE_UP, EC_WORD_EXCL},
.speechLose = {EC_WORD_THAT_WAS, EC_WORD_GOOD, EC_WORD_AND, EC_WORD_THIS, EC_WORD_IS, EC_WORD_GOOD_BYE},
- .monSets = gBattleFrontierTrainerMons_Danela
+ .monSet = gBattleFrontierTrainerMons_Danela
},
[FRONTIER_TRAINER_LIZBETH] = {
.facilityClass = FACILITY_CLASS_BEAUTY,
@@ -566,7 +566,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_IF_I_LOSE, EC_WORD_YOU, EC_WORD_CAN, EC_WORD_HAVE, EC_WORD_A, EC_MOVE2(PRESENT)},
.speechWin = {EC_WORD_HERE_IT_IS, EC_WORD_A_LITTLE, EC_WORD_PRAISE, EC_WORD_AS, EC_WORD_YOUR, EC_MOVE2(PRESENT)},
.speechLose = {EC_WORD_YOUR, EC_MOVE2(PRESENT), EC_WORD_QUES_EXCL, EC_WORD_HERE_IT_IS, EC_WORD_A, EC_MOVE(DOUBLE_SLAP)},
- .monSets = gBattleFrontierTrainerMons_Lizbeth
+ .monSet = gBattleFrontierTrainerMons_Lizbeth
},
[FRONTIER_TRAINER_AMELIA] = {
.facilityClass = FACILITY_CLASS_BEAUTY,
@@ -574,7 +574,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_BELIEVE, EC_WORD_IN, EC_WORD_CUTE, EC_WORD_FASHION, EC_WORD_APPEAL},
.speechWin = {EC_WORD_YOUR, EC_WORD_FASHION, EC_WORD_SENSE, EC_WORD_IS, EC_WORD_A, EC_WORD_DISASTER},
.speechLose = {EC_WORD_THAT_WAS, EC_WORD_AWFUL, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_HOME},
- .monSets = gBattleFrontierTrainerMons_Amelia
+ .monSet = gBattleFrontierTrainerMons_Amelia
},
[FRONTIER_TRAINER_JILLIAN] = {
.facilityClass = FACILITY_CLASS_AROMA_LADY,
@@ -582,7 +582,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_WHAT, EC_WORD_IS, EC_WORD_THAT, EC_WORD_I, EC_WORD_SMELL, EC_WORD_QUES},
.speechWin = {EC_WORD_IT_S, EC_WORD_THE, EC_MOVE(SWEET_SCENT), EC_WORD_OF, EC_WORD_TASTY, EC_WORD_WATER},
.speechLose = {EC_WORD_IT_S, EC_WORD_YOUR, EC_WORD_OFFENSIVE, EC_WORD_STENCH, EC_WORD_THAT_S, EC_WORD_WHAT},
- .monSets = gBattleFrontierTrainerMons_Jillian
+ .monSet = gBattleFrontierTrainerMons_Jillian
},
[FRONTIER_TRAINER_ABBIE] = {
.facilityClass = FACILITY_CLASS_AROMA_LADY,
@@ -590,7 +590,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YOU, EC_WORD_TRY, EC_WORD_MY, EC_WORD_SECRET, EC_MOVE(AROMATHERAPY), EC_WORD_OK_QUES},
.speechWin = {EC_WORD_MY, EC_MOVE(AROMATHERAPY), EC_WORD_IS, EC_WORD_TERRIBLE, EC_WORD_FOR, EC_WORD_YOU},
.speechLose = {EC_WORD_DIDN_T, EC_WORD_YOU, EC_WORD_SMELL, EC_WORD_A, EC_WORD_THING, EC_WORD_QUES_EXCL},
- .monSets = gBattleFrontierTrainerMons_Abbie
+ .monSet = gBattleFrontierTrainerMons_Abbie
},
[FRONTIER_TRAINER_BRIANA] = {
.facilityClass = FACILITY_CLASS_AROMA_LADY,
@@ -598,7 +598,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MY, EC_WORD_BOY, EC_WORD_FRIEND, EC_WORD_WORKS, EC_WORD_TOO, EC_WORD_MUCH},
.speechWin = {EC_WORD_I, EC_WORD_ONLY, EC_WORD_MISS, EC_WORD_HIM, EC_WORD_MORE, EC_WORD_ELLIPSIS},
.speechLose = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_LONESOME, EC_WORD_WITHOUT, EC_WORD_HIM, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Briana
+ .monSet = gBattleFrontierTrainerMons_Briana
},
[FRONTIER_TRAINER_ANTONIO] = {
.facilityClass = FACILITY_CLASS_GUITARIST,
@@ -606,7 +606,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_KNOW, EC_WORD_HOW, EC_WORD_TO, EC_WORD_GO, EC_WORD_GO},
.speechWin = {EC_WORD_BUT, EC_WORD_I, EC_WORD_DON_T, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_DANCE},
.speechLose = {EC_WORD_GO, EC_WORD_GO, EC_WORD_ELLIPSIS, EC_WORD_JUST, EC_MOVE(FLAIL), EC_WORD_ABOUT},
- .monSets = gBattleFrontierTrainerMons_Antonio
+ .monSet = gBattleFrontierTrainerMons_Antonio
},
[FRONTIER_TRAINER_JADEN] = {
.facilityClass = FACILITY_CLASS_GUITARIST,
@@ -614,7 +614,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_HELLO, EC_WORD_I, EC_WORD_THINK, EC_WORD_I, EC_WORD_ADORE, EC_WORD_YOU},
.speechWin = {EC_WORD_YOU, EC_WORD_MAKE, EC_WORD_ME, EC_MOVE(THRASH), EC_WORD_IN, EC_MOVE2(FRUSTRATION)},
.speechLose = {EC_WORD_THIS_IS_IT_EXCL, 0xFFFF, 0xFFFF, EC_WORD_GOOD_BYE, EC_WORD_FOREVER, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Jaden
+ .monSet = gBattleFrontierTrainerMons_Jaden
},
[FRONTIER_TRAINER_DAKOTA] = {
.facilityClass = FACILITY_CLASS_GUITARIST,
@@ -622,7 +622,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_DANCE, EC_WORD_WITH, EC_WORD_POWER},
.speechWin = {EC_WORD_GOT, EC_WORD_IT, EC_WORD_QUES, EC_WORD_DANCE, EC_WORD_WITH, EC_WORD_POWER},
.speechLose = {EC_WORD_OKAY, EC_WORD_YOU, EC_WORD_UNDERSTAND, EC_WORD_ALL_RIGHT, EC_WORD_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Dakota
+ .monSet = gBattleFrontierTrainerMons_Dakota
},
[FRONTIER_TRAINER_BRAYDEN] = {
.facilityClass = FACILITY_CLASS_BIRD_KEEPER,
@@ -630,7 +630,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_COLOR_CHANGE, EC_WORD_VERSION, EC_WORD_TOYS, EC_WORD_ARE, EC_WORD_USELESS, EC_WORD_EXCL},
.speechWin = {EC_WORD_I, EC_WORD_ONLY, EC_WORD_COLLECT, EC_WORD_NORMAL, EC_WORD_VERSION, EC_WORD_TOYS},
.speechLose = {EC_WORD_I, EC_MOVE2(ATTRACT), EC_WORD_COLOR_CHANGE, EC_WORD_VERSION, EC_WORD_TOYS, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Brayden
+ .monSet = gBattleFrontierTrainerMons_Brayden
},
[FRONTIER_TRAINER_CORSON] = {
.facilityClass = FACILITY_CLASS_BIRD_KEEPER,
@@ -638,7 +638,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_GET, EC_WORD_TO, EC_MOVE2(BEAT_UP), EC_WORD_ON, EC_WORD_YOU},
.speechWin = {EC_WORD_TOO, EC_WORD_EASY, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_COOL},
.speechLose = {EC_WORD_WHY, EC_WORD_QUES_EXCL, 0xFFFF, EC_WORD_I, EC_MOVE2(CURSE), EC_WORD_YOU},
- .monSets = gBattleFrontierTrainerMons_Corson
+ .monSet = gBattleFrontierTrainerMons_Corson
},
[FRONTIER_TRAINER_TREVIN] = {
.facilityClass = FACILITY_CLASS_BIRD_KEEPER,
@@ -646,7 +646,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_NONE, EC_WORD_BETTER, EC_WORD_THAN, EC_WORD_ME},
.speechWin = {EC_WORD_YES_SIR_EXCL, 0xFFFF, 0xFFFF, EC_WORD_I_AM, EC_WORD_THE, EC_WORD_BEST},
.speechLose = {EC_WORD_SERIOUS, EC_WORD_QUES_EXCL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Trevin
+ .monSet = gBattleFrontierTrainerMons_Trevin
},
[FRONTIER_TRAINER_PATRICK] = {
.facilityClass = FACILITY_CLASS_SAILOR,
@@ -654,7 +654,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_PERFECT, EC_WORD_EXCL, EC_WORD_GIVE_UP, EC_WORD_NOW, 0xFFFF},
.speechWin = {EC_WORD_DON_T, EC_WORD_BE, EC_WORD_DISAPPOINTED, EC_WORD_I_AM, EC_WORD_PERFECT, 0xFFFF},
.speechLose = {EC_WORD_BUT, EC_WORD_HOW, EC_WORD_QUES, EC_WORD_I_AM, EC_WORD_PERFECT, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Patrick
+ .monSet = gBattleFrontierTrainerMons_Patrick
},
[FRONTIER_TRAINER_KADEN] = {
.facilityClass = FACILITY_CLASS_SAILOR,
@@ -662,7 +662,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_WHAT, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_UP, EC_WORD_TO, EC_WORD_QUES},
.speechWin = {EC_WORD_YOU, EC_WORD_WERE, EC_WORD_A, EC_WORD_SURPRISE, EC_WORD_TO_ME, EC_WORD_EXCL},
.speechLose = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_KNOW, EC_WORD_WHO, EC_WORD_I_AM, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Kaden
+ .monSet = gBattleFrontierTrainerMons_Kaden
},
[FRONTIER_TRAINER_MAXWELL] = {
.facilityClass = FACILITY_CLASS_SAILOR,
@@ -670,7 +670,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_HEY_THERE, EC_WORD_WHO_IS, EC_WORD_YOUR, EC_WORD_RIVAL, EC_WORD_QUES, 0xFFFF},
.speechWin = {EC_WORD_MY, EC_WORD_RIVAL, EC_WORD_IS, EC_WORD_MY, EC_WORD_GIRL, EC_WORD_FRIEND},
.speechLose = {EC_WORD_I_AM, EC_WORD_MAKING, EC_WORD_YOU, EC_WORD_MY, EC_WORD_RIVAL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Maxwell
+ .monSet = gBattleFrontierTrainerMons_Maxwell
},
[FRONTIER_TRAINER_DARYL] = {
.facilityClass = FACILITY_CLASS_HIKER,
@@ -678,7 +678,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_ONLY, EC_WORD_KNOW, EC_WORD_HOW, EC_WORD_TO, EC_MOVE(CHARGE)},
.speechWin = {EC_WORD_AM, EC_WORD_I, EC_WORD_OVERWHELMING, EC_WORD_OR, EC_WORD_WHAT, EC_WORD_QUES},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_GOING, EC_WORD_TO, EC_WORD_A, EC_WORD_LEGEND, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Daryl
+ .monSet = gBattleFrontierTrainerMons_Daryl
},
[FRONTIER_TRAINER_KENNETH] = {
.facilityClass = FACILITY_CLASS_HIKER,
@@ -686,7 +686,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YOU, EC_WORD_BETTER, EC_WORD_NOT, EC_MOVE2(SLACK_OFF), EC_WORD_WITH, EC_WORD_ME},
.speechWin = {EC_WORD_DID, EC_WORD_MY, EC_MOVE2(TAUNT), EC_WORD_INTIMIDATE, EC_WORD_YOU, EC_WORD_QUES},
.speechLose = {EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Kenneth
+ .monSet = gBattleFrontierTrainerMons_Kenneth
},
[FRONTIER_TRAINER_RICH] = {
.facilityClass = FACILITY_CLASS_HIKER,
@@ -694,7 +694,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YOUR, EC_MOVE(FACADE), EC_WORD_DOESN_T, EC_MOVE2(TRICK), EC_WORD_ME, 0xFFFF},
.speechWin = {EC_WORD_SERIOUSLY, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_OK_QUES, 0xFFFF},
.speechLose = {EC_WORD_THAT_WAS, EC_WORD_REALLY, EC_WORD_TOUGH, EC_WORD_ON, EC_WORD_ME, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Rich
+ .monSet = gBattleFrontierTrainerMons_Rich
},
[FRONTIER_TRAINER_CADEN] = {
.facilityClass = FACILITY_CLASS_KINDLER,
@@ -702,7 +702,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_BE, EC_WORD_DEFEATED, EC_WORD_EXCL, 0xFFFF},
.speechWin = {EC_WORD_FIRE, EC_WORD_EXCL, 0xFFFF, EC_WORD_FIRE, EC_WORD_EXCL_EXCL, 0xFFFF},
.speechLose = {EC_WORD_I_AM, EC_WORD_TIRED, EC_WORD_ELLIPSIS, EC_WORD_IT_S, EC_WORD_SO, EC_WORD_HOT},
- .monSets = gBattleFrontierTrainerMons_Caden
+ .monSet = gBattleFrontierTrainerMons_Caden
},
[FRONTIER_TRAINER_MARLON] = {
.facilityClass = FACILITY_CLASS_KINDLER,
@@ -710,7 +710,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_A, EC_WORD_POKEDEX, EC_WORD_IS, EC_WORD_A_LITTLE, EC_WORD_RADIO, EC_WORD_QUES},
.speechWin = {EC_WORD_A_LITTLE, EC_WORD_RADIO, EC_WORD_HUH_QUES, EC_WORD_THAT_S, EC_WORD_TOTALLY, EC_WORD_COOL},
.speechLose = {EC_WORD_IT_S, EC_WORD_NOT, EC_WORD_QUES, EC_WORD_IS, EC_WORD_POKENAV, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Marlon
+ .monSet = gBattleFrontierTrainerMons_Marlon
},
[FRONTIER_TRAINER_NASH] = {
.facilityClass = FACILITY_CLASS_KINDLER,
@@ -718,7 +718,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_ON, EC_WORD_FIRE, EC_WORD_BABY, EC_WORD_EXCL, 0xFFFF},
.speechWin = {EC_WORD_I, EC_WORD_LEFT, EC_WORD_YOU, EC_WORD_JUST, EC_WORD_AN, EC_MOVE2(EMBER)},
.speechLose = {EC_WORD_AIYEEH, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_NO, EC_WORD_WATER, EC_WORD_PLEASE},
- .monSets = gBattleFrontierTrainerMons_Nash
+ .monSet = gBattleFrontierTrainerMons_Nash
},
[FRONTIER_TRAINER_ROBBY] = {
.facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M,
@@ -726,7 +726,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_HAHAHA, EC_WORD_EXCL, EC_WORD_HAPPY, EC_WORD_TO, EC_WORD_MEET_YOU, EC_WORD_EXCL},
.speechWin = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_LEADER, EC_WORD_WITH, EC_WORD_REFRESHING, EC_WORD_SERENE_GRACE},
.speechLose = {EC_WORD_I, EC_WORD_WILL, EC_MOVE(THRASH), EC_WORD_MY, EC_WORD_TOYS, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Robby
+ .monSet = gBattleFrontierTrainerMons_Robby
},
[FRONTIER_TRAINER_REECE] = {
.facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M,
@@ -734,7 +734,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MY, EC_MOVE2(QUICK_ATTACK), EC_WORD_CAN, EC_WORD_BEAT, EC_WORD_A, EC_MOVE2(TELEPORT)},
.speechWin = {EC_WORD_LIKE, EC_WORD_I, EC_WORD_SAID, EC_WORD_I_AM, EC_WORD_DARN, EC_WORD_FAST},
.speechLose = {EC_WORD_I_WAS, EC_WORD_KIDDING, EC_WORD_ABOUT, EC_WORD_THAT, EC_MOVE2(TELEPORT), EC_WORD_THING},
- .monSets = gBattleFrontierTrainerMons_Reece
+ .monSet = gBattleFrontierTrainerMons_Reece
},
[FRONTIER_TRAINER_KATHRYN] = {
.facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F,
@@ -742,7 +742,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_TRAIN, EC_WORD_GOOD, EC_WORD_ENOUGH, EC_WORD_QUES},
.speechWin = {EC_WORD_DON_T, EC_MOVE2(TAUNT), EC_WORD_ME, EC_WORD_LIKE, EC_WORD_THAT, EC_WORD_OK_QUES},
.speechLose = {EC_WORD_WHY, EC_WORD_COULDN_T, EC_WORD_I, EC_WORD_WIN, EC_WORD_THIS, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Kathryn
+ .monSet = gBattleFrontierTrainerMons_Kathryn
},
[FRONTIER_TRAINER_ELLEN] = {
.facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F,
@@ -750,7 +750,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_CRUSH, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_AN, EC_WORD_EGG, EC_WORD_EXCL},
.speechWin = {EC_WORD_THAT_WAS, EC_WORD_A, EC_WORD_TASTY, EC_WORD_VICTORY, EC_WORD_FOR, EC_WORD_ME},
.speechLose = {EC_WORD_TOO, EC_WORD_TOUGH, EC_WORD_TO, EC_WORD_CRUSH, EC_WORD_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Ellen
+ .monSet = gBattleFrontierTrainerMons_Ellen
},
[FRONTIER_TRAINER_RAMON] = {
.facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M,
@@ -758,7 +758,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_OKAY, EC_WORD_EXCL, 0xFFFF, EC_WORD_THIS, EC_WORD_IS, EC_WORD_PERFECTION},
.speechWin = {EC_WORD_I_AM, EC_WORD_HAPPY, EC_WORD_THAT, EC_WORD_I, EC_WORD_WON, EC_WORD_EXCL},
.speechLose = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_SECRET, EC_WORD_WHY, EC_WORD_I_AM, EC_WORD_HAPPY},
- .monSets = gBattleFrontierTrainerMons_Ramon
+ .monSet = gBattleFrontierTrainerMons_Ramon
},
[FRONTIER_TRAINER_ARTHUR] = {
.facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M,
@@ -766,7 +766,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_HERE_I_COME, EC_WORD_FEELING, EC_WORD_READY, EC_WORD_FOR, EC_WORD_IT, EC_WORD_ALL},
.speechWin = {EC_WORD_THAT_S_IT_EXCL, 0xFFFF, 0xFFFF, EC_WORD_THAT_WAS, EC_WORD_FABULOUS, EC_WORD_EXCL},
.speechLose = {EC_WORD_THAT_WAS, EC_WORD_NOT, EC_WORD_WHAT, EC_WORD_I, EC_WORD_NEED, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Arthur
+ .monSet = gBattleFrontierTrainerMons_Arthur
},
[FRONTIER_TRAINER_ALONDRA] = {
.facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F,
@@ -774,7 +774,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_EVERY, EC_WORD_DAY, EC_WORD_IS, EC_WORD_A, EC_WORD_GREAT, EC_WORD_DAY},
.speechWin = {EC_WORD_MY, EC_MOVE2(DIVE), EC_WORD_WILL, EC_WORD_BE, EC_WORD_A, EC_WORD_LEGEND},
.speechLose = {EC_WORD_MY, EC_MOVE2(DIVE), EC_WORD_LEFT, EC_WORD_ME, EC_WORD_COLD, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Alondra
+ .monSet = gBattleFrontierTrainerMons_Alondra
},
[FRONTIER_TRAINER_ADRIANA] = {
.facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F,
@@ -782,7 +782,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_COME, EC_WORD_SEE, EC_WORD_AN, EC_WORD_INCREDIBLE, EC_WORD_SWIFT_SWIM, EC_WORD_EXCL},
.speechWin = {EC_WORD_I, EC_WORD_MAKE, EC_WORD_IT, EC_WORD_LOOK, EC_WORD_SO, EC_WORD_EASY},
.speechLose = {EC_WORD_I_AM, EC_WORD_FEELING, EC_MOVE2(BEAT_UP), EC_WORD_AND, EC_WORD_TIRED, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Adriana
+ .monSet = gBattleFrontierTrainerMons_Adriana
},
[FRONTIER_TRAINER_MALIK] = {
.facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M,
@@ -790,7 +790,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_OH, EC_WORD_NOT, EC_WORD_ANOTHER, EC_WORD_BATTLE, EC_WORD_PLEASE, EC_WORD_ELLIPSIS},
.speechWin = {EC_WORD_I, EC_WORD_FINALLY, EC_WORD_WON, EC_WORD_ELLIPSIS, EC_WORD_I_AM, EC_WORD_TIRED},
.speechLose = {EC_WORD_I, EC_WORD_FINALLY, EC_WORD_LOST, EC_WORD_ELLIPSIS, EC_WORD_I_AM, EC_WORD_TIRED},
- .monSets = gBattleFrontierTrainerMons_Malik
+ .monSet = gBattleFrontierTrainerMons_Malik
},
[FRONTIER_TRAINER_JILL] = {
.facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F,
@@ -798,7 +798,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_MOVE2(QUICK_ATTACK), EC_WORD_TRAINER, EC_WORD_EXCL, 0xFFFF},
.speechWin = {EC_WORD_THE, EC_MOVE2(QUICK_ATTACK), EC_WORD_TRAINER, EC_WORD_WINS, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_THE, EC_MOVE2(QUICK_ATTACK), EC_WORD_TRAINER, EC_WORD_GIVES, EC_WORD_UP, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Jill
+ .monSet = gBattleFrontierTrainerMons_Jill
},
[FRONTIER_TRAINER_ERIK] = {
.facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M,
@@ -806,7 +806,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_SPEED_BOOST, EC_WORD_HERO, EC_WORD_EXCL, 0xFFFF},
.speechWin = {EC_WORD_THANK_YOU, EC_WORD_FROM, EC_WORD_THE, EC_WORD_SPEED_BOOST, EC_WORD_HERO, EC_WORD_EXCL},
.speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_NO, EC_WORD_NO, EC_WORD_EXCL_EXCL},
- .monSets = gBattleFrontierTrainerMons_Erik
+ .monSet = gBattleFrontierTrainerMons_Erik
},
[FRONTIER_TRAINER_YAZMIN] = {
.facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F,
@@ -814,7 +814,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_WOULD, EC_WORD_RATHER, EC_WORD_RUN, EC_WORD_THAN, EC_WORD_BIKE},
.speechWin = {EC_WORD_YES, EC_WORD_I, EC_WORD_WOULD, EC_WORD_MUCH, EC_WORD_RATHER, EC_WORD_RUN},
.speechLose = {EC_WORD_BYE_BYE, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_RUN_AWAY},
- .monSets = gBattleFrontierTrainerMons_Yazmin
+ .monSet = gBattleFrontierTrainerMons_Yazmin
},
[FRONTIER_TRAINER_JAMAL] = {
.facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M,
@@ -822,7 +822,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_BE, EC_WORD_A, EC_WORD_FATHER},
.speechWin = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_WAIT, EC_WORD_FOR, EC_WORD_MY, EC_WORD_BABY},
.speechLose = {EC_WORD_MY, EC_WORD_BABY, EC_WORD_WILL, EC_WORD_BE, EC_WORD_TOTALLY, EC_WORD_AWESOME},
- .monSets = gBattleFrontierTrainerMons_Jamal
+ .monSet = gBattleFrontierTrainerMons_Jamal
},
[FRONTIER_TRAINER_LESLIE] = {
.facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F,
@@ -830,7 +830,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_BE, EC_WORD_A, EC_WORD_MOTHER},
.speechWin = {EC_WORD_A, EC_WORD_BABY, EC_WORD_WILL, EC_WORD_BE, EC_WORD_A_LITTLE, EC_WORD_CHALLENGE},
.speechLose = {EC_WORD_I_AM, EC_WORD_TOO, EC_WORD_HAPPY, EC_WORD_TO, EC_WORD_BE, EC_WORD_ANGRY},
- .monSets = gBattleFrontierTrainerMons_Leslie
+ .monSet = gBattleFrontierTrainerMons_Leslie
},
[FRONTIER_TRAINER_DAVE] = {
.facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M,
@@ -838,7 +838,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_WHAT, EC_WORD_SHOULD, EC_WORD_I, EC_WORD_DO, EC_WORD_TODAY, EC_WORD_QUES},
.speechWin = {EC_WORD_I, EC_WORD_SHOULD, EC_WORD_ENJOY, EC_WORD_SOME, EC_WORD_SPORTS, EC_WORD_EXCL},
.speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_GO, EC_WORD_PLAY, EC_WORD_A, EC_WORD_GAME},
- .monSets = gBattleFrontierTrainerMons_Dave
+ .monSet = gBattleFrontierTrainerMons_Dave
},
[FRONTIER_TRAINER_CARLO] = {
.facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M,
@@ -846,7 +846,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_HAH, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_YEAH, EC_WORD_EXCL_EXCL, 0xFFFF},
.speechWin = {EC_WORD_I, EC_WORD_DO, EC_WORD_THINGS, EC_WORD_AT, EC_MOVE(EXTREME_SPEED), EC_WORD_EXCL},
.speechLose = {EC_WORD_I, EC_WORD_LOST, EC_WORD_AT, EC_MOVE(EXTREME_SPEED), EC_WORD_ELLIPSIS, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Carlo
+ .monSet = gBattleFrontierTrainerMons_Carlo
},
[FRONTIER_TRAINER_EMILIA] = {
.facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F,
@@ -854,7 +854,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_ME, EC_WORD_WORRY, EC_WORD_QUES, EC_WORD_I, EC_WORD_HAVE, EC_WORD_NONE},
.speechWin = {EC_WORD_AHAHA, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_THAT_WAS, EC_WORD_FANTASTIC, EC_WORD_EXCL},
.speechLose = {EC_WORD_AHAHA, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_THAT_WAS, EC_WORD_ENTERTAINING, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Emilia
+ .monSet = gBattleFrontierTrainerMons_Emilia
},
[FRONTIER_TRAINER_DALIA] = {
.facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F,
@@ -862,7 +862,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MY, EC_WORD_BIKE, EC_WORD_IS, EC_WORD_VERY, EC_WORD_EXPENSIVE, 0xFFFF},
.speechWin = {EC_WORD_DON_T, EC_WORD_COME, EC_WORD_NEAR, EC_WORD_MY, EC_WORD_BIKE, EC_WORD_EXCL},
.speechLose = {EC_WORD_MY, EC_WORD_BIKE, EC_WORD_IS, EC_WORD_MY, EC_WORD_BEST, EC_WORD_FRIEND},
- .monSets = gBattleFrontierTrainerMons_Dalia
+ .monSet = gBattleFrontierTrainerMons_Dalia
},
[FRONTIER_TRAINER_HITOMI] = {
.facilityClass = FACILITY_CLASS_BLACK_BELT,
@@ -870,7 +870,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YEAH, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_HAH, EC_WORD_EXCL_EXCL, 0xFFFF},
.speechWin = {EC_WORD_WHAT, EC_WORD_QUES_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_WON, EC_WORD_QUES_EXCL},
.speechLose = {EC_WORD_AIYEEH, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_EXCL_EXCL},
- .monSets = gBattleFrontierTrainerMons_Hitomi
+ .monSet = gBattleFrontierTrainerMons_Hitomi
},
[FRONTIER_TRAINER_RICARDO] = {
.facilityClass = FACILITY_CLASS_BLACK_BELT,
@@ -878,7 +878,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_COME_ON, EC_WORD_EXCL, EC_WORD_PLAY, EC_WORD_TIME, EC_WORD_IS, EC_WORD_OVER},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_OUT, EC_WORD_OF, EC_WORD_HERE, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_PLEASE, EC_WORD_DON_T, EC_WORD_HIT, EC_WORD_ME, EC_WORD_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Ricardo
+ .monSet = gBattleFrontierTrainerMons_Ricardo
},
[FRONTIER_TRAINER_SHIZUKA] = {
.facilityClass = FACILITY_CLASS_BLACK_BELT,
@@ -886,7 +886,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_SHOW, EC_WORD_ME, EC_WORD_THAT, EC_WORD_YOU_RE, EC_WORD_SERIOUS, EC_WORD_EXCL},
.speechWin = {EC_WORD_I, EC_WORD_WON_T, EC_WORD_FORGET, EC_WORD_ABOUT, EC_WORD_YOU, 0xFFFF},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_PERFECT, EC_WORD_IN, EC_WORD_EVERY, EC_WORD_WAY, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Shizuka
+ .monSet = gBattleFrontierTrainerMons_Shizuka
},
[FRONTIER_TRAINER_JOANA] = {
.facilityClass = FACILITY_CLASS_BATTLE_GIRL,
@@ -894,7 +894,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YOU_RE, EC_WORD_GOING, EC_WORD_TO, EC_WORD_LOSE, EC_WORD_RIGHT, EC_WORD_AWAY},
.speechWin = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_WINNER, EC_WORD_HEAR, EC_WORD_ME, EC_MOVE2(ROAR)},
.speechLose = {EC_WORD_I, EC_WORD_REFUSE, EC_WORD_TO, EC_WORD_ACCEPT, EC_WORD_THAT, EC_MOVE(OUTRAGE)},
- .monSets = gBattleFrontierTrainerMons_Joana
+ .monSet = gBattleFrontierTrainerMons_Joana
},
[FRONTIER_TRAINER_KELLY] = {
.facilityClass = FACILITY_CLASS_BATTLE_GIRL,
@@ -902,7 +902,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MY, EC_WORD_NIGHT, EC_WORD_SCHOOL, EC_WORD_IS, EC_WORD_REALLY, EC_WORD_SCARY},
.speechWin = {EC_WORD_A, EC_WORD_LADY, EC_WORD_GHOST, EC_WORD_APPEARS, EC_WORD_THERE, 0xFFFF},
.speechLose = {EC_WORD_THE, EC_WORD_HOME, EC_WORD_WORK, EC_WORD_IS, EC_WORD_AWFULLY, EC_WORD_SCARY},
- .monSets = gBattleFrontierTrainerMons_Kelly
+ .monSet = gBattleFrontierTrainerMons_Kelly
},
[FRONTIER_TRAINER_RAYNA] = {
.facilityClass = FACILITY_CLASS_BATTLE_GIRL,
@@ -910,7 +910,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_NO_1, EC_WORD_WHEN, EC_WORD_IT_S, EC_WORD_ABOUT, EC_WORD_POWER},
.speechWin = {EC_WORD_UNDERSTAND, EC_WORD_MY, EC_WORD_POWER, EC_WORD_NOW, EC_WORD_QUES, 0xFFFF},
.speechLose = {EC_WORD_TERRIBLE, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_I_AM, EC_WORD_TERRIBLE, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Rayna
+ .monSet = gBattleFrontierTrainerMons_Rayna
},
[FRONTIER_TRAINER_EVAN] = {
.facilityClass = FACILITY_CLASS_EXPERT_M,
@@ -918,7 +918,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_EVERY, EC_WORD_BATTLE, EC_WORD_HAS, EC_WORD_A, EC_WORD_SMELL, 0xFFFF},
.speechWin = {EC_WORD_OH, EC_WORD_EXCL, EC_WORD_THE, EC_MOVE(SWEET_SCENT), EC_WORD_OF, EC_WORD_VICTORY},
.speechLose = {EC_WORD_THE, EC_WORD_AWFUL, EC_WORD_STENCH, EC_WORD_OF, EC_WORD_A, EC_WORD_LOSS},
- .monSets = gBattleFrontierTrainerMons_Evan
+ .monSet = gBattleFrontierTrainerMons_Evan
},
[FRONTIER_TRAINER_JORDAN] = {
.facilityClass = FACILITY_CLASS_EXPERT_M,
@@ -926,7 +926,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_GOOD, EC_WORD_EXCL, 0xFFFF, EC_WORD_COME_ON, EC_WORD_EXCL_EXCL, 0xFFFF},
.speechWin = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_BEAT, EC_WORD_ME, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_WHAT, EC_WORD_QUES_EXCL, 0xFFFF, EC_WORD_BUT, EC_WORD_HOW, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Jordan
+ .monSet = gBattleFrontierTrainerMons_Jordan
},
[FRONTIER_TRAINER_JOEL] = {
.facilityClass = FACILITY_CLASS_EXPERT_M,
@@ -934,7 +934,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_FUFUFU, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF},
.speechWin = {EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF},
.speechLose = {EC_WORD_HAHAHA, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Joel
+ .monSet = gBattleFrontierTrainerMons_Joel
},
[FRONTIER_TRAINER_KRISTEN] = {
.facilityClass = FACILITY_CLASS_EXPERT_F,
@@ -942,7 +942,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_HAHAHA, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_A, EC_WORD_KID, EC_WORD_ELLIPSIS},
.speechWin = {EC_WORD_JUST, EC_WORD_A_LITTLE, EC_WORD_KID, EC_WORD_AFTER, EC_WORD_ALL, EC_WORD_EXCL},
.speechLose = {EC_WORD_A, EC_WORD_TOUGH, EC_WORD_KID, EC_WORD_HUH_QUES, EC_WORD_HUMPH, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Kristen
+ .monSet = gBattleFrontierTrainerMons_Kristen
},
[FRONTIER_TRAINER_SELPHY] = {
.facilityClass = FACILITY_CLASS_EXPERT_F,
@@ -950,7 +950,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_HUH_QUES, EC_WORD_WHAT, EC_WORD_IS_IT_QUES, 0xFFFF, 0xFFFF, 0xFFFF},
.speechWin = {EC_WORD_OH, EC_WORD_YES, EC_WORD_EXCL, EC_WORD_WHY, EC_WORD_NOT, EC_WORD_QUES},
.speechLose = {EC_WORD_OH, EC_WORD_NO, EC_WORD_EXCL, EC_WORD_WHY, EC_WORD_NOT, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Selphy
+ .monSet = gBattleFrontierTrainerMons_Selphy
},
[FRONTIER_TRAINER_CHLOE] = {
.facilityClass = FACILITY_CLASS_EXPERT_F,
@@ -958,7 +958,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_COME, EC_WORD_WE, EC_WORD_WILL, EC_WORD_DO, EC_WORD_BATTLE, EC_WORD_NOW},
.speechWin = {EC_WORD_MORE, EC_WORD_EXCL, 0xFFFF, EC_WORD_ANOTHER, EC_WORD_BATTLE, EC_WORD_EXCL},
.speechLose = {EC_WORD_OH, EC_WORD_EXCL, 0xFFFF, EC_WORD_STRONG, EC_WORD_YOU, EC_WORD_ARE},
- .monSets = gBattleFrontierTrainerMons_Chloe
+ .monSet = gBattleFrontierTrainerMons_Chloe
},
[FRONTIER_TRAINER_NORTON] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_M,
@@ -966,7 +966,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_KNOW, EC_WORD_ONLY, EC_WORD_YOU, 0xFFFF, 0xFFFF},
.speechWin = {EC_WORD_EXCUSE_ME, EC_WORD_BUT, EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_PUSHOVER, EC_WORD_EXCL},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_SOME, EC_WORD_KIND, EC_WORD_OF, EC_WORD_AWESOME, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Norton
+ .monSet = gBattleFrontierTrainerMons_Norton
},
[FRONTIER_TRAINER_LUKAS] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_M,
@@ -974,7 +974,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MY, EC_WORD_JOKING, EC_WORD_IS, EC_WORD_PRETTY, EC_WORD_TERRIBLE, EC_WORD_ELLIPSIS},
.speechWin = {EC_WORD_YOUR, EC_WORD_ROCK_HEAD, EC_WORD_EXISTS, EC_WORD_TO, EC_WORD_SHINE, EC_WORD_EXCL},
.speechLose = {EC_WORD_YOUR, EC_WORD_ROCK_HEAD, EC_WORD_COME, EC_WORD_TO, EC_WORD_SHINE, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Lukas
+ .monSet = gBattleFrontierTrainerMons_Lukas
},
[FRONTIER_TRAINER_ZACH] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_M,
@@ -982,7 +982,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_AN, EC_WORD_EXCELLENT, EC_MOVE2(MIMIC), EC_WORD_OF, EC_WORD_POKEMON},
.speechWin = {EC_WORD_I_AM, EC_WORD_HAPPY, EC_WORD_LIKE, EC_WORD_A_LITTLE, EC_POKEMON2(TOGEPI), EC_WORD_EXCL},
.speechLose = {EC_WORD_I_AM, EC_WORD_ANGRY, EC_WORD_LIKE, EC_WORD_A, EC_POKEMON2(MANKEY), EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Zach
+ .monSet = gBattleFrontierTrainerMons_Zach
},
[FRONTIER_TRAINER_KAITLYN] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_F,
@@ -990,7 +990,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_CRUSH, EC_WORD_THINGS, EC_WORD_WITH, EC_WORD_PSYCHIC, EC_WORD_POWER},
.speechWin = {EC_WORD_MY, EC_WORD_VICTORY, EC_WORD_WILL, EC_WORD_MAKE, EC_WORD_THE, EC_WORD_NEWS},
.speechLose = {EC_WORD_NO, EC_WORD_NO, EC_WORD_ELLIPSIS, EC_WORD_THIS, EC_WORD_WON_T, EC_WORD_DO},
- .monSets = gBattleFrontierTrainerMons_Kaitlyn
+ .monSet = gBattleFrontierTrainerMons_Kaitlyn
},
[FRONTIER_TRAINER_BREANNA] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_F,
@@ -998,7 +998,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_WILL, EC_WORD_CRUSH, EC_WORD_YOU, EC_WORD_EXCL},
.speechWin = {EC_WORD_HAVE, EC_WORD_SOME, EC_WORD_MORE, EC_WORD_OF, EC_WORD_THIS, EC_WORD_EXCL},
.speechLose = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_GUTS, EC_WORD_AND, EC_WORD_SKILL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Breanna
+ .monSet = gBattleFrontierTrainerMons_Breanna
},
[FRONTIER_TRAINER_KENDRA] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_F,
@@ -1006,7 +1006,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_IF, EC_WORD_YOU_RE, EC_WORD_SMART, EC_WORD_STOP, EC_WORD_RIGHT, EC_WORD_NOW},
.speechWin = {EC_WORD_I, EC_WORD_SAID, EC_WORD_THAT, EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_STOP},
.speechLose = {EC_WORD_WHY, EC_WORD_DIDN_T, EC_WORD_YOU, EC_WORD_STOP, EC_WORD_QUES, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Kendra
+ .monSet = gBattleFrontierTrainerMons_Kendra
},
[FRONTIER_TRAINER_MOLLY] = {
.facilityClass = FACILITY_CLASS_HEX_MANIAC,
@@ -1014,7 +1014,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_WILL, EC_WORD_MY, EC_WORD_CUTE_CHARM, EC_MOVE2(ATTRACT), EC_WORD_YOU, EC_WORD_QUES},
.speechWin = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_MY, EC_WORD_TOYS, EC_WORD_NOW},
.speechLose = {EC_WORD_OH, EC_WORD_HOW, EC_WORD_COULD, EC_WORD_YOU, EC_WORD_QUES, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Molly
+ .monSet = gBattleFrontierTrainerMons_Molly
},
[FRONTIER_TRAINER_JAZMIN] = {
.facilityClass = FACILITY_CLASS_HEX_MANIAC,
@@ -1022,7 +1022,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_FORECAST, EC_WORD_TERRIBLE, EC_WORD_THINGS, EC_WORD_FOR, EC_WORD_YOU},
.speechWin = {EC_WORD_THERE, EC_WORD_WASN_T, EC_WORD_MY, EC_WORD_FORECAST, EC_WORD_RIGHT, EC_WORD_QUES},
.speechLose = {EC_WORD_MY, EC_MOVE2(FORESIGHT), EC_WORD_DIDN_T, EC_WORD_SHOW, EC_WORD_ME, EC_WORD_THIS},
- .monSets = gBattleFrontierTrainerMons_Jazmin
+ .monSet = gBattleFrontierTrainerMons_Jazmin
},
[FRONTIER_TRAINER_KELSEY] = {
.facilityClass = FACILITY_CLASS_HEX_MANIAC,
@@ -1030,7 +1030,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_HAVEN_T, EC_WORD_SLEPT, EC_WORD_IN, EC_WORD_DAYS, EC_WORD_ELLIPSIS},
.speechWin = {EC_WORD_MY, EC_WORD_SLEEP, EC_WORD_WILL, EC_WORD_BE, EC_WORD_EXCELLENT, EC_WORD_NOW},
.speechLose = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_DESTROYED, EC_WORD_MY, EC_WORD_SLEEP, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Kelsey
+ .monSet = gBattleFrontierTrainerMons_Kelsey
},
[FRONTIER_TRAINER_JALEN] = {
.facilityClass = FACILITY_CLASS_POKEMANIAC,
@@ -1038,7 +1038,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_ALLOW, EC_WORD_POKEMON, EC_WORD_TO, EC_MOVE(THRASH)},
.speechWin = {EC_WORD_HAHAHA, EC_WORD_EXCL, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_ANGRY, EC_WORD_QUES},
.speechLose = {EC_WORD_WHY, EC_WORD_IS, EC_WORD_THIS, EC_WORD_SO, EC_WORD_HARD, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Jalen
+ .monSet = gBattleFrontierTrainerMons_Jalen
},
[FRONTIER_TRAINER_GRIFFEN] = {
.facilityClass = FACILITY_CLASS_POKEMANIAC,
@@ -1046,7 +1046,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_MOVE2(SWALLOW), EC_MOVE2(SLUDGE), EC_WORD_TO, EC_MOVE2(TRANSFORM), EC_WORD_MYSELF},
.speechWin = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_A, EC_MOVE(GROWTH), EC_WORD_OF, EC_MOVE2(ACID_ARMOR)},
.speechLose = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_A, EC_MOVE(GROWTH), EC_WORD_OF, EC_WORD_SUCTION_CUPS},
- .monSets = gBattleFrontierTrainerMons_Griffen
+ .monSet = gBattleFrontierTrainerMons_Griffen
},
[FRONTIER_TRAINER_XANDER] = {
.facilityClass = FACILITY_CLASS_POKEMANIAC,
@@ -1054,7 +1054,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_GOT, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ON, EC_WORD_RENTAL},
.speechWin = {EC_WORD_IT_S, EC_WORD_INCREDIBLE, EC_WORD_MY, EC_WORD_RENTAL, EC_WORD_POKEMON, EC_WORD_WON},
.speechLose = {EC_WORD_RENTAL, EC_WORD_POKEMON, EC_WORD_AREN_T, EC_WORD_UP, EC_WORD_TO, EC_MOVE2(SCRATCH)},
- .monSets = gBattleFrontierTrainerMons_Xander
+ .monSet = gBattleFrontierTrainerMons_Xander
},
[FRONTIER_TRAINER_MARVIN] = {
.facilityClass = FACILITY_CLASS_GENTLEMAN,
@@ -1062,7 +1062,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YOU_RE, EC_WORD_UP, EC_WORD_TO, EC_WORD_THE, EC_WORD_CHALLENGE, EC_WORD_QUES},
.speechWin = {EC_WORD_I, EC_WORD_DIDN_T, EC_WORD_THINK, EC_WORD_YOU_RE, EC_WORD_GOOD, EC_WORD_ENOUGH},
.speechLose = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_PERFECT, EC_WORD_THANK_YOU, EC_WORD_SO, EC_WORD_MUCH},
- .monSets = gBattleFrontierTrainerMons_Marvin
+ .monSet = gBattleFrontierTrainerMons_Marvin
},
[FRONTIER_TRAINER_BRENNAN] = {
.facilityClass = FACILITY_CLASS_GENTLEMAN,
@@ -1070,7 +1070,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_MOVE2(WISH), EC_WORD_TO, EC_WORD_SEE, EC_WORD_THE, EC_WORD_NEWS},
.speechWin = {EC_WORD_COMICS, EC_WORD_GET, EC_WORD_DAMP, EC_WORD_FROM, EC_WORD_DRIZZLE, EC_WORD_QUES},
.speechLose = {EC_WORD_THE, EC_WORD_TIGHT, EC_WORD_MONEY, EC_WORD_LIVING, EC_WORD_CHANNEL, EC_WORD_QUES_EXCL},
- .monSets = gBattleFrontierTrainerMons_Brennan
+ .monSet = gBattleFrontierTrainerMons_Brennan
},
[FRONTIER_TRAINER_BALEY] = {
.facilityClass = FACILITY_CLASS_BUG_MANIAC,
@@ -1078,7 +1078,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_MOVE(SCREECH), EC_WORD_IS, EC_WORD_LIKE, EC_WORD_MUSIC, EC_WORD_TO_ME, EC_WORD_EXCL},
.speechWin = {EC_WORD_MY, EC_MOVE(SCREECH), EC_WORD_STRATEGY, EC_WORD_IS, EC_WORD_THE, EC_WORD_BEST},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_SOUNDPROOF, EC_WORD_QUES, 0xFFFF, 0xFFFF, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Baley
+ .monSet = gBattleFrontierTrainerMons_Baley
},
[FRONTIER_TRAINER_ZACKARY] = {
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
@@ -1086,7 +1086,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_CAN, EC_WORD_YOU, EC_MOVE(DIG), EC_WORD_IT, EC_WORD_YO, EC_WORD_QUES},
.speechWin = {EC_MOVE2(TAKE_DOWN), EC_WORD_TAKE, EC_WORD_A, EC_MOVE2(DIVE), EC_WORD_YO, EC_WORD_YO},
.speechLose = {EC_WORD_BREAK, EC_WORD_DOWN, EC_MOVE2(DIVE), EC_WORD_TIME, EC_WORD_FOR, EC_WORD_ME},
- .monSets = gBattleFrontierTrainerMons_Zackary
+ .monSet = gBattleFrontierTrainerMons_Zackary
},
[FRONTIER_TRAINER_GABRIEL] = {
.facilityClass = FACILITY_CLASS_COLLECTOR,
@@ -1094,7 +1094,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_MOVE2(POUND), EC_WORD_THE, EC_WORD_THICK_FAT, EC_WORD_ON, EC_WORD_MY, EC_MOVE2(BELLY_DRUM)},
.speechWin = {EC_MOVE2(POUND), EC_WORD_MY, EC_MOVE2(BELLY_DRUM), EC_MOVE2(POUND), EC_WORD_MY, EC_MOVE2(BELLY_DRUM)},
.speechLose = {EC_WORD_MY, EC_MOVE2(BELLY_DRUM), EC_WORD_WAS, EC_WORD_TOO_WEAK, EC_WORD_ELLIPSIS, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Gabriel
+ .monSet = gBattleFrontierTrainerMons_Gabriel
},
[FRONTIER_TRAINER_EMILY] = {
.facilityClass = FACILITY_CLASS_PARASOL_LADY,
@@ -1102,7 +1102,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_HOW, EC_WORD_ABOUT, EC_WORD_A_TINY_BIT, EC_WORD_OF, EC_MOVE(HYPNOSIS), EC_WORD_QUES},
.speechWin = {EC_WORD_MY, EC_MOVE(HYPNOSIS), EC_WORD_STRATEGY, EC_WORD_WORKS, EC_WORD_TO, EC_WORD_PERFECTION},
.speechLose = {EC_WORD_MY, EC_MOVE(HYPNOSIS), EC_WORD_STRATEGY, EC_WORD_WENT, EC_WORD_BADLY, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Emily
+ .monSet = gBattleFrontierTrainerMons_Emily
},
[FRONTIER_TRAINER_JORDYN] = {
.facilityClass = FACILITY_CLASS_BEAUTY,
@@ -1110,7 +1110,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_KNOW, EC_WORD_MY, EC_WORD_SECRET, EC_WORD_ELLIPSIS},
.speechWin = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_AS, EC_WORD_I, EC_WORD_APPEAR, EC_WORD_ELLIPSIS},
.speechLose = {EC_WORD_BUT, EC_WORD_HOW, EC_WORD_DID, EC_WORD_YOU, EC_WORD_KNOW, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Jordyn
+ .monSet = gBattleFrontierTrainerMons_Jordyn
},
[FRONTIER_TRAINER_SOFIA] = {
.facilityClass = FACILITY_CLASS_AROMA_LADY,
@@ -1118,7 +1118,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_POKEMON(LOUDRED), EC_WORD_PROBABLY, EC_WORD_HAS, EC_WORD_A, EC_MOVE(SWEET_SCENT), 0xFFFF},
.speechWin = {EC_WORD_THAT_S, EC_WORD_THE, EC_WORD_FEELING, EC_WORD_THAT, EC_WORD_I, EC_WORD_GET},
.speechLose = {EC_WORD_I, EC_WORD_WORK, EC_WORD_AT, EC_WORD_THE, EC_WORD_DEPT_STORE, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Sofia
+ .monSet = gBattleFrontierTrainerMons_Sofia
},
[FRONTIER_TRAINER_BRADEN] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_M,
@@ -1126,7 +1126,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_CHOOSE_YOU, EC_WORD_EXCL, 0xFFFF, EC_WORD_THIS_IS_IT_EXCL, 0xFFFF, 0xFFFF},
.speechWin = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_PRETTY, EC_WORD_AWESOME, EC_WORD_ABOUT, EC_WORD_MYSELF},
.speechLose = {EC_WORD_ALL_RIGHT, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_SURRENDER, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Braden
+ .monSet = gBattleFrontierTrainerMons_Braden
},
[FRONTIER_TRAINER_KAYDEN] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_M,
@@ -1134,7 +1134,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_THEY, EC_WORD_OVERDO, EC_WORD_THAT, EC_WORD_GOURMET, EC_WORD_THING, EC_WORD_ELLIPSIS},
.speechWin = {EC_WORD_THAT, EC_WORD_GOURMET, EC_WORD_THING, EC_WORD_ISN_T, EC_WORD_FOR, EC_WORD_ME},
.speechLose = {EC_WORD_HEY, EC_WORD_THIS, EC_WORD_IS, EC_WORD_PRETTY, EC_WORD_TASTY, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Kayden
+ .monSet = gBattleFrontierTrainerMons_Kayden
},
[FRONTIER_TRAINER_COOPER] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_M,
@@ -1142,7 +1142,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_THIS, EC_WORD_SHOULD, EC_WORD_ABSOLUTELY, EC_WORD_BE, EC_WORD_A, EC_WORD_PUSHOVER},
.speechWin = {EC_WORD_THAT_WAS, EC_WORD_TOO, EC_WORD_EXCITING, EC_WORD_FOR, EC_WORD_ME, EC_WORD_ELLIPSIS},
.speechLose = {EC_WORD_PLEASE, EC_WORD_EXCL, 0xFFFF, EC_WORD_SORRY, EC_WORD_I_AM, EC_WORD_SORRY},
- .monSets = gBattleFrontierTrainerMons_Cooper
+ .monSet = gBattleFrontierTrainerMons_Cooper
},
[FRONTIER_TRAINER_JULIA] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_F,
@@ -1150,7 +1150,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_SPIRIT, EC_WORD_ALONE, EC_WORD_WON_T, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_WIN},
.speechWin = {EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_ACCEPT, EC_WORD_THIS, EC_WORD_WITH, EC_WORD_SERENE_GRACE},
.speechLose = {EC_WORD_FOR_NOW, EC_WORD_GOOD_BYE, EC_WORD_BUT, EC_WORD_IT_S, EC_WORD_NOT, EC_WORD_OVER},
- .monSets = gBattleFrontierTrainerMons_Julia
+ .monSet = gBattleFrontierTrainerMons_Julia
},
[FRONTIER_TRAINER_AMARA] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_F,
@@ -1158,7 +1158,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_WROOOAAR_EXCL, EC_WORD_EXCL_EXCL, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_READY, EC_WORD_EXCL_EXCL},
.speechWin = {EC_WORD_I, EC_WORD_LOSE, EC_WORD_MYSELF, EC_WORD_IF, EC_WORD_IT_S, EC_WORD_EXCITING},
.speechLose = {EC_WORD_THAT_S, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_TO, EC_MOVE2(TACKLE), EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Amara
+ .monSet = gBattleFrontierTrainerMons_Amara
},
[FRONTIER_TRAINER_LYNN] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_F,
@@ -1166,7 +1166,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YOUR, EC_WORD_SECRET, EC_WORD_CAN_T, EC_WORD_BE, EC_WORD_HIDDEN, EC_WORD_FOREVER},
.speechWin = {EC_WORD_I, EC_WORD_KNOW, EC_WORD_YOUR, EC_WORD_SECRET, EC_WORD_NOW, EC_WORD_EXCL},
.speechLose = {EC_WORD_YOU, EC_WORD_CAN_T, EC_MOVE(SAFEGUARD), EC_WORD_YOUR, EC_WORD_OWN, EC_WORD_SECRET},
- .monSets = gBattleFrontierTrainerMons_Lynn
+ .monSet = gBattleFrontierTrainerMons_Lynn
},
[FRONTIER_TRAINER_JOVAN] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
@@ -1174,7 +1174,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YOUR, EC_WORD_BATTLE, EC_WORD_SENSE, EC_WORD_IS, EC_WORD_SADLY, EC_WORD_LACKING},
.speechWin = {EC_WORD_MY, EC_WORD_BATTLE, EC_WORD_SENSE, EC_WORD_IS, EC_WORD_COOL, EC_WORD_ISN_T_IT_QUES},
.speechLose = {EC_WORD_I_WAS, EC_WORD_MINUS, EC_WORD_MY, EC_WORD_NORMAL, EC_WORD_POWER, EC_WORD_TODAY},
- .monSets = gBattleFrontierTrainerMons_Jovan
+ .monSet = gBattleFrontierTrainerMons_Jovan
},
[FRONTIER_TRAINER_DOMINIC] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
@@ -1182,7 +1182,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_THIS, EC_WORD_EXCELLENT, EC_WORD_CAMERA, 0xFFFF},
.speechWin = {EC_WORD_MY, EC_WORD_CAMERA, EC_WORD_WAS, EC_WORD_AWFULLY, EC_WORD_EXPENSIVE, 0xFFFF},
.speechLose = {EC_WORD_MY, EC_WORD_CAMERA, EC_WORD_DOESN_T, EC_WORD_MISS, EC_WORD_A, EC_WORD_THING},
- .monSets = gBattleFrontierTrainerMons_Dominic
+ .monSet = gBattleFrontierTrainerMons_Dominic
},
[FRONTIER_TRAINER_NIKOLAS] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
@@ -1190,7 +1190,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_MOVE2(MIMIC), EC_WORD_POKEMON, EC_WORD_AFTER, EC_WORD_EVERY, EC_WORD_BATTLE},
.speechWin = {EC_WORD_IF_I_WIN, EC_WORD_I, EC_WORD_PRETEND, EC_WORD_I_AM, EC_WORD_A, EC_POKEMON2(TAUROS)},
.speechLose = {EC_WORD_IF_I_LOSE, EC_WORD_I, EC_WORD_PRETEND, EC_WORD_I_AM, EC_WORD_A, EC_POKEMON2(MILTANK)},
- .monSets = gBattleFrontierTrainerMons_Nikolas
+ .monSet = gBattleFrontierTrainerMons_Nikolas
},
[FRONTIER_TRAINER_VALERIA] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
@@ -1198,7 +1198,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_MOVE2(WISH), EC_WORD_YOU, EC_WORD_WOULD, EC_WORD_NOT, EC_MOVE2(GLARE)},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_MEAN, EC_WORD_EXCL, EC_WORD_I, EC_WORD_MEAN, EC_WORD_REALLY},
.speechLose = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_A, EC_WORD_REALLY, EC_MOVE(SCARY_FACE), EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Valeria
+ .monSet = gBattleFrontierTrainerMons_Valeria
},
[FRONTIER_TRAINER_DELANEY] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
@@ -1206,7 +1206,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_SCHOOL, EC_WORD_IS, EC_WORD_OVER, EC_WORD_TIME, EC_WORD_TO, EC_WORD_PLAY},
.speechWin = {EC_WORD_MY, EC_WORD_BOY, EC_WORD_FRIEND, EC_WORD_IS, EC_WORD_FROM, EC_WORD_SCHOOL},
.speechLose = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_WORK, EC_WORD_NEXT, EC_WORD_WEEK},
- .monSets = gBattleFrontierTrainerMons_Delaney
+ .monSet = gBattleFrontierTrainerMons_Delaney
},
[FRONTIER_TRAINER_MEGHAN] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
@@ -1214,7 +1214,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_SCHOOL, EC_WORD_IS, EC_WORD_OUT, EC_WORD_TIME, EC_WORD_TO, EC_WORD_PLAY},
.speechWin = {EC_WORD_MY, EC_WORD_BOY, EC_WORD_FRIEND, EC_WORD_LIKES, EC_WORD_COMICS, 0xFFFF},
.speechLose = {EC_WORD_IT_S, EC_WORD_BACK, EC_WORD_TO, EC_WORD_SCHOOL, EC_WORD_SOON, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Meghan
+ .monSet = gBattleFrontierTrainerMons_Meghan
},
[FRONTIER_TRAINER_ROBERTO] = {
.facilityClass = FACILITY_CLASS_DRAGON_TAMER,
@@ -1222,7 +1222,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_DRAGON, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_INVINCIBLE, EC_WORD_EXCL, 0xFFFF},
.speechWin = {EC_WORD_YOU, EC_WORD_WEREN_T, EC_WORD_BAD, EC_WORD_I_WAS, EC_WORD_JUST, EC_WORD_BETTER},
.speechLose = {EC_WORD_AREN_T, EC_WORD_YOU, EC_WORD_SATISFIED, EC_WORD_YET, EC_WORD_QUES, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Roberto
+ .monSet = gBattleFrontierTrainerMons_Roberto
},
[FRONTIER_TRAINER_DAMIAN] = {
.facilityClass = FACILITY_CLASS_DRAGON_TAMER,
@@ -1230,7 +1230,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MY, EC_WORD_PURE_POWER, EC_WORD_IS, EC_WORD_MACHINE, EC_WORD_LIKE, EC_WORD_EXCL},
.speechWin = {EC_WORD_MY, EC_MOVE2(MACH_PUNCH), EC_WORD_WILL, EC_WORD_MAKE, EC_WORD_A, EC_MOVE(BRICK_BREAK)},
.speechLose = {EC_WORD_ARRGH, EC_WORD_EXCL, 0xFFFF, EC_WORD_NO, EC_WORD_EXCL_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Damian
+ .monSet = gBattleFrontierTrainerMons_Damian
},
[FRONTIER_TRAINER_BRODY] = {
.facilityClass = FACILITY_CLASS_DRAGON_TAMER,
@@ -1238,7 +1238,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MY, EC_WORD_FASHION, EC_WORD_SENSE, EC_WORD_SEEMS, EC_POKEMON(ODDISH), EC_WORD_QUES},
.speechWin = {EC_WORD_IT_S, EC_WORD_MY, EC_WORD_FAMILY, EC_WORD_STAY_AT_HOME, EC_WORD_LOOK, EC_WORD_EXCL},
.speechLose = {EC_WORD_I, EC_WORD_QUESTION, EC_WORD_YOUR, EC_WORD_FASHION, EC_WORD_SENSE, EC_WORD_SERIOUSLY},
- .monSets = gBattleFrontierTrainerMons_Brody
+ .monSet = gBattleFrontierTrainerMons_Brody
},
[FRONTIER_TRAINER_GRAHAM] = {
.facilityClass = FACILITY_CLASS_DRAGON_TAMER,
@@ -1246,7 +1246,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YEAH, EC_WORD_EXCL, 0xFFFF, EC_WORD_YEAH_YEAH, EC_WORD_EXCL_EXCL, 0xFFFF},
.speechWin = {EC_WORD_WAHAHAHA, EC_WORD_WAHAHAHA, EC_WORD_EXCL, EC_WORD_WAHAHAHA, EC_WORD_WAHAHAHA, EC_WORD_EXCL_EXCL},
.speechLose = {EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_ELLIPSIS, EC_WORD_IT_S, EC_WORD_MY, EC_WORD_BAD},
- .monSets = gBattleFrontierTrainerMons_Graham
+ .monSet = gBattleFrontierTrainerMons_Graham
},
[FRONTIER_TRAINER_TYLOR] = {
.facilityClass = FACILITY_CLASS_POKEFAN_M,
@@ -1254,7 +1254,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_ARE, EC_WORD_YOU, EC_WORD_FEELING, EC_WORD_MY, EC_MOVE2(HEAT_WAVE), EC_WORD_QUES},
.speechWin = {EC_WORD_YES, EC_WORD_I_AM, EC_WORD_ON, EC_WORD_FIRE, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_BUT, EC_WORD_I_WAS, EC_WORD_ON, EC_WORD_FIRE, EC_WORD_FOR, EC_WORD_YOU},
- .monSets = gBattleFrontierTrainerMons_Tylor
+ .monSet = gBattleFrontierTrainerMons_Tylor
},
[FRONTIER_TRAINER_JAREN] = {
.facilityClass = FACILITY_CLASS_POKEFAN_F,
@@ -1262,7 +1262,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_FIGHTING, EC_WORD_SPIRIT, EC_WORD_QUES, EC_WORD_ME, EC_WORD_QUES, 0xFFFF},
.speechWin = {EC_WORD_I, EC_WORD_WANT, EC_WORD_MORE, EC_WORD_CUTE, EC_WORD_POKEMON, 0xFFFF},
.speechLose = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_LOOK, EC_WORD_QUITE, EC_WORD_CUTE, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Jaren
+ .monSet = gBattleFrontierTrainerMons_Jaren
},
[FRONTIER_TRAINER_CORDELL] = {
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
@@ -1270,7 +1270,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_A, EC_WORD_BATTLE, EC_WORD_IS, EC_WORD_DECIDED, EC_WORD_ON, EC_WORD_SPIRIT},
.speechWin = {EC_WORD_CAN_T, EC_WORD_YOU, EC_WORD_ACCEPT, EC_WORD_THAT, EC_WORD_QUES, 0xFFFF},
.speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_BE, EC_WORD_ON, EC_WORD_MY, EC_WORD_WAY},
- .monSets = gBattleFrontierTrainerMons_Cordell
+ .monSet = gBattleFrontierTrainerMons_Cordell
},
[FRONTIER_TRAINER_JAZLYN] = {
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
@@ -1278,7 +1278,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_IS, EC_WORD_YOUR, EC_WORD_POKEDEX, EC_WORD_REALLY, EC_WORD_AWESOME, EC_WORD_QUES},
.speechWin = {EC_WORD_OH_YEAH, EC_WORD_WOW, EC_WORD_YOUR, EC_WORD_POKEDEX, EC_WORD_IS, EC_WORD_SUPER},
.speechLose = {EC_WORD_AN, EC_WORD_AVANT_GARDE, EC_WORD_POKEDEX, EC_WORD_WOULD, EC_WORD_BE, EC_WORD_AWESOME},
- .monSets = gBattleFrontierTrainerMons_Jazlyn
+ .monSet = gBattleFrontierTrainerMons_Jazlyn
},
[FRONTIER_TRAINER_ZACHERY] = {
.facilityClass = FACILITY_CLASS_YOUNGSTER,
@@ -1286,7 +1286,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_MY, EC_WORD_OWN, EC_WORD_PLACE, EC_WORD_YEEHAW_EXCL},
.speechWin = {EC_WORD_IT_S, EC_WORD_AN, EC_WORD_EXCITING, EC_WORD_TIME, EC_WORD_FOR, EC_WORD_ME},
.speechLose = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_FLATTEN, EC_WORD_MY, EC_WORD_HAPPINESS, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Zachery
+ .monSet = gBattleFrontierTrainerMons_Zachery
},
[FRONTIER_TRAINER_JOHAN] = {
.facilityClass = FACILITY_CLASS_YOUNGSTER,
@@ -1294,7 +1294,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_WINTER, EC_WORD_WILL, EC_WORD_SOON, EC_WORD_BE, EC_WORD_HERE, 0xFFFF},
.speechWin = {EC_WORD_MY, EC_WORD_ALLOWANCE, EC_WORD_COULD, EC_WORD_USE, EC_WORD_A, EC_MOVE2(HELPING_HAND)},
.speechLose = {EC_WORD_I, EC_WORD_ALWAYS, EC_WORD_USE, EC_WORD_MY, EC_WORD_ALLOWANCE, EC_WORD_UP},
- .monSets = gBattleFrontierTrainerMons_Johan
+ .monSet = gBattleFrontierTrainerMons_Johan
},
[FRONTIER_TRAINER_SHEA] = {
.facilityClass = FACILITY_CLASS_LASS,
@@ -1302,7 +1302,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_DO, EC_WORD_YOU, EC_WORD_BATTLE, EC_WORD_WITH, EC_WORD_BEAUTY, EC_WORD_QUES},
.speechWin = {EC_WORD_YOU, EC_WORD_BATTLE, EC_WORD_IN, EC_WORD_AN, EC_WORD_UGLY, EC_WORD_WAY},
.speechLose = {EC_WORD_WHAT, EC_WORD_IS, EC_WORD_BEAUTY, EC_WORD_TO, EC_WORD_YOU, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Shea
+ .monSet = gBattleFrontierTrainerMons_Shea
},
[FRONTIER_TRAINER_KAILA] = {
.facilityClass = FACILITY_CLASS_LASS,
@@ -1310,7 +1310,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_THIRSTY, EC_WORD_RIGHT, EC_WORD_NOW, EC_WORD_ELLIPSIS},
.speechWin = {EC_WORD_I, EC_WORD_COULD, EC_WORD_USE, EC_WORD_A, EC_WORD_COLD, EC_WORD_DRINK},
.speechLose = {EC_WORD_THAT, EC_WORD_LOSS, EC_WORD_IS, EC_WORD_HARD, EC_WORD_TO, EC_MOVE2(SWALLOW)},
- .monSets = gBattleFrontierTrainerMons_Kaila
+ .monSet = gBattleFrontierTrainerMons_Kaila
},
[FRONTIER_TRAINER_ISIAH] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_M,
@@ -1318,7 +1318,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_PRETEND, EC_WORD_TO, EC_WORD_STUDY, EC_WORD_A_LOT, 0xFFFF},
.speechWin = {EC_WORD_I, EC_MOVE2(TRICK), EC_WORD_MOTHER, EC_WORD_FOR, EC_WORD_MY, EC_WORD_ALLOWANCE},
.speechLose = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_WANT, EC_WORD_TO, EC_WORD_STUDY, EC_WORD_MORE},
- .monSets = gBattleFrontierTrainerMons_Isiah
+ .monSet = gBattleFrontierTrainerMons_Isiah
},
[FRONTIER_TRAINER_GARRETT] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_M,
@@ -1326,7 +1326,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_ENJOY, EC_WORD_COMICS, EC_WORD_AND, EC_WORD_THIS, EC_WORD_GAME},
.speechWin = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_THIS, EC_WORD_MUSIC, EC_WORD_IDOL, EC_WORD_TOO},
.speechLose = {EC_WORD_BUT, EC_WORD_I, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_STUDY, EC_WORD_MORE},
- .monSets = gBattleFrontierTrainerMons_Garrett
+ .monSet = gBattleFrontierTrainerMons_Garrett
},
[FRONTIER_TRAINER_HAYLIE] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
@@ -1334,7 +1334,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_WORRY, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_TO, EC_WORD_SLEEP},
.speechWin = {EC_WORD_A, EC_WORD_WIN, EC_WORD_GIVES, EC_WORD_ME, EC_WORD_A, EC_MOVE2(CALM_MIND)},
.speechLose = {EC_WORD_MY, EC_WORD_INSOMNIA, EC_WORD_WILL, EC_WORD_GET, EC_WORD_BAD, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Haylie
+ .monSet = gBattleFrontierTrainerMons_Haylie
},
[FRONTIER_TRAINER_MEGAN] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
@@ -1342,7 +1342,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_BELIEVE, EC_WORD_IN, EC_WORD_AN, EC_MOVE(AROMATHERAPY), EC_WORD_BATH},
.speechWin = {EC_WORD_I, EC_WORD_WANT, EC_WORD_A, EC_WORD_HEALTHY, EC_WORD_CLEAR_BODY, 0xFFFF},
.speechLose = {EC_WORD_IF, EC_WORD_ONLY, EC_MOVE(AROMATHERAPY), EC_WORD_WERE, EC_WORD_LESS, EC_WORD_EXPENSIVE},
- .monSets = gBattleFrontierTrainerMons_Megan
+ .monSet = gBattleFrontierTrainerMons_Megan
},
[FRONTIER_TRAINER_ISSAC] = {
.facilityClass = FACILITY_CLASS_RICH_BOY,
@@ -1350,7 +1350,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MY, EC_WORD_HOBBY, EC_WORD_QUES, 0xFFFF, 0xFFFF, 0xFFFF},
.speechWin = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_ANY, EC_WORD_KIND, EC_WORD_OF, EC_MOVE2(WATER_SPORT)},
.speechLose = {EC_WORD_I, EC_WORD_DISLIKE, EC_WORD_ANY, EC_WORD_KIND, EC_WORD_OF, EC_MOVE2(MUD_SPORT)},
- .monSets = gBattleFrontierTrainerMons_Issac
+ .monSet = gBattleFrontierTrainerMons_Issac
},
[FRONTIER_TRAINER_QUINTON] = {
.facilityClass = FACILITY_CLASS_RICH_BOY,
@@ -1358,7 +1358,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_SAD, EC_WORD_CAUSE, EC_WORD_I_AM, EC_WORD_TOO_WEAK, 0xFFFF},
.speechWin = {EC_WORD_YOU, EC_WORD_AREN_T, EC_WORD_TOO_STRONG, EC_WORD_FOR, EC_WORD_ME, 0xFFFF},
.speechLose = {EC_WORD_HEY, EC_WORD_WHAT, EC_WORD_DID, EC_WORD_I, EC_WORD_DO, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Quinton
+ .monSet = gBattleFrontierTrainerMons_Quinton
},
[FRONTIER_TRAINER_SALMA] = {
.facilityClass = FACILITY_CLASS_LADY,
@@ -1366,7 +1366,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YOU_VE, EC_WORD_GOT, EC_WORD_YOUR, EC_WORD_HUSTLE, EC_WORD_ON, EC_WORD_EXCL},
.speechWin = {EC_WORD_I, EC_WORD_WIN, EC_WORD_YOU, EC_WORD_HUSTLE, EC_WORD_ON, EC_WORD_OUT},
.speechLose = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_GET, EC_WORD_HOW, EC_WORD_I, EC_WORD_LOST},
- .monSets = gBattleFrontierTrainerMons_Salma
+ .monSet = gBattleFrontierTrainerMons_Salma
},
[FRONTIER_TRAINER_ANSLEY] = {
.facilityClass = FACILITY_CLASS_LADY,
@@ -1374,7 +1374,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_BORED, EC_WORD_ELLIPSIS, EC_WORD_DANCE, EC_WORD_FOR, EC_WORD_ME},
.speechWin = {EC_WORD_YOU_VE, EC_WORD_BORED, EC_WORD_ME, EC_WORD_SOME, EC_WORD_MORE, 0xFFFF},
.speechLose = {EC_WORD_TAKE, EC_WORD_YOUR, EC_MOVE2(FRUSTRATION), EC_WORD_SOME, EC_WORD_OTHER, EC_WORD_PLACE},
- .monSets = gBattleFrontierTrainerMons_Ansley
+ .monSet = gBattleFrontierTrainerMons_Ansley
},
[FRONTIER_TRAINER_HOLDEN] = {
.facilityClass = FACILITY_CLASS_BUG_CATCHER,
@@ -1382,7 +1382,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_LET_S, EC_WORD_COMMEMORATE, EC_WORD_MY, EC_WORD_COOLNESS, EC_WORD_IN, EC_WORD_BATTLE},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_TOO_WEAK, EC_WORD_FOR, EC_WORD_ANY, EC_WORD_PRAISE, 0xFFFF},
.speechLose = {EC_WORD_YOUR, EC_WORD_BATTLE, EC_WORD_SENSE, EC_WORD_IS, EC_WORD_AMUSING, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Holden
+ .monSet = gBattleFrontierTrainerMons_Holden
},
[FRONTIER_TRAINER_LUCA] = {
.facilityClass = FACILITY_CLASS_BUG_CATCHER,
@@ -1390,7 +1390,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_WE, EC_WORD_WILL, EC_WORD_HAVE, EC_WORD_A, EC_WORD_COOL, EC_WORD_BATTLE},
.speechWin = {EC_WORD_I, EC_WORD_WON, EC_WORD_IN, EC_WORD_A, EC_WORD_COOL, EC_WORD_WAY},
.speechLose = {EC_WORD_HELLO, EC_WORD_QUES, EC_WORD_I_AM, EC_WORD_JUST, EC_WORD_A, EC_WORD_KID},
- .monSets = gBattleFrontierTrainerMons_Luca
+ .monSet = gBattleFrontierTrainerMons_Luca
},
[FRONTIER_TRAINER_JAMISON] = {
.facilityClass = FACILITY_CLASS_NINJA_BOY,
@@ -1398,7 +1398,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MY, EC_MOVE2(SECRET_POWER), EC_WORD_IS, EC_WORD_OVERWHELMING, EC_WORD_TO, EC_WORD_POKEMON},
.speechWin = {EC_WORD_DID, EC_WORD_YOU, EC_WORD_SEE, EC_WORD_THAT, EC_WORD_QUES, 0xFFFF},
.speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_USE, EC_MOVE(SMOKESCREEN), EC_WORD_TO, EC_WORD_ESCAPE},
- .monSets = gBattleFrontierTrainerMons_Jamison
+ .monSet = gBattleFrontierTrainerMons_Jamison
},
[FRONTIER_TRAINER_GUNNAR] = {
.facilityClass = FACILITY_CLASS_NINJA_BOY,
@@ -1406,7 +1406,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_MOVE(CUT), EC_WORD_DOWN, EC_WORD_EVERY, EC_WORD_OPPONENT, 0xFFFF},
.speechWin = {EC_WORD_DON_T, EC_MOVE(GRUDGE), EC_WORD_ME, EC_WORD_FOR, EC_WORD_YOUR, EC_WORD_LOSS},
.speechLose = {EC_WORD_PLEASE, EC_WORD_LOSE, EC_WORD_THAT, EC_MOVE(SCARY_FACE), EC_WORD_OF, EC_WORD_YOURS},
- .monSets = gBattleFrontierTrainerMons_Gunnar
+ .monSet = gBattleFrontierTrainerMons_Gunnar
},
[FRONTIER_TRAINER_CRAIG] = {
.facilityClass = FACILITY_CLASS_TUBER_M,
@@ -1414,7 +1414,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_WAIT, EC_WORD_FOR, EC_WORD_MY, EC_WORD_TRAIN},
.speechWin = {EC_WORD_MY, EC_WORD_TRAIN, EC_WORD_ISN_T, EC_WORD_HERE, EC_WORD_YET, EC_WORD_ELLIPSIS},
.speechLose = {EC_WORD_HERE_IT_IS, EC_WORD_MY, EC_WORD_TRAIN, EC_WORD_SEE_YA, EC_WORD_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Craig
+ .monSet = gBattleFrontierTrainerMons_Craig
},
[FRONTIER_TRAINER_PIERCE] = {
.facilityClass = FACILITY_CLASS_TUBER_M,
@@ -1422,7 +1422,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_THERE, EC_WORD_WAS, EC_WORD_A, EC_MOVE2(HEAT_WAVE), EC_WORD_LAST, EC_WORD_WEEK},
.speechWin = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_TAKE, EC_WORD_A, EC_MOVE2(HEAT_WAVE), 0xFFFF},
.speechLose = {EC_WORD_DIDN_T, EC_WORD_IT, EC_MOVE(HAIL), EC_WORD_TOO, EC_WORD_QUES, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Pierce
+ .monSet = gBattleFrontierTrainerMons_Pierce
},
[FRONTIER_TRAINER_REGINA] = {
.facilityClass = FACILITY_CLASS_TUBER_F,
@@ -1430,7 +1430,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_PLAY, EC_WORD_IN, EC_WORD_WATER},
.speechWin = {EC_WORD_I, EC_WORD_REFUSE, EC_WORD_TO, EC_WORD_COME, EC_WORD_OUT, 0xFFFF},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_NOT, EC_WORD_MUCH, EC_WORD_GOOD, EC_WORD_IN, EC_WORD_WATER},
- .monSets = gBattleFrontierTrainerMons_Regina
+ .monSet = gBattleFrontierTrainerMons_Regina
},
[FRONTIER_TRAINER_ALISON] = {
.facilityClass = FACILITY_CLASS_TUBER_F,
@@ -1438,7 +1438,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_THIS, EC_WORD_KINDERGARTEN, EC_WORD_MAGAZINE, EC_WORD_IS, EC_WORD_TOO, EC_WORD_MUCH},
.speechWin = {EC_WORD_HOW, EC_WORD_TO, EC_WORD_BUG, EC_WORD_YOUR, EC_WORD_TEACHER, EC_WORD_QUES},
.speechLose = {EC_WORD_ENJOY, EC_WORD_A, EC_WORD_TASTY, EC_WORD_SCHOOL, EC_WORD_DIET, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Alison
+ .monSet = gBattleFrontierTrainerMons_Alison
},
[FRONTIER_TRAINER_HANK] = {
.facilityClass = FACILITY_CLASS_BUG_MANIAC,
@@ -1446,7 +1446,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_A, EC_WORD_BUG, EC_WORD_EVENT, EC_WORD_SOON},
.speechWin = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_BUG, EC_WORD_FASHION, EC_WORD_SHOW, EC_WORD_EXCL},
.speechLose = {EC_WORD_DON_T, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Hank
+ .monSet = gBattleFrontierTrainerMons_Hank
},
[FRONTIER_TRAINER_EARL] = {
.facilityClass = FACILITY_CLASS_BUG_MANIAC,
@@ -1454,7 +1454,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_THE, EC_WORD_INVINCIBLE, EC_WORD_BUG, EC_WORD_TRAINER, EC_WORD_IS, EC_WORD_HERE},
.speechWin = {EC_WORD_THE, EC_WORD_INVINCIBLE, EC_WORD_BUG, EC_WORD_TRAINER, EC_WORD_AM, EC_WORD_I},
.speechLose = {EC_WORD_SEE, EC_WORD_HOW, EC_WORD_FAST, EC_WORD_I, EC_WORD_RUN_AWAY, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Earl
+ .monSet = gBattleFrontierTrainerMons_Earl
},
[FRONTIER_TRAINER_RAMIRO] = {
.facilityClass = FACILITY_CLASS_FISHERMAN,
@@ -1462,7 +1462,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_WENT, EC_WORD_TO, EC_WORD_A, EC_WORD_FISHING, EC_WORD_SCHOOL},
.speechWin = {EC_WORD_SERIOUSLY, EC_WORD_I_AM, EC_WORD_IN, EC_WORD_THE, EC_WORD_FISHING, EC_WORD_HALL_OF_FAME},
.speechLose = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO, EC_WORD_BACK, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Ramiro
+ .monSet = gBattleFrontierTrainerMons_Ramiro
},
[FRONTIER_TRAINER_HUNTER] = {
.facilityClass = FACILITY_CLASS_FISHERMAN,
@@ -1470,7 +1470,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_SHOW, EC_WORD_ME, EC_WORD_A, EC_WORD_TOTALLY, EC_WORD_COOL, EC_MOVE(CROSS_CHOP)},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_TOO_WEAK, EC_WORD_TO, EC_WORD_DO, EC_WORD_A, EC_MOVE(CROSS_CHOP)},
.speechLose = {EC_WORD_WAS, EC_WORD_IT, EC_WORD_A, EC_WORD_MISTAKE, EC_WORD_QUES, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Hunter
+ .monSet = gBattleFrontierTrainerMons_Hunter
},
[FRONTIER_TRAINER_AIDEN] = {
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
@@ -1478,7 +1478,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MY, EC_WORD_WORK, EC_WORD_IS, EC_WORD_MAKING, EC_WORD_ME, EC_WORD_HEALTHY},
.speechWin = {EC_WORD_YOU, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_I_AM, EC_WORD_HEALTHY, EC_WORD_EXCL},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_MORE, EC_WORD_HEALTHY, EC_WORD_THAN, EC_WORD_I_AM, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Aiden
+ .monSet = gBattleFrontierTrainerMons_Aiden
},
[FRONTIER_TRAINER_XAVIER] = {
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
@@ -1486,7 +1486,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_HEY_THERE, EC_WORD_EXCL, 0xFFFF, EC_WORD_LOOK, EC_WORD_LOOK, EC_WORD_EXCL_EXCL},
.speechWin = {EC_WORD_GOOD_BYE, EC_WORD_AND, EC_WORD_THANK_YOU, EC_WORD_THAT_WAS, EC_WORD_FUNNY, 0xFFFF},
.speechLose = {EC_WORD_WOWEE, EC_WORD_EXCL, 0xFFFF, EC_WORD_NO, EC_WORD_NO, EC_WORD_EXCL_EXCL},
- .monSets = gBattleFrontierTrainerMons_Xavier
+ .monSet = gBattleFrontierTrainerMons_Xavier
},
[FRONTIER_TRAINER_CLINTON] = {
.facilityClass = FACILITY_CLASS_COLLECTOR,
@@ -1494,7 +1494,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_WANT, EC_WORD_TO, EC_WORD_SEE, EC_WORD_MY, EC_MOVE(HYPNOSIS), EC_WORD_QUES},
.speechWin = {EC_WORD_YOUR, EC_MOVE2(FURY_SWIPES), EC_WORD_YOUR, EC_MOVE(STRENGTH), EC_WORD_YOUNG, EC_WORD_TRAINER},
.speechLose = {EC_WORD_TCH, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_I_AM, EC_WORD_TOO_WEAK, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Clinton
+ .monSet = gBattleFrontierTrainerMons_Clinton
},
[FRONTIER_TRAINER_JESSE] = {
.facilityClass = FACILITY_CLASS_COLLECTOR,
@@ -1502,7 +1502,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_THIS, EC_WORD_BATTLE, EC_WORD_IS, EC_WORD_FOR, EC_WORD_MY, EC_WORD_MOTHER},
.speechWin = {EC_WORD_MOTHER, EC_WORD_WILL, EC_WORD_BE, EC_WORD_HAPPY, EC_WORD_FOR, EC_WORD_ME},
.speechLose = {EC_WORD_I, EC_WORD_WANT, EC_WORD_MY, EC_WORD_MOTHER, EC_WORD_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Jesse
+ .monSet = gBattleFrontierTrainerMons_Jesse
},
[FRONTIER_TRAINER_EDUARDO] = {
.facilityClass = FACILITY_CLASS_GUITARIST,
@@ -1510,7 +1510,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_OUR, EC_WORD_MUSIC, EC_WORD_WILL, EC_WORD_PLAY, EC_WORD_ALL, EC_WORD_NIGHT},
.speechWin = {EC_WORD_NIGHTTIME, EC_WORD_IS, EC_WORD_WHEN, EC_WORD_I, EC_WORD_PLAY, EC_WORD_BEST},
.speechLose = {EC_WORD_LET_S, EC_WORD_PARTY, EC_WORD_UNTIL, EC_WORD_THE, EC_MOVE(MORNING_SUN), EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Eduardo
+ .monSet = gBattleFrontierTrainerMons_Eduardo
},
[FRONTIER_TRAINER_HAL] = {
.facilityClass = FACILITY_CLASS_GUITARIST,
@@ -1518,7 +1518,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_TRENDY, EC_WORD_AREN_T, EC_WORD_I, EC_WORD_QUES, 0xFFFF},
.speechWin = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_HIP_AND, EC_WORD_HAPPENING, EC_WORD_OH_YEAH, EC_WORD_EXCL},
.speechLose = {EC_WORD_I_AM, EC_WORD_ALWAYS, EC_WORD_TRENDY, EC_WORD_THANK_YOU, EC_WORD_VERY, EC_WORD_MUCH},
- .monSets = gBattleFrontierTrainerMons_Hal
+ .monSet = gBattleFrontierTrainerMons_Hal
},
[FRONTIER_TRAINER_GAGE] = {
.facilityClass = FACILITY_CLASS_BIRD_KEEPER,
@@ -1526,7 +1526,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_HERE_IT_IS, EC_WORD_A, EC_WORD_FLYING, EC_WORD_TYPE, EC_WORD_HIDDEN, EC_WORD_MOVE},
.speechWin = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_FLYING, EC_WORD_TYPE, EC_WORD_VICTORY, EC_WORD_EXCL},
.speechLose = {EC_WORD_IF_I_LOSE, EC_WORD_I, EC_WORD_JUST, EC_MOVE(FLY), EC_WORD_AWAY, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Gage
+ .monSet = gBattleFrontierTrainerMons_Gage
},
[FRONTIER_TRAINER_ARNOLD] = {
.facilityClass = FACILITY_CLASS_BIRD_KEEPER,
@@ -1534,7 +1534,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_WEIRD, EC_WORD_FROM, EC_WORD_A, EC_WORD_DREAM},
.speechWin = {EC_WORD_YOUR, EC_MOVE(SCARY_FACE), EC_WORD_WAS, EC_WORD_IN, EC_WORD_MY, EC_WORD_DREAM},
.speechLose = {EC_WORD_MY, EC_WORD_INCREDIBLE, EC_WORD_DREAM, EC_WORD_WAS, EC_WORD_SO, EC_WORD_WEIRD},
- .monSets = gBattleFrontierTrainerMons_Arnold
+ .monSet = gBattleFrontierTrainerMons_Arnold
},
[FRONTIER_TRAINER_JARRETT] = {
.facilityClass = FACILITY_CLASS_SAILOR,
@@ -1542,7 +1542,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_COME_ON, EC_WORD_LET_S, EC_WORD_DANCE, EC_WORD_LIKE, EC_WORD_IT_S, EC_WORD_YESTERDAY},
.speechWin = {EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_HOW, EC_WORD_I, EC_WORD_DANCE, EC_WORD_QUES},
.speechLose = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_APPRECIATE, EC_WORD_HOW, EC_WORD_I, EC_WORD_DANCE},
- .monSets = gBattleFrontierTrainerMons_Jarrett
+ .monSet = gBattleFrontierTrainerMons_Jarrett
},
[FRONTIER_TRAINER_GARETT] = {
.facilityClass = FACILITY_CLASS_SAILOR,
@@ -1550,7 +1550,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MY, EC_WORD_GIRL, EC_WORD_GIVES, EC_WORD_ME, EC_WORD_A_LITTLE, EC_MOVE2(SWEET_KISS)},
.speechWin = {EC_WORD_MY, EC_WORD_GIRL, EC_WORD_FRIEND, EC_WORD_IS, EC_WORD_MY, EC_WORD_TREASURE},
.speechLose = {EC_WORD_A, EC_WORD_TREASURE, EC_WORD_ISN_T, EC_WORD_ALWAYS, EC_WORD_ABOUT, EC_WORD_MONEY},
- .monSets = gBattleFrontierTrainerMons_Garett
+ .monSet = gBattleFrontierTrainerMons_Garett
},
[FRONTIER_TRAINER_EMANUEL] = {
.facilityClass = FACILITY_CLASS_HIKER,
@@ -1558,7 +1558,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_SMARTNESS, EC_WORD_ALONE, EC_WORD_WON_T, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_WIN},
.speechWin = {EC_WORD_I_AM, EC_WORD_NOT_VERY, EC_WORD_SMART, EC_WORD_BUT, EC_WORD_I, EC_WORD_WON},
.speechLose = {EC_WORD_HOW, EC_WORD_DID, EC_WORD_YOU, EC_MOVE2(FAKE_OUT), EC_WORD_ME, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Emanuel
+ .monSet = gBattleFrontierTrainerMons_Emanuel
},
[FRONTIER_TRAINER_GUSTAVO] = {
.facilityClass = FACILITY_CLASS_HIKER,
@@ -1566,7 +1566,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_MOVE(CHARGE), EC_WORD_EXCL, 0xFFFF, EC_MOVE(CHARGE), EC_WORD_EXCL_EXCL, 0xFFFF},
.speechWin = {EC_WORD_SURRENDER, EC_WORD_QUES, 0xFFFF, EC_WORD_SO, EC_WORD_SOON, EC_WORD_QUES},
.speechLose = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_SURRENDER, EC_WORD_YET},
- .monSets = gBattleFrontierTrainerMons_Gustavo
+ .monSet = gBattleFrontierTrainerMons_Gustavo
},
[FRONTIER_TRAINER_KAMERON] = {
.facilityClass = FACILITY_CLASS_KINDLER,
@@ -1574,7 +1574,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_TAKE_THAT, EC_WORD_EXCL, EC_WORD_IT_S, EC_WORD_MY, EC_WORD_FIERY, EC_MOVE2(TRICK)},
.speechWin = {EC_WORD_DID, EC_WORD_MY, EC_WORD_FIERY, EC_MOVE2(TRICK), EC_MOVE(ASTONISH), EC_WORD_QUES},
.speechLose = {EC_WORD_YOU, EC_WORD_DIDN_T, EC_WORD_FALL, EC_WORD_FOR, EC_WORD_MY, EC_MOVE2(TRICK)},
- .monSets = gBattleFrontierTrainerMons_Kameron
+ .monSet = gBattleFrontierTrainerMons_Kameron
},
[FRONTIER_TRAINER_ALFREDO] = {
.facilityClass = FACILITY_CLASS_KINDLER,
@@ -1582,7 +1582,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_A, EC_WORD_FIERY, EC_WORD_GOURMET, EC_WORD_AM, EC_WORD_I, EC_WORD_EXCL},
.speechWin = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_TASTY, EC_WORD_GOURMET, EC_WORD_VICTORY, EC_WORD_EXCL},
.speechLose = {EC_WORD_WHAT, EC_WORD_A, EC_WORD_DISASTER, EC_WORD_THAT_WAS, EC_WORD_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Alfredo
+ .monSet = gBattleFrontierTrainerMons_Alfredo
},
[FRONTIER_TRAINER_RUBEN] = {
.facilityClass = FACILITY_CLASS_GENTLEMAN,
@@ -1590,7 +1590,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_WAIT, EC_WORD_TO, EC_WORD_GET, EC_WORD_GOING},
.speechWin = {EC_WORD_GET, EC_WORD_GOING, EC_WORD_EXCL, EC_WORD_THIS, EC_WORD_IS, EC_WORD_GOOD_BYE},
.speechLose = {EC_WORD_I_VE, EC_WORD_GOT, EC_WORD_TO, EC_WORD_GET, EC_WORD_GOING, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Ruben
+ .monSet = gBattleFrontierTrainerMons_Ruben
},
[FRONTIER_TRAINER_LAMAR] = {
.facilityClass = FACILITY_CLASS_GENTLEMAN,
@@ -1598,7 +1598,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_A, EC_MOVE2(PRESENT), EC_WORD_FOR, EC_WORD_ME, EC_WORD_QUES, 0xFFFF},
.speechWin = {EC_WORD_MMM, EC_WORD_THIS, EC_WORD_IS, EC_WORD_QUITE, EC_WORD_TASTY, EC_WORD_ELLIPSIS},
.speechLose = {EC_WORD_OH, EC_WORD_IT_S, EC_WORD_A, EC_WORD_GAME, EC_WORD_IS_IT_QUES, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Lamar
+ .monSet = gBattleFrontierTrainerMons_Lamar
},
[FRONTIER_TRAINER_JAXON] = {
.facilityClass = FACILITY_CLASS_YOUNGSTER,
@@ -1606,7 +1606,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_A, EC_WORD_SHELL_ARMOR, EC_WORD_IS, EC_WORD_WHAT, EC_WORD_I, EC_WORD_WANT},
.speechWin = {EC_WORD_MY, EC_WORD_FATHER, EC_WORD_AND, EC_WORD_MOTHER, EC_WORD_WON_T, EC_WORD_ACCEPT},
.speechLose = {EC_WORD_PLEASE, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_WORD_SHELL_ARMOR, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Jaxon
+ .monSet = gBattleFrontierTrainerMons_Jaxon
},
[FRONTIER_TRAINER_LOGAN] = {
.facilityClass = FACILITY_CLASS_YOUNGSTER,
@@ -1614,7 +1614,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_IF_I_LOSE, EC_WORD_I, EC_WORD_WILL, EC_WORD_STUDY, EC_WORD_FOR, EC_WORD_SCHOOL},
.speechWin = {EC_WORD_ME, EC_WORD_STUDY, EC_WORD_QUES, EC_WORD_NOT_VERY, EC_WORD_LIKELY_TO, EC_WORD_SEE},
.speechLose = {EC_WORD_NO, EC_WORD_THANKS, EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_SLEEP},
- .monSets = gBattleFrontierTrainerMons_Logan
+ .monSet = gBattleFrontierTrainerMons_Logan
},
[FRONTIER_TRAINER_EMILEE] = {
.facilityClass = FACILITY_CLASS_LASS,
@@ -1622,7 +1622,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_IS, EC_WORD_THIS, EC_WORD_KIND, EC_WORD_OF, EC_WORD_BATTLE, EC_WORD_OK_QUES},
.speechWin = {EC_WORD_LET_S, EC_WORD_GO, EC_WORD_FOR, EC_WORD_AN, EC_MOVE(ICY_WIND), EC_MOVE2(SURF)},
.speechLose = {EC_WORD_HOW, EC_WORD_ABOUT, EC_WORD_A, EC_MOVE(ROCK_SLIDE), EC_WORD_SHOW, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Emilee
+ .monSet = gBattleFrontierTrainerMons_Emilee
},
[FRONTIER_TRAINER_JOSIE] = {
.facilityClass = FACILITY_CLASS_LASS,
@@ -1630,7 +1630,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_A, EC_WORD_POKEMON, EC_WORD_FASHION, EC_WORD_CONTEST, EC_WORD_IS, EC_WORD_PRETTY},
.speechWin = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_LIKE, EC_WORD_MODE, EC_WORD_FASHION, EC_WORD_THINGS},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_TOTALLY, EC_WORD_LACKING, EC_WORD_IN, EC_WORD_FASHION, EC_WORD_SENSE},
- .monSets = gBattleFrontierTrainerMons_Josie
+ .monSet = gBattleFrontierTrainerMons_Josie
},
[FRONTIER_TRAINER_ARMANDO] = {
.facilityClass = FACILITY_CLASS_CAMPER,
@@ -1638,7 +1638,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_NEED, EC_WORD_MORE, EC_WORD_GRASS, EC_WORD_TYPE, EC_WORD_POKEMON},
.speechWin = {EC_WORD_TRADE, EC_WORD_ME, EC_WORD_A, EC_WORD_GRASS, EC_WORD_POKEMON, EC_WORD_PLEASE},
.speechLose = {EC_WORD_THERE, EC_WORD_AREN_T, EC_WORD_ENOUGH, EC_WORD_GRASS, EC_WORD_TYPE, EC_WORD_POKEMON},
- .monSets = gBattleFrontierTrainerMons_Armando
+ .monSet = gBattleFrontierTrainerMons_Armando
},
[FRONTIER_TRAINER_SKYLER] = {
.facilityClass = FACILITY_CLASS_CAMPER,
@@ -1646,7 +1646,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_MOVE2(INGRAIN), EC_WORD_IS, EC_WORD_MY, EC_WORD_CHOICE, EC_WORD_BATTLE, EC_WORD_MOVE},
.speechWin = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_MOVE, EC_WORD_ME, EC_WORD_NOW, EC_WORD_EXCL},
.speechLose = {EC_WORD_YOU, EC_MOVE(CUT), EC_WORD_ME, EC_WORD_DOWN, EC_WORD_ELLIPSIS, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Skyler
+ .monSet = gBattleFrontierTrainerMons_Skyler
},
[FRONTIER_TRAINER_RUTH] = {
.facilityClass = FACILITY_CLASS_PICNICKER,
@@ -1654,7 +1654,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_ENJOY, EC_WORD_THIS, EC_WORD_BATTLE},
.speechWin = {EC_WORD_THAT_WAS, EC_WORD_MUCH, EC_WORD_TOO, EC_WORD_EASY, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_PLEASE, EC_WORD_STOP, EC_WORD_I, EC_WORD_DON_T, EC_WORD_ENJOY, EC_WORD_THIS},
- .monSets = gBattleFrontierTrainerMons_Ruth
+ .monSet = gBattleFrontierTrainerMons_Ruth
},
[FRONTIER_TRAINER_MELODY] = {
.facilityClass = FACILITY_CLASS_PICNICKER,
@@ -1662,7 +1662,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_MOVE2(WISH), EC_WORD_SUNDAY, EC_WORD_IS, EC_WORD_A, EC_MOVE2(SUNNY_DAY)},
.speechWin = {EC_WORD_SUNDAY, EC_WORD_SEEMS, EC_WORD_FOREVER, EC_WORD_TO, EC_WORD_COME, EC_WORD_ELLIPSIS},
.speechLose = {EC_WORD_THE, EC_WORD_FORECAST, EC_WORD_SAYS, EC_WORD_IT, EC_WORD_WILL, EC_MOVE(HAIL)},
- .monSets = gBattleFrontierTrainerMons_Melody
+ .monSet = gBattleFrontierTrainerMons_Melody
},
[FRONTIER_TRAINER_PEDRO] = {
.facilityClass = FACILITY_CLASS_SWIMMER_M,
@@ -1670,7 +1670,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_A, EC_WORD_SWIFT_SWIM, EC_WORD_WILL, EC_WORD_DO, EC_WORD_YOU, EC_WORD_GOOD},
.speechWin = {EC_WORD_THAT_S, EC_WORD_HOW, EC_WORD_I, EC_WORD_SINK, EC_WORD_AN, EC_WORD_OPPONENT},
.speechLose = {EC_WORD_UH_OH, EC_WORD_EXCL, 0xFFFF, EC_WORD_A, EC_MOVE(WHIRLPOOL), EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Pedro
+ .monSet = gBattleFrontierTrainerMons_Pedro
},
[FRONTIER_TRAINER_ERICK] = {
.facilityClass = FACILITY_CLASS_SWIMMER_M,
@@ -1678,7 +1678,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_MOVE2(TACKLE), EC_WORD_YOU, EC_WORD_DOWN, EC_WORD_EXCL},
.speechWin = {EC_WORD_DON_T, EC_WORD_YOU, EC_WORD_RUN_AWAY, EC_WORD_YOU, EC_WORD_LOSER, EC_WORD_EXCL},
.speechLose = {EC_WORD_I, EC_WORD_DIDN_T, EC_WORD_THINK, EC_WORD_YOU, EC_WORD_WOULD, EC_MOVE(COUNTER)},
- .monSets = gBattleFrontierTrainerMons_Erick
+ .monSet = gBattleFrontierTrainerMons_Erick
},
[FRONTIER_TRAINER_ELAINE] = {
.facilityClass = FACILITY_CLASS_SWIMMER_F,
@@ -1686,7 +1686,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MY, EC_WORD_HEROINE, EC_WORD_ADVENTURE, EC_WORD_ISN_T, EC_WORD_GOING, EC_WORD_WELL},
.speechWin = {EC_WORD_THANK_YOU, EC_WORD_EXCL, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I, EC_WORD_NEED},
.speechLose = {EC_WORD_I, EC_WORD_KNOW, EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_A, EC_WORD_HEROINE},
- .monSets = gBattleFrontierTrainerMons_Elaine
+ .monSet = gBattleFrontierTrainerMons_Elaine
},
[FRONTIER_TRAINER_JOYCE] = {
.facilityClass = FACILITY_CLASS_SWIMMER_F,
@@ -1694,7 +1694,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YOU, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_GO, EC_WORD_AHAHA, EC_WORD_EXCL},
.speechWin = {EC_WORD_LALALA, EC_WORD_NO, EC_WORD_LOSING, EC_WORD_FOR, EC_WORD_ME, EC_WORD_EXCL},
.speechLose = {EC_WORD_LALALA, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_HUH_QUES, 0xFFFF, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Joyce
+ .monSet = gBattleFrontierTrainerMons_Joyce
},
[FRONTIER_TRAINER_TODD] = {
.facilityClass = FACILITY_CLASS_POKEFAN_M,
@@ -1702,7 +1702,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_LIGHTNINGROD, EC_WORD_FOR, EC_WORD_MY, EC_WORD_POWER},
.speechWin = {EC_WORD_THAT_S, EC_WORD_ALL, EC_WORD_YOU, EC_WORD_COULD, EC_MOVE(ABSORB), EC_WORD_QUES},
.speechLose = {EC_WORD_YOU, EC_MOVE2(REFLECT), EC_WORD_MY, EC_WORD_POWER, EC_WORD_BACK, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Todd
+ .monSet = gBattleFrontierTrainerMons_Todd
},
[FRONTIER_TRAINER_GAVIN] = {
.facilityClass = FACILITY_CLASS_POKEFAN_M,
@@ -1710,7 +1710,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_MOVE(BIDE), EC_WORD_MY, EC_WORD_TIME, 0xFFFF},
.speechWin = {EC_WORD_IT_S, EC_WORD_OVER, EC_WORD_SO, EC_WORD_SOON, EC_WORD_QUES, 0xFFFF},
.speechLose = {EC_WORD_MY, EC_WORD_MISTAKE, EC_WORD_WAS, EC_WORD_TOO, EC_WORD_EXPENSIVE, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Gavin
+ .monSet = gBattleFrontierTrainerMons_Gavin
},
[FRONTIER_TRAINER_MALORY] = {
.facilityClass = FACILITY_CLASS_POKEFAN_F,
@@ -1718,7 +1718,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_PROMISE, EC_WORD_TO, EC_WORD_SHOW, EC_WORD_ME, EC_WORD_CUTE, EC_WORD_POKEMON},
.speechWin = {EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_THANK_YOU, EC_WORD_SO, EC_WORD_MUCH},
.speechLose = {EC_WORD_TCH, EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_AREN_T, EC_WORD_VERY, EC_WORD_NICE},
- .monSets = gBattleFrontierTrainerMons_Malory
+ .monSet = gBattleFrontierTrainerMons_Malory
},
[FRONTIER_TRAINER_ESTHER] = {
.facilityClass = FACILITY_CLASS_POKEFAN_F,
@@ -1726,7 +1726,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_A, EC_WORD_NICE, EC_MOVE2(PRESENT), EC_WORD_ELLIPSIS},
.speechWin = {EC_WORD_PLEASE, EC_WORD_GET, EC_WORD_ME, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_GAME},
.speechLose = {EC_WORD_MESSAGE, EC_WORD_CARDS, EC_WORD_MAKE, EC_WORD_A, EC_WORD_WEAK, EC_MOVE2(PRESENT)},
- .monSets = gBattleFrontierTrainerMons_Esther
+ .monSet = gBattleFrontierTrainerMons_Esther
},
[FRONTIER_TRAINER_OSCAR] = {
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
@@ -1734,7 +1734,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_LET_S, EC_WORD_SEE, EC_WORD_YOUR, EC_WORD_POWER, EC_WORD_IN, EC_WORD_FULL},
.speechWin = {EC_WORD_THAT_WAS, EC_WORD_NOT, EC_WORD_YOUR, EC_WORD_FULL, EC_WORD_POWER, EC_WORD_EXCL},
.speechLose = {EC_WORD_NOT, EC_WORD_FUNNY, EC_WORD_ELLIPSIS, EC_WORD_YOU_RE, EC_WORD_TOO_STRONG, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Oscar
+ .monSet = gBattleFrontierTrainerMons_Oscar
},
[FRONTIER_TRAINER_WILSON] = {
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
@@ -1742,7 +1742,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_WORK, EC_WORD_IS, EC_WORD_MAKING, EC_WORD_ME, EC_WORD_AN, EC_WORD_EARLY_BIRD},
.speechWin = {EC_WORD_ALL, EC_WORD_WORK, EC_WORD_AND, EC_WORD_NO, EC_WORD_PLAY, EC_WORD_ELLIPSIS},
.speechLose = {EC_MOVE(ENDURE), EC_WORD_IS, EC_WORD_ALL, EC_WORD_I, EC_WORD_CAN, EC_WORD_DO},
- .monSets = gBattleFrontierTrainerMons_Wilson
+ .monSet = gBattleFrontierTrainerMons_Wilson
},
[FRONTIER_TRAINER_CLARE] = {
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
@@ -1750,7 +1750,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YAY, EC_WORD_EXCL, EC_WORD_A, EC_WORD_TOUGH, EC_WORD_TRAINER, EC_WORD_EXCL},
.speechWin = {EC_WORD_AWW, EC_WORD_EXCL, EC_WORD_A, EC_WORD_WIMPY, EC_WORD_TRAINER, EC_WORD_EXCL},
.speechLose = {EC_WORD_COOL, EC_WORD_EXCL, EC_WORD_A, EC_WORD_GENIUS, EC_WORD_TRAINER, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Clare
+ .monSet = gBattleFrontierTrainerMons_Clare
},
[FRONTIER_TRAINER_TESS] = {
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
@@ -1758,7 +1758,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_WANT, EC_WORD_SOME, EC_POKEMON(GULPIN), EC_WORD_DESIGN, EC_WORD_SWEETS, EC_WORD_QUES},
.speechWin = {EC_WORD_THEY_RE, EC_WORD_A, EC_WORD_SECRET, EC_WORD_POKEMON, EC_WORD_GOURMET, EC_WORD_ITEM},
.speechLose = {EC_WORD_THEY_RE, EC_WORD_TASTY, EC_WORD_EXCL, EC_WORD_REFRESHING, EC_WORD_TOO, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Tess
+ .monSet = gBattleFrontierTrainerMons_Tess
},
[FRONTIER_TRAINER_LEON] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_M,
@@ -1766,7 +1766,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_BETTER, EC_WORD_THAN, EC_WORD_ANY, EC_WORD_OTHER, EC_WORD_TRAINER},
.speechWin = {EC_WORD_I, EC_WORD_DID, EC_WORD_IT, EC_MOVE2(JUMP_KICK), EC_WORD_FOR, EC_WORD_JOY},
.speechLose = {EC_WORD_BACK, EC_WORD_HOME, EC_WORD_I, EC_WORD_WILL, EC_WORD_GO, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Leon
+ .monSet = gBattleFrontierTrainerMons_Leon
},
[FRONTIER_TRAINER_ALONZO] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_M,
@@ -1774,7 +1774,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_VE, EC_WORD_NOT, EC_WORD_LOST, EC_WORD_ONCE, EC_WORD_YET, EC_WORD_EXCL},
.speechWin = {EC_WORD_YOUR, EC_WORD_SAD, EC_WORD_LOOK, EC_WORD_BECOMES, EC_WORD_YOU, 0xFFFF},
.speechLose = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_BELIEVE, EC_WORD_THIS, EC_WORD_ELLIPSIS, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Alonzo
+ .monSet = gBattleFrontierTrainerMons_Alonzo
},
[FRONTIER_TRAINER_VINCE] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_M,
@@ -1782,7 +1782,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_THE, EC_WORD_TOP, EC_WORD_TRAINER, EC_WORD_THAT_S, EC_WORD_ME, EC_WORD_EXCL},
.speechWin = {EC_WORD_THE, EC_WORD_TOP, EC_WORD_RANK, EC_WORD_BELONGS_TO, EC_WORD_ME, EC_WORD_EXCL},
.speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_APPEAL, EC_WORD_THIS, EC_MOVE(OUTRAGE), EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Vince
+ .monSet = gBattleFrontierTrainerMons_Vince
},
[FRONTIER_TRAINER_BRYON] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_M,
@@ -1790,7 +1790,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MY, EC_MOVE2(BARRAGE), EC_WORD_WILL, EC_MOVE2(SLAM), EC_WORD_YOU, EC_WORD_EXCL},
.speechWin = {EC_WORD_YOU, EC_WORD_DIDN_T, EC_WORD_COUNT_ON, EC_WORD_ANY, EC_WORD_LESS, EC_WORD_QUES},
.speechLose = {EC_WORD_I, EC_WORD_JUST, EC_WORD_DON_T, EC_WORD_GET, EC_WORD_IT, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Bryon
+ .monSet = gBattleFrontierTrainerMons_Bryon
},
[FRONTIER_TRAINER_AVA] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_F,
@@ -1798,7 +1798,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_TREASURE, EC_WORD_OF, EC_WORD_THIS, EC_WORD_WORLD},
.speechWin = {EC_WORD_MY, EC_WORD_WORLD, EC_WORD_IS, EC_WORD_FULL, EC_WORD_OF, EC_WORD_WONDER},
.speechLose = {EC_WORD_WHY, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_SO, EC_WORD_TERRIBLE, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Ava
+ .monSet = gBattleFrontierTrainerMons_Ava
},
[FRONTIER_TRAINER_MIRIAM] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_F,
@@ -1806,7 +1806,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_OH, EC_WORD_A, EC_WORD_TRAINER, EC_WORD_WITH, EC_WORD_A, EC_MOVE(SCARY_FACE)},
.speechWin = {EC_WORD_AHAHA, EC_WORD_YOU, EC_WORD_ONLY, EC_WORD_LOOK, EC_WORD_SCARY, EC_WORD_EXCL},
.speechLose = {EC_WORD_AIYEEH, EC_WORD_EXCL, EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_ARE, EC_WORD_SCARY},
- .monSets = gBattleFrontierTrainerMons_Miriam
+ .monSet = gBattleFrontierTrainerMons_Miriam
},
[FRONTIER_TRAINER_CARRIE] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_F,
@@ -1814,7 +1814,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_WORD_SHOW, EC_WORD_YOU, EC_WORD_GUTSY, EC_WORD_EXCL},
.speechWin = {EC_WORD_IT_S, EC_WORD_ALL, EC_WORD_ABOUT, EC_WORD_GUTS, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_OH, EC_WORD_NO, EC_WORD_ELLIPSIS, EC_MOVE(SELF_DESTRUCT), EC_WORD_MODE, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Carrie
+ .monSet = gBattleFrontierTrainerMons_Carrie
},
[FRONTIER_TRAINER_GILLIAN2] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_F,
@@ -1822,7 +1822,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_SEEK, EC_WORD_A, EC_WORD_TRULY, EC_WORD_GREAT, EC_WORD_BATTLE},
.speechWin = {EC_WORD_I, EC_WORD_NEED, EC_WORD_A_LOT, EC_WORD_BETTER, EC_WORD_BATTLE, EC_WORD_ELLIPSIS},
.speechLose = {EC_WORD_THAT_WAS, EC_WORD_A_LITTLE, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_TO, EC_WORD_TAKE},
- .monSets = gBattleFrontierTrainerMons_Gillian2
+ .monSet = gBattleFrontierTrainerMons_Gillian2
},
[FRONTIER_TRAINER_TYLER] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
@@ -1830,7 +1830,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YO, EC_WORD_EXCL, 0xFFFF, EC_WORD_LET_S, EC_WORD_GO, EC_WORD_EXCL_EXCL},
.speechWin = {EC_WORD_YO, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_WON, EC_WORD_YO},
.speechLose = {EC_WORD_YO, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_LOST, EC_WORD_YO},
- .monSets = gBattleFrontierTrainerMons_Tyler
+ .monSet = gBattleFrontierTrainerMons_Tyler
},
[FRONTIER_TRAINER_CHAZ] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
@@ -1838,7 +1838,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_HAVE, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_POWER},
.speechWin = {EC_WORD_THEY, EC_WORD_HAVE, EC_WORD_MORE, EC_WORD_POWER, EC_WORD_NOW, EC_WORD_EXCL},
.speechLose = {EC_WORD_YEAH, EC_MOVE2(TAKE_DOWN), EC_WORD_THEIR, EC_WORD_POWER, EC_WORD_A_TINY_BIT, EC_WORD_PLEASE},
- .monSets = gBattleFrontierTrainerMons_Chaz
+ .monSet = gBattleFrontierTrainerMons_Chaz
},
[FRONTIER_TRAINER_NELSON] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
@@ -1846,7 +1846,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_WELL_THEN, EC_WORD_WILL, EC_WORD_THIS, EC_WORD_POKEMON, EC_WORD_WORK, EC_WORD_QUES},
.speechWin = {EC_WORD_I, EC_WORD_SEE, EC_WORD_THAT, EC_WORD_IT, EC_WORD_WAS, EC_WORD_TOO_STRONG},
.speechLose = {EC_WORD_IT, EC_WORD_DIDN_T, EC_WORD_MATCH_UP, EC_WORD_WELL, EC_WORD_I, EC_WORD_THINK},
- .monSets = gBattleFrontierTrainerMons_Nelson
+ .monSet = gBattleFrontierTrainerMons_Nelson
},
[FRONTIER_TRAINER_SHANIA] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
@@ -1854,7 +1854,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_ALL, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ABSOLUTELY, EC_WORD_ADORE, EC_WORD_ME},
.speechWin = {EC_WORD_HAPPINESS, EC_WORD_IS, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_WITH, EC_WORD_CUTE_CHARM},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_SO, EC_WORD_MEAN, EC_WORD_TO, EC_WORD_CUTE, EC_WORD_POKEMON},
- .monSets = gBattleFrontierTrainerMons_Shania
+ .monSet = gBattleFrontierTrainerMons_Shania
},
[FRONTIER_TRAINER_STELLA] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
@@ -1862,7 +1862,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_SEE, EC_WORD_YOUR, EC_WORD_POKEMON},
.speechWin = {EC_WORD_WELL, EC_WORD_AREN_T, EC_WORD_THEY, EC_WORD_BORING, EC_WORD_QUES, EC_WORD_AHAHA},
.speechLose = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_SOMETHING, EC_WORD_ELSE, EC_WORD_ALL_RIGHT},
- .monSets = gBattleFrontierTrainerMons_Stella
+ .monSet = gBattleFrontierTrainerMons_Stella
},
[FRONTIER_TRAINER_DORINE] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
@@ -1870,7 +1870,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_YOUNG, EC_WORD_AND, EC_WORD_STRONG, EC_WORD_EXCL, 0xFFFF},
.speechWin = {EC_WORD_SEE, EC_WORD_QUES, EC_WORD_AREN_T, EC_WORD_I, EC_WORD_GOOD, EC_WORD_QUES},
.speechLose = {EC_WORD_THIS, EC_WORD_ISN_T, EC_WORD_WORKING, EC_WORD_OUT, EC_WORD_AT, EC_WORD_ALL},
- .monSets = gBattleFrontierTrainerMons_Dorine
+ .monSet = gBattleFrontierTrainerMons_Dorine
},
[FRONTIER_TRAINER_MADDOX] = {
.facilityClass = FACILITY_CLASS_DRAGON_TAMER,
@@ -1878,7 +1878,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_DRAGON, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_MY, EC_WORD_NO_1, EC_WORD_CHOICE},
.speechWin = {EC_WORD_IT_S, EC_WORD_NO, EC_WORD_SECRET, EC_WORD_DRAGON, EC_WORD_POKEMON, EC_WORD_WIN},
.speechLose = {EC_WORD_DRAGON, EC_WORD_POKEMON, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_LOSE, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Maddox
+ .monSet = gBattleFrontierTrainerMons_Maddox
},
[FRONTIER_TRAINER_DAVIN] = {
.facilityClass = FACILITY_CLASS_DRAGON_TAMER,
@@ -1886,7 +1886,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_LET_S, EC_WORD_HEAR, EC_WORD_YOU, EC_MOVE2(ROAR), EC_WORD_EXCL, 0xFFFF},
.speechWin = {EC_WORD_WROOOAAR_EXCL, 0xFFFF, 0xFFFF, EC_WORD_VICTORY, EC_WORD_EXCL_EXCL, 0xFFFF},
.speechLose = {EC_WORD_WROOOAAR_EXCL, 0xFFFF, 0xFFFF, EC_WORD_WHY, EC_WORD_QUES_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Davin
+ .monSet = gBattleFrontierTrainerMons_Davin
},
[FRONTIER_TRAINER_TREVON] = {
.facilityClass = FACILITY_CLASS_DRAGON_TAMER,
@@ -1894,7 +1894,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_LIVING, EC_WORD_ONLY, EC_WORD_WITH, EC_WORD_DRAGON, EC_WORD_POKEMON},
.speechWin = {EC_WORD_THE, EC_WORD_WAY, EC_WORD_I_AM, EC_WORD_LIVING, EC_WORD_IS, EC_WORD_PERFECT},
.speechLose = {EC_WORD_YOU_VE, EC_WORD_DESTROYED, EC_WORD_THE, EC_WORD_WAY, EC_WORD_I_AM, EC_WORD_LIVING},
- .monSets = gBattleFrontierTrainerMons_Trevon
+ .monSet = gBattleFrontierTrainerMons_Trevon
},
[FRONTIER_TRAINER_MATEO] = {
.facilityClass = FACILITY_CLASS_BLACK_BELT,
@@ -1902,7 +1902,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_THIS, EC_WORD_SHOULD, EC_WORD_BE, EC_WORD_OVER, EC_WORD_SOON, EC_WORD_ENOUGH},
.speechWin = {EC_WORD_WELL, EC_WORD_THAT, EC_WORD_DIDN_T, EC_WORD_TAKE, EC_WORD_VERY, EC_WORD_MUCH},
.speechLose = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_LOSE, EC_WORD_SO, EC_WORD_SOON, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Mateo
+ .monSet = gBattleFrontierTrainerMons_Mateo
},
[FRONTIER_TRAINER_BRET] = {
.facilityClass = FACILITY_CLASS_BLACK_BELT,
@@ -1910,7 +1910,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_ROCK_SOLID, EC_WORD_POKEMON, EC_WORD_THE, EC_WORD_BEST},
.speechWin = {EC_WORD_TOUGHNESS, EC_WORD_IS, EC_WORD_THE, EC_WORD_WAY, EC_WORD_TO, EC_WORD_GO},
.speechLose = {EC_WORD_I, EC_WORD_ALSO, EC_WORD_HAVE, EC_WORD_A, EC_WORD_PLUSH_DOLL, EC_WORD_COLLECTION},
- .monSets = gBattleFrontierTrainerMons_Bret
+ .monSet = gBattleFrontierTrainerMons_Bret
},
[FRONTIER_TRAINER_RAUL] = {
.facilityClass = FACILITY_CLASS_BLACK_BELT,
@@ -1918,7 +1918,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_REJECT, EC_WORD_EVERY, EC_WORD_WEAK, EC_WORD_TRAINER, 0xFFFF},
.speechWin = {EC_WORD_HUMPH, EC_WORD_EXCL, EC_WORD_ANOTHER, EC_WORD_WEAK, EC_WORD_TRAINER, EC_WORD_ELLIPSIS},
.speechLose = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_NOTHING, EC_WORD_WEAK, EC_WORD_ABOUT, EC_WORD_YOU},
- .monSets = gBattleFrontierTrainerMons_Raul
+ .monSet = gBattleFrontierTrainerMons_Raul
},
[FRONTIER_TRAINER_KAY] = {
.facilityClass = FACILITY_CLASS_BATTLE_GIRL,
@@ -1926,7 +1926,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_AND, EC_WORD_YET, EC_WORD_ANOTHER, EC_WORD_BATTLE, EC_WORD_QUES, 0xFFFF},
.speechWin = {EC_WORD_I, EC_WORD_WON, EC_WORD_BUT, EC_WORD_I_AM, EC_WORD_TIRED, EC_WORD_ELLIPSIS},
.speechLose = {EC_WORD_GOOD, EC_WORD_IT_S, EC_WORD_OVER, EC_WORD_AT, EC_WORD_LAST, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Kay
+ .monSet = gBattleFrontierTrainerMons_Kay
},
[FRONTIER_TRAINER_ELENA] = {
.facilityClass = FACILITY_CLASS_BATTLE_GIRL,
@@ -1934,7 +1934,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_A, EC_WORD_BATTLE, EC_WORD_GIRL, EC_WORD_THAT_S, EC_WORD_ME, EC_WORD_EXCL},
.speechWin = {EC_WORD_ISN_T, EC_WORD_A, EC_WORD_BATTLE, EC_WORD_GIRL, EC_WORD_AWESOME, EC_WORD_QUES},
.speechLose = {EC_WORD_YOU, EC_WORD_DISLIKE, EC_WORD_A, EC_WORD_BATTLE, EC_WORD_GIRL, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Elena
+ .monSet = gBattleFrontierTrainerMons_Elena
},
[FRONTIER_TRAINER_ALANA] = {
.facilityClass = FACILITY_CLASS_BATTLE_GIRL,
@@ -1942,7 +1942,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_EAT, EC_WORD_MY, EC_WORD_INVINCIBLE, EC_WORD_ATTACK, EC_WORD_YOU, EC_WORD_EXCL},
.speechWin = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_MUCH, EC_WORD_TO, EC_WORD_LEARN, 0xFFFF},
.speechLose = {EC_WORD_SO, EC_WORD_MUCH, EC_WORD_FOR, EC_WORD_MY, EC_WORD_INVINCIBLE, EC_WORD_ATTACK},
- .monSets = gBattleFrontierTrainerMons_Alana
+ .monSet = gBattleFrontierTrainerMons_Alana
},
[FRONTIER_TRAINER_ALEXAS] = {
.facilityClass = FACILITY_CLASS_EXPERT_M,
@@ -1950,7 +1950,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_GOOD, EC_WORD_TO, EC_WORD_MEET_YOU, EC_WORD_YOUNG, EC_WORD_TRAINER, EC_WORD_EXCL},
.speechWin = {EC_WORD_WAHAHAHA, EC_WORD_EXCL, 0xFFFF, EC_WORD_GIVE, EC_WORD_IT, EC_WORD_UP},
.speechLose = {EC_WORD_YOU, EC_WORD_ARE, EC_WORD_A, EC_WORD_STRONG, EC_WORD_TRAINER, EC_WORD_KID},
- .monSets = gBattleFrontierTrainerMons_Alexas
+ .monSet = gBattleFrontierTrainerMons_Alexas
},
[FRONTIER_TRAINER_WESTON] = {
.facilityClass = FACILITY_CLASS_EXPERT_M,
@@ -1958,7 +1958,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_PLAY, EC_WORD_DOWN, EC_WORD_ALL_RIGHT, EC_WORD_QUES},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_FAR, EC_WORD_TOO, EC_WORD_EASY, EC_WORD_TO, EC_WORD_ATTACK},
.speechLose = {EC_WORD_WELL, EC_WORD_WELL, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_SURRENDER, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Weston
+ .monSet = gBattleFrontierTrainerMons_Weston
},
[FRONTIER_TRAINER_JASPER] = {
.facilityClass = FACILITY_CLASS_EXPERT_M,
@@ -1966,7 +1966,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_OLD, EC_WORD_I_AM, EC_WORD_SKILLED, EC_WORD_EXCL},
.speechWin = {EC_WORD_SKILLED, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_I_AM, EC_WORD_SHOCKED, EC_WORD_EXCL, EC_WORD_DOWN, EC_WORD_I, EC_WORD_GO},
- .monSets = gBattleFrontierTrainerMons_Jasper
+ .monSet = gBattleFrontierTrainerMons_Jasper
},
[FRONTIER_TRAINER_NADIA] = {
.facilityClass = FACILITY_CLASS_EXPERT_F,
@@ -1974,7 +1974,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_BEAT, EC_WORD_ME, EC_WORD_DOWN, EC_WORD_EXCL},
.speechWin = {EC_WORD_HAH, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_BEAT, EC_WORD_YOU},
.speechLose = {EC_WORD_I_AM, EC_MOVE2(BEAT_UP), EC_WORD_AND, EC_WORD_DOWNCAST, EC_WORD_ELLIPSIS, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Nadia
+ .monSet = gBattleFrontierTrainerMons_Nadia
},
[FRONTIER_TRAINER_MIRANDA] = {
.facilityClass = FACILITY_CLASS_EXPERT_F,
@@ -1982,7 +1982,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_WELL, EC_WORD_WELL, 0xFFFF, EC_WORD_LET_S, EC_WORD_START, 0xFFFF},
.speechWin = {EC_WORD_WHAT, EC_WORD_QUES, EC_WORD_DONE, EC_WORD_SO, EC_WORD_SOON, EC_WORD_QUES},
.speechLose = {EC_WORD_WELL, EC_WORD_I, EC_WORD_SEE, EC_WORD_THAT, EC_WORD_I_AM, EC_WORD_TOO_WEAK},
- .monSets = gBattleFrontierTrainerMons_Miranda
+ .monSet = gBattleFrontierTrainerMons_Miranda
},
[FRONTIER_TRAINER_EMMA] = {
.facilityClass = FACILITY_CLASS_EXPERT_F,
@@ -1990,7 +1990,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_VE, EC_WORD_BEEN, EC_WORD_HEARING, EC_WORD_ABOUT, EC_WORD_YOU, 0xFFFF},
.speechWin = {EC_WORD_I, EC_WORD_THINK, EC_WORD_I_VE, EC_WORD_MISHEARD, EC_WORD_THINGS, 0xFFFF},
.speechLose = {EC_WORD_WHAT, EC_WORD_I_VE, EC_WORD_BEEN, EC_WORD_HEARING, EC_WORD_IS, EC_WORD_RIGHT},
- .monSets = gBattleFrontierTrainerMons_Emma
+ .monSet = gBattleFrontierTrainerMons_Emma
},
[FRONTIER_TRAINER_ROLANDO] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_M,
@@ -1998,7 +1998,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_SUPER, EC_WORD_POKEMON, EC_WORD_HERO, EC_WORD_EXCL},
.speechWin = {EC_WORD_WAS, EC_WORD_THAT, EC_WORD_ENOUGH, EC_WORD_FOR, EC_WORD_YOU, EC_WORD_QUES},
.speechLose = {EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_BEAT, EC_WORD_A, EC_WORD_HERO},
- .monSets = gBattleFrontierTrainerMons_Rolando
+ .monSet = gBattleFrontierTrainerMons_Rolando
},
[FRONTIER_TRAINER_STANLY] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_M,
@@ -2006,7 +2006,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_THIS, EC_WORD_SHOULD, EC_WORD_BE, EC_WORD_AN, EC_WORD_EASY, EC_WORD_MATCH},
.speechWin = {EC_WORD_IT, EC_WORD_REALLY, EC_WORD_WAS, EC_WORD_EASY, 0xFFFF, 0xFFFF},
.speechLose = {EC_WORD_ARE, EC_WORD_YOU, EC_WORD_HAPPY, EC_WORD_NOW, EC_WORD_QUES, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Stanly
+ .monSet = gBattleFrontierTrainerMons_Stanly
},
[FRONTIER_TRAINER_DARIO] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_M,
@@ -2014,7 +2014,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MY, EC_MOVE2(FORESIGHT), EC_WORD_SAYS, EC_WORD_I, EC_WORD_WILL, EC_WORD_WIN},
.speechWin = {EC_WORD_MY, EC_MOVE2(FORESIGHT), EC_WORD_HAS, EC_WORD_BEEN, EC_WORD_PERFECT, 0xFFFF},
.speechLose = {EC_WORD_I, EC_WORD_DIDN_T, EC_WORD_SEE, EC_WORD_THIS, EC_MOVE(REVERSAL), EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Dario
+ .monSet = gBattleFrontierTrainerMons_Dario
},
[FRONTIER_TRAINER_KARLEE] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_F,
@@ -2022,7 +2022,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_SOMETHING, EC_WORD_GOOD, EC_WORD_WILL, EC_WORD_COME, EC_WORD_OF, EC_WORD_THIS},
.speechWin = {EC_WORD_YOU, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_FANTASTIC, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_THAT, EC_WORD_SOMETHING, EC_WORD_GOOD, EC_WORD_WENT, EC_WORD_TO, EC_WORD_YOU},
- .monSets = gBattleFrontierTrainerMons_Karlee
+ .monSet = gBattleFrontierTrainerMons_Karlee
},
[FRONTIER_TRAINER_JAYLIN] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_F,
@@ -2030,7 +2030,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_EVERY, EC_WORD_TRAINER, EC_WORD_HAS, EC_WORD_BEEN, EC_WORD_TOO_WEAK, EC_WORD_ELLIPSIS},
.speechWin = {EC_WORD_IT_S, EC_WORD_MAKING, EC_WORD_ME, EC_MOVE(YAWN), EC_WORD_THAT, EC_WORD_BATTLE},
.speechLose = {EC_WORD_I, EC_WORD_SLEPT, EC_WORD_AND, EC_WORD_SO, EC_WORD_I, EC_WORD_LOST},
- .monSets = gBattleFrontierTrainerMons_Jaylin
+ .monSet = gBattleFrontierTrainerMons_Jaylin
},
[FRONTIER_TRAINER_INGRID] = {
.facilityClass = FACILITY_CLASS_PSYCHIC_F,
@@ -2038,7 +2038,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_A, EC_WORD_VERY, EC_WORD_MEAN, EC_WORD_TRAINER},
.speechWin = {EC_WORD_WASN_T, EC_WORD_THAT, EC_WORD_A, EC_WORD_GOOD, EC_WORD_MATCH, EC_WORD_QUES},
.speechLose = {EC_WORD_I, EC_WORD_LOST, EC_WORD_CAUSE, EC_WORD_YOU_RE, EC_WORD_MEAN, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Ingrid
+ .monSet = gBattleFrontierTrainerMons_Ingrid
},
[FRONTIER_TRAINER_DELILAH] = {
.facilityClass = FACILITY_CLASS_HEX_MANIAC,
@@ -2046,7 +2046,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_DON_T, EC_MOVE(GRUDGE), EC_WORD_ME, EC_WORD_IF_I_WIN, EC_WORD_OK_QUES, 0xFFFF},
.speechWin = {EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_TO, EC_WORD_SEE, EC_WORD_YOU, EC_WORD_ANGRY},
.speechLose = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_A, EC_MOVE(GRUDGE), EC_WORD_WITH, EC_WORD_YOU},
- .monSets = gBattleFrontierTrainerMons_Delilah
+ .monSet = gBattleFrontierTrainerMons_Delilah
},
[FRONTIER_TRAINER_CARLY] = {
.facilityClass = FACILITY_CLASS_HEX_MANIAC,
@@ -2054,7 +2054,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_WORD_SCATTER, EC_WORD_SOME, EC_MOVE2(POISON_POWDER), EC_WORD_ABOUT},
.speechWin = {EC_WORD_IT_S, EC_WORD_SCARY, EC_WORD_HOW, EC_WORD_MY, EC_WORD_STRATEGY, EC_WORD_WORKS},
.speechLose = {EC_WORD_I, EC_WORD_DISLIKE, EC_WORD_YOU, EC_WORD_AND, EC_WORD_YOUR, EC_WORD_POKEMON},
- .monSets = gBattleFrontierTrainerMons_Carly
+ .monSet = gBattleFrontierTrainerMons_Carly
},
[FRONTIER_TRAINER_LEXIE] = {
.facilityClass = FACILITY_CLASS_HEX_MANIAC,
@@ -2062,7 +2062,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_WANT, EC_WORD_TO, EC_WORD_SEE, EC_WORD_SCARY, EC_WORD_POKEMON, EC_WORD_QUES},
.speechWin = {EC_WORD_WASN_T, EC_WORD_THAT, EC_WORD_SCARY, EC_WORD_EH_QUES, 0xFFFF, 0xFFFF},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_MORE, EC_WORD_SCARY, EC_WORD_THAN, EC_WORD_MY, EC_WORD_POKEMON},
- .monSets = gBattleFrontierTrainerMons_Lexie
+ .monSet = gBattleFrontierTrainerMons_Lexie
},
[FRONTIER_TRAINER_MILLER] = {
.facilityClass = FACILITY_CLASS_POKEMANIAC,
@@ -2070,7 +2070,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_HELLO, EC_WORD_QUES, 0xFFFF, EC_WORD_HELLO, EC_WORD_QUES_EXCL, 0xFFFF},
.speechWin = {EC_WORD_HELLO, EC_WORD_MOTHER, EC_WORD_EXCL, EC_WORD_I, EC_WORD_WON, EC_WORD_EXCL},
.speechLose = {EC_WORD_MY, EC_WORD_PHONE, EC_WORD_ISN_T, EC_WORD_WORKING, EC_WORD_ELLIPSIS, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Miller
+ .monSet = gBattleFrontierTrainerMons_Miller
},
[FRONTIER_TRAINER_MARV] = {
.facilityClass = FACILITY_CLASS_POKEMANIAC,
@@ -2078,7 +2078,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_YOU, EC_WORD_CAN, EC_WORD_LOSE, EC_WORD_YOUR, EC_MOVE(SWAGGER), EC_WORD_NOW},
.speechWin = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_NO, EC_MOVE(SWAGGER), EC_WORD_LEFT, EC_WORD_EH_QUES},
.speechLose = {EC_WORD_GO, EC_WORD_ON, EC_MOVE(SWAGGER), EC_WORD_ALL, EC_WORD_YOU, EC_WORD_WANT},
- .monSets = gBattleFrontierTrainerMons_Marv
+ .monSet = gBattleFrontierTrainerMons_Marv
},
[FRONTIER_TRAINER_LAYTON] = {
.facilityClass = FACILITY_CLASS_POKEMANIAC,
@@ -2086,7 +2086,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_KNOW, EC_WORD_I_AM, EC_WORD_TOTALLY, EC_WORD_COOL, EC_WORD_EXCL},
.speechWin = {EC_WORD_YOU, EC_WORD_CAN, EC_WORD_LOOK, EC_WORD_UP, EC_WORD_TO, EC_WORD_ME},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_COOL, EC_WORD_EXCL, EC_WORD_NO, EC_WORD_REALLY, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Layton
+ .monSet = gBattleFrontierTrainerMons_Layton
},
[FRONTIER_TRAINER_BROOKS] = {
.facilityClass = FACILITY_CLASS_GENTLEMAN,
@@ -2094,7 +2094,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_A, EC_WORD_HIGH, EC_WORD_LEVEL, EC_WORD_BATTLE},
.speechWin = {EC_WORD_THAT_WAS, EC_WORD_HIGH, EC_WORD_LEVEL, EC_WORD_AND, EC_WORD_EXCITING, EC_WORD_TOO},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_TOO, EC_WORD_HIGH, EC_WORD_IN, EC_WORD_LEVEL, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Brooks
+ .monSet = gBattleFrontierTrainerMons_Brooks
},
[FRONTIER_TRAINER_GREGORY] = {
.facilityClass = FACILITY_CLASS_GENTLEMAN,
@@ -2102,7 +2102,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_THAT, EC_WORD_OLD, EC_WORD_YET, 0xFFFF},
.speechWin = {EC_WORD_WHO, EC_WORD_SAYS, EC_WORD_I_AM, EC_WORD_TOO, EC_WORD_OLD, EC_WORD_QUES},
.speechLose = {EC_WORD_PLEASE, EC_WORD_I_AM, EC_WORD_REALLY, EC_WORD_NOT, EC_WORD_THAT, EC_WORD_OLD},
- .monSets = gBattleFrontierTrainerMons_Gregory
+ .monSet = gBattleFrontierTrainerMons_Gregory
},
[FRONTIER_TRAINER_REESE] = {
.facilityClass = FACILITY_CLASS_GENTLEMAN,
@@ -2110,7 +2110,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_VE, EC_WORD_A, EC_WORD_COUPLE, EC_WORD_THINGS, 0xFFFF, 0xFFFF},
.speechWin = {EC_WORD_DON_T, EC_WORD_DIET, EC_WORD_PLAY, EC_WORD_SPORTS, EC_WORD_INSTEAD, 0xFFFF},
.speechLose = {EC_WORD_INSTEAD, EC_WORD_OF, EC_WORD_TELEVISION, EC_WORD_GET, EC_WORD_A, EC_WORD_BOOK},
- .monSets = gBattleFrontierTrainerMons_Reese
+ .monSet = gBattleFrontierTrainerMons_Reese
},
[FRONTIER_TRAINER_MASON] = {
.facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M,
@@ -2118,7 +2118,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_PLEASE, EC_WORD_DON_T, EC_WORD_MAKE, EC_WORD_THIS, EC_WORD_SCARY, 0xFFFF},
.speechWin = {EC_WORD_THANK_YOU, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_I_AM, EC_WORD_HAPPY, EC_WORD_NOW},
.speechLose = {EC_WORD_I_AM, EC_WORD_DISAPPOINTED, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Mason
+ .monSet = gBattleFrontierTrainerMons_Mason
},
[FRONTIER_TRAINER_TOBY] = {
.facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M,
@@ -2126,7 +2126,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_LISTEN, EC_WORD_UP, 0xFFFF, EC_WORD_I, EC_WORD_ALWAYS, EC_WORD_WIN},
.speechWin = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_GENIUS, EC_WORD_OR, EC_WORD_WHAT, EC_WORD_QUES},
.speechLose = {EC_WORD_I, EC_WORD_CAN, EC_WORD_BEAT, EC_WORD_YOU, EC_WORD_AT, EC_WORD_SMARTNESS},
- .monSets = gBattleFrontierTrainerMons_Toby
+ .monSet = gBattleFrontierTrainerMons_Toby
},
[FRONTIER_TRAINER_DOROTHY] = {
.facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F,
@@ -2134,7 +2134,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_THE, EC_WORD_SPORTS, EC_WORD_WORLD, EC_WORD_SHOULD, EC_WORD_ACCEPT, EC_WORD_POKEMON},
.speechWin = {EC_WORD_THANK_YOU, EC_WORD_EXCL, EC_WORD_THAT, EC_WORD_WIN, EC_WORD_WAS, EC_WORD_REFRESHING},
.speechLose = {EC_WORD_THANK_YOU, EC_WORD_EXCL, EC_WORD_THAT, EC_WORD_LOSS, EC_WORD_WAS, EC_WORD_REFRESHING},
- .monSets = gBattleFrontierTrainerMons_Dorothy
+ .monSet = gBattleFrontierTrainerMons_Dorothy
},
[FRONTIER_TRAINER_PIPER] = {
.facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F,
@@ -2142,7 +2142,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_COME_ON, EC_WORD_YOU, EC_WORD_NEED, EC_WORD_A, EC_WORD_SPEED_BOOST, EC_WORD_QUES},
.speechWin = {EC_WORD_YOU, EC_WORD_NEED, EC_WORD_TO, EC_WORD_SHOW, EC_WORD_MORE, EC_WORD_GUTS},
.speechLose = {EC_WORD_OH, EC_WORD_YOU, EC_WORD_EXCL, 0xFFFF, 0xFFFF, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Piper
+ .monSet = gBattleFrontierTrainerMons_Piper
},
[FRONTIER_TRAINER_FINN] = {
.facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M,
@@ -2150,7 +2150,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_NOT, EC_WORD_ANOTHER, EC_WORD_TRAINER, EC_WORD_BATTLE, EC_WORD_ELLIPSIS, 0xFFFF},
.speechWin = {EC_WORD_WON_T, EC_WORD_THIS, EC_WORD_EVER, EC_WORD_END, EC_WORD_QUES, 0xFFFF},
.speechLose = {EC_WORD_I, EC_WORD_FINALLY, EC_WORD_GET, EC_WORD_TO, EC_MOVE2(REST), EC_WORD_A_LITTLE},
- .monSets = gBattleFrontierTrainerMons_Finn
+ .monSet = gBattleFrontierTrainerMons_Finn
},
[FRONTIER_TRAINER_SAMIR] = {
.facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M,
@@ -2158,7 +2158,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_MOVE2(DIVE), EC_WORD_BELOW, EC_WORD_THE, EC_MOVE2(SURF), EC_WORD_EXCL},
.speechWin = {EC_WORD_YAHOO, EC_WORD_TAKE, EC_WORD_A, EC_MOVE2(DIVE), EC_WORD_YOU, EC_WORD_EXCL},
.speechLose = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_SINK, EC_WORD_ELLIPSIS, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Samir
+ .monSet = gBattleFrontierTrainerMons_Samir
},
[FRONTIER_TRAINER_FIONA] = {
.facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F,
@@ -2166,7 +2166,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_DID, EC_WORD_YOU, EC_WORD_LIMBER, EC_WORD_UP, EC_WORD_BEFORE, EC_WORD_QUES},
.speechWin = {EC_WORD_YOU, EC_WORD_NEED, EC_WORD_TO, EC_WORD_BE, EC_WORD_MORE, EC_WORD_READY},
.speechLose = {EC_WORD_BEING, EC_WORD_LIMBER, EC_WORD_DIDN_T, EC_WORD_WORK, EC_WORD_FOR, EC_WORD_ME},
- .monSets = gBattleFrontierTrainerMons_Fiona
+ .monSet = gBattleFrontierTrainerMons_Fiona
},
[FRONTIER_TRAINER_GLORIA] = {
.facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F,
@@ -2174,7 +2174,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_ATTACK, EC_WORD_WITH, EC_WORD_SUCTION_CUPS},
.speechWin = {EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, EC_WORD_IT_S, EC_WORD_OVER, EC_WORD_FOR, EC_WORD_YOU},
.speechLose = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_GET, EC_WORD_HOW, EC_WORD_SUCTION_CUPS, EC_WORD_WORK},
- .monSets = gBattleFrontierTrainerMons_Gloria
+ .monSet = gBattleFrontierTrainerMons_Gloria
},
[FRONTIER_TRAINER_NICO] = {
.facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M,
@@ -2182,7 +2182,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_LIKE, EC_WORD_A, EC_MOVE(SONIC_BOOM), EC_WORD_I_VE_ARRIVED, 0xFFFF, 0xFFFF},
.speechWin = {EC_WORD_SORRY, EC_WORD_TO, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_SO, EC_WORD_DOWNCAST},
.speechLose = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_WITH, EC_WORD_A, EC_MOVE2(SUPERSONIC), EC_WORD_SPEED_BOOST},
- .monSets = gBattleFrontierTrainerMons_Nico
+ .monSet = gBattleFrontierTrainerMons_Nico
},
[FRONTIER_TRAINER_JEREMY] = {
.facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M,
@@ -2190,7 +2190,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_A, EC_WORD_POKEMON, EC_WORD_MASTER, EC_WORD_THAT_S, EC_WORD_MY, EC_WORD_DREAM},
.speechWin = {EC_WORD_MY, EC_WORD_DREAM, EC_WORD_ISN_T, EC_WORD_FAR, EC_WORD_OFF, EC_WORD_EXCL},
.speechLose = {EC_WORD_WHAT, EC_WORD_I, EC_WORD_DREAM, EC_WORD_ISN_T, EC_WORD_HAPPENING, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Jeremy
+ .monSet = gBattleFrontierTrainerMons_Jeremy
},
[FRONTIER_TRAINER_CAITLIN] = {
.facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F,
@@ -2198,7 +2198,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_DON_T, EC_WORD_YOU, EC_WORD_THINK, EC_WORD_I_AM, EC_WORD_CUTE, EC_WORD_QUES},
.speechWin = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_MORE, EC_WORD_TO_ME, EC_WORD_THAN, EC_WORD_CUTENESS},
.speechLose = {EC_WORD_MY, EC_WORD_CUTE_CHARM, EC_WORD_DOESN_T, EC_MOVE2(ATTRACT), EC_WORD_YOU, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Caitlin
+ .monSet = gBattleFrontierTrainerMons_Caitlin
},
[FRONTIER_TRAINER_REENA] = {
.facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F,
@@ -2206,7 +2206,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_ALWAYS, EC_WORD_HAPPY, EC_WORD_HAPPY, EC_WORD_HAPPY, EC_WORD_EXCL},
.speechWin = {EC_WORD_OH, EC_WORD_YAY, EC_WORD_EXCL, EC_WORD_YAHOO, EC_WORD_FOR, EC_WORD_ME},
.speechLose = {EC_WORD_YAHOO, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_HAPPY, EC_WORD_FOR, EC_WORD_YOU},
- .monSets = gBattleFrontierTrainerMons_Reena
+ .monSet = gBattleFrontierTrainerMons_Reena
},
[FRONTIER_TRAINER_AVERY] = {
.facilityClass = FACILITY_CLASS_BUG_MANIAC,
@@ -2214,7 +2214,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_VE, EC_WORD_GOT, EC_WORD_A_LOT, EC_WORD_OF, EC_WORD_BUG, EC_WORD_POKEMON},
.speechWin = {EC_WORD_MY, EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_ALL, EC_WORD_UNBELIEVABLE},
.speechLose = {EC_WORD_MY, EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_ALL, EC_WORD_UPSIDE_DOWN},
- .monSets = gBattleFrontierTrainerMons_Avery
+ .monSet = gBattleFrontierTrainerMons_Avery
},
[FRONTIER_TRAINER_LIAM] = {
.facilityClass = FACILITY_CLASS_BUG_MANIAC,
@@ -2222,7 +2222,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_WE, EC_WORD_REALLY, EC_WORD_DISLIKE, EC_WORD_FIRE, EC_WORD_AND, EC_WORD_FLYING},
.speechWin = {EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_AREN_T, EC_WORD_BAD, EC_WORD_HEY_QUES, 0xFFFF},
.speechLose = {EC_WORD_YOU, EC_WORD_KNOW, EC_WORD_WHAT, EC_WORD_WE, EC_WORD_DISLIKE, EC_WORD_HEY_QUES},
- .monSets = gBattleFrontierTrainerMons_Liam
+ .monSet = gBattleFrontierTrainerMons_Liam
},
[FRONTIER_TRAINER_THEO] = {
.facilityClass = FACILITY_CLASS_FISHERMAN,
@@ -2230,7 +2230,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_FISHING, EC_WORD_IS, EC_WORD_MY, EC_WORD_CHOICE, EC_WORD_IN, EC_WORD_LIFE},
.speechWin = {EC_WORD_WATER, EC_WORD_POKEMON, EC_MOVE2(ATTRACT), EC_WORD_ME, EC_WORD_WITHOUT, EC_WORD_END},
.speechLose = {EC_WORD_DON_T, EC_WORD_COUNT_ON, EC_WORD_THAT, EC_WORD_HAPPENING, EC_WORD_ANOTHER, EC_WORD_TIME},
- .monSets = gBattleFrontierTrainerMons_Theo
+ .monSet = gBattleFrontierTrainerMons_Theo
},
[FRONTIER_TRAINER_BAILEY] = {
.facilityClass = FACILITY_CLASS_FISHERMAN,
@@ -2238,7 +2238,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_AN, EC_WORD_ADULT, EC_WORD_I, EC_WORD_BATTLE, EC_WORD_EASY},
.speechWin = {EC_WORD_I_AM, EC_WORD_AN, EC_WORD_ADULT, EC_WORD_I, EC_MOVE2(SWALLOW), EC_WORD_JOY},
.speechLose = {EC_WORD_I_AM, EC_WORD_AN, EC_WORD_ADULT, EC_WORD_I, EC_MOVE2(SWALLOW), EC_MOVE2(FRUSTRATION)},
- .monSets = gBattleFrontierTrainerMons_Bailey
+ .monSet = gBattleFrontierTrainerMons_Bailey
},
[FRONTIER_TRAINER_HUGO] = {
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
@@ -2246,7 +2246,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_TRY, EC_WORD_THE, EC_WORD_BEST, EC_WORD_I, EC_WORD_CAN},
.speechWin = {EC_WORD_I, EC_WORD_CAN_WIN, EC_WORD_IF, EC_WORD_I, EC_WORD_TRY, EC_WORD_ENOUGH},
.speechLose = {EC_WORD_I, EC_WORD_DID, EC_WORD_TRY, EC_WORD_DIDN_T, EC_WORD_I, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Hugo
+ .monSet = gBattleFrontierTrainerMons_Hugo
},
[FRONTIER_TRAINER_BRYCE] = {
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
@@ -2254,7 +2254,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_WAS, EC_WORD_ON, EC_WORD_VACATION, EC_WORD_UNTIL, EC_WORD_ONLY, EC_WORD_YESTERDAY},
.speechWin = {EC_WORD_I, EC_WORD_HAVEN_T, EC_WORD_LOST, EC_WORD_MY, EC_WORD_SKILL, EC_WORD_YET},
.speechLose = {EC_WORD_THAT_S, EC_WORD_IT, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_NEED, EC_WORD_SLEEP},
- .monSets = gBattleFrontierTrainerMons_Bryce
+ .monSet = gBattleFrontierTrainerMons_Bryce
},
[FRONTIER_TRAINER_GIDEON] = {
.facilityClass = FACILITY_CLASS_COLLECTOR,
@@ -2262,7 +2262,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_WHAT_S_UP_QUES, EC_WORD_YOU, EC_WORD_THINK, EC_WORD_I_AM, EC_WORD_SCARY, EC_WORD_QUES},
.speechWin = {EC_WORD_I_AM, EC_WORD_COOL, EC_WORD_BUT, EC_WORD_NOT, EC_WORD_SCARY, EC_WORD_EXCL},
.speechLose = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_WORD_FABULOUS, EC_WORD_FASHION, EC_WORD_SENSE},
- .monSets = gBattleFrontierTrainerMons_Gideon
+ .monSet = gBattleFrontierTrainerMons_Gideon
},
[FRONTIER_TRAINER_TRISTON] = {
.facilityClass = FACILITY_CLASS_COLLECTOR,
@@ -2270,7 +2270,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_WOULD, EC_WORD_RATHER, EC_WORD_LOOK, EC_WORD_AT, EC_WORD_POKEMON},
.speechWin = {EC_WORD_HUH_QUES, EC_WORD_YOU, EC_WORD_MEAN, EC_WORD_I, EC_WORD_WON, EC_WORD_QUES_EXCL},
.speechLose = {EC_WORD_SEE, EC_WORD_QUES, 0xFFFF, EC_WORD_I, EC_WORD_ALWAYS, EC_WORD_LOSE},
- .monSets = gBattleFrontierTrainerMons_Triston
+ .monSet = gBattleFrontierTrainerMons_Triston
},
[FRONTIER_TRAINER_CHARLES] = {
.facilityClass = FACILITY_CLASS_GUITARIST,
@@ -2278,7 +2278,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_IT_S, EC_WORD_HOPELESS, EC_WORD_TO, EC_MOVE2(STRUGGLE), EC_WORD_WITH, EC_WORD_ME},
.speechWin = {EC_MOVE(SUBMISSION), EC_WORD_WAS, EC_WORD_YOUR, EC_WORD_ONLY, EC_WORD_CHOICE, 0xFFFF},
.speechLose = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_DOWN, EC_WORD_DOWN, EC_WORD_DOWN, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Charles
+ .monSet = gBattleFrontierTrainerMons_Charles
},
[FRONTIER_TRAINER_RAYMOND] = {
.facilityClass = FACILITY_CLASS_GUITARIST,
@@ -2286,7 +2286,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_WANT, EC_WORD_TO, EC_WORD_HEAR, EC_WORD_MY, EC_WORD_SONG, EC_WORD_QUES},
.speechWin = {EC_WORD_SATISFIED, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_SATISFIED, EC_WORD_IS, EC_WORD_WHAT, EC_WORD_I, EC_WORD_CAN_T, EC_WORD_BE},
- .monSets = gBattleFrontierTrainerMons_Raymond
+ .monSet = gBattleFrontierTrainerMons_Raymond
},
[FRONTIER_TRAINER_DIRK] = {
.facilityClass = FACILITY_CLASS_BIRD_KEEPER,
@@ -2294,7 +2294,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_FLYING, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_ABOVE, EC_WORD_THE, EC_MOVE2(REST)},
.speechWin = {EC_WORD_YOU, EC_WORD_CAN_T_WIN, EC_WORD_EXCL, EC_WORD_FLYING, EC_WORD_POKEMON, EC_WORD_RULE},
.speechLose = {EC_WORD_AREN_T, EC_WORD_THERE, EC_WORD_MORE, EC_WORD_FLYING, EC_WORD_POKEMON, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Dirk
+ .monSet = gBattleFrontierTrainerMons_Dirk
},
[FRONTIER_TRAINER_HAROLD] = {
.facilityClass = FACILITY_CLASS_BIRD_KEEPER,
@@ -2302,7 +2302,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_APPEAL, EC_WORD_TO, EC_WORD_YOU, EC_WORD_QUES},
.speechWin = {EC_WORD_YOU, EC_WORD_DO, EC_WORD_LIKE, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_QUES},
.speechLose = {EC_WORD_SO, EC_WORD_YOU, EC_WORD_DISLIKE, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Harold
+ .monSet = gBattleFrontierTrainerMons_Harold
},
[FRONTIER_TRAINER_OMAR] = {
.facilityClass = FACILITY_CLASS_SAILOR,
@@ -2310,7 +2310,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_LET_ME_WIN, EC_WORD_IN, EC_MOVE(RETURN), EC_WORD_FOR, EC_WORD_A, EC_MOVE2(PRESENT)},
.speechWin = {EC_WORD_HERE, EC_WORD_YOU, EC_WORD_ARE, EC_WORD_SOME, EC_MOVE2(TOXIC), EC_WORD_SWEETS},
.speechLose = {EC_WORD_YOUR, EC_MOVE2(PRESENT), EC_WORD_QUES, EC_WORD_WHAT, EC_WORD_FOR, EC_WORD_QUES_EXCL},
- .monSets = gBattleFrontierTrainerMons_Omar
+ .monSet = gBattleFrontierTrainerMons_Omar
},
[FRONTIER_TRAINER_PETER] = {
.facilityClass = FACILITY_CLASS_SAILOR,
@@ -2318,7 +2318,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_BRAG, EC_WORD_ABOUT, EC_WORD_MY, EC_WORD_HAPPINESS, EC_WORD_OK_QUES},
.speechWin = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_LISTEN, EC_WORD_TO_ME, EC_WORD_BRAG},
.speechLose = {EC_WORD_I_AM, EC_WORD_DISAPPOINTED, EC_WORD_YOU, EC_WORD_WON_T, EC_WORD_LISTEN, EC_WORD_TO_ME},
- .monSets = gBattleFrontierTrainerMons_Peter
+ .monSet = gBattleFrontierTrainerMons_Peter
},
[FRONTIER_TRAINER_DEV] = {
.facilityClass = FACILITY_CLASS_HIKER,
@@ -2326,7 +2326,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_COME_ON, EC_WORD_LET_S, EC_WORD_GET, EC_WORD_A, EC_WORD_MOVE, EC_WORD_ON},
.speechWin = {EC_WORD_I, EC_WORD_GET, EC_WORD_TO, EC_WORD_NAP, EC_WORD_AFTER, EC_WORD_THAT},
.speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_NAP, EC_WORD_AFTER, EC_WORD_THAT},
- .monSets = gBattleFrontierTrainerMons_Dev
+ .monSet = gBattleFrontierTrainerMons_Dev
},
[FRONTIER_TRAINER_COREY] = {
.facilityClass = FACILITY_CLASS_HIKER,
@@ -2334,7 +2334,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_LET_S, EC_WORD_TEACH, EC_WORD_YOU, EC_WORD_HOW, EC_WORD_TOUGH, EC_WORD_I_AM},
.speechWin = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_ME, EC_WORD_MAKE, EC_WORD_A, EC_MOVE(BRICK_BREAK)},
.speechLose = {EC_WORD_MY, EC_MOVE2(FRUSTRATION), EC_WORD_IS, EC_WORD_CLOSE, EC_WORD_TO, EC_MOVE2(ERUPTION)},
- .monSets = gBattleFrontierTrainerMons_Corey
+ .monSet = gBattleFrontierTrainerMons_Corey
},
[FRONTIER_TRAINER_ANDRE] = {
.facilityClass = FACILITY_CLASS_KINDLER,
@@ -2342,7 +2342,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_NOW, EC_WORD_THIS, EC_WORD_IS, EC_WORD_A, EC_WORD_PERFECT, EC_WORD_FLAME_BODY},
.speechWin = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_WORD_FIERY, EC_WORD_DANCE, EC_WORD_EXCL},
.speechLose = {EC_WORD_YOU, EC_WORD_WANT, EC_WORD_AN, EC_MOVE2(EXPLOSION), EC_WORD_HERE, EC_WORD_QUES},
- .monSets = gBattleFrontierTrainerMons_Andre
+ .monSet = gBattleFrontierTrainerMons_Andre
},
[FRONTIER_TRAINER_FERRIS] = {
.facilityClass = FACILITY_CLASS_KINDLER,
@@ -2350,7 +2350,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_NO_1, EC_WORD_IN, EC_WORD_THE, EC_WORD_OLD, EC_WORD_CLASS},
.speechWin = {EC_WORD_NO_1, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_NO_1, EC_WORD_ANY, EC_WORD_MORE, EC_WORD_ELLIPSIS},
- .monSets = gBattleFrontierTrainerMons_Ferris
+ .monSet = gBattleFrontierTrainerMons_Ferris
},
[FRONTIER_TRAINER_ALIVIA] = {
.facilityClass = FACILITY_CLASS_PARASOL_LADY,
@@ -2358,7 +2358,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_GIDDY, EC_WORD_SO, EC_WORD_SHOULD, EC_WORD_YOU},
.speechWin = {EC_WORD_IT, EC_WORD_WAS, EC_WORD_ALL, EC_WORD_TOGETHER, EC_WORD_TOO, EC_WORD_EASY},
.speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_GIDDY, EC_WORD_UP, EC_WORD_AND, EC_WORD_AWAY},
- .monSets = gBattleFrontierTrainerMons_Alivia
+ .monSet = gBattleFrontierTrainerMons_Alivia
},
[FRONTIER_TRAINER_PAIGE] = {
.facilityClass = FACILITY_CLASS_PARASOL_LADY,
@@ -2366,7 +2366,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_LET_S, EC_WORD_ENJOY, EC_WORD_OUR, EC_WORD_BATTLE, EC_WORD_TOGETHER, 0xFFFF},
.speechWin = {EC_WORD_THAT_S_IT_EXCL, 0xFFFF, 0xFFFF, EC_WORD_THANK_YOU, EC_WORD_VERY, EC_WORD_MUCH},
.speechLose = {EC_WORD_THAT_S_IT_EXCL, 0xFFFF, 0xFFFF, EC_WORD_DO, EC_WORD_GO, EC_WORD_ON},
- .monSets = gBattleFrontierTrainerMons_Paige
+ .monSet = gBattleFrontierTrainerMons_Paige
},
[FRONTIER_TRAINER_ANYA] = {
.facilityClass = FACILITY_CLASS_BEAUTY,
@@ -2374,7 +2374,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_DISLIKE, EC_WORD_OH, EC_WORD_SO, EC_WORD_PRETTY, EC_WORD_FASHION},
.speechWin = {EC_WORD_FASHION, EC_WORD_SHOULD, EC_WORD_MATCH, EC_WORD_THE, EC_WORD_PERSON, 0xFFFF},
.speechLose = {EC_WORD_PRETTY, EC_WORD_COULD, EC_WORD_BE, EC_WORD_GOOD, 0xFFFF, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Anya
+ .monSet = gBattleFrontierTrainerMons_Anya
},
[FRONTIER_TRAINER_DAWN] = {
.facilityClass = FACILITY_CLASS_BEAUTY,
@@ -2382,7 +2382,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_GO, EC_WORD_ALL, EC_WORD_OUT, EC_WORD_EXCL, 0xFFFF},
.speechWin = {EC_WORD_DON_T, EC_WORD_BE, EC_WORD_A, EC_WORD_BABY, EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_YOU, EC_WORD_WON, EC_WORD_EXCL, EC_WORD_MOVE, EC_WORD_ON, EC_WORD_EXCL},
- .monSets = gBattleFrontierTrainerMons_Dawn
+ .monSet = gBattleFrontierTrainerMons_Dawn
},
[FRONTIER_TRAINER_ABBY] = {
.facilityClass = FACILITY_CLASS_AROMA_LADY,
@@ -2390,7 +2390,7 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_A, EC_WORD_TRAINER, EC_WORD_THAT_S, EC_WORD_REFRESHING},
.speechWin = {EC_WORD_VICTORY, EC_WORD_HAS, EC_WORD_A, EC_MOVE(SWEET_SCENT), EC_WORD_EXCL, 0xFFFF},
.speechLose = {EC_WORD_WHAT, EC_WORD_AN, EC_WORD_AWFUL, EC_WORD_STENCH, EC_WORD_EXCL, 0xFFFF},
- .monSets = gBattleFrontierTrainerMons_Abby
+ .monSet = gBattleFrontierTrainerMons_Abby
},
[FRONTIER_TRAINER_GRETEL] = {
.facilityClass = FACILITY_CLASS_AROMA_LADY,
@@ -2398,6 +2398,6 @@ const struct BattleFrontierTrainer gBattleFrontierTrainers[FRONTIER_TRAINERS_COU
.speechBefore = {EC_WORD_I, EC_WORD_CAUSE, EC_MOVE(OUTRAGE), EC_WORD_AS, EC_WORD_A, EC_WORD_TRAINER},
.speechWin = {EC_WORD_IT_S, EC_WORD_ONLY, EC_WORD_NATURAL, EC_WORD_SEE_YA, EC_WORD_BYE_BYE, EC_WORD_EXCL},
.speechLose = {EC_WORD_IT_S, EC_WORD_HARD, EC_WORD_TO, EC_WORD_BELIEVE, EC_WORD_BUT, EC_WORD_CONGRATS},
- .monSets = gBattleFrontierTrainerMons_Gretel
+ .monSet = gBattleFrontierTrainerMons_Gretel
}
};
diff --git a/src/data/battle_frontier/battle_tent.h b/src/data/battle_frontier/battle_tent.h
index 946ca0187..a6d59c8b7 100644
--- a/src/data/battle_frontier/battle_tent.h
+++ b/src/data/battle_frontier/battle_tent.h
@@ -515,7 +515,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_WHAT, EC_WORD_WILL, EC_WORD_I, EC_WORD_BE, EC_WORD_TOMORROW, EC_WORD_QUES},
.speechWin = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_LIKE, EC_WORD_IT_S, EC_WORD_FRIDAY, EC_WORD_EXCL},
.speechLose = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_LIKE, EC_WORD_IT_S, EC_WORD_MONDAY, EC_WORD_ELLIPSIS},
- .monSets = gSlateportBattleTentTrainerMons_Jolie
+ .monSet = gSlateportBattleTentTrainerMons_Jolie
},
[1] = {
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
@@ -523,7 +523,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_BAD, EC_WORD_NEWS, EC_WORD_EXCL, EC_WORD_IT_S, EC_WORD_A, EC_MOVE(SAND_TOMB)},
.speechWin = {EC_WORD_YEEHAW_EXCL, -1, -1, EC_WORD_I_VE, EC_WORD_DONE, EC_WORD_IT},
.speechLose = {EC_WORD_I_VE, EC_WORD_LOST, EC_WORD_IN, EC_WORD_THIS, EC_MOVE(SAND_TOMB), EC_WORD_ELLIPSIS},
- .monSets = gSlateportBattleTentTrainerMons_Malachi
+ .monSet = gSlateportBattleTentTrainerMons_Malachi
},
[2] = {
.facilityClass = FACILITY_CLASS_TUBER_F,
@@ -531,7 +531,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_GO, EC_WORD_EXCL_EXCL, EC_WORD_MY, EC_WORD_BATH, EC_WORD_POKEMON, EC_WORD_EXCL_EXCL},
.speechWin = {EC_WORD_YAHOO, EC_WORD_EXCL_EXCL, EC_WORD_MY, EC_WORD_BATH, EC_WORD_POKEMON, EC_WORD_EXCL_EXCL},
.speechLose = {EC_WORD_GWAH, EC_WORD_EXCL_EXCL, EC_WORD_MY, EC_WORD_BATH, EC_WORD_POKEMON, EC_WORD_EXCL_EXCL},
- .monSets = gSlateportBattleTentTrainerMons_Kelsie
+ .monSet = gSlateportBattleTentTrainerMons_Kelsie
},
[3] = {
.facilityClass = FACILITY_CLASS_TUBER_M,
@@ -539,7 +539,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_YEAH_YEAH, EC_WORD_EXCL_EXCL, -1, EC_WORD_GREAT, EC_MOVE(WHIRLPOOL), EC_WORD_ISN_T_IT_QUES},
.speechWin = {EC_WORD_THAT_WAS, EC_WORD_LIKE, EC_WORD_A, EC_MOVE(WHIRLPOOL), EC_WORD_YEAH_YEAH, EC_WORD_EXCL_EXCL},
.speechLose = {EC_WORD_DON_T, EC_WORD_GET, EC_MOVE2(BEAT_UP), EC_WORD_IN, EC_WORD_THAT, EC_MOVE(WHIRLPOOL)},
- .monSets = gSlateportBattleTentTrainerMons_Davon
+ .monSet = gSlateportBattleTentTrainerMons_Davon
},
[4] = {
.facilityClass = FACILITY_CLASS_LADY,
@@ -547,7 +547,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_CONVERSATION, EC_WORD_CAN, EC_WORD_WAIT, EC_WORD_UNTIL, EC_WORD_I, EC_WORD_WIN},
.speechWin = {EC_WORD_FABULOUS, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_ROCK},
.speechLose = {EC_WORD_NO, EC_WORD_EXCL, -1, EC_WORD_I, EC_WORD_WASN_T, EC_WORD_SERIOUS},
- .monSets = gSlateportBattleTentTrainerMons_Glenda
+ .monSet = gSlateportBattleTentTrainerMons_Glenda
},
[5] = {
.facilityClass = FACILITY_CLASS_BEAUTY,
@@ -555,7 +555,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_DOES, EC_WORD_MY, EC_WORD_BEAUTY, EC_WORD_INTIMIDATE, EC_WORD_YOU, EC_WORD_QUES},
.speechWin = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SORRY, EC_WORD_BUT, EC_WORD_YOU_RE, EC_WORD_BORING},
.speechLose = {EC_WORD_I, EC_WORD_DO, EC_WORD_SO, EC_WORD_ENJOY, EC_WORD_THIS, EC_WORD_EXCL},
- .monSets = gSlateportBattleTentTrainerMons_Helena
+ .monSet = gSlateportBattleTentTrainerMons_Helena
},
[6] = {
.facilityClass = FACILITY_CLASS_RICH_BOY,
@@ -563,7 +563,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_GO, EC_WORD_GET, EC_WORD_A, EC_POKEMON(WHISCASH), EC_WORD_FOR, EC_WORD_ME},
.speechWin = {EC_WORD_AWW, EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_HAVE, EC_WORD_A, EC_POKEMON(WHISCASH)},
.speechLose = {EC_WORD_PLEASE, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_POKEMON(WHISCASH), EC_WORD_BADLY},
- .monSets = gSlateportBattleTentTrainerMons_Rodolfo
+ .monSet = gSlateportBattleTentTrainerMons_Rodolfo
},
[7] = {
.facilityClass = FACILITY_CLASS_POKEMANIAC,
@@ -571,7 +571,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_GRAAAH, EC_WORD_GRAAAH, EC_WORD_EXCL_EXCL, EC_WORD_GRAAAH, EC_WORD_GRAAAH, EC_WORD_EXCL_EXCL},
.speechWin = {EC_MOVE2(ROAR), EC_WORD_EXCL, -1, EC_MOVE2(ROAR), EC_WORD_EXCL_EXCL, -1},
.speechLose = {EC_WORD_URGH, EC_WORD_WAAAH, EC_WORD_EXCL_EXCL, -1, -1, -1},
- .monSets = gSlateportBattleTentTrainerMons_Davion
+ .monSet = gSlateportBattleTentTrainerMons_Davion
},
[8] = {
.facilityClass = FACILITY_CLASS_SWIMMER_M,
@@ -579,7 +579,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_A_LITTLE, EC_MOVE2(PETAL_DANCE), EC_WORD_TO, EC_WORD_PLEASE, EC_WORD_YOU, EC_WORD_EXCL},
.speechWin = {EC_WORD_I, EC_WORD_DO, EC_WORD_THIS, EC_WORD_ONLY, EC_WORD_FOR, EC_WORD_WORK},
.speechLose = {EC_WORD_HOW, EC_WORD_COULD, EC_WORD_YOU, EC_MOVE2(POUND), EC_WORD_ME, EC_WORD_QUES},
- .monSets = gSlateportBattleTentTrainerMons_Kendall
+ .monSet = gSlateportBattleTentTrainerMons_Kendall
},
[9] = {
.facilityClass = FACILITY_CLASS_CAMPER,
@@ -587,7 +587,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO, EC_WORD_RUN, EC_WORD_AROUND},
.speechWin = {EC_WORD_YAY, EC_WORD_EXCL, EC_WORD_WANT, EC_WORD_TO, EC_WORD_RUN, EC_WORD_QUES},
.speechLose = {EC_WORD_A, EC_WORD_SWIFT_SWIM, EC_WORD_WOULD, EC_WORD_BE, EC_WORD_GOOD, EC_WORD_TOO},
- .monSets = gSlateportBattleTentTrainerMons_Colten
+ .monSet = gSlateportBattleTentTrainerMons_Colten
},
[10] = {
.facilityClass = FACILITY_CLASS_BUG_MANIAC,
@@ -595,7 +595,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_HAVE, EC_WORD_A, EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_MOVE(CONFUSE_RAY)},
.speechWin = {EC_WORD_YAHOO, EC_WORD_MY, EC_MOVE(CONFUSE_RAY), EC_WORD_IS, EC_WORD_THE, EC_WORD_BEST},
.speechLose = {EC_WORD_GWAH, EC_WORD_EXCL_EXCL, -1, EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_EXCL},
- .monSets = gSlateportBattleTentTrainerMons_Irvin
+ .monSet = gSlateportBattleTentTrainerMons_Irvin
},
[11] = {
.facilityClass = FACILITY_CLASS_GENTLEMAN,
@@ -603,7 +603,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_LISTEN, EC_WORD_ELLIPSIS, EC_WORD_YOU, EC_WORD_AREN_T, EC_WORD_VERY, EC_WORD_GOOD},
.speechWin = {EC_WORD_YOU, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_I, EC_WORD_WAS, EC_WORD_RIGHT},
.speechLose = {EC_WORD_YES, EC_WORD_YES, EC_WORD_ELLIPSIS, EC_WORD_YOU_RE, EC_WORD_QUITE, EC_WORD_SOMETHING},
- .monSets = gSlateportBattleTentTrainerMons_Shaun
+ .monSet = gSlateportBattleTentTrainerMons_Shaun
},
[12] = {
.facilityClass = FACILITY_CLASS_GUITARIST,
@@ -611,7 +611,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_QUES},
.speechWin = {EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_YAY},
.speechLose = {EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_WOW},
- .monSets = gSlateportBattleTentTrainerMons_Kyler
+ .monSet = gSlateportBattleTentTrainerMons_Kyler
},
[13] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
@@ -619,7 +619,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_POKEMON(VULPIX), EC_POKEMON(XATU), EC_POKEMON2(UMBREON), EC_WORD_ELLIPSIS, EC_WORD_UM, EC_WORD_ELLIPSIS},
.speechWin = {EC_POKEMON(NOSEPASS), EC_WORD_ELLIPSIS, EC_WORD_UM, EC_POKEMON(SEVIPER), EC_WORD_EXCL, -1},
.speechLose = {EC_POKEMON(NOSEPASS), EC_WORD_ELLIPSIS, EC_WORD_UM, EC_POKEMON2(SNORLAX), EC_WORD_ELLIPSIS, EC_WORD_UH_OH},
- .monSets = gSlateportBattleTentTrainerMons_Maggie
+ .monSet = gSlateportBattleTentTrainerMons_Maggie
},
[14] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_M,
@@ -627,7 +627,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_ENJOY, EC_WORD_AN, EC_WORD_EGG},
.speechWin = {EC_WORD_I, EC_WORD_WILL, EC_WORD_ENJOY, EC_WORD_THIS, EC_WORD_TASTY, EC_WORD_VICTORY},
.speechLose = {EC_WORD_AWFUL, EC_WORD_EXCL_EXCL, -1, EC_WORD_JUST, EC_WORD_AWFUL, EC_WORD_EXCL_EXCL},
- .monSets = gSlateportBattleTentTrainerMons_Stephon
+ .monSet = gSlateportBattleTentTrainerMons_Stephon
},
[15] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_F,
@@ -635,7 +635,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_THAT, EC_WORD_EGG, EC_WORD_HAS, EC_WORD_A, EC_WORD_TASTY, EC_WORD_SHINE},
.speechWin = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_EXCL, EC_WORD_SMELL, EC_WORD_THAT, EC_WORD_STENCH},
.speechLose = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_STOP, EC_WORD_ELLIPSIS},
- .monSets = gSlateportBattleTentTrainerMons_Rebecca
+ .monSet = gSlateportBattleTentTrainerMons_Rebecca
},
[16] = {
.facilityClass = FACILITY_CLASS_POKEFAN_M,
@@ -643,7 +643,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_POKEMON, EC_WORD_COME, EC_WORD_BEFORE, EC_WORD_MONEY, EC_WORD_OR, EC_WORD_FAMILY},
.speechWin = {EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_IS, EC_WORD_MAKING, EC_WORD_ME, EC_WORD_STRONG},
.speechLose = {EC_WORD_THAT_S, EC_WORD_WHY, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_THICK, EC_WORD_ELLIPSIS},
- .monSets = gSlateportBattleTentTrainerMons_Reggie
+ .monSet = gSlateportBattleTentTrainerMons_Reggie
},
[17] = {
.facilityClass = FACILITY_CLASS_POKEFAN_F,
@@ -651,7 +651,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_I, EC_WORD_JUST, EC_WORD_ADORE, EC_WORD_YOUR, EC_WORD_TOUGH, EC_WORD_LOOK},
.speechWin = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_HOW, EC_WORD_YOU, EC_MOVE2(STRUGGLE), -1},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_MEAN, EC_WORD_AND, EC_WORD_AWFUL, EC_WORD_TRAINER},
- .monSets = gSlateportBattleTentTrainerMons_Janae
+ .monSet = gSlateportBattleTentTrainerMons_Janae
},
[18] = {
.facilityClass = FACILITY_CLASS_EXPERT_M,
@@ -659,7 +659,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_MY, EC_MOVE2(CURSE), EC_WORD_WILL, EC_WORD_BREAK, EC_WORD_YOUR, EC_WORD_SPIRIT},
.speechWin = {EC_MOVE2(CURSE), EC_WORD_QUES, EC_WORD_IT_S, EC_WORD_A, EC_WORD_LIE, EC_WORD_ELLIPSIS},
.speechLose = {EC_WORD_MY, EC_MOVE2(CURSE), EC_WORD_WILL, EC_WORD_LAST, EC_WORD_FOREVER, -1},
- .monSets = gSlateportBattleTentTrainerMons_Caiden
+ .monSet = gSlateportBattleTentTrainerMons_Caiden
},
[19] = {
.facilityClass = FACILITY_CLASS_EXPERT_F,
@@ -667,7 +667,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_HUH_QUES, EC_WORD_A, EC_WORD_BATTLE, EC_WORD_YOU, EC_WORD_SAID, EC_WORD_QUES},
.speechWin = {EC_WORD_HUH_QUES, EC_WORD_STRONG, EC_WORD_BUT, EC_WORD_NOT, EC_WORD_STRONG, EC_WORD_ENOUGH},
.speechLose = {EC_WORD_HUH_QUES, EC_WORD_I, EC_WORD_SURRENDER, EC_WORD_TO, EC_WORD_YOUR, EC_MOVE(STRENGTH)},
- .monSets = gSlateportBattleTentTrainerMons_Kirsten
+ .monSet = gSlateportBattleTentTrainerMons_Kirsten
},
[20] = {
.facilityClass = FACILITY_CLASS_YOUNGSTER,
@@ -675,7 +675,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_SORRY, EC_WORD_YOU_RE, EC_WORD_GOING, EC_WORD_TO, EC_WORD_GET, EC_MOVE2(BEAT_UP)},
.speechWin = {EC_WORD_I, EC_WORD_SAID, EC_WORD_WE, EC_WORD_WOULD, EC_MOVE2(POUND), EC_WORD_YOU},
.speechLose = {EC_WORD_HOW, EC_WORD_DID, EC_WORD_I, EC_WORD_GET, EC_MOVE2(BEAT_UP), EC_WORD_QUES},
- .monSets = gSlateportBattleTentTrainerMons_Kurtis
+ .monSet = gSlateportBattleTentTrainerMons_Kurtis
},
[21] = {
.facilityClass = FACILITY_CLASS_FISHERMAN,
@@ -683,7 +683,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_I, EC_WORD_ONLY, EC_WORD_WANT, EC_WORD_CUTE, EC_WORD_POKEMON, -1},
.speechWin = {EC_WORD_WHAT, EC_WORD_IS, EC_WORD_IT, EC_WORD_TO, EC_WORD_YOU, EC_WORD_QUES},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_KIND, EC_WORD_OF, EC_WORD_AWESOME, EC_WORD_ELLIPSIS, -1},
- .monSets = gSlateportBattleTentTrainerMons_Stefan
+ .monSet = gSlateportBattleTentTrainerMons_Stefan
},
[22] = {
.facilityClass = FACILITY_CLASS_BIRD_KEEPER,
@@ -691,7 +691,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_TOYS, EC_WORD_EXCL, EC_WORD_I, EC_WORD_NEED, EC_WORD_MORE, EC_WORD_TOYS},
.speechWin = {EC_WORD_I, EC_WORD_NEED, EC_WORD_SOME, EC_WORD_EASY, EC_WORD_MONEY, EC_WORD_FAST},
.speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_WORK, EC_WORD_FOR, EC_WORD_MONEY},
- .monSets = gSlateportBattleTentTrainerMons_Avery
+ .monSet = gSlateportBattleTentTrainerMons_Avery
},
[23] = {
.facilityClass = FACILITY_CLASS_NINJA_BOY,
@@ -699,7 +699,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_MMM, EC_WORD_TASTY, EC_WORD_ELLIPSIS, EC_WORD_WONDER, EC_WORD_WHAT, EC_WORD_QUES},
.speechWin = {EC_WORD_MMM, EC_WORD_MMM, EC_WORD_ELLIPSIS, EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_KNOW},
.speechLose = {EC_WORD_MMM, EC_WORD_MMM, EC_WORD_ELLIPSIS, EC_WORD_OH_YEAH, EC_WORD_THIS_IS_IT_EXCL, -1},
- .monSets = gSlateportBattleTentTrainerMons_Dwane
+ .monSet = gSlateportBattleTentTrainerMons_Dwane
},
[24] = {
.facilityClass = FACILITY_CLASS_PARASOL_LADY,
@@ -707,7 +707,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_I, EC_WORD_DISLIKE, EC_WORD_SMALL, EC_WORD_TALK, EC_WORD_LET_S, EC_WORD_GO},
.speechWin = {EC_WORD_YUP, EC_WORD_THAT_S, EC_WORD_THAT, -1, -1, -1},
.speechLose = {EC_WORD_KTHX_BYE, -1, -1, -1, -1, -1},
- .monSets = gSlateportBattleTentTrainerMons_Mckenna
+ .monSet = gSlateportBattleTentTrainerMons_Mckenna
},
[25] = {
.facilityClass = FACILITY_CLASS_SWIMMER_F,
@@ -715,7 +715,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_MR, EC_WORD_JUDGE, EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_OUR, EC_WORD_TRUST},
.speechWin = {EC_WORD_YES_SIR_EXCL, EC_WORD_WE_RE, EC_WORD_NO_1, EC_WORD_IN, EC_WORD_THIS, EC_WORD_CONTEST},
.speechLose = {EC_WORD_I, EC_WORD_WON_T, EC_WORD_GIVE_UP, EC_WORD_MY, EC_WORD_IDOL, EC_WORD_DREAM},
- .monSets = gSlateportBattleTentTrainerMons_Camryn
+ .monSet = gSlateportBattleTentTrainerMons_Camryn
},
[26] = {
.facilityClass = FACILITY_CLASS_PICNICKER,
@@ -723,7 +723,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_COME_OVER, EC_WORD_TO, EC_WORD_MY, EC_WORD_PLACE, EC_WORD_OK_QUES, -1},
.speechWin = {EC_WORD_COME_ON, EC_WORD_OVER, EC_WORD_IT, EC_WORD_WILL, EC_WORD_BE, EC_WORD_GREAT},
.speechLose = {EC_WORD_AWW, EC_WORD_WON_T, EC_WORD_YOU, EC_WORD_COME_OVER, EC_WORD_QUES, -1},
- .monSets = gSlateportBattleTentTrainerMons_Natasha
+ .monSet = gSlateportBattleTentTrainerMons_Natasha
},
[27] = {
.facilityClass = FACILITY_CLASS_SAILOR,
@@ -731,7 +731,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_CARE, EC_WORD_HOW, EC_WORD_WE, EC_WORD_MATCH_UP},
.speechWin = {EC_WORD_HAH, EC_WORD_BACK, EC_WORD_TO, EC_WORD_SCHOOL, EC_WORD_FOR, EC_WORD_YOU},
.speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_STUDY, EC_WORD_MY, EC_WORD_LESSONS},
- .monSets = gSlateportBattleTentTrainerMons_Austyn
+ .monSet = gSlateportBattleTentTrainerMons_Austyn
},
[28] = {
.facilityClass = FACILITY_CLASS_COLLECTOR,
@@ -739,7 +739,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_OH, EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_SLIMY, EC_WORD_ALL, EC_WORD_OVER},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_GOING, EC_WORD_DOWN, EC_WORD_THE, EC_MOVE2(MEGA_DRAIN), EC_WORD_HAHAHA},
.speechLose = {EC_WORD_I_AM, EC_WORD_NATURALLY, EC_WORD_SLIMY, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM},
- .monSets = gSlateportBattleTentTrainerMons_Donovan
+ .monSet = gSlateportBattleTentTrainerMons_Donovan
},
[29] = {
.facilityClass = FACILITY_CLASS_LASS,
@@ -747,7 +747,7 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
.speechBefore = {EC_WORD_I_AM, EC_WORD_ANGRY, EC_WORD_WITH, EC_WORD_MY, EC_WORD_FATHER, EC_WORD_ELLIPSIS},
.speechWin = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_DISLIKE, EC_WORD_MY, EC_WORD_FATHER, EC_WORD_EXCL},
.speechLose = {EC_WORD_I, EC_WORD_JUST, EC_WORD_SO, EC_WORD_ADORE, EC_WORD_MY, EC_WORD_FATHER},
- .monSets = gSlateportBattleTentTrainerMons_Tamia
+ .monSet = gSlateportBattleTentTrainerMons_Tamia
}
};
@@ -1568,7 +1568,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_NO, EC_WORD_DAYS, EC_WORD_GO, EC_WORD_WITHOUT, EC_WORD_MY, EC_MOVE(FAKE_TEARS)},
.speechWin = {EC_WORD_OH, EC_WORD_THAT_WAS, EC_WORD_SO, EC_WORD_REFRESHING, EC_WORD_EXCL, -1},
.speechLose = {EC_WORD_ALL, EC_WORD_I, EC_WORD_EVER, EC_WORD_GET, EC_WORD_IS, EC_MOVE(TORMENT)},
- .monSets = gVerdanturfBattleTentTrainerMons_Brenna
+ .monSet = gVerdanturfBattleTentTrainerMons_Brenna
},
[1] = {
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
@@ -1576,7 +1576,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_KNOW, EC_WORD_HOW, EC_WORD_BORED, EC_WORD_I_AM},
.speechWin = {EC_WORD_LOSING, EC_WORD_ISN_T, EC_WORD_EXCITING, EC_WORD_AT, EC_WORD_ALL, EC_WORD_ELLIPSIS},
.speechLose = {EC_WORD_EXCITING, EC_WORD_EXCL_EXCL, EC_WORD_BYE_BYE, EC_WORD_TO, EC_WORD_BEING, EC_WORD_BORED},
- .monSets = gVerdanturfBattleTentTrainerMons_Dilan
+ .monSet = gVerdanturfBattleTentTrainerMons_Dilan
},
[2] = {
.facilityClass = FACILITY_CLASS_TUBER_F,
@@ -1584,7 +1584,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_ON, EC_WORD_A, EC_WORD_VACATION, EC_WORD_SOON},
.speechWin = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_GET, EC_WORD_SOME, EC_WORD_MONEY},
.speechLose = {EC_WORD_NO, EC_WORD_SLEEP, EC_WORD_UNTIL, EC_WORD_I, EC_WORD_GET, EC_WORD_HOME},
- .monSets = gVerdanturfBattleTentTrainerMons_Eliana
+ .monSet = gVerdanturfBattleTentTrainerMons_Eliana
},
[3] = {
.facilityClass = FACILITY_CLASS_TUBER_M,
@@ -1592,7 +1592,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_I_AM, EC_WORD_SMART, EC_WORD_EXCL, EC_WORD_IF_I_LOSE, EC_WORD_I, EC_MOVE(SELF_DESTRUCT)},
.speechWin = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_NON_STOP, EC_MOVE2(EXPLOSION), EC_WORD_OF, EC_WORD_JOY},
.speechLose = {EC_WORD_I_VE, EC_WORD_LOST, EC_WORD_ELLIPSIS, EC_WORD_TIME, EC_WORD_TO, EC_MOVE(SELF_DESTRUCT)},
- .monSets = gVerdanturfBattleTentTrainerMons_Markus
+ .monSet = gVerdanturfBattleTentTrainerMons_Markus
},
[4] = {
.facilityClass = FACILITY_CLASS_LADY,
@@ -1600,7 +1600,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_I_AM, EC_WORD_BORED, EC_WORD_OF, EC_WORD_BEING, EC_WORD_AN, EC_WORD_IDOL},
.speechWin = {EC_WORD_A, EC_WORD_BATTLE, EC_WORD_IS, EC_WORD_BEST, EC_WORD_FOR, EC_WORD_HAPPINESS},
.speechLose = {EC_WORD_LOSING, EC_WORD_DOESN_T, EC_WORD_BUG, EC_WORD_ME, EC_WORD_AT, EC_WORD_ALL},
- .monSets = gVerdanturfBattleTentTrainerMons_Caitlyn
+ .monSet = gVerdanturfBattleTentTrainerMons_Caitlyn
},
[5] = {
.facilityClass = FACILITY_CLASS_BEAUTY,
@@ -1608,7 +1608,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_DOESN_T, EC_WORD_MY, EC_WORD_BEAUTY, EC_MOVE(ASTONISH), EC_WORD_YOU, EC_WORD_QUES},
.speechWin = {EC_WORD_DID, EC_WORD_I, EC_WORD_INTIMIDATE, EC_WORD_YOU, EC_WORD_QUES, -1},
.speechLose = {EC_WORD_MY, EC_WORD_BEAUTY, EC_WORD_DID, EC_WORD_NOTHING, EC_WORD_FOR, EC_WORD_YOU},
- .monSets = gVerdanturfBattleTentTrainerMons_Desiree
+ .monSet = gVerdanturfBattleTentTrainerMons_Desiree
},
[6] = {
.facilityClass = FACILITY_CLASS_RICH_BOY,
@@ -1616,7 +1616,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_COME_ON, EC_WORD_I, EC_WORD_WILL, EC_WORD_BATTLE, EC_WORD_SERIOUSLY, -1},
.speechWin = {EC_WORD_GIVE_UP, EC_WORD_QUES, -1, EC_WORD_THAT_S, EC_WORD_REALLY, EC_WORD_WEAK},
.speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_DO, EC_WORD_A, EC_MOVE2(BATON_PASS)},
- .monSets = gVerdanturfBattleTentTrainerMons_Ronald
+ .monSet = gVerdanturfBattleTentTrainerMons_Ronald
},
[7] = {
.facilityClass = FACILITY_CLASS_POKEMANIAC,
@@ -1624,7 +1624,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_OH_YEAH, EC_WORD_ANOTHER, EC_WORD_EXCITING, EC_WORD_BATTLE, EC_WORD_EXCL, -1},
.speechWin = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_WIMPY, EC_WORD_AND, EC_WORD_BORING},
.speechLose = {EC_WORD_THAT_WAS, EC_WORD_AN, EC_WORD_EXCITING, EC_WORD_LOSS, EC_WORD_WOW, EC_WORD_EXCL},
- .monSets = gVerdanturfBattleTentTrainerMons_Ashten
+ .monSet = gVerdanturfBattleTentTrainerMons_Ashten
},
[8] = {
.facilityClass = FACILITY_CLASS_SWIMMER_M,
@@ -1632,7 +1632,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_WORD_SUPER, EC_MOVE2(TEETER_DANCE), EC_WORD_EXCL},
.speechWin = {EC_WORD_THAT_WAS, EC_WORD_HARD, EC_WORD_ELLIPSIS, EC_WORD_AM, EC_WORD_I, EC_WORD_OK_QUES},
.speechLose = {EC_WORD_I, EC_WORD_WON_T, EC_WORD_FORGIVE, EC_WORD_YOU, EC_WORD_FOR, EC_WORD_THAT},
- .monSets = gVerdanturfBattleTentTrainerMons_Gerard
+ .monSet = gVerdanturfBattleTentTrainerMons_Gerard
},
[9] = {
.facilityClass = FACILITY_CLASS_CAMPER,
@@ -1640,7 +1640,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_IT_S, EC_WORD_LONESOME, EC_WORD_BUT, EC_WORD_I, EC_WORD_VACATION, EC_WORD_ALONE},
.speechWin = {EC_WORD_I, EC_WORD_WILL, EC_MOVE(WITHDRAW), EC_WORD_INSIDE, EC_WORD_MY, EC_WORD_SHELL_ARMOR},
.speechLose = {EC_WORD_OH, EC_WORD_ELLIPSIS, -1, EC_WORD_ALONE, EC_WORD_AS, EC_WORD_ALWAYS},
- .monSets = gVerdanturfBattleTentTrainerMons_Bradly
+ .monSet = gVerdanturfBattleTentTrainerMons_Bradly
},
[10] = {
.facilityClass = FACILITY_CLASS_BUG_MANIAC,
@@ -1648,7 +1648,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_ARE, EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_STRONG, EC_WORD_QUES, -1},
.speechWin = {EC_WORD_WAHAHAHA, EC_WORD_EXCL, -1, EC_WORD_WAHAHAHA, EC_WORD_EXCL_EXCL, -1},
.speechLose = {EC_WORD_NICE, EC_WORD_GOING, EC_WORD_EXCL, EC_WORD_I, EC_WORD_WAS, EC_WORD_CHILD_S_PLAY},
- .monSets = gVerdanturfBattleTentTrainerMons_Dennis
+ .monSet = gVerdanturfBattleTentTrainerMons_Dennis
},
[11] = {
.facilityClass = FACILITY_CLASS_GENTLEMAN,
@@ -1656,7 +1656,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_A, EC_MOVE(NIGHTMARE), EC_WORD_FOR, EC_WORD_YOU},
.speechWin = {EC_WORD_FORGIVE, EC_WORD_ME, EC_WORD_ELLIPSIS, EC_WORD_IT_S, EC_WORD_A, EC_WORD_DREAM},
.speechLose = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_WAKE_UP, EC_WORD_FROM, EC_WORD_THIS},
- .monSets = gVerdanturfBattleTentTrainerMons_Prestin
+ .monSet = gVerdanturfBattleTentTrainerMons_Prestin
},
[12] = {
.facilityClass = FACILITY_CLASS_GUITARIST,
@@ -1664,7 +1664,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_THIS, EC_WORD_PARTY, EC_WORD_GOES, EC_WORD_ON, EC_WORD_FOREVER, EC_WORD_EXCL},
.speechWin = {EC_WORD_THE, EC_WORD_MUSIC, EC_WORD_PLAYS, EC_WORD_ON, EC_WORD_WITHOUT, EC_WORD_END},
.speechLose = {EC_WORD_NO, EC_WORD_EXCL, EC_WORD_THE, EC_WORD_MUSIC, EC_WORD_CAN_T, EC_WORD_STOP},
- .monSets = gVerdanturfBattleTentTrainerMons_Ernesto
+ .monSet = gVerdanturfBattleTentTrainerMons_Ernesto
},
[13] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
@@ -1672,7 +1672,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_THE, EC_WORD_WORLD, EC_WORD_MOVIE, EC_WORD_COLLECTION},
.speechWin = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_LIKE, EC_WORD_RADIO, EC_WORD_VERY, EC_WORD_MUCH},
.speechLose = {EC_WORD_I, EC_WORD_REFUSE, EC_WORD_TO, EC_WORD_BELIEVE, EC_WORD_THIS, EC_WORD_EXCL},
- .monSets = gVerdanturfBattleTentTrainerMons_Nala
+ .monSet = gVerdanturfBattleTentTrainerMons_Nala
},
[14] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_M,
@@ -1680,7 +1680,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_WORD_GO_EASY, EC_WORD_ON, EC_WORD_YOU, -1},
.speechWin = {EC_WORD_YOUR, EC_MOVE2(FRUSTRATION), EC_WORD_SHOULD, EC_WORD_BE, EC_WORD_HIDDEN, EC_WORD_AWAY},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_TO, EC_WORD_TAKE, EC_WORD_ELLIPSIS},
- .monSets = gVerdanturfBattleTentTrainerMons_Darnell
+ .monSet = gVerdanturfBattleTentTrainerMons_Darnell
},
[15] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_F,
@@ -1688,7 +1688,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_I, EC_WORD_LOOK, EC_WORD_TOUGH, EC_WORD_DO, EC_WORD_I, EC_WORD_QUES},
.speechWin = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_OVER, EC_WORD_YOUR, EC_MOVE2(TAUNT), EC_WORD_YET},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_MEAN, EC_WORD_EXCL_EXCL, -1, -1, -1},
- .monSets = gVerdanturfBattleTentTrainerMons_Ashlyn
+ .monSet = gVerdanturfBattleTentTrainerMons_Ashlyn
},
[16] = {
.facilityClass = FACILITY_CLASS_POKEFAN_M,
@@ -1696,7 +1696,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_YES, EC_WORD_EXCL, -1, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_EXCL},
.speechWin = {EC_WORD_WELL, EC_WORD_WASN_T, EC_WORD_THAT, EC_WORD_EASY, EC_WORD_QUES, -1},
.speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL, -1, EC_WORD_BUT, EC_WORD_WHY, EC_WORD_QUES},
- .monSets = gVerdanturfBattleTentTrainerMons_Addison
+ .monSet = gVerdanturfBattleTentTrainerMons_Addison
},
[17] = {
.facilityClass = FACILITY_CLASS_POKEFAN_F,
@@ -1704,7 +1704,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_YES, EC_WORD_EXCL, -1, EC_WORD_COME_ON, EC_WORD_I_AM, EC_WORD_READY},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_JUST, EC_WORD_NOT, EC_WORD_GOOD, EC_WORD_ENOUGH, EC_WORD_EXCL},
.speechLose = {EC_WORD_WOWEE, EC_WORD_EXCL_EXCL, -1, -1, -1, -1},
- .monSets = gVerdanturfBattleTentTrainerMons_Justine
+ .monSet = gVerdanturfBattleTentTrainerMons_Justine
},
[18] = {
.facilityClass = FACILITY_CLASS_EXPERT_M,
@@ -1712,7 +1712,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_YOU_RE, EC_WORD_GOING, EC_WORD_TO, EC_WORD_PRESSURE, EC_WORD_ME, EC_WORD_QUES},
.speechWin = {EC_WORD_WHAT, EC_WORD_QUES, EC_WORD_YOU_RE, EC_WORD_MUCH, EC_WORD_TOO_WEAK, EC_WORD_EXCL},
.speechLose = {EC_WORD_THIS, EC_WORD_DOESN_T, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_HAPPY, EC_WORD_EXCL},
- .monSets = gVerdanturfBattleTentTrainerMons_Tyson
+ .monSet = gVerdanturfBattleTentTrainerMons_Tyson
},
[19] = {
.facilityClass = FACILITY_CLASS_EXPERT_F,
@@ -1720,7 +1720,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_A, EC_MOVE2(STRUGGLE), EC_WORD_ISN_T, EC_WORD_VERY, EC_WORD_COOL, -1},
.speechWin = {EC_WORD_NOPE, EC_WORD_NOT_VERY, EC_WORD_COOL, EC_WORD_AT, EC_WORD_ALL, EC_WORD_EXCL},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_NOT, EC_WORD_COOL, EC_WORD_BUT, EC_WORD_YOU, EC_WORD_WON},
- .monSets = gVerdanturfBattleTentTrainerMons_Laila
+ .monSet = gVerdanturfBattleTentTrainerMons_Laila
},
[20] = {
.facilityClass = FACILITY_CLASS_YOUNGSTER,
@@ -1728,7 +1728,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_DANGER, EC_WORD_EXCL, -1, EC_WORD_I, EC_WORD_SENSE, EC_WORD_DANGER},
.speechWin = {EC_WORD_DID, EC_WORD_YOU, EC_WORD_BELIEVE, EC_WORD_MY, EC_WORD_LIE, EC_WORD_QUES_EXCL},
.speechLose = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_DID, EC_WORD_SENSE, EC_WORD_DANGER, EC_WORD_ELLIPSIS},
- .monSets = gVerdanturfBattleTentTrainerMons_Waren
+ .monSet = gVerdanturfBattleTentTrainerMons_Waren
},
[21] = {
.facilityClass = FACILITY_CLASS_FISHERMAN,
@@ -1736,7 +1736,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_MOVE2(BARRIER), EC_WORD_EXCL_EXCL, -1, EC_WORD_NOW, EC_WORD_COME_ON, EC_WORD_EXCL},
.speechWin = {EC_WORD_HUH_QUES, EC_WORD_YOU, EC_WORD_MEAN, EC_WORD_I, EC_WORD_WON, EC_WORD_QUES},
.speechLose = {EC_WORD_I, EC_WORD_SHOULD, EC_WORD_KNOW, EC_WORD_THAT, EC_WORD_IT_S, EC_WORD_HOPELESS},
- .monSets = gVerdanturfBattleTentTrainerMons_Tobias
+ .monSet = gVerdanturfBattleTentTrainerMons_Tobias
},
[22] = {
.facilityClass = FACILITY_CLASS_BIRD_KEEPER,
@@ -1744,7 +1744,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_I, EC_WORD_PROMISE, EC_WORD_TO, EC_MOVE(FLY), EC_WORD_IF_I_LOSE, -1},
.speechWin = {EC_WORD_TOO_WEAK, EC_WORD_ELLIPSIS, -1, EC_WORD_YOU, EC_MOVE(FLY), EC_WORD_INSTEAD},
.speechLose = {EC_WORD_I, EC_WORD_PROMISE, EC_WORD_TO, EC_MOVE(FLY), EC_WORD_SOMETIME, EC_WORD_SOON},
- .monSets = gVerdanturfBattleTentTrainerMons_Josiah
+ .monSet = gVerdanturfBattleTentTrainerMons_Josiah
},
[23] = {
.facilityClass = FACILITY_CLASS_NINJA_BOY,
@@ -1752,7 +1752,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_IT_S, EC_WORD_TRENDY, EC_WORD_UM, EC_WORD_BATTLE, EC_WORD_SOMETHING, -1},
.speechWin = {EC_WORD_WAS, EC_WORD_IT, EC_WORD_ELLIPSIS, EC_WORD_BATTLE, EC_WORD_DATE, EC_WORD_QUES},
.speechLose = {EC_WORD_WAS, EC_WORD_IT, EC_WORD_ELLIPSIS, EC_WORD_BATTLE, EC_WORD_GOURMET, EC_WORD_QUES},
- .monSets = gVerdanturfBattleTentTrainerMons_Dion
+ .monSet = gVerdanturfBattleTentTrainerMons_Dion
},
[24] = {
.facilityClass = FACILITY_CLASS_PARASOL_LADY,
@@ -1760,7 +1760,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_THE, EC_MOVE(MORNING_SUN), EC_WORD_GIVES, EC_WORD_ME, EC_MOVE(STRENGTH), -1},
.speechWin = {EC_WORD_BUT, EC_WORD_I, EC_WORD_LIKE, EC_MOVE2(MOONLIGHT), EC_WORD_TOO, -1},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_LIKE, EC_WORD_A, EC_WORD_TERRIBLE, EC_MOVE(SANDSTORM), EC_WORD_ELLIPSIS},
- .monSets = gVerdanturfBattleTentTrainerMons_Kenzie
+ .monSet = gVerdanturfBattleTentTrainerMons_Kenzie
},
[25] = {
.facilityClass = FACILITY_CLASS_SWIMMER_F,
@@ -1768,7 +1768,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_I, EC_WORD_DO, EC_WORD_THINGS, EC_WORD_AT, EC_WORD_MY, EC_WORD_OWN_TEMPO},
.speechWin = {EC_WORD_I, EC_WORD_WON, EC_WORD_QUES, EC_WORD_WHAT, EC_WORD_A, EC_WORD_SURPRISE},
.speechLose = {EC_WORD_AWW, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_WORD_NAP},
- .monSets = gVerdanturfBattleTentTrainerMons_Lillian
+ .monSet = gVerdanturfBattleTentTrainerMons_Lillian
},
[26] = {
.facilityClass = FACILITY_CLASS_PICNICKER,
@@ -1776,7 +1776,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_BE, EC_WORD_LOLLING, EC_WORD_ABOUT},
.speechWin = {EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_GET, EC_WORD_UP, EC_WORD_EARLIER, -1},
.speechLose = {EC_WORD_THIS, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_BE, EC_WORD_HAPPENING, EC_WORD_EXCL},
- .monSets = gVerdanturfBattleTentTrainerMons_Lesley
+ .monSet = gVerdanturfBattleTentTrainerMons_Lesley
},
[27] = {
.facilityClass = FACILITY_CLASS_SAILOR,
@@ -1784,7 +1784,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_NONE, EC_WORD_OF, EC_WORD_THIS, EC_WORD_IS, EC_WORD_MAKING, EC_WORD_SENSE},
.speechWin = {EC_WORD_SEE, EC_WORD_QUES, EC_WORD_THIS, EC_WORD_JUST, EC_WORD_ISN_T, EC_WORD_NORMAL},
.speechLose = {EC_WORD_SHOULD, EC_WORD_I, EC_WORD_CAUSE, EC_WORD_AN, EC_MOVE(UPROAR), EC_WORD_QUES},
- .monSets = gVerdanturfBattleTentTrainerMons_Marquis
+ .monSet = gVerdanturfBattleTentTrainerMons_Marquis
},
[28] = {
.facilityClass = FACILITY_CLASS_COLLECTOR,
@@ -1792,7 +1792,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_I, EC_WORD_ADORE, EC_WORD_THIS, EC_WORD_CUTE, EC_WORD_TELEVISION, EC_WORD_IDOL},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_SO, EC_WORD_FUNNY, EC_WORD_WHEN, EC_WORD_YOU_RE, EC_WORD_ANGRY},
.speechLose = {EC_WORD_LATE, EC_WORD_NIGHT, EC_WORD_TELEVISION, EC_WORD_IS, EC_WORD_MY, EC_WORD_LIFE},
- .monSets = gVerdanturfBattleTentTrainerMons_Freddy
+ .monSet = gVerdanturfBattleTentTrainerMons_Freddy
},
[29] = {
.facilityClass = FACILITY_CLASS_LASS,
@@ -1800,7 +1800,7 @@ const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
.speechBefore = {EC_WORD_MY, EC_WORD_FABULOUS, EC_WORD_CUTENESS, EC_WORD_IS, EC_WORD_IN, EC_WORD_FASHION},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_NO, EC_WORD_MATCH, EC_WORD_FOR, EC_WORD_MY, EC_WORD_CUTE_CHARM},
.speechLose = {EC_WORD_DON_T, EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_FASHION, EC_WORD_SENSE, EC_WORD_QUES},
- .monSets = gVerdanturfBattleTentTrainerMons_Cecilia
+ .monSet = gVerdanturfBattleTentTrainerMons_Cecilia
}
};
@@ -2449,7 +2449,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_DIET, EC_WORD_EVERY, EC_WORD_DAY},
.speechWin = {EC_WORD_A, EC_MOVE(NIGHTMARE), EC_WORD_OF, EC_WORD_SWEETS, EC_WORD_SHOCKED, EC_WORD_ME},
.speechLose = {EC_WORD_IF, EC_WORD_YOU, EC_WORD_GIVE_UP, EC_WORD_YOU, EC_WORD_WILL, EC_WORD_LOSE},
- .monSets = gFallarborBattleTentTrainerMons_Amber
+ .monSet = gFallarborBattleTentTrainerMons_Amber
},
[1] = {
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
@@ -2457,7 +2457,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_I, EC_WORD_NEVER, EC_WORD_EVER, EC_WORD_HAVE, EC_WORD_ENOUGH, EC_WORD_MONEY},
.speechWin = {EC_WORD_I, EC_WORD_WON, EC_WORD_BUT, EC_WORD_I, EC_WORD_NEED, EC_WORD_MONEY},
.speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_MONEY, EC_WORD_FOR, EC_WORD_A, EC_WORD_BIKE},
- .monSets = gFallarborBattleTentTrainerMons_Javier
+ .monSet = gFallarborBattleTentTrainerMons_Javier
},
[2] = {
.facilityClass = FACILITY_CLASS_TUBER_F,
@@ -2465,7 +2465,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_THE, EC_WORD_WAY, EC_WORD_I, EC_WORD_BATTLE, EC_WORD_IS, EC_WORD_WEIRD},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_MUCH, EC_WORD_TOO_WEAK, EC_WORD_FOR, EC_WORD_THIS, EC_WORD_PLACE},
.speechLose = {EC_WORD_GIVE_ME, EC_WORD_AN, EC_WORD_EASY, EC_WORD_MATCH, EC_WORD_NEXT, EC_WORD_TIME},
- .monSets = gFallarborBattleTentTrainerMons_Natalie
+ .monSet = gFallarborBattleTentTrainerMons_Natalie
},
[3] = {
.facilityClass = FACILITY_CLASS_TUBER_M,
@@ -2473,7 +2473,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_MOVE2(METRONOME), EC_WORD_AND, EC_WORD_SLEEP},
.speechWin = {EC_WORD_YEAH, EC_WORD_EXCL, EC_MOVE(HYPNOSIS), EC_WORD_IS, EC_WORD_TOTALLY, EC_WORD_GREAT},
.speechLose = {EC_WORD_MY, EC_MOVE(HYPNOSIS), EC_WORD_DIDN_T, EC_WORD_WORK, EC_WORD_ELLIPSIS, -1},
- .monSets = gFallarborBattleTentTrainerMons_Treve
+ .monSet = gFallarborBattleTentTrainerMons_Treve
},
[4] = {
.facilityClass = FACILITY_CLASS_LADY,
@@ -2481,7 +2481,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_IF_I_WIN, EC_WORD_GIVE_ME, EC_WORD_POKEMON, EC_WORD_FOR, EC_WORD_MY, EC_WORD_COLLECTION},
.speechWin = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_TOO_WEAK, EC_WORD_TO, EC_WORD_COLLECT},
.speechLose = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_SOMETHING, EC_WORD_ELSE, EC_WORD_ELLIPSIS},
- .monSets = gFallarborBattleTentTrainerMons_Arianna
+ .monSet = gFallarborBattleTentTrainerMons_Arianna
},
[5] = {
.facilityClass = FACILITY_CLASS_BEAUTY,
@@ -2489,7 +2489,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_MY, EC_WORD_NAME, EC_WORD_IS, EC_WORD_REALLY, EC_WORD_A, EC_WORD_MYSTERY},
.speechWin = {EC_WORD_MY, EC_WORD_NAME, EC_WORD_GOES, EC_WORD_ON, EC_WORD_A, EC_WORD_MYSTERY},
.speechLose = {EC_WORD_MY, EC_WORD_NAME, EC_WORD_QUES, EC_WORD_I_AM, EC_WORD_YOUR, EC_WORD_MOTHER},
- .monSets = gFallarborBattleTentTrainerMons_Jadyn
+ .monSet = gFallarborBattleTentTrainerMons_Jadyn
},
[6] = {
.facilityClass = FACILITY_CLASS_RICH_BOY,
@@ -2497,7 +2497,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_BEST, EC_WORD_HERO, EC_WORD_EVER, EC_WORD_EXCL},
.speechWin = {EC_WORD_SEE, EC_WORD_WHAT, EC_WORD_I, EC_WORD_MEAN, EC_WORD_QUES, -1},
.speechLose = {EC_WORD_HUH_QUES, EC_WORD_YOU, EC_WORD_WERE, EC_WORD_RIGHT, EC_WORD_QUES, -1},
- .monSets = gFallarborBattleTentTrainerMons_Gerardo
+ .monSet = gFallarborBattleTentTrainerMons_Gerardo
},
[7] = {
.facilityClass = FACILITY_CLASS_POKEMANIAC,
@@ -2505,7 +2505,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_THE, EC_WORD_WORLD, EC_MOVE2(SUPERPOWER), EC_MOVE2(STOMP), EC_WORD_CONTEST, EC_WORD_EXCL_EXCL},
.speechWin = {EC_WORD_I_AM, EC_WORD_NO_1, EC_WORD_EXCL_EXCL, EC_WORD_HEAR, EC_WORD_ME, EC_MOVE2(ROAR)},
.speechLose = {EC_WORD_I, EC_WORD_GIVE_UP, EC_WORD_EXCL, EC_WORD_YOU_RE, EC_WORD_NO_1, EC_WORD_EXCL},
- .monSets = gFallarborBattleTentTrainerMons_Jonn
+ .monSet = gFallarborBattleTentTrainerMons_Jonn
},
[8] = {
.facilityClass = FACILITY_CLASS_SWIMMER_M,
@@ -2513,7 +2513,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_GOOD, EC_WORD_TRAINER, EC_WORD_QUES, EC_WORD_UNBELIEVABLE},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_SOME, EC_WORD_PUSHOVER, EC_WORD_OF, EC_WORD_A, EC_WORD_TRAINER},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_MUCH, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_FOR, EC_WORD_ME},
- .monSets = gFallarborBattleTentTrainerMons_Esteban
+ .monSet = gFallarborBattleTentTrainerMons_Esteban
},
[9] = {
.facilityClass = FACILITY_CLASS_CAMPER,
@@ -2521,7 +2521,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_SILKY, EC_WORD_SMOOTH, EC_WORD_EXCL},
.speechWin = {EC_WORD_MY, EC_WORD_SILKY, EC_WORD_SMOOTH, EC_WORD_POKEMON, EC_WORD_RULE, EC_WORD_EXCL},
.speechLose = {EC_WORD_MY, EC_WORD_POKEMON, EC_MOVE2(STRUGGLE), EC_WORD_IN, EC_WORD_YOUR, EC_WORD_STICKY_HOLD},
- .monSets = gFallarborBattleTentTrainerMons_Jameson
+ .monSet = gFallarborBattleTentTrainerMons_Jameson
},
[10] = {
.facilityClass = FACILITY_CLASS_BUG_MANIAC,
@@ -2529,7 +2529,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_MOVE2(FORESIGHT), EC_WORD_IS, EC_WORD_A, EC_WORD_POWER, EC_WORD_I, EC_WORD_HAVE},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_OBLIVIOUS, EC_WORD_ABOUT, EC_MOVE2(FORESIGHT), EC_WORD_EXCL, -1},
.speechLose = {EC_WORD_MY, EC_MOVE2(FORESIGHT), EC_WORD_IS, EC_WORD_ALWAYS, EC_WORD_RIGHT, EC_WORD_EXCL},
- .monSets = gFallarborBattleTentTrainerMons_Alanzo
+ .monSet = gFallarborBattleTentTrainerMons_Alanzo
},
[11] = {
.facilityClass = FACILITY_CLASS_GENTLEMAN,
@@ -2537,7 +2537,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_CAN_T, EC_WORD_BEAT, EC_WORD_ME, -1},
.speechWin = {EC_WORD_YOU, EC_WORD_COULDN_T, EC_WORD_WIN, EC_WORD_COULD, EC_WORD_YOU, EC_WORD_QUES},
.speechLose = {EC_WORD_YOU, EC_WORD_WOULD, EC_WORD_GO, EC_WORD_ALL, EC_WORD_OUT, EC_WORD_ELLIPSIS},
- .monSets = gFallarborBattleTentTrainerMons_Howard
+ .monSet = gFallarborBattleTentTrainerMons_Howard
},
[12] = {
.facilityClass = FACILITY_CLASS_GUITARIST,
@@ -2545,7 +2545,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_PRETTY, EC_WORD_WILD, EC_WORD_EXCL},
.speechWin = {EC_WORD_WHOAH, EC_WORD_EXCL_EXCL, -1, EC_WORD_LET_S, EC_WORD_DANCE, EC_WORD_EXCL},
.speechLose = {EC_WORD_MY, EC_WORD_MUSIC, EC_WORD_WILL, EC_WORD_PLAY, EC_WORD_ON, EC_WORD_ELLIPSIS},
- .monSets = gFallarborBattleTentTrainerMons_Conrad
+ .monSet = gFallarborBattleTentTrainerMons_Conrad
},
[13] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
@@ -2553,7 +2553,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_SHOW, EC_WORD_ME, EC_WORD_THAT, EC_WORD_YOU, EC_WORD_MEAN, EC_WORD_IT},
.speechWin = {EC_WORD_THAT_S, EC_WORD_WHY, EC_WORD_I, EC_WORD_STUDY, EC_WORD_EVERY, EC_WORD_DAY},
.speechLose = {EC_WORD_AWW, EC_WORD_I, EC_WORD_STUDY, EC_WORD_EVERY, EC_WORD_DAY, EC_WORD_TOO},
- .monSets = gFallarborBattleTentTrainerMons_Makenna
+ .monSet = gFallarborBattleTentTrainerMons_Makenna
},
[14] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_M,
@@ -2561,7 +2561,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_CAN, EC_WORD_YOU, EC_WORD_SEE, EC_WORD_MY, EC_WORD_POWER, EC_WORD_QUES},
.speechWin = {EC_WORD_HOW, EC_WORD_BORING, EC_WORD_ELLIPSIS, EC_WORD_THIS, EC_WORD_IS, EC_WORD_GOOD_BYE},
.speechLose = {EC_WORD_AM, EC_WORD_I, EC_WORD_THE, EC_WORD_WEAK, EC_WORD_TRAINER, EC_WORD_QUES},
- .monSets = gFallarborBattleTentTrainerMons_Brayan
+ .monSet = gFallarborBattleTentTrainerMons_Brayan
},
[15] = {
.facilityClass = FACILITY_CLASS_COOLTRAINER_F,
@@ -2569,7 +2569,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_A, EC_WORD_LIE, EC_WORD_CAN, EC_WORD_BE, EC_WORD_KIND, EC_WORD_ELLIPSIS},
.speechWin = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_LIKE, EC_WORD_THE, EC_WORD_SUNDAY, EC_WORD_COMICS},
.speechLose = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_LIKE, EC_WORD_FROM, EC_WORD_A, EC_WORD_MOVIE},
- .monSets = gFallarborBattleTentTrainerMons_Mariana
+ .monSet = gFallarborBattleTentTrainerMons_Mariana
},
[16] = {
.facilityClass = FACILITY_CLASS_POKEFAN_M,
@@ -2577,7 +2577,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_A, EC_WORD_POKEMON, EC_WORD_TEACHER, EC_WORD_GETS, EC_WORD_NO, EC_MOVE2(REST)},
.speechWin = {EC_WORD_MY, EC_WORD_SMARTNESS, EC_WORD_GETS, EC_WORD_ME, EC_WORD_EASY, EC_WORD_WINS},
.speechLose = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_GO, EC_WORD_WORK, EC_WORD_BYE_BYE},
- .monSets = gFallarborBattleTentTrainerMons_Sheldon
+ .monSet = gFallarborBattleTentTrainerMons_Sheldon
},
[17] = {
.facilityClass = FACILITY_CLASS_POKEFAN_F,
@@ -2585,7 +2585,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_AHAHA, EC_WORD_YES, EC_WORD_EXCL, EC_WORD_LOVEY_DOVEY, EC_WORD_POKEMON, EC_WORD_WORLD},
.speechWin = {EC_WORD_MY, EC_WORD_SHINE, EC_WORD_IS, EC_WORD_MAKING, EC_WORD_THINGS, EC_WORD_BETTER},
.speechLose = {EC_WORD_DO, EC_WORD_YOU, EC_WORD_DISLIKE, EC_WORD_POKEMON, EC_WORD_QUES, -1},
- .monSets = gFallarborBattleTentTrainerMons_Gianna
+ .monSet = gFallarborBattleTentTrainerMons_Gianna
},
[18] = {
.facilityClass = FACILITY_CLASS_EXPERT_M,
@@ -2593,7 +2593,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_YOU, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_COME_ON, EC_WORD_EXCL},
.speechWin = {EC_WORD_YOU, EC_WORD_NEED, EC_WORD_TO, EC_WORD_TRAIN, EC_WORD_A_LOT, EC_WORD_MORE},
.speechLose = {EC_WORD_NOT, EC_WORD_ENOUGH, EC_WORD_ELLIPSIS, EC_WORD_JUST, EC_WORD_NOT, EC_WORD_ENOUGH},
- .monSets = gFallarborBattleTentTrainerMons_Yahir
+ .monSet = gFallarborBattleTentTrainerMons_Yahir
},
[19] = {
.facilityClass = FACILITY_CLASS_EXPERT_F,
@@ -2601,7 +2601,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_IT, EC_WORD_SEEMS, EC_WORD_THAT, EC_WORD_YOU_RE, EC_WORD_QUITE, EC_WORD_GOOD},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_LUKEWARM, EC_WORD_TALENT, EC_WORD_AT, EC_WORD_BEST},
.speechLose = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_COOL, EC_WORD_HERO, EC_WORD_AT, EC_WORD_THIS},
- .monSets = gFallarborBattleTentTrainerMons_Britney
+ .monSet = gFallarborBattleTentTrainerMons_Britney
},
[20] = {
.facilityClass = FACILITY_CLASS_YOUNGSTER,
@@ -2609,7 +2609,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_MY, EC_MOVE2(HIDDEN_POWER), EC_WORD_IS, EC_WORD_EXCITING, EC_WORD_ME, EC_WORD_EXCL},
.speechWin = {EC_WORD_YEEHAW_EXCL, EC_WORD_LET_S, EC_WORD_HAVE, EC_WORD_A, EC_MOVE2(HIDDEN_POWER), EC_WORD_PARTY},
.speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL, EC_WORD_DON_T, EC_WORD_YOU, EC_MOVE2(MIMIC), EC_WORD_ME},
- .monSets = gFallarborBattleTentTrainerMons_Hecter
+ .monSet = gFallarborBattleTentTrainerMons_Hecter
},
[21] = {
.facilityClass = FACILITY_CLASS_FISHERMAN,
@@ -2617,7 +2617,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_GOT, EC_WORD_TO, EC_WORD_BE, EC_WORD_JOKING},
.speechWin = {EC_WORD_YOU_RE, EC_WORD_THE, EC_WORD_BEST, EC_WORD_AT, EC_WORD_BEING, EC_WORD_FUNNY},
.speechLose = {EC_WORD_YOU, EC_WORD_WEREN_T, EC_WORD_BEING, EC_WORD_FUNNY, EC_WORD_AT, EC_WORD_ALL},
- .monSets = gFallarborBattleTentTrainerMons_Tannor
+ .monSet = gFallarborBattleTentTrainerMons_Tannor
},
[22] = {
.facilityClass = FACILITY_CLASS_BIRD_KEEPER,
@@ -2625,7 +2625,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_THINK, EC_WORD_VERY, EC_WORD_FAST, EC_WORD_HUH_QUES},
.speechWin = {EC_WORD_SORRY, EC_WORD_EXCL, EC_WORD_I, EC_WORD_DIDN_T, EC_WORD_MEAN, EC_WORD_YOU},
.speechLose = {EC_WORD_YOU, EC_WORD_LEFT, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_SAD, EC_WORD_ELLIPSIS},
- .monSets = gFallarborBattleTentTrainerMons_Benji
+ .monSet = gFallarborBattleTentTrainerMons_Benji
},
[23] = {
.facilityClass = FACILITY_CLASS_NINJA_BOY,
@@ -2633,7 +2633,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_DON_T, EC_WORD_CAUSE, EC_WORD_AN, EC_MOVE(UPROAR), EC_WORD_YOU, EC_WORD_EXCL},
.speechWin = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_NEED, EC_WORD_AN, EC_MOVE(UPROAR), EC_WORD_EXCL},
.speechLose = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_CAUSE, EC_WORD_AN, EC_MOVE(UPROAR)},
- .monSets = gFallarborBattleTentTrainerMons_Rory
+ .monSet = gFallarborBattleTentTrainerMons_Rory
},
[24] = {
.facilityClass = FACILITY_CLASS_PARASOL_LADY,
@@ -2641,7 +2641,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_WANT, EC_WORD_TO, EC_WORD_PARTY, -1},
.speechWin = {EC_WORD_A, EC_WORD_TRENDY, EC_WORD_PARTY, EC_WORD_WOULD, EC_WORD_BE, EC_WORD_REFRESHING},
.speechLose = {EC_WORD_DON_T, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_PARTY, EC_WORD_QUES},
- .monSets = gFallarborBattleTentTrainerMons_Eleanor
+ .monSet = gFallarborBattleTentTrainerMons_Eleanor
},
[25] = {
.facilityClass = FACILITY_CLASS_SWIMMER_F,
@@ -2649,7 +2649,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_MY, EC_WORD_PC, EC_WORD_IS, EC_WORD_MY, EC_WORD_SECRET_BASE, EC_WORD_EXCL},
.speechWin = {EC_WORD_IT_S, EC_WORD_ALL, EC_WORD_SECRET, EC_WORD_ON, EC_WORD_MY, EC_WORD_PC},
.speechLose = {EC_WORD_NO, EC_WORD_EXCL, -1, EC_WORD_I, EC_WORD_REJECT, EC_WORD_THIS},
- .monSets = gFallarborBattleTentTrainerMons_Evelyn
+ .monSet = gFallarborBattleTentTrainerMons_Evelyn
},
[26] = {
.facilityClass = FACILITY_CLASS_PICNICKER,
@@ -2657,7 +2657,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_IT_S, EC_WORD_NOT_VERY, EC_WORD_PRETTY, EC_WORD_BUT, EC_WORD_I, EC_WORD_TRY},
.speechWin = {EC_WORD_WE_RE, EC_WORD_NOT_VERY, EC_WORD_PRETTY, EC_WORD_BUT, EC_WORD_WE_RE, EC_WORD_GREAT},
.speechLose = {EC_WORD_THAT_WAS, EC_WORD_PRETTY, EC_WORD_MEAN, EC_WORD_OF, EC_WORD_YOU, EC_WORD_EXCL},
- .monSets = gFallarborBattleTentTrainerMons_Arielle
+ .monSet = gFallarborBattleTentTrainerMons_Arielle
},
[27] = {
.facilityClass = FACILITY_CLASS_SAILOR,
@@ -2665,7 +2665,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_STRONG, EC_WORD_ENOUGH, EC_WORD_FOR, EC_WORD_THIS},
.speechWin = {EC_WORD_DO, EC_WORD_YOU, EC_WORD_THINK, EC_WORD_YOU_RE, EC_WORD_OK_QUES, -1},
.speechLose = {EC_WORD_GOOD_BYE, EC_WORD_AND, EC_WORD_THANK_YOU, -1, -1, -1},
- .monSets = gFallarborBattleTentTrainerMons_Connar
+ .monSet = gFallarborBattleTentTrainerMons_Connar
},
[28] = {
.facilityClass = FACILITY_CLASS_COLLECTOR,
@@ -2673,7 +2673,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_NO, EC_WORD_RADIO, EC_WORD_OR, EC_WORD_TELEVISION},
.speechWin = {EC_WORD_BUT, EC_WORD_THERE, EC_WORD_IS, EC_WORD_A_LOT, EC_WORD_OF, EC_WORD_POKEMON},
.speechLose = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_ENJOY, EC_WORD_MYSELF, EC_WORD_WITHOUT, EC_WORD_MONEY},
- .monSets = gFallarborBattleTentTrainerMons_Maurice
+ .monSet = gFallarborBattleTentTrainerMons_Maurice
},
[29] = {
.facilityClass = FACILITY_CLASS_LASS,
@@ -2681,7 +2681,7 @@ const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
.speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO, EC_WORD_DEPT_STORE, EC_WORD_SHOPPING},
.speechWin = {EC_WORD_I, EC_WORD_DISLIKE, EC_WORD_SHOPPING, EC_WORD_ALONE, -1, -1},
.speechLose = {EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO, EC_WORD_SHOPPING, EC_WORD_TOGETHER, EC_WORD_QUES},
- .monSets = gFallarborBattleTentTrainerMons_Kianna
+ .monSet = gFallarborBattleTentTrainerMons_Kianna
}
};
diff --git a/src/graphics.c b/src/graphics.c
index 30e5a8121..eeeba56c9 100644
--- a/src/graphics.c
+++ b/src/graphics.c
@@ -964,25 +964,19 @@ const u32 gVsLettersGfx[] = INCBIN_U32("graphics/battle_transitions/vs.4bpp.lz")
#include "data/graphics/battle_terrain.h"
-const u32 gUnknown_08D82F10[] = INCBIN_U32("graphics/battle_frontier/tourney_bg.4bpp.lz");
-const u32 gUnknown_08D834FC[] = INCBIN_U32("graphics/battle_frontier/tourney_line.4bpp.lz"); // the red glow mask for the tourney advancement lines
-
-const u32 gUnknown_08D83900[] = INCBIN_U32("graphics/battle_frontier/unknown_D83900.bin.lz"); // tilemaps likely
-
-const u32 gUnknown_08D83B2C[] = INCBIN_U32("graphics/battle_frontier/unknown_D83B2C.bin.lz");
-
-const u32 gUnknown_08D83C3C[] = INCBIN_U32("graphics/battle_frontier/unknown_D83C3C.bin.lz");
-
-const u32 gUnknown_08D83D50[] = INCBIN_U32("graphics/battle_frontier/misc1.4bpp.lz");
-
-const u32 gUnknown_08D84970[] = INCBIN_U32("graphics/battle_frontier/unknown_D84970.bin.lz");
-
-const u32 gUnknown_08D84F00[] = INCBIN_U32("graphics/battle_frontier/unknown_D84F00.bin.lz");
-
-const u32 gBattleFrontierGfx_DomeOptions[] = INCBIN_U32("graphics/battle_frontier/options.4bpp.lz");
-const u32 gUnknown_08D85358[] = INCBIN_U32("graphics/battle_frontier/options_pal1.gbapal.lz");
-const u32 gUnknown_08D85444[] = INCBIN_U32("graphics/battle_frontier/options_pal2.gbapal.lz"); // pokeball pal
-const u32 gUnknown_08D854C8[] = INCBIN_U32("graphics/battle_frontier/options_pal3.gbapal.lz"); // arrow pal
+// Battle Dome
+const u32 gDomeTourneyBg_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_bg.4bpp.lz");
+const u32 gDomeTourneyLine_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_line.4bpp.lz"); // the red glow mask for the tourney advancement lines
+const u32 gDomeTourneyLineMask_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_line_mask_map.bin.lz");
+const u32 gDomeTourneyLineDown_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_line_down_map.bin.lz");
+const u32 gDomeTourneyLineUp_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_line_up_map.bin.lz");
+const u32 gDomeTourneyInfoCard_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_info_card.4bpp.lz");
+const u32 gDomeTourneyInfoCard_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_info_card_tilemap.bin.lz");
+const u32 gDomeTourneyInfoCardBg_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_info_card_bg.bin.lz");
+const u32 gDomeTourneyTreeButtons_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_buttons.4bpp.lz"); // exit/cancel and pokeball buttons
+const u32 gDomeTourneyTree_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney.gbapal.lz");
+const u32 gDomeTourneyTreeButtons_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney_buttons.gbapal.lz");
+const u32 gDomeTourneyMatchCardBg_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney_match_card_bg.gbapal.lz");
const u32 gBattleArenaJudgementSymbolsGfx[] = INCBIN_U32("graphics/battle_frontier/arena_judgement_symbols.4bpp.lz");
const u32 gBattleArenaJudgementSymbolsPalette[] = INCBIN_U32("graphics/battle_frontier/arena_judgement_symbols.gbapal.lz");
diff --git a/src/mail.c b/src/mail.c
index be2b1dc95..f6f96b012 100644
--- a/src/mail.c
+++ b/src/mail.c
@@ -542,7 +542,7 @@ static void CB2_ExitMailReadFreeVars(void)
case 1:
case 2:
FreeMonIconPalette(sub_80D2E84(sMailRead->mail->species));
- sub_80D2EF8(&gSprites[sMailRead->monIconSprite]);
+ FreeAndDestroyMonIconSprite(&gSprites[sMailRead->monIconSprite]);
}
memset(sMailRead, 0, sizeof(*sMailRead));
ResetPaletteFade();
diff --git a/src/mevent_801BAAC.c b/src/mevent_801BAAC.c
index bc32cda30..8596b43cd 100644
--- a/src/mevent_801BAAC.c
+++ b/src/mevent_801BAAC.c
@@ -445,7 +445,7 @@ void sub_801C61C(void)
{
u8 r6 = 0;
if (sWonderCardData->unk_017C != 0xFF)
- sub_80D2EF8(&gSprites[sWonderCardData->unk_017C]);
+ FreeAndDestroyMonIconSprite(&gSprites[sWonderCardData->unk_017C]);
if (sWonderCardData->unk_0000.unk_09 != 0 && sWonderCardData->unk_0000.unk_08_0 == 1)
{
for (; r6 < sWonderCardData->unk_0000.unk_09; r6++)
@@ -456,7 +456,7 @@ void sub_801C61C(void)
}
if (sWonderCardData->unk_017D[r6][1] != 0xFF)
{
- sub_80D2EF8(&gSprites[sWonderCardData->unk_017D[r6][1]]);
+ FreeAndDestroyMonIconSprite(&gSprites[sWonderCardData->unk_017D[r6][1]]);
}
}
FreeSpriteTilesByTag(0x8000);
diff --git a/src/pokemon.c b/src/pokemon.c
index 82da96f7d..94002dc7b 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -1334,7 +1334,7 @@ const struct SpindaSpot gSpindaSpotGraphics[] =
#include "data/pokemon/item_effects.h"
-const s8 gNatureStatTable[][5] =
+const s8 gNatureStatTable[][NUM_EV_STATS] =
{
// Atk Def Spd Sp.Atk Sp.Def
{ 0, 0, 0, 0, 0}, // Hardy
@@ -5715,7 +5715,8 @@ u8 GetTrainerEncounterMusicId(u16 trainerOpponentId)
u16 ModifyStatByNature(u8 nature, u16 n, u8 statIndex)
{
- if (statIndex < 1 || statIndex > 5)
+ // Dont modify HP, Accuracy, or Evasion by nature
+ if (statIndex <= STAT_HP || statIndex > NUM_EV_STATS)
{
// Should just be "return n", but it wouldn't match without this.
u16 retVal = n;
diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c
index 2c11ca293..7d8c65d7c 100644
--- a/src/pokemon_icon.c
+++ b/src/pokemon_icon.c
@@ -1128,7 +1128,7 @@ const u8 *GetMonIconPtr(u16 species, u32 personality, bool32 handleDeoxys)
return GetMonIconTiles(GetIconSpecies(species, personality), handleDeoxys);
}
-void sub_80D2EF8(struct Sprite *sprite)
+void FreeAndDestroyMonIconSprite(struct Sprite *sprite)
{
sub_80D328C(sprite);
}