summaryrefslogtreecommitdiff
path: root/src/match_call.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/match_call.c')
-rw-r--r--src/match_call.c1346
1 files changed, 718 insertions, 628 deletions
diff --git a/src/match_call.c b/src/match_call.c
index 723562ade..fd0db630c 100644
--- a/src/match_call.c
+++ b/src/match_call.c
@@ -34,12 +34,62 @@
#include "constants/songs.h"
#include "constants/trainers.h"
+// Each match call message has variables that can be populated randomly or
+// dependent on the trainer. The below are IDs for how to populate the vars
+// in a given message.
+// Each message may have up to 3 vars in it
+enum {
+ STR_TRAINER_NAME,
+ STR_MAP_NAME,
+ STR_SPECIES_IN_ROUTE,
+ STR_SPECIES_IN_PARTY,
+ STR_FACILITY_NAME,
+ STR_FRONTIER_STREAK,
+ STR_NONE = -1,
+};
+#define STRS_NORMAL_MSG {STR_TRAINER_NAME, STR_NONE, STR_NONE}
+#define STRS_WILD_BATTLE {STR_TRAINER_NAME, STR_SPECIES_IN_ROUTE, STR_NONE}
+#define STRS_BATTLE_NEGATIVE {STR_TRAINER_NAME, STR_NONE, STR_NONE}
+#define STRS_BATTLE_POSITIVE {STR_TRAINER_NAME, STR_SPECIES_IN_PARTY, STR_NONE}
+#define STRS_BATTLE_REQUEST {STR_TRAINER_NAME, STR_MAP_NAME, STR_NONE}
+#define STRS_FRONTIER {STR_TRAINER_NAME, STR_FACILITY_NAME, STR_FRONTIER_STREAK}
+
+#define NUM_STRVARS_IN_MSG 3
+
+// Topic IDs for sMatchCallGeneralTopics
+enum {
+ GEN_TOPIC_PERSONAL = 1,
+ GEN_TOPIC_STREAK,
+ GEN_TOPIC_STREAK_RECORD,
+ GEN_TOPIC_B_DOME,
+ GEN_TOPIC_B_PIKE,
+ GEN_TOPIC_B_PYRAMID,
+};
+
+// Topic IDs for sMatchCallBattleTopics
+enum {
+ B_TOPIC_WILD = 1,
+ B_TOPIC_NEGATIVE,
+ B_TOPIC_POSITIVE,
+};
+
+// Each trainer has a text id for 1 of each of the 3 battle topics
+// The msgId is the index into the respective topic's message table
+// For all but 2 trainers this index is the same for each topic
+#define BATTLE_TEXT_IDS(msgId) {TEXT_ID(B_TOPIC_WILD, (msgId)), TEXT_ID(B_TOPIC_NEGATIVE, (msgId)), TEXT_ID(B_TOPIC_POSITIVE, (msgId))}
+
+// Topic IDs for sMatchCallBattleRequestTopics
+enum {
+ REQ_TOPIC_SAME_ROUTE = 1,
+ REQ_TOPIC_DIFF_ROUTE,
+};
+
struct MatchCallState
{
u32 minutes;
u16 trainerId;
u8 stepCounter;
- u8 triggeredFromScript;
+ bool8 triggeredFromScript;
};
struct MatchCallTrainerTextInfo
@@ -56,7 +106,7 @@ struct MatchCallTrainerTextInfo
struct MatchCallText
{
const u8 *text;
- s8 stringVarFuncIds[3];
+ s8 stringVarFuncIds[NUM_STRVARS_IN_MSG];
};
struct MultiTrainerMatchCallText
@@ -71,8 +121,8 @@ struct BattleFrontierStreakInfo
u16 streak;
};
-EWRAM_DATA struct MatchCallState gMatchCallState = {0};
-EWRAM_DATA struct BattleFrontierStreakInfo gBattleFrontierStreakInfo = {0};
+static EWRAM_DATA struct MatchCallState sMatchCallState = {0};
+static EWRAM_DATA struct BattleFrontierStreakInfo sBattleFrontierStreakInfo = {0};
static u32 GetCurrentTotalMinutes(struct Time *);
static u32 GetNumRegisteredNPCs(void);
@@ -82,27 +132,27 @@ static u16 GetRematchTrainerLocation(int);
static bool32 TrainerIsEligibleForRematch(int);
static void StartMatchCall(void);
static void ExecuteMatchCall(u8);
-static void DrawMatchCallTextBoxBorder(u32, u32, u32);
-static void sub_8196694(u8);
+static void DrawMatchCallTextBoxBorder_Internal(u32, u32, u32);
+static void Task_SpinPokenavIcon(u8);
static void InitMatchCallTextPrinter(int, const u8 *);
-static bool32 ExecuteMatchCallTextPrinter(int);
+static bool32 RunMatchCallTextPrinter(int);
static const struct MatchCallText *GetSameRouteMatchCallText(int, u8 *);
static const struct MatchCallText *GetDifferentRouteMatchCallText(int, u8 *);
static const struct MatchCallText *GetBattleMatchCallText(int, u8 *);
static const struct MatchCallText *GetGeneralMatchCallText(int, u8 *);
-static bool32 sub_8196D74(int);
+static bool32 ShouldTrainerRequestBattle(int);
static void BuildMatchCallString(int, const struct MatchCallText *, u8 *);
static u16 GetFrontierStreakInfo(u16, u32 *);
static void PopulateMatchCallStringVars(int, const s8 *);
static void PopulateMatchCallStringVar(int, int, u8 *);
-static bool32 LoadMatchCallWindowGfx(u8);
-static bool32 MoveMatchCallWindowToVram(u8);
-static bool32 PrintMatchCallIntroEllipsis(u8);
-static bool32 sub_81962B0(u8);
-static bool32 sub_81962D8(u8);
-static bool32 sub_8196330(u8);
-static bool32 sub_8196390(u8);
-static bool32 sub_81963F0(u8);
+static bool32 MatchCall_LoadGfx(u8);
+static bool32 MatchCall_DrawWindow(u8);
+static bool32 MatchCall_ReadyIntro(u8);
+static bool32 MatchCall_SlideWindowIn(u8);
+static bool32 MatchCall_PrintIntro(u8);
+static bool32 MatchCall_PrintMessage(u8);
+static bool32 MatchCall_SlideWindowOut(u8);
+static bool32 MatchCall_EndCall(u8);
static void PopulateTrainerName(int, u8 *);
static void PopulateMapName(int, u8 *);
static void PopulateSpeciesFromTrainerLocation(int, u8 *);
@@ -117,851 +167,853 @@ static const struct MatchCallTrainerTextInfo sMatchCallTrainers[] =
{
.trainerId = TRAINER_ROSE_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 8), TEXT_ID(2, 8), TEXT_ID(3, 8) },
- .generalTextId = TEXT_ID(1, 3),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(8),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 3),
.battleFrontierRecordStreakTextIndex = 8,
- .sameRouteMatchCallTextId = TEXT_ID(1, 8),
- .differentRouteMatchCallTextId = TEXT_ID(2, 8),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 8),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 8),
},
{
.trainerId = TRAINER_ANDRES_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 12), TEXT_ID(2, 12), TEXT_ID(3, 12) },
- .generalTextId = TEXT_ID(1, 62),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(12),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 62),
.battleFrontierRecordStreakTextIndex = 12,
- .sameRouteMatchCallTextId = TEXT_ID(1, 12),
- .differentRouteMatchCallTextId = TEXT_ID(2, 12),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 12),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 12),
},
{
.trainerId = TRAINER_DUSTY_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 12), TEXT_ID(2, 12), TEXT_ID(3, 12) },
- .generalTextId = TEXT_ID(1, 4),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(12),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 4),
.battleFrontierRecordStreakTextIndex = 12,
- .sameRouteMatchCallTextId = TEXT_ID(1, 12),
- .differentRouteMatchCallTextId = TEXT_ID(2, 12),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 12),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 12),
},
{
.trainerId = TRAINER_LOLA_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 2), TEXT_ID(2, 2), TEXT_ID(3, 2) },
- .generalTextId = TEXT_ID(1, 5),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(2),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 5),
.battleFrontierRecordStreakTextIndex = 2,
- .sameRouteMatchCallTextId = TEXT_ID(1, 2),
- .differentRouteMatchCallTextId = TEXT_ID(2, 2),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 2),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 2),
},
{
.trainerId = TRAINER_RICKY_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 1), TEXT_ID(2, 1), TEXT_ID(3, 1) },
- .generalTextId = TEXT_ID(1, 6),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(1),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 6),
.battleFrontierRecordStreakTextIndex = 1,
- .sameRouteMatchCallTextId = TEXT_ID(1, 1),
- .differentRouteMatchCallTextId = TEXT_ID(2, 1),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 1),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 1),
},
{
.trainerId = TRAINER_LILA_AND_ROY_1,
.unused = 4,
- .battleTopicTextIds = { TEXT_ID(1, 1), TEXT_ID(2, 1), TEXT_ID(3, 1) },
- .generalTextId = TEXT_ID(1, 61),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(1),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 61),
.battleFrontierRecordStreakTextIndex = 1,
- .sameRouteMatchCallTextId = TEXT_ID(1, 1),
- .differentRouteMatchCallTextId = TEXT_ID(2, 1),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 1),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 1),
},
{
.trainerId = TRAINER_CRISTIN_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 10), TEXT_ID(2, 10), TEXT_ID(3, 10) },
- .generalTextId = TEXT_ID(1, 64),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(10),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 64),
.battleFrontierRecordStreakTextIndex = 10,
- .sameRouteMatchCallTextId = TEXT_ID(1, 10),
- .differentRouteMatchCallTextId = TEXT_ID(2, 10),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 10),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 10),
},
{
.trainerId = TRAINER_BROOKE_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 9), TEXT_ID(2, 9), TEXT_ID(3, 9) },
- .generalTextId = TEXT_ID(1, 8),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(9),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 8),
.battleFrontierRecordStreakTextIndex = 9,
- .sameRouteMatchCallTextId = TEXT_ID(1, 9),
- .differentRouteMatchCallTextId = TEXT_ID(2, 9),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 9),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 9),
},
{
.trainerId = TRAINER_WILTON_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 6), TEXT_ID(2, 6), TEXT_ID(3, 6) },
- .generalTextId = TEXT_ID(1, 7),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(6),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 7),
.battleFrontierRecordStreakTextIndex = 6,
- .sameRouteMatchCallTextId = TEXT_ID(1, 6),
- .differentRouteMatchCallTextId = TEXT_ID(2, 6),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 6),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 6),
},
{
.trainerId = TRAINER_VALERIE_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 8), TEXT_ID(2, 8), TEXT_ID(3, 8) },
- .generalTextId = TEXT_ID(1, 9),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(8),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 9),
.battleFrontierRecordStreakTextIndex = 8,
- .sameRouteMatchCallTextId = TEXT_ID(1, 8),
- .differentRouteMatchCallTextId = TEXT_ID(2, 8),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 8),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 8),
},
{
.trainerId = TRAINER_CINDY_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 8), TEXT_ID(2, 8), TEXT_ID(3, 8) },
- .generalTextId = TEXT_ID(1, 10),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(8),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 10),
.battleFrontierRecordStreakTextIndex = 8,
- .sameRouteMatchCallTextId = TEXT_ID(1, 8),
- .differentRouteMatchCallTextId = TEXT_ID(2, 8),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 8),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 8),
},
{
.trainerId = TRAINER_THALIA_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 8), TEXT_ID(2, 10), TEXT_ID(3, 10) },
- .generalTextId = TEXT_ID(1, 14),
+ // Thalia and Sawyer are the only ones who use different msg ids for their battle topics
+ .battleTopicTextIds = { TEXT_ID(B_TOPIC_WILD, 8), TEXT_ID(B_TOPIC_NEGATIVE, 10), TEXT_ID(B_TOPIC_POSITIVE, 10) },
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 14),
.battleFrontierRecordStreakTextIndex = 10,
- .sameRouteMatchCallTextId = TEXT_ID(1, 8),
- .differentRouteMatchCallTextId = TEXT_ID(2, 10),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 8),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 10),
},
{
.trainerId = TRAINER_JESSICA_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 10), TEXT_ID(2, 10), TEXT_ID(3, 10) },
- .generalTextId = TEXT_ID(1, 11),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(10),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 11),
.battleFrontierRecordStreakTextIndex = 10,
- .sameRouteMatchCallTextId = TEXT_ID(1, 8),
- .differentRouteMatchCallTextId = TEXT_ID(2, 10),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 8),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 10),
},
{
.trainerId = TRAINER_WINSTON_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 4), TEXT_ID(2, 4), TEXT_ID(3, 4) },
- .generalTextId = TEXT_ID(1, 12),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(4),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 12),
.battleFrontierRecordStreakTextIndex = 4,
- .sameRouteMatchCallTextId = TEXT_ID(1, 4),
- .differentRouteMatchCallTextId = TEXT_ID(2, 4),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 4),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 4),
},
{
.trainerId = TRAINER_STEVE_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 7), TEXT_ID(2, 7), TEXT_ID(3, 7) },
- .generalTextId = TEXT_ID(1, 13),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(7),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 13),
.battleFrontierRecordStreakTextIndex = 7,
- .sameRouteMatchCallTextId = TEXT_ID(1, 7),
- .differentRouteMatchCallTextId = TEXT_ID(2, 7),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 7),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 7),
},
{
.trainerId = TRAINER_TONY_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 5), TEXT_ID(2, 5), TEXT_ID(3, 5) },
- .generalTextId = TEXT_ID(1, 15),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(5),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 15),
.battleFrontierRecordStreakTextIndex = 5,
- .sameRouteMatchCallTextId = TEXT_ID(1, 5),
- .differentRouteMatchCallTextId = TEXT_ID(2, 5),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 5),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 5),
},
{
.trainerId = TRAINER_NOB_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 3), TEXT_ID(2, 3), TEXT_ID(3, 3) },
- .generalTextId = TEXT_ID(1, 16),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(3),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 16),
.battleFrontierRecordStreakTextIndex = 3,
- .sameRouteMatchCallTextId = TEXT_ID(1, 3),
- .differentRouteMatchCallTextId = TEXT_ID(2, 3),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 3),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 3),
},
{
.trainerId = TRAINER_KOJI_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 3), TEXT_ID(2, 3), TEXT_ID(3, 3) },
- .generalTextId = TEXT_ID(1, 59),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(3),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 59),
.battleFrontierRecordStreakTextIndex = 3,
- .sameRouteMatchCallTextId = TEXT_ID(1, 3),
- .differentRouteMatchCallTextId = TEXT_ID(2, 3),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 3),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 3),
},
{
.trainerId = TRAINER_FERNANDO_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 6), TEXT_ID(2, 6), TEXT_ID(3, 6) },
- .generalTextId = TEXT_ID(1, 17),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(6),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 17),
.battleFrontierRecordStreakTextIndex = 6,
- .sameRouteMatchCallTextId = TEXT_ID(1, 6),
- .differentRouteMatchCallTextId = TEXT_ID(2, 6),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 6),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 6),
},
{
.trainerId = TRAINER_DALTON_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 4), TEXT_ID(2, 4), TEXT_ID(3, 4) },
- .generalTextId = TEXT_ID(1, 18),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(4),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 18),
.battleFrontierRecordStreakTextIndex = 4,
- .sameRouteMatchCallTextId = TEXT_ID(1, 4),
- .differentRouteMatchCallTextId = TEXT_ID(2, 4),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 4),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 4),
},
{
.trainerId = TRAINER_BERNIE_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 11), TEXT_ID(2, 11), TEXT_ID(3, 11) },
- .generalTextId = TEXT_ID(1, 19),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(11),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 19),
.battleFrontierRecordStreakTextIndex = 11,
- .sameRouteMatchCallTextId = TEXT_ID(1, 11),
- .differentRouteMatchCallTextId = TEXT_ID(2, 11),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 11),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 11),
},
{
.trainerId = TRAINER_ETHAN_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 1), TEXT_ID(2, 1), TEXT_ID(3, 1) },
- .generalTextId = TEXT_ID(1, 20),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(1),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 20),
.battleFrontierRecordStreakTextIndex = 1,
- .sameRouteMatchCallTextId = TEXT_ID(1, 1),
- .differentRouteMatchCallTextId = TEXT_ID(2, 1),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 1),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 1),
},
{
.trainerId = TRAINER_JOHN_AND_JAY_1,
.unused = 3,
- .battleTopicTextIds = { TEXT_ID(1, 12), TEXT_ID(2, 12), TEXT_ID(3, 12) },
- .generalTextId = TEXT_ID(1, 60),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(12),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 60),
.battleFrontierRecordStreakTextIndex = 12,
- .sameRouteMatchCallTextId = TEXT_ID(1, 12),
- .differentRouteMatchCallTextId = TEXT_ID(2, 12),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 12),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 12),
},
{
.trainerId = TRAINER_JEFFREY_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 7), TEXT_ID(2, 7), TEXT_ID(3, 7) },
- .generalTextId = TEXT_ID(1, 21),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(7),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 21),
.battleFrontierRecordStreakTextIndex = 7,
- .sameRouteMatchCallTextId = TEXT_ID(1, 7),
- .differentRouteMatchCallTextId = TEXT_ID(2, 7),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 7),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 7),
},
{
.trainerId = TRAINER_CAMERON_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 4), TEXT_ID(2, 4), TEXT_ID(3, 4) },
- .generalTextId = TEXT_ID(1, 22),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(4),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 22),
.battleFrontierRecordStreakTextIndex = 1,
- .sameRouteMatchCallTextId = TEXT_ID(1, 4),
- .differentRouteMatchCallTextId = TEXT_ID(2, 4),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 4),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 4),
},
{
.trainerId = TRAINER_JACKI_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 8), TEXT_ID(2, 8), TEXT_ID(3, 8) },
- .generalTextId = TEXT_ID(1, 23),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(8),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 23),
.battleFrontierRecordStreakTextIndex = 8,
- .sameRouteMatchCallTextId = TEXT_ID(1, 8),
- .differentRouteMatchCallTextId = TEXT_ID(2, 8),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 8),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 8),
},
{
.trainerId = TRAINER_WALTER_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 12), TEXT_ID(2, 12), TEXT_ID(3, 12) },
- .generalTextId = TEXT_ID(1, 24),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(12),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 24),
.battleFrontierRecordStreakTextIndex = 12,
- .sameRouteMatchCallTextId = TEXT_ID(1, 12),
- .differentRouteMatchCallTextId = TEXT_ID(2, 12),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 12),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 12),
},
{
.trainerId = TRAINER_KAREN_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 2), TEXT_ID(2, 2), TEXT_ID(3, 2) },
- .generalTextId = TEXT_ID(1, 26),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(2),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 26),
.battleFrontierRecordStreakTextIndex = 2,
- .sameRouteMatchCallTextId = TEXT_ID(1, 2),
- .differentRouteMatchCallTextId = TEXT_ID(2, 2),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 2),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 2),
},
{
.trainerId = TRAINER_JERRY_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 1), TEXT_ID(2, 1), TEXT_ID(3, 1) },
- .generalTextId = TEXT_ID(1, 25),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(1),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 25),
.battleFrontierRecordStreakTextIndex = 1,
- .sameRouteMatchCallTextId = TEXT_ID(1, 1),
- .differentRouteMatchCallTextId = TEXT_ID(2, 1),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 1),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 1),
},
{
.trainerId = TRAINER_ANNA_AND_MEG_1,
.unused = 6,
- .battleTopicTextIds = { TEXT_ID(1, 9), TEXT_ID(2, 9), TEXT_ID(3, 9) },
- .generalTextId = TEXT_ID(1, 27),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(9),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 27),
.battleFrontierRecordStreakTextIndex = 9,
- .sameRouteMatchCallTextId = TEXT_ID(1, 9),
- .differentRouteMatchCallTextId = TEXT_ID(2, 9),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 9),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 9),
},
{
.trainerId = TRAINER_ISABEL_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 14), TEXT_ID(2, 14), TEXT_ID(3, 14) },
- .generalTextId = TEXT_ID(1, 29),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(14),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 29),
.battleFrontierRecordStreakTextIndex = 14,
- .sameRouteMatchCallTextId = TEXT_ID(1, 14),
- .differentRouteMatchCallTextId = TEXT_ID(2, 14),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 14),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 14),
},
{
.trainerId = TRAINER_MIGUEL_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 11), TEXT_ID(2, 11), TEXT_ID(3, 11) },
- .generalTextId = TEXT_ID(1, 28),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(11),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 28),
.battleFrontierRecordStreakTextIndex = 11,
- .sameRouteMatchCallTextId = TEXT_ID(1, 11),
- .differentRouteMatchCallTextId = TEXT_ID(2, 11),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 11),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 11),
},
{
.trainerId = TRAINER_TIMOTHY_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 12), TEXT_ID(2, 12), TEXT_ID(3, 12) },
- .generalTextId = TEXT_ID(1, 30),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(12),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 30),
.battleFrontierRecordStreakTextIndex = 12,
- .sameRouteMatchCallTextId = TEXT_ID(1, 12),
- .differentRouteMatchCallTextId = TEXT_ID(2, 12),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 12),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 12),
},
{
.trainerId = TRAINER_SHELBY_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 13), TEXT_ID(2, 13), TEXT_ID(3, 13) },
- .generalTextId = TEXT_ID(1, 31),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(13),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 31),
.battleFrontierRecordStreakTextIndex = 13,
- .sameRouteMatchCallTextId = TEXT_ID(1, 13),
- .differentRouteMatchCallTextId = TEXT_ID(2, 13),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 13),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 13),
},
{
.trainerId = TRAINER_CALVIN_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 1), TEXT_ID(2, 1), TEXT_ID(3, 1) },
- .generalTextId = TEXT_ID(1, 32),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(1),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 32),
.battleFrontierRecordStreakTextIndex = 1,
- .sameRouteMatchCallTextId = TEXT_ID(1, 1),
- .differentRouteMatchCallTextId = TEXT_ID(2, 1),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 1),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 1),
},
{
.trainerId = TRAINER_ELLIOT_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 3), TEXT_ID(2, 3), TEXT_ID(3, 3) },
- .generalTextId = TEXT_ID(1, 33),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(3),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 33),
.battleFrontierRecordStreakTextIndex = 3,
- .sameRouteMatchCallTextId = TEXT_ID(1, 3),
- .differentRouteMatchCallTextId = TEXT_ID(2, 3),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 3),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 3),
},
{
.trainerId = TRAINER_ISAIAH_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 5), TEXT_ID(2, 5), TEXT_ID(3, 5) },
- .generalTextId = TEXT_ID(1, 38),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(5),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 38),
.battleFrontierRecordStreakTextIndex = 5,
- .sameRouteMatchCallTextId = TEXT_ID(1, 5),
- .differentRouteMatchCallTextId = TEXT_ID(2, 5),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 5),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 5),
},
{
.trainerId = TRAINER_MARIA_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 9), TEXT_ID(2, 9), TEXT_ID(3, 9) },
- .generalTextId = TEXT_ID(1, 37),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(9),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 37),
.battleFrontierRecordStreakTextIndex = 9,
- .sameRouteMatchCallTextId = TEXT_ID(1, 9),
- .differentRouteMatchCallTextId = TEXT_ID(2, 9),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 9),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 9),
},
{
.trainerId = TRAINER_ABIGAIL_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 9), TEXT_ID(2, 9), TEXT_ID(3, 9) },
- .generalTextId = TEXT_ID(1, 35),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(9),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 35),
.battleFrontierRecordStreakTextIndex = 9,
- .sameRouteMatchCallTextId = TEXT_ID(1, 9),
- .differentRouteMatchCallTextId = TEXT_ID(2, 9),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 9),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 9),
},
{
.trainerId = TRAINER_DYLAN_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 5), TEXT_ID(2, 5), TEXT_ID(3, 5) },
- .generalTextId = TEXT_ID(1, 36),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(5),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 36),
.battleFrontierRecordStreakTextIndex = 5,
- .sameRouteMatchCallTextId = TEXT_ID(1, 5),
- .differentRouteMatchCallTextId = TEXT_ID(2, 5),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 5),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 5),
},
{
.trainerId = TRAINER_KATELYN_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 9), TEXT_ID(2, 9), TEXT_ID(3, 9) },
- .generalTextId = TEXT_ID(1, 40),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(9),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 40),
.battleFrontierRecordStreakTextIndex = 9,
- .sameRouteMatchCallTextId = TEXT_ID(1, 9),
- .differentRouteMatchCallTextId = TEXT_ID(2, 9),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 9),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 9),
},
{
.trainerId = TRAINER_BENJAMIN_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 5), TEXT_ID(2, 5), TEXT_ID(3, 5) },
- .generalTextId = TEXT_ID(1, 34),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(5),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 34),
.battleFrontierRecordStreakTextIndex = 5,
- .sameRouteMatchCallTextId = TEXT_ID(1, 5),
- .differentRouteMatchCallTextId = TEXT_ID(2, 5),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 5),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 5),
},
{
.trainerId = TRAINER_PABLO_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 5), TEXT_ID(2, 5), TEXT_ID(3, 5) },
- .generalTextId = TEXT_ID(1, 39),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(5),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 39),
.battleFrontierRecordStreakTextIndex = 5,
- .sameRouteMatchCallTextId = TEXT_ID(1, 5),
- .differentRouteMatchCallTextId = TEXT_ID(2, 5),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 5),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 5),
},
{
.trainerId = TRAINER_NICOLAS_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 4), TEXT_ID(2, 4), TEXT_ID(3, 4) },
- .generalTextId = TEXT_ID(1, 41),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(4),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 41),
.battleFrontierRecordStreakTextIndex = 4,
- .sameRouteMatchCallTextId = TEXT_ID(1, 4),
- .differentRouteMatchCallTextId = TEXT_ID(2, 4),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 4),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 4),
},
{
.trainerId = TRAINER_ROBERT_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 6), TEXT_ID(2, 6), TEXT_ID(3, 6) },
- .generalTextId = TEXT_ID(1, 42),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(6),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 42),
.battleFrontierRecordStreakTextIndex = 6,
- .sameRouteMatchCallTextId = TEXT_ID(1, 6),
- .differentRouteMatchCallTextId = TEXT_ID(2, 6),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 6),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 6),
},
{
.trainerId = TRAINER_LAO_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 1), TEXT_ID(2, 1), TEXT_ID(3, 1) },
- .generalTextId = TEXT_ID(1, 43),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(1),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 43),
.battleFrontierRecordStreakTextIndex = 1,
- .sameRouteMatchCallTextId = TEXT_ID(1, 1),
- .differentRouteMatchCallTextId = TEXT_ID(2, 1),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 1),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 1),
},
{
.trainerId = TRAINER_CYNDY_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 9), TEXT_ID(2, 9), TEXT_ID(3, 9) },
- .generalTextId = TEXT_ID(1, 44),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(9),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 44),
.battleFrontierRecordStreakTextIndex = 9,
- .sameRouteMatchCallTextId = TEXT_ID(1, 9),
- .differentRouteMatchCallTextId = TEXT_ID(2, 9),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 9),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 9),
},
{
.trainerId = TRAINER_MADELINE_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 8), TEXT_ID(2, 8), TEXT_ID(3, 8) },
- .generalTextId = TEXT_ID(1, 45),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(8),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 45),
.battleFrontierRecordStreakTextIndex = 8,
- .sameRouteMatchCallTextId = TEXT_ID(1, 8),
- .differentRouteMatchCallTextId = TEXT_ID(2, 8),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 8),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 8),
},
{
.trainerId = TRAINER_JENNY_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 9), TEXT_ID(2, 9), TEXT_ID(3, 9) },
- .generalTextId = TEXT_ID(1, 46),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(9),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 46),
.battleFrontierRecordStreakTextIndex = 9,
- .sameRouteMatchCallTextId = TEXT_ID(1, 9),
- .differentRouteMatchCallTextId = TEXT_ID(2, 9),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 9),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 9),
},
{
.trainerId = TRAINER_DIANA_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 2), TEXT_ID(2, 2), TEXT_ID(3, 2) },
- .generalTextId = TEXT_ID(1, 47),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(2),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 47),
.battleFrontierRecordStreakTextIndex = 2,
- .sameRouteMatchCallTextId = TEXT_ID(1, 2),
- .differentRouteMatchCallTextId = TEXT_ID(2, 2),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 2),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 2),
},
{
.trainerId = TRAINER_AMY_AND_LIV_1,
.unused = 2,
- .battleTopicTextIds = { TEXT_ID(1, 2), TEXT_ID(2, 2), TEXT_ID(3, 2) },
- .generalTextId = TEXT_ID(1, 48),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(2),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 48),
.battleFrontierRecordStreakTextIndex = 1,
- .sameRouteMatchCallTextId = TEXT_ID(1, 2),
- .differentRouteMatchCallTextId = TEXT_ID(2, 2),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 2),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 2),
},
{
.trainerId = TRAINER_ERNEST_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 3), TEXT_ID(2, 3), TEXT_ID(3, 3) },
- .generalTextId = TEXT_ID(1, 49),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(3),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 49),
.battleFrontierRecordStreakTextIndex = 3,
- .sameRouteMatchCallTextId = TEXT_ID(1, 3),
- .differentRouteMatchCallTextId = TEXT_ID(2, 3),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 3),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 3),
},
{
.trainerId = TRAINER_CORY_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 3), TEXT_ID(2, 3), TEXT_ID(3, 3) },
- .generalTextId = TEXT_ID(1, 63),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(3),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 63),
.battleFrontierRecordStreakTextIndex = 3,
- .sameRouteMatchCallTextId = TEXT_ID(1, 3),
- .differentRouteMatchCallTextId = TEXT_ID(2, 3),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 3),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 3),
},
{
.trainerId = TRAINER_EDWIN_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 7), TEXT_ID(2, 7), TEXT_ID(3, 7) },
- .generalTextId = TEXT_ID(1, 50),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(7),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 50),
.battleFrontierRecordStreakTextIndex = 7,
- .sameRouteMatchCallTextId = TEXT_ID(1, 7),
- .differentRouteMatchCallTextId = TEXT_ID(2, 7),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 7),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 7),
},
{
.trainerId = TRAINER_LYDIA_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 8), TEXT_ID(2, 8), TEXT_ID(3, 8) },
- .generalTextId = TEXT_ID(1, 52),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(8),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 52),
.battleFrontierRecordStreakTextIndex = 8,
- .sameRouteMatchCallTextId = TEXT_ID(1, 8),
- .differentRouteMatchCallTextId = TEXT_ID(2, 8),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 8),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 8),
},
{
.trainerId = TRAINER_ISAAC_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 5), TEXT_ID(2, 5), TEXT_ID(3, 5) },
- .generalTextId = TEXT_ID(1, 51),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(5),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 51),
.battleFrontierRecordStreakTextIndex = 5,
- .sameRouteMatchCallTextId = TEXT_ID(1, 5),
- .differentRouteMatchCallTextId = TEXT_ID(2, 5),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 5),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 5),
},
{
.trainerId = TRAINER_GABRIELLE_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 8), TEXT_ID(2, 8), TEXT_ID(3, 8) },
- .generalTextId = TEXT_ID(1, 2),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(8),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 2),
.battleFrontierRecordStreakTextIndex = 8,
- .sameRouteMatchCallTextId = TEXT_ID(1, 8),
- .differentRouteMatchCallTextId = TEXT_ID(2, 8),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 8),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 8),
},
{
.trainerId = TRAINER_CATHERINE_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 9), TEXT_ID(2, 9), TEXT_ID(3, 9) },
- .generalTextId = TEXT_ID(1, 54),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(9),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 54),
.battleFrontierRecordStreakTextIndex = 9,
- .sameRouteMatchCallTextId = TEXT_ID(1, 9),
- .differentRouteMatchCallTextId = TEXT_ID(2, 9),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 9),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 9),
},
{
.trainerId = TRAINER_JACKSON_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 5), TEXT_ID(2, 5), TEXT_ID(3, 5) },
- .generalTextId = TEXT_ID(1, 53),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(5),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 53),
.battleFrontierRecordStreakTextIndex = 5,
- .sameRouteMatchCallTextId = TEXT_ID(1, 5),
- .differentRouteMatchCallTextId = TEXT_ID(2, 5),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 5),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 5),
},
{
.trainerId = TRAINER_HALEY_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 2), TEXT_ID(2, 2), TEXT_ID(3, 2) },
- .generalTextId = TEXT_ID(1, 55),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(2),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 55),
.battleFrontierRecordStreakTextIndex = 2,
- .sameRouteMatchCallTextId = TEXT_ID(1, 2),
- .differentRouteMatchCallTextId = TEXT_ID(2, 2),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 2),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 2),
},
{
.trainerId = TRAINER_JAMES_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 1), TEXT_ID(2, 1), TEXT_ID(3, 1) },
- .generalTextId = TEXT_ID(1, 56),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(1),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 56),
.battleFrontierRecordStreakTextIndex = 1,
- .sameRouteMatchCallTextId = TEXT_ID(1, 1),
- .differentRouteMatchCallTextId = TEXT_ID(2, 1),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 1),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 1),
},
{
.trainerId = TRAINER_TRENT_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 3), TEXT_ID(2, 3), TEXT_ID(3, 3) },
- .generalTextId = TEXT_ID(1, 57),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(3),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 57),
.battleFrontierRecordStreakTextIndex = 3,
- .sameRouteMatchCallTextId = TEXT_ID(1, 3),
- .differentRouteMatchCallTextId = TEXT_ID(2, 3),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 3),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 3),
},
{
.trainerId = TRAINER_SAWYER_1,
.unused = 0,
- .battleTopicTextIds = { TEXT_ID(1, 15), TEXT_ID(2, 3), TEXT_ID(3, 3) },
- .generalTextId = TEXT_ID(1, 1),
+ // Thalia and Sawyer are the only ones who use different msg ids for their battle topics
+ .battleTopicTextIds = { TEXT_ID(B_TOPIC_WILD, 15), TEXT_ID(B_TOPIC_NEGATIVE, 3), TEXT_ID(B_TOPIC_POSITIVE, 3) },
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 1),
.battleFrontierRecordStreakTextIndex = 3,
- .sameRouteMatchCallTextId = TEXT_ID(1, 3),
- .differentRouteMatchCallTextId = TEXT_ID(2, 3),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 3),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 3),
},
{
.trainerId = TRAINER_KIRA_AND_DAN_1,
.unused = 1,
- .battleTopicTextIds = { TEXT_ID(1, 9), TEXT_ID(2, 9), TEXT_ID(3, 9) },
- .generalTextId = TEXT_ID(1, 58),
+ .battleTopicTextIds = BATTLE_TEXT_IDS(9),
+ .generalTextId = TEXT_ID(GEN_TOPIC_PERSONAL, 58),
.battleFrontierRecordStreakTextIndex = 9,
- .sameRouteMatchCallTextId = TEXT_ID(1, 9),
- .differentRouteMatchCallTextId = TEXT_ID(2, 9),
+ .sameRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_SAME_ROUTE, 9),
+ .differentRouteMatchCallTextId = TEXT_ID(REQ_TOPIC_DIFF_ROUTE, 9),
},
};
static const struct MatchCallText sMatchCallWildBattleTexts[] =
{
- { .text = MatchCall_WildBattleText1, .stringVarFuncIds = { 0, 2, -1 } },
- { .text = MatchCall_WildBattleText2, .stringVarFuncIds = { 0, 2, -1 } },
- { .text = MatchCall_WildBattleText3, .stringVarFuncIds = { 0, 2, -1 } },
- { .text = MatchCall_WildBattleText4, .stringVarFuncIds = { 0, 2, -1 } },
- { .text = MatchCall_WildBattleText5, .stringVarFuncIds = { 0, 2, -1 } },
- { .text = MatchCall_WildBattleText6, .stringVarFuncIds = { 0, 2, -1 } },
- { .text = MatchCall_WildBattleText7, .stringVarFuncIds = { 0, 2, -1 } },
- { .text = MatchCall_WildBattleText8, .stringVarFuncIds = { 0, 2, -1 } },
- { .text = MatchCall_WildBattleText9, .stringVarFuncIds = { 0, 2, -1 } },
- { .text = MatchCall_WildBattleText10, .stringVarFuncIds = { 0, 2, -1 } },
- { .text = MatchCall_WildBattleText11, .stringVarFuncIds = { 0, 2, -1 } },
- { .text = MatchCall_WildBattleText12, .stringVarFuncIds = { 0, 2, -1 } },
- { .text = MatchCall_WildBattleText13, .stringVarFuncIds = { 0, 2, -1 } },
- { .text = MatchCall_WildBattleText14, .stringVarFuncIds = { 0, 2, -1 } },
- { .text = MatchCall_WildBattleText15, .stringVarFuncIds = { 0, 2, -1 } },
+ { .text = MatchCall_WildBattleText1, .stringVarFuncIds = STRS_WILD_BATTLE },
+ { .text = MatchCall_WildBattleText2, .stringVarFuncIds = STRS_WILD_BATTLE },
+ { .text = MatchCall_WildBattleText3, .stringVarFuncIds = STRS_WILD_BATTLE },
+ { .text = MatchCall_WildBattleText4, .stringVarFuncIds = STRS_WILD_BATTLE },
+ { .text = MatchCall_WildBattleText5, .stringVarFuncIds = STRS_WILD_BATTLE },
+ { .text = MatchCall_WildBattleText6, .stringVarFuncIds = STRS_WILD_BATTLE },
+ { .text = MatchCall_WildBattleText7, .stringVarFuncIds = STRS_WILD_BATTLE },
+ { .text = MatchCall_WildBattleText8, .stringVarFuncIds = STRS_WILD_BATTLE },
+ { .text = MatchCall_WildBattleText9, .stringVarFuncIds = STRS_WILD_BATTLE },
+ { .text = MatchCall_WildBattleText10, .stringVarFuncIds = STRS_WILD_BATTLE },
+ { .text = MatchCall_WildBattleText11, .stringVarFuncIds = STRS_WILD_BATTLE },
+ { .text = MatchCall_WildBattleText12, .stringVarFuncIds = STRS_WILD_BATTLE },
+ { .text = MatchCall_WildBattleText13, .stringVarFuncIds = STRS_WILD_BATTLE },
+ { .text = MatchCall_WildBattleText14, .stringVarFuncIds = STRS_WILD_BATTLE },
+ { .text = MatchCall_WildBattleText15, .stringVarFuncIds = STRS_WILD_BATTLE },
};
- static const struct MatchCallText sMatchCallNegativeBattleTexts[] =
- {
- { .text = MatchCall_NegativeBattleText1, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_NegativeBattleText2, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_NegativeBattleText3, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_NegativeBattleText4, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_NegativeBattleText5, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_NegativeBattleText6, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_NegativeBattleText7, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_NegativeBattleText8, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_NegativeBattleText9, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_NegativeBattleText10, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_NegativeBattleText11, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_NegativeBattleText12, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_NegativeBattleText13, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_NegativeBattleText14, .stringVarFuncIds = { 0, -1, -1 } },
+static const struct MatchCallText sMatchCallNegativeBattleTexts[] =
+{
+ { .text = MatchCall_NegativeBattleText1, .stringVarFuncIds = STRS_BATTLE_NEGATIVE },
+ { .text = MatchCall_NegativeBattleText2, .stringVarFuncIds = STRS_BATTLE_NEGATIVE },
+ { .text = MatchCall_NegativeBattleText3, .stringVarFuncIds = STRS_BATTLE_NEGATIVE },
+ { .text = MatchCall_NegativeBattleText4, .stringVarFuncIds = STRS_BATTLE_NEGATIVE },
+ { .text = MatchCall_NegativeBattleText5, .stringVarFuncIds = STRS_BATTLE_NEGATIVE },
+ { .text = MatchCall_NegativeBattleText6, .stringVarFuncIds = STRS_BATTLE_NEGATIVE },
+ { .text = MatchCall_NegativeBattleText7, .stringVarFuncIds = STRS_BATTLE_NEGATIVE },
+ { .text = MatchCall_NegativeBattleText8, .stringVarFuncIds = STRS_BATTLE_NEGATIVE },
+ { .text = MatchCall_NegativeBattleText9, .stringVarFuncIds = STRS_BATTLE_NEGATIVE },
+ { .text = MatchCall_NegativeBattleText10, .stringVarFuncIds = STRS_BATTLE_NEGATIVE },
+ { .text = MatchCall_NegativeBattleText11, .stringVarFuncIds = STRS_BATTLE_NEGATIVE },
+ { .text = MatchCall_NegativeBattleText12, .stringVarFuncIds = STRS_BATTLE_NEGATIVE },
+ { .text = MatchCall_NegativeBattleText13, .stringVarFuncIds = STRS_BATTLE_NEGATIVE },
+ { .text = MatchCall_NegativeBattleText14, .stringVarFuncIds = STRS_BATTLE_NEGATIVE },
};
static const struct MatchCallText sMatchCallPositiveBattleTexts[] =
{
- { .text = MatchCall_PositiveBattleText1, .stringVarFuncIds = { 0, 3, -1 } },
- { .text = MatchCall_PositiveBattleText2, .stringVarFuncIds = { 0, 3, -1 } },
- { .text = MatchCall_PositiveBattleText3, .stringVarFuncIds = { 0, 3, -1 } },
- { .text = MatchCall_PositiveBattleText4, .stringVarFuncIds = { 0, 3, -1 } },
- { .text = MatchCall_PositiveBattleText5, .stringVarFuncIds = { 0, 3, -1 } },
- { .text = MatchCall_PositiveBattleText6, .stringVarFuncIds = { 0, 3, -1 } },
- { .text = MatchCall_PositiveBattleText7, .stringVarFuncIds = { 0, 3, -1 } },
- { .text = MatchCall_PositiveBattleText8, .stringVarFuncIds = { 0, 3, -1 } },
- { .text = MatchCall_PositiveBattleText9, .stringVarFuncIds = { 0, 3, -1 } },
- { .text = MatchCall_PositiveBattleText10, .stringVarFuncIds = { 0, 3, -1 } },
- { .text = MatchCall_PositiveBattleText11, .stringVarFuncIds = { 0, 3, -1 } },
- { .text = MatchCall_PositiveBattleText12, .stringVarFuncIds = { 0, 3, -1 } },
- { .text = MatchCall_PositiveBattleText13, .stringVarFuncIds = { 0, 3, -1 } },
- { .text = MatchCall_PositiveBattleText14, .stringVarFuncIds = { 0, 3, -1 } },
+ { .text = MatchCall_PositiveBattleText1, .stringVarFuncIds = STRS_BATTLE_POSITIVE },
+ { .text = MatchCall_PositiveBattleText2, .stringVarFuncIds = STRS_BATTLE_POSITIVE },
+ { .text = MatchCall_PositiveBattleText3, .stringVarFuncIds = STRS_BATTLE_POSITIVE },
+ { .text = MatchCall_PositiveBattleText4, .stringVarFuncIds = STRS_BATTLE_POSITIVE },
+ { .text = MatchCall_PositiveBattleText5, .stringVarFuncIds = STRS_BATTLE_POSITIVE },
+ { .text = MatchCall_PositiveBattleText6, .stringVarFuncIds = STRS_BATTLE_POSITIVE },
+ { .text = MatchCall_PositiveBattleText7, .stringVarFuncIds = STRS_BATTLE_POSITIVE },
+ { .text = MatchCall_PositiveBattleText8, .stringVarFuncIds = STRS_BATTLE_POSITIVE },
+ { .text = MatchCall_PositiveBattleText9, .stringVarFuncIds = STRS_BATTLE_POSITIVE },
+ { .text = MatchCall_PositiveBattleText10, .stringVarFuncIds = STRS_BATTLE_POSITIVE },
+ { .text = MatchCall_PositiveBattleText11, .stringVarFuncIds = STRS_BATTLE_POSITIVE },
+ { .text = MatchCall_PositiveBattleText12, .stringVarFuncIds = STRS_BATTLE_POSITIVE },
+ { .text = MatchCall_PositiveBattleText13, .stringVarFuncIds = STRS_BATTLE_POSITIVE },
+ { .text = MatchCall_PositiveBattleText14, .stringVarFuncIds = STRS_BATTLE_POSITIVE },
};
static const struct MatchCallText sMatchCallSameRouteBattleRequestTexts[] =
{
- { .text = MatchCall_SameRouteBattleRequestText1, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_SameRouteBattleRequestText2, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_SameRouteBattleRequestText3, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_SameRouteBattleRequestText4, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_SameRouteBattleRequestText5, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_SameRouteBattleRequestText6, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_SameRouteBattleRequestText7, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_SameRouteBattleRequestText8, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_SameRouteBattleRequestText9, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_SameRouteBattleRequestText10, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_SameRouteBattleRequestText11, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_SameRouteBattleRequestText12, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_SameRouteBattleRequestText13, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_SameRouteBattleRequestText14, .stringVarFuncIds = { 0, 1, -1 } },
+ { .text = MatchCall_SameRouteBattleRequestText1, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_SameRouteBattleRequestText2, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_SameRouteBattleRequestText3, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_SameRouteBattleRequestText4, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_SameRouteBattleRequestText5, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_SameRouteBattleRequestText6, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_SameRouteBattleRequestText7, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_SameRouteBattleRequestText8, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_SameRouteBattleRequestText9, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_SameRouteBattleRequestText10, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_SameRouteBattleRequestText11, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_SameRouteBattleRequestText12, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_SameRouteBattleRequestText13, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_SameRouteBattleRequestText14, .stringVarFuncIds = STRS_BATTLE_REQUEST },
};
static const struct MatchCallText sMatchCallDifferentRouteBattleRequestTexts[] =
{
- { .text = MatchCall_DifferentRouteBattleRequestText1, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_DifferentRouteBattleRequestText2, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_DifferentRouteBattleRequestText3, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_DifferentRouteBattleRequestText4, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_DifferentRouteBattleRequestText5, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_DifferentRouteBattleRequestText6, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_DifferentRouteBattleRequestText7, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_DifferentRouteBattleRequestText8, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_DifferentRouteBattleRequestText9, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_DifferentRouteBattleRequestText10, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_DifferentRouteBattleRequestText11, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_DifferentRouteBattleRequestText12, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_DifferentRouteBattleRequestText13, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_DifferentRouteBattleRequestText14, .stringVarFuncIds = { 0, 1, -1 } },
+ { .text = MatchCall_DifferentRouteBattleRequestText1, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_DifferentRouteBattleRequestText2, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_DifferentRouteBattleRequestText3, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_DifferentRouteBattleRequestText4, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_DifferentRouteBattleRequestText5, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_DifferentRouteBattleRequestText6, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_DifferentRouteBattleRequestText7, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_DifferentRouteBattleRequestText8, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_DifferentRouteBattleRequestText9, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_DifferentRouteBattleRequestText10, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_DifferentRouteBattleRequestText11, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_DifferentRouteBattleRequestText12, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_DifferentRouteBattleRequestText13, .stringVarFuncIds = STRS_BATTLE_REQUEST },
+ { .text = MatchCall_DifferentRouteBattleRequestText14, .stringVarFuncIds = STRS_BATTLE_REQUEST },
};
static const struct MatchCallText sMatchCallPersonalizedTexts[] =
{
- { .text = MatchCall_PersonalizedText1, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_PersonalizedText2, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText3, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText4, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText5, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText6, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText7, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText8, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText9, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText10, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText11, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText12, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText13, .stringVarFuncIds = { 0, 2, -1 } },
- { .text = MatchCall_PersonalizedText14, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText15, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText16, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText17, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText18, .stringVarFuncIds = { 0, 3, -1 } },
- { .text = MatchCall_PersonalizedText19, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText20, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText21, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText22, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText23, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText24, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText25, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText26, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText27, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText28, .stringVarFuncIds = { 0, 3, -1 } },
- { .text = MatchCall_PersonalizedText29, .stringVarFuncIds = { 0, 3, -1 } },
- { .text = MatchCall_PersonalizedText30, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText31, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText32, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText33, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText34, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText35, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText36, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText37, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText38, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText39, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText40, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText41, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText42, .stringVarFuncIds = { 0, 3, -1 } },
- { .text = MatchCall_PersonalizedText43, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText44, .stringVarFuncIds = { 0, 3, -1 } },
- { .text = MatchCall_PersonalizedText45, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText46, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText47, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText48, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText49, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText50, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText51, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_PersonalizedText52, .stringVarFuncIds = { 0, 3, -1 } },
- { .text = MatchCall_PersonalizedText53, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText54, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText55, .stringVarFuncIds = { 0, 1, -1 } },
- { .text = MatchCall_PersonalizedText56, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText57, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText58, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText59, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText60, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText61, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText62, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText63, .stringVarFuncIds = { 0, -1, -1 } },
- { .text = MatchCall_PersonalizedText64, .stringVarFuncIds = { 0, -1, -1 } },
+ { .text = MatchCall_PersonalizedText1, .stringVarFuncIds = { STR_TRAINER_NAME, STR_MAP_NAME, STR_NONE } },
+ { .text = MatchCall_PersonalizedText2, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText3, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText4, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText5, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText6, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText7, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText8, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText9, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText10, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText11, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText12, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText13, .stringVarFuncIds = { STR_TRAINER_NAME, STR_SPECIES_IN_ROUTE, STR_NONE } },
+ { .text = MatchCall_PersonalizedText14, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText15, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText16, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText17, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText18, .stringVarFuncIds = { STR_TRAINER_NAME, STR_SPECIES_IN_PARTY, STR_NONE } },
+ { .text = MatchCall_PersonalizedText19, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText20, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText21, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText22, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText23, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText24, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText25, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText26, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText27, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText28, .stringVarFuncIds = { STR_TRAINER_NAME, STR_SPECIES_IN_PARTY, STR_NONE } },
+ { .text = MatchCall_PersonalizedText29, .stringVarFuncIds = { STR_TRAINER_NAME, STR_SPECIES_IN_PARTY, STR_NONE } },
+ { .text = MatchCall_PersonalizedText30, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText31, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText32, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText33, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText34, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText35, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText36, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText37, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText38, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText39, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText40, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText41, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText42, .stringVarFuncIds = { STR_TRAINER_NAME, STR_SPECIES_IN_PARTY, STR_NONE } },
+ { .text = MatchCall_PersonalizedText43, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText44, .stringVarFuncIds = { STR_TRAINER_NAME, STR_SPECIES_IN_PARTY, STR_NONE } },
+ { .text = MatchCall_PersonalizedText45, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText46, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText47, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText48, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText49, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText50, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText51, .stringVarFuncIds = { STR_TRAINER_NAME, STR_MAP_NAME, STR_NONE } },
+ { .text = MatchCall_PersonalizedText52, .stringVarFuncIds = { STR_TRAINER_NAME, STR_SPECIES_IN_PARTY, STR_NONE } },
+ { .text = MatchCall_PersonalizedText53, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText54, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText55, .stringVarFuncIds = { STR_TRAINER_NAME, STR_MAP_NAME, STR_NONE } },
+ { .text = MatchCall_PersonalizedText56, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText57, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText58, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText59, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText60, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText61, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText62, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText63, .stringVarFuncIds = STRS_NORMAL_MSG },
+ { .text = MatchCall_PersonalizedText64, .stringVarFuncIds = STRS_NORMAL_MSG },
};
static const struct MatchCallText sMatchCallBattleFrontierStreakTexts[] =
{
- { .text = MatchCall_BattleFrontierStreakText1, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierStreakText2, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierStreakText3, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierStreakText4, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierStreakText5, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierStreakText6, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierStreakText7, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierStreakText8, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierStreakText9, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierStreakText10, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierStreakText11, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierStreakText12, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierStreakText13, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierStreakText14, .stringVarFuncIds = { 0, 4, 5 } },
+ { .text = MatchCall_BattleFrontierStreakText1, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierStreakText2, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierStreakText3, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierStreakText4, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierStreakText5, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierStreakText6, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierStreakText7, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierStreakText8, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierStreakText9, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierStreakText10, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierStreakText11, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierStreakText12, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierStreakText13, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierStreakText14, .stringVarFuncIds = STRS_FRONTIER },
};
static const struct MatchCallText sMatchCallBattleFrontierRecordStreakTexts[] =
{
- { .text = MatchCall_BattleFrontierRecordStreakText1, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierRecordStreakText2, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierRecordStreakText3, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierRecordStreakText4, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierRecordStreakText5, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierRecordStreakText6, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierRecordStreakText7, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierRecordStreakText8, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierRecordStreakText9, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierRecordStreakText10, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierRecordStreakText11, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierRecordStreakText12, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierRecordStreakText13, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleFrontierRecordStreakText14, .stringVarFuncIds = { 0, 4, 5 } },
+ { .text = MatchCall_BattleFrontierRecordStreakText1, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierRecordStreakText2, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierRecordStreakText3, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierRecordStreakText4, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierRecordStreakText5, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierRecordStreakText6, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierRecordStreakText7, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierRecordStreakText8, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierRecordStreakText9, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierRecordStreakText10, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierRecordStreakText11, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierRecordStreakText12, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierRecordStreakText13, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleFrontierRecordStreakText14, .stringVarFuncIds = STRS_FRONTIER },
};
static const struct MatchCallText sMatchCallBattleDomeTexts[] =
{
- { .text = MatchCall_BattleDomeText1, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleDomeText2, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleDomeText3, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleDomeText4, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleDomeText5, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleDomeText6, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleDomeText7, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleDomeText8, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleDomeText9, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleDomeText10, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleDomeText11, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleDomeText12, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleDomeText13, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattleDomeText14, .stringVarFuncIds = { 0, 4, 5 } },
+ { .text = MatchCall_BattleDomeText1, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleDomeText2, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleDomeText3, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleDomeText4, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleDomeText5, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleDomeText6, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleDomeText7, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleDomeText8, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleDomeText9, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleDomeText10, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleDomeText11, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleDomeText12, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleDomeText13, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattleDomeText14, .stringVarFuncIds = STRS_FRONTIER },
};
static const struct MatchCallText sMatchCallBattlePikeTexts[] =
{
- { .text = MatchCall_BattlePikeText1, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePikeText2, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePikeText3, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePikeText4, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePikeText5, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePikeText6, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePikeText7, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePikeText8, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePikeText9, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePikeText10, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePikeText11, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePikeText12, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePikeText13, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePikeText14, .stringVarFuncIds = { 0, 4, 5 } },
+ { .text = MatchCall_BattlePikeText1, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePikeText2, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePikeText3, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePikeText4, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePikeText5, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePikeText6, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePikeText7, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePikeText8, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePikeText9, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePikeText10, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePikeText11, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePikeText12, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePikeText13, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePikeText14, .stringVarFuncIds = STRS_FRONTIER },
};
static const struct MatchCallText sMatchCallBattlePyramidTexts[] =
{
- { .text = MatchCall_BattlePyramidText1, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePyramidText2, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePyramidText3, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePyramidText4, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePyramidText5, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePyramidText6, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePyramidText7, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePyramidText8, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePyramidText9, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePyramidText10, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePyramidText11, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePyramidText12, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePyramidText13, .stringVarFuncIds = { 0, 4, 5 } },
- { .text = MatchCall_BattlePyramidText14, .stringVarFuncIds = { 0, 4, 5 } },
+ { .text = MatchCall_BattlePyramidText1, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePyramidText2, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePyramidText3, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePyramidText4, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePyramidText5, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePyramidText6, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePyramidText7, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePyramidText8, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePyramidText9, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePyramidText10, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePyramidText11, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePyramidText12, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePyramidText13, .stringVarFuncIds = STRS_FRONTIER },
+ { .text = MatchCall_BattlePyramidText14, .stringVarFuncIds = STRS_FRONTIER },
};
static const struct MatchCallText *const sMatchCallBattleTopics[] =
{
- sMatchCallWildBattleTexts,
- sMatchCallNegativeBattleTexts,
- sMatchCallPositiveBattleTexts,
+ [B_TOPIC_WILD - 1] = sMatchCallWildBattleTexts,
+ [B_TOPIC_NEGATIVE - 1] = sMatchCallNegativeBattleTexts,
+ [B_TOPIC_POSITIVE - 1] = sMatchCallPositiveBattleTexts,
};
static const struct MatchCallText *const sMatchCallBattleRequestTopics[] =
{
- sMatchCallSameRouteBattleRequestTexts,
- sMatchCallDifferentRouteBattleRequestTexts,
+ [REQ_TOPIC_SAME_ROUTE - 1] = sMatchCallSameRouteBattleRequestTexts,
+ [REQ_TOPIC_DIFF_ROUTE - 1] = sMatchCallDifferentRouteBattleRequestTexts,
};
static const struct MatchCallText *const sMatchCallGeneralTopics[] =
{
- sMatchCallPersonalizedTexts,
- sMatchCallBattleFrontierStreakTexts,
- sMatchCallBattleFrontierRecordStreakTexts,
- sMatchCallBattleDomeTexts,
- sMatchCallBattlePikeTexts,
- sMatchCallBattlePyramidTexts,
+ [GEN_TOPIC_PERSONAL - 1] = sMatchCallPersonalizedTexts,
+ [GEN_TOPIC_STREAK - 1] = sMatchCallBattleFrontierStreakTexts,
+ [GEN_TOPIC_STREAK_RECORD - 1] = sMatchCallBattleFrontierRecordStreakTexts,
+ [GEN_TOPIC_B_DOME - 1] = sMatchCallBattleDomeTexts,
+ [GEN_TOPIC_B_PIKE - 1] = sMatchCallBattlePikeTexts,
+ [GEN_TOPIC_B_PYRAMID - 1] = sMatchCallBattlePyramidTexts,
};
extern const u8 gBirchDexRatingText_AreYouCurious[];
@@ -971,13 +1023,13 @@ extern const u8 gBirchDexRatingText_OnANationwideBasis[];
void InitMatchCallCounters(void)
{
RtcCalcLocalTime();
- gMatchCallState.minutes = GetCurrentTotalMinutes(&gLocalTime) + 10;
- gMatchCallState.stepCounter = 0;
+ sMatchCallState.minutes = GetCurrentTotalMinutes(&gLocalTime) + 10;
+ sMatchCallState.stepCounter = 0;
}
static u32 GetCurrentTotalMinutes(struct Time *time)
{
- return time->days * 1440 + time->hours * 60 + time->minutes;
+ return time->days * 24 * 60 + time->hours * 60 + time->minutes;
}
static bool32 UpdateMatchCallMinutesCounter(void)
@@ -985,9 +1037,9 @@ static bool32 UpdateMatchCallMinutesCounter(void)
int curMinutes;
RtcCalcLocalTime();
curMinutes = GetCurrentTotalMinutes(&gLocalTime);
- if (gMatchCallState.minutes > curMinutes || curMinutes - gMatchCallState.minutes > 9)
+ if (sMatchCallState.minutes > curMinutes || curMinutes - sMatchCallState.minutes > 9)
{
- gMatchCallState.minutes = curMinutes;
+ sMatchCallState.minutes = curMinutes;
return TRUE;
}
@@ -1026,9 +1078,9 @@ static bool32 MapAllowsMatchCall(void)
static bool32 UpdateMatchCallStepCounter(void)
{
- if (++gMatchCallState.stepCounter >= 10)
+ if (++sMatchCallState.stepCounter >= 10)
{
- gMatchCallState.stepCounter = 0;
+ sMatchCallState.stepCounter = 0;
return TRUE;
}
else
@@ -1041,15 +1093,15 @@ static bool32 SelectMatchCallTrainer(void)
{
u32 matchCallId;
u32 numRegistered = GetNumRegisteredNPCs();
- if (!numRegistered)
+ if (numRegistered == 0)
return FALSE;
- gMatchCallState.trainerId = GetActiveMatchCallTrainerId(Random() % numRegistered);
- gMatchCallState.triggeredFromScript = 0;
- if (gMatchCallState.trainerId == REMATCH_TABLE_ENTRIES)
+ sMatchCallState.trainerId = GetActiveMatchCallTrainerId(Random() % numRegistered);
+ sMatchCallState.triggeredFromScript = FALSE;
+ if (sMatchCallState.trainerId == REMATCH_TABLE_ENTRIES)
return FALSE;
- matchCallId = GetTrainerMatchCallId(gMatchCallState.trainerId);
+ matchCallId = GetTrainerMatchCallId(sMatchCallState.trainerId);
if (GetRematchTrainerLocation(matchCallId) == gMapHeader.regionMapSectionId && !TrainerIsEligibleForRematch(matchCallId))
return FALSE;
@@ -1085,10 +1137,23 @@ static u32 GetActiveMatchCallTrainerId(u32 activeMatchCallId)
return REMATCH_TABLE_ENTRIES;
}
+/*
+ From the function calls below, a call can only be triggered...
+ - If the player has match call
+ - Every 10th step
+ - Every 10 minutes
+ - 1/3 of the time (or 2/3 of the time, if the lead party Pokémon has Lightning Rod)
+ - If in a valid outdoor map (not Safari Zone, not underwater, not Mt Chimney with Team Magma, not Sootopolis with legendaries)
+ - If an eligible trainer to call the player is selected
+*/
bool32 TryStartMatchCall(void)
{
- if (FlagGet(FLAG_HAS_MATCH_CALL) && UpdateMatchCallStepCounter() && UpdateMatchCallMinutesCounter()
- && CheckMatchCallChance() && MapAllowsMatchCall() && SelectMatchCallTrainer())
+ if (FlagGet(FLAG_HAS_MATCH_CALL)
+ && UpdateMatchCallStepCounter()
+ && UpdateMatchCallMinutesCounter()
+ && CheckMatchCallChance()
+ && MapAllowsMatchCall()
+ && SelectMatchCallTrainer())
{
StartMatchCall();
return TRUE;
@@ -1099,7 +1164,7 @@ bool32 TryStartMatchCall(void)
void StartMatchCallFromScript(const u8 *message)
{
- gMatchCallState.triggeredFromScript = 1;
+ sMatchCallState.triggeredFromScript = TRUE;
StartMatchCall();
}
@@ -1110,11 +1175,11 @@ bool32 IsMatchCallTaskActive(void)
static void StartMatchCall(void)
{
- if (!gMatchCallState.triggeredFromScript)
+ if (!sMatchCallState.triggeredFromScript)
{
ScriptContext2_Enable();
FreezeObjectEvents();
- sub_808B864();
+ PlayerFreeze();
sub_808BCF4();
}
@@ -1122,33 +1187,37 @@ static void StartMatchCall(void)
CreateTask(ExecuteMatchCall, 1);
}
-static const u16 sUnknown_0860EA4C[] = INCBIN_U16("graphics/unknown/unknown_60EA4C.gbapal");
-static const u8 sUnknown_0860EA6C[] = INCBIN_U8("graphics/interface/menu_border.4bpp");
-static const u16 sPokeNavIconPalette[] = INCBIN_U16("graphics/pokenav/icon.gbapal");
-static const u32 sPokeNavIconGfx[] = INCBIN_U32("graphics/pokenav/icon.4bpp.lz");
+static const u16 sMatchCallWindow_Pal[] = INCBIN_U16("graphics/pokenav/match_call_window.gbapal");
+static const u8 sMatchCallWindow_Gfx[] = INCBIN_U8("graphics/pokenav/match_call_window.4bpp");
+static const u16 sPokenavIcon_Pal[] = INCBIN_U16("graphics/pokenav/icon.gbapal");
+static const u32 sPokenavIcon_Gfx[] = INCBIN_U32("graphics/pokenav/icon.4bpp.lz");
static const u8 sText_PokenavCallEllipsis[] = _("………………\p");
+#define tState data[0]
+#define tWindowId data[2]
+#define tIconTaskId data[5]
+
static bool32 (*const sMatchCallTaskFuncs[])(u8) =
{
- LoadMatchCallWindowGfx,
- MoveMatchCallWindowToVram,
- PrintMatchCallIntroEllipsis,
- sub_81962B0,
- sub_81962D8,
- sub_8196330,
- sub_8196390,
- sub_81963F0,
+ MatchCall_LoadGfx,
+ MatchCall_DrawWindow,
+ MatchCall_ReadyIntro,
+ MatchCall_SlideWindowIn,
+ MatchCall_PrintIntro,
+ MatchCall_PrintMessage,
+ MatchCall_SlideWindowOut,
+ MatchCall_EndCall,
};
static void ExecuteMatchCall(u8 taskId)
{
- s16 *taskData = gTasks[taskId].data;
- if (sMatchCallTaskFuncs[taskData[0]](taskId))
+ s16 *data = gTasks[taskId].data;
+ if (sMatchCallTaskFuncs[tState](taskId))
{
- taskData[0]++;
- taskData[1] = 0;
- if ((u16)taskData[0] > 7)
+ tState++;
+ data[1] = 0; // Never read
+ if ((u16)tState > 7)
DestroyTask(taskId);
}
}
@@ -1164,65 +1233,69 @@ static const struct WindowTemplate sMatchCallTextWindow =
.baseBlock = 0x200
};
-static bool32 LoadMatchCallWindowGfx(u8 taskId)
+#define TILE_MC_WINDOW 0x270
+#define TILE_POKENAV_ICON 0x279
+
+static bool32 MatchCall_LoadGfx(u8 taskId)
{
- s16 *taskData = gTasks[taskId].data;
- taskData[2] = AddWindow(&sMatchCallTextWindow);
- if (taskData[2] == 0xFF)
+ s16 *data = gTasks[taskId].data;
+ tWindowId = AddWindow(&sMatchCallTextWindow);
+ if (tWindowId == WINDOW_NONE)
{
DestroyTask(taskId);
return FALSE;
}
- if (LoadBgTiles(0, sUnknown_0860EA6C, sizeof(sUnknown_0860EA6C), 0x270) == 0xFFFF)
+ if (LoadBgTiles(0, sMatchCallWindow_Gfx, sizeof(sMatchCallWindow_Gfx), TILE_MC_WINDOW) == 0xFFFF)
{
- RemoveWindow(taskData[2]);
+ RemoveWindow(tWindowId);
DestroyTask(taskId);
return FALSE;
}
- if (!DecompressAndCopyTileDataToVram(0, sPokeNavIconGfx, 0, 0x279, 0))
+ if (!DecompressAndCopyTileDataToVram(0, sPokenavIcon_Gfx, 0, TILE_POKENAV_ICON, 0))
{
- RemoveWindow(taskData[2]);
+ RemoveWindow(tWindowId);
DestroyTask(taskId);
return FALSE;
}
- FillWindowPixelBuffer(taskData[2], PIXEL_FILL(8));
- LoadPalette(sUnknown_0860EA4C, 0xE0, 0x20);
- LoadPalette(sPokeNavIconPalette, 0xF0, 0x20);
+ FillWindowPixelBuffer(tWindowId, PIXEL_FILL(8));
+ LoadPalette(sMatchCallWindow_Pal, 0xE0, sizeof(sMatchCallWindow_Pal));
+ LoadPalette(sPokenavIcon_Pal, 0xF0, sizeof(sPokenavIcon_Pal));
ChangeBgY(0, -0x2000, 0);
return TRUE;
}
-static bool32 MoveMatchCallWindowToVram(u8 taskId)
+static bool32 MatchCall_DrawWindow(u8 taskId)
{
- s16 *taskData = gTasks[taskId].data;
+ s16 *data = gTasks[taskId].data;
if (FreeTempTileDataBuffersIfPossible())
return FALSE;
- PutWindowTilemap(taskData[2]);
- DrawMatchCallTextBoxBorder(taskData[2], 0x270, 14);
- WriteSequenceToBgTilemapBuffer(0, 0xF279, 1, 15, 4, 4, 17, 1);
- taskData[5] = CreateTask(sub_8196694, 10);
- CopyWindowToVram(taskData[2], 2);
+ PutWindowTilemap(tWindowId);
+ DrawMatchCallTextBoxBorder_Internal(tWindowId, TILE_MC_WINDOW, 14);
+ WriteSequenceToBgTilemapBuffer(0, (0xF << 12) | TILE_POKENAV_ICON, 1, 15, 4, 4, 17, 1);
+ tIconTaskId = CreateTask(Task_SpinPokenavIcon, 10);
+ CopyWindowToVram(tWindowId, 2);
CopyBgTilemapBufferToVram(0);
return TRUE;
}
-static bool32 PrintMatchCallIntroEllipsis(u8 taskId)
+static bool32 MatchCall_ReadyIntro(u8 taskId)
{
- s16 *taskData = gTasks[taskId].data;
+ s16 *data = gTasks[taskId].data;
if (!IsDma3ManagerBusyWithBgCopy())
{
- InitMatchCallTextPrinter(taskData[2], sText_PokenavCallEllipsis);
+ // Note that "..." is not printed yet, just readied
+ InitMatchCallTextPrinter(tWindowId, sText_PokenavCallEllipsis);
return TRUE;
}
return FALSE;
}
-static bool32 sub_81962B0(u8 taskId)
+static bool32 MatchCall_SlideWindowIn(u8 taskId)
{
if (ChangeBgY(0, 0x600, 1) >= 0)
{
@@ -1233,29 +1306,30 @@ static bool32 sub_81962B0(u8 taskId)
return FALSE;
}
-static bool32 sub_81962D8(u8 taskId)
+static bool32 MatchCall_PrintIntro(u8 taskId)
{
- s16 *taskData = gTasks[taskId].data;
- if (!ExecuteMatchCallTextPrinter(taskData[2]))
+ s16 *data = gTasks[taskId].data;
+ if (!RunMatchCallTextPrinter(tWindowId))
{
- FillWindowPixelBuffer(taskData[2], PIXEL_FILL(8));
- if (!gMatchCallState.triggeredFromScript)
- SelectMatchCallMessage(gMatchCallState.trainerId, gStringVar4);
-
- InitMatchCallTextPrinter(taskData[2], gStringVar4);
+ FillWindowPixelBuffer(tWindowId, PIXEL_FILL(8));
+
+ // Ready the message
+ if (!sMatchCallState.triggeredFromScript)
+ SelectMatchCallMessage(sMatchCallState.trainerId, gStringVar4);
+ InitMatchCallTextPrinter(tWindowId, gStringVar4);
return TRUE;
}
return FALSE;
}
-static bool32 sub_8196330(u8 taskId)
+static bool32 MatchCall_PrintMessage(u8 taskId)
{
- s16 *taskData = gTasks[taskId].data;
- if (!ExecuteMatchCallTextPrinter(taskData[2]) && !IsSEPlaying() && JOY_NEW(A_BUTTON | B_BUTTON))
+ s16 *data = gTasks[taskId].data;
+ if (!RunMatchCallTextPrinter(tWindowId) && !IsSEPlaying() && JOY_NEW(A_BUTTON | B_BUTTON))
{
- FillWindowPixelBuffer(taskData[2], PIXEL_FILL(8));
- CopyWindowToVram(taskData[2], 2);
+ FillWindowPixelBuffer(tWindowId, PIXEL_FILL(8));
+ CopyWindowToVram(tWindowId, 2);
PlaySE(SE_POKENAV_HANG_UP);
return TRUE;
}
@@ -1263,14 +1337,14 @@ static bool32 sub_8196330(u8 taskId)
return FALSE;
}
-static bool32 sub_8196390(u8 taskId)
+static bool32 MatchCall_SlideWindowOut(u8 taskId)
{
- s16 *taskData = gTasks[taskId].data;
+ s16 *data = gTasks[taskId].data;
if (ChangeBgY(0, 0x600, 2) <= -0x2000)
{
FillBgTilemapBufferRect_Palette0(0, 0, 0, 14, 30, 6);
- DestroyTask(taskData[5]);
- RemoveWindow(taskData[2]);
+ DestroyTask(tIconTaskId);
+ RemoveWindow(tWindowId);
CopyBgTilemapBufferToVram(0);
return TRUE;
}
@@ -1278,13 +1352,13 @@ static bool32 sub_8196390(u8 taskId)
return FALSE;
}
-static bool32 sub_81963F0(u8 taskId)
+static bool32 MatchCall_EndCall(u8 taskId)
{
u8 playerObjectId;
if (!IsDma3ManagerBusyWithBgCopy() && !IsSEPlaying())
{
ChangeBgY(0, 0, 0);
- if (!gMatchCallState.triggeredFromScript)
+ if (!sMatchCallState.triggeredFromScript)
{
LoadMessageBoxAndBorderGfx();
playerObjectId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
@@ -1300,7 +1374,7 @@ static bool32 sub_81963F0(u8 taskId)
return FALSE;
}
-static void DrawMatchCallTextBoxBorder(u32 windowId, u32 tileOffset, u32 paletteId)
+static void DrawMatchCallTextBoxBorder_Internal(u32 windowId, u32 tileOffset, u32 paletteId)
{
int bg, x, y, width, height;
int tileNum;
@@ -1335,40 +1409,48 @@ static void InitMatchCallTextPrinter(int windowId, const u8 *str)
printerTemplate.letterSpacing = 0;
printerTemplate.lineSpacing = 0;
printerTemplate.unk = 0;
- printerTemplate.fgColor = 10;
- printerTemplate.bgColor = 8;
- printerTemplate.shadowColor = 14;
- gTextFlags.useAlternateDownArrow = 0;
+ printerTemplate.fgColor = TEXT_DYNAMIC_COLOR_1;
+ printerTemplate.bgColor = TEXT_COLOR_BLUE;
+ printerTemplate.shadowColor = TEXT_DYNAMIC_COLOR_5;
+ gTextFlags.useAlternateDownArrow = FALSE;
AddTextPrinter(&printerTemplate, GetPlayerTextSpeedDelay(), NULL);
}
-static bool32 ExecuteMatchCallTextPrinter(int windowId)
+static bool32 RunMatchCallTextPrinter(int windowId)
{
if (JOY_HELD(A_BUTTON))
- gTextFlags.canABSpeedUpPrint = 1;
+ gTextFlags.canABSpeedUpPrint = TRUE;
else
- gTextFlags.canABSpeedUpPrint = 0;
+ gTextFlags.canABSpeedUpPrint = FALSE;
RunTextPrinters();
return IsTextPrinterActive(windowId);
}
-static void sub_8196694(u8 taskId)
+#define tTimer data[0]
+#define tSpinStage data[1]
+#define tTileNum data[2]
+
+static void Task_SpinPokenavIcon(u8 taskId)
{
- s16 *taskData = gTasks[taskId].data;
- if (++taskData[0] > 8)
+ s16 *data = gTasks[taskId].data;
+ if (++tTimer > 8)
{
- taskData[0] = 0;
- if (++taskData[1] > 7)
- taskData[1] = 0;
+ tTimer = 0;
+ if (++tSpinStage > 7)
+ tSpinStage = 0;
- taskData[2] = (taskData[1] * 16) + 0x279;
- WriteSequenceToBgTilemapBuffer(0, taskData[2] | ~0xFFF, 1, 15, 4, 4, 17, 1);
+ tTileNum = (tSpinStage * 16) + TILE_POKENAV_ICON;
+ WriteSequenceToBgTilemapBuffer(0, tTileNum | ~0xFFF, 1, 15, 4, 4, 17, 1);
CopyBgTilemapBufferToVram(0);
}
}
+#undef tTimer
+#undef tSpinStage
+#undef tTileNum
+
static bool32 TrainerIsEligibleForRematch(int matchCallId)
{
return gSaveBlock1Ptr->trainerRematches[matchCallId] > 0;
@@ -1392,7 +1474,10 @@ static u32 GetNumRematchTrainersFought(void)
return count;
}
-static u32 sub_8196774(int arg0)
+// Look through the rematch table for trainers that have been defeated once before.
+// Return the index into the rematch table of the nth defeated trainer,
+// or REMATCH_TABLE_ENTRIES if fewer than n rematch trainers have been defeated.
+static u32 GetNthRematchTrainerFought(int n)
{
u32 i, count;
@@ -1400,7 +1485,7 @@ static u32 sub_8196774(int arg0)
{
if (HasTrainerBeenFought(gRematchTable[i].trainerIds[0]))
{
- if (count == arg0)
+ if (count == n)
return i;
count++;
@@ -1417,13 +1502,19 @@ bool32 SelectMatchCallMessage(int trainerId, u8 *str)
bool32 retVal = FALSE;
matchCallId = GetTrainerMatchCallId(trainerId);
- gBattleFrontierStreakInfo.facilityId = 0;
+ sBattleFrontierStreakInfo.facilityId = 0;
+
+ // If the player is on the same route as the trainer
+ // and they can be rematched, they will always request a battle
if (TrainerIsEligibleForRematch(matchCallId)
&& GetRematchTrainerLocation(matchCallId) == gMapHeader.regionMapSectionId)
{
matchCallText = GetSameRouteMatchCallText(matchCallId, str);
}
- else if (sub_8196D74(matchCallId))
+ // If the player is not on the same route as the trainer
+ // and they can be rematched, there is a random chance for
+ // the trainer to request a battle
+ else if (ShouldTrainerRequestBattle(matchCallId))
{
matchCallText = GetDifferentRouteMatchCallText(matchCallId, str);
retVal = TRUE;
@@ -1431,10 +1522,12 @@ bool32 SelectMatchCallMessage(int trainerId, u8 *str)
}
else if (Random() % 3)
{
+ // Message talking about a battle the NPC had
matchCallText = GetBattleMatchCallText(matchCallId, str);
}
else
{
+ // Message talking about something else
matchCallText = GetGeneralMatchCallText(matchCallId, str);
}
@@ -1494,7 +1587,6 @@ static const struct MatchCallText *GetGeneralMatchCallText(int matchCallId, u8 *
int count;
u32 topic, id;
u16 rand;
- u16 var3;
rand = Random();
if (!(rand & 1))
@@ -1510,8 +1602,8 @@ static const struct MatchCallText *GetGeneralMatchCallText(int matchCallId, u8 *
count = Random() % count;
for (i = 0; i < NUM_FRONTIER_FACILITIES; i++)
{
- gBattleFrontierStreakInfo.streak = GetFrontierStreakInfo(i, &topic);
- if (gBattleFrontierStreakInfo.streak < 2)
+ sBattleFrontierStreakInfo.streak = GetFrontierStreakInfo(i, &topic);
+ if (sBattleFrontierStreakInfo.streak < 2)
continue;
if (!count)
@@ -1520,7 +1612,7 @@ static const struct MatchCallText *GetGeneralMatchCallText(int matchCallId, u8 *
count--;
}
- gBattleFrontierStreakInfo.facilityId = i;
+ sBattleFrontierStreakInfo.facilityId = i;
id = sMatchCallTrainers[matchCallId].battleFrontierRecordStreakTextIndex - 1;
return &sMatchCallGeneralTopics[topic][id];
}
@@ -1542,7 +1634,7 @@ static u8 *const sMatchCallTextStringVars[] = { gStringVar1, gStringVar2, gStrin
static void PopulateMatchCallStringVars(int matchCallId, const s8 *stringVarFuncIds)
{
int i;
- for (i = 0; i < 3; i++)
+ for (i = 0; i < NUM_STRVARS_IN_MSG; i++)
{
if (stringVarFuncIds[i] >= 0)
PopulateMatchCallStringVar(matchCallId, stringVarFuncIds[i], sMatchCallTextStringVars[i]);
@@ -1551,12 +1643,12 @@ static void PopulateMatchCallStringVars(int matchCallId, const s8 *stringVarFunc
static void (*const sPopulateMatchCallStringVarFuncs[])(int, u8 *) =
{
- PopulateTrainerName,
- PopulateMapName,
- PopulateSpeciesFromTrainerLocation,
- PopulateSpeciesFromTrainerParty,
- PopulateBattleFrontierFacilityName,
- PopulateBattleFrontierStreak,
+ [STR_TRAINER_NAME] = PopulateTrainerName,
+ [STR_MAP_NAME] = PopulateMapName,
+ [STR_SPECIES_IN_ROUTE] = PopulateSpeciesFromTrainerLocation,
+ [STR_SPECIES_IN_PARTY] = PopulateSpeciesFromTrainerParty,
+ [STR_FACILITY_NAME] = PopulateBattleFrontierFacilityName,
+ [STR_FRONTIER_STREAK] = PopulateBattleFrontierStreak,
};
static void PopulateMatchCallStringVar(int matchCallId, int funcId, u8 *destStr)
@@ -1578,7 +1670,7 @@ static void PopulateTrainerName(int matchCallId, u8 *destStr)
{
u32 i;
u16 trainerId = sMatchCallTrainers[matchCallId].trainerId;
- for (i = 0; i < 6; i++)
+ for (i = 0; i < ARRAY_COUNT(sMultiTrainerMatchCallTexts); i++)
{
if (sMultiTrainerMatchCallTexts[i].trainerId == trainerId)
{
@@ -1729,20 +1821,20 @@ static const u8 *const sBattleFrontierFacilityNames[] =
static void PopulateBattleFrontierFacilityName(int matchCallId, u8 *destStr)
{
- StringCopy(destStr, sBattleFrontierFacilityNames[gBattleFrontierStreakInfo.facilityId]);
+ StringCopy(destStr, sBattleFrontierFacilityNames[sBattleFrontierStreakInfo.facilityId]);
}
static void PopulateBattleFrontierStreak(int matchCallId, u8 *destStr)
{
int i = 0;
- int streak = gBattleFrontierStreakInfo.streak;
+ int streak = sBattleFrontierStreakInfo.streak;
while (streak != 0)
{
streak /= 10;
i++;
}
- ConvertIntToDecimalStringN(destStr, gBattleFrontierStreakInfo.streak, STR_CONV_MODE_LEFT_ALIGN, i);
+ ConvertIntToDecimalStringN(destStr, sBattleFrontierStreakInfo.streak, STR_CONV_MODE_LEFT_ALIGN, i);
}
static const u16 sBadgeFlags[NUM_BADGES] =
@@ -1770,13 +1862,14 @@ static int GetNumOwnedBadges(void)
return i;
}
-static bool32 sub_8196D74(int matchCallId)
+// Whether or not a trainer calling the player from a different route should request a battle
+static bool32 ShouldTrainerRequestBattle(int matchCallId)
{
int dayCount;
int otId;
- u16 easyChatWord;
+ u16 dewfordRand;
int numRematchTrainersFought;
- int var0, var1, var2;
+ int max, rand, n;
if (GetNumOwnedBadges() < 5)
return FALSE;
@@ -1784,14 +1877,14 @@ static bool32 sub_8196D74(int matchCallId)
dayCount = RtcGetLocalDayCount();
otId = GetTrainerId(gSaveBlock2Ptr->playerTrainerId) & 0xFFFF;
- easyChatWord = gSaveBlock1Ptr->easyChatPairs[0].unk2;
+ dewfordRand = gSaveBlock1Ptr->dewfordTrends[0].rand;
numRematchTrainersFought = GetNumRematchTrainersFought();
- var0 = (numRematchTrainersFought * 13) / 10;
- var1 = ((dayCount ^ easyChatWord) + (easyChatWord ^ GetGameStat(GAME_STAT_TRAINER_BATTLES))) ^ otId;
- var2 = var1 % var0;
- if (var2 < numRematchTrainersFought)
+ max = (numRematchTrainersFought * 13) / 10;
+ rand = ((dayCount ^ dewfordRand) + (dewfordRand ^ GetGameStat(GAME_STAT_TRAINER_BATTLES))) ^ otId;
+ n = rand % max;
+ if (n < numRematchTrainersFought)
{
- if (sub_8196774(var2) == matchCallId)
+ if (GetNthRematchTrainerFought(n) == matchCallId)
return TRUE;
}
@@ -1815,7 +1908,7 @@ static u16 GetFrontierStreakInfo(u16 facilityId, u32 *topicTextId)
streak = gSaveBlock2Ptr->frontier.domeRecordWinStreaks[i][j];
}
}
- *topicTextId = 3;
+ *topicTextId = GEN_TOPIC_B_DOME - 1;
break;
#ifdef BUGFIX
case FRONTIER_FACILITY_PIKE:
@@ -1827,7 +1920,7 @@ static u16 GetFrontierStreakInfo(u16 facilityId, u32 *topicTextId)
if (streak < gSaveBlock2Ptr->frontier.pikeRecordStreaks[i])
streak = gSaveBlock2Ptr->frontier.pikeRecordStreaks[i];
}
- *topicTextId = 4;
+ *topicTextId = GEN_TOPIC_B_PIKE - 1;
break;
case FRONTIER_FACILITY_TOWER:
for (i = 0; i < 4; i++)
@@ -1838,7 +1931,7 @@ static u16 GetFrontierStreakInfo(u16 facilityId, u32 *topicTextId)
streak = gSaveBlock2Ptr->frontier.towerRecordWinStreaks[i][j];
}
}
- *topicTextId = 2;
+ *topicTextId = GEN_TOPIC_STREAK_RECORD - 1;
break;
case FRONTIER_FACILITY_PALACE:
for (i = 0; i < 2; i++)
@@ -1849,7 +1942,7 @@ static u16 GetFrontierStreakInfo(u16 facilityId, u32 *topicTextId)
streak = gSaveBlock2Ptr->frontier.palaceRecordWinStreaks[i][j];
}
}
- *topicTextId = 2;
+ *topicTextId = GEN_TOPIC_STREAK_RECORD - 1;
break;
#ifdef BUGFIX
case FRONTIER_FACILITY_FACTORY:
@@ -1864,7 +1957,7 @@ static u16 GetFrontierStreakInfo(u16 facilityId, u32 *topicTextId)
streak = gSaveBlock2Ptr->frontier.factoryRecordWinStreaks[i][j];
}
}
- *topicTextId = 2;
+ *topicTextId = GEN_TOPIC_STREAK_RECORD - 1;
break;
case FRONTIER_FACILITY_ARENA:
for (i = 0; i < 2; i++)
@@ -1872,7 +1965,7 @@ static u16 GetFrontierStreakInfo(u16 facilityId, u32 *topicTextId)
if (streak < gSaveBlock2Ptr->frontier.arenaRecordStreaks[i])
streak = gSaveBlock2Ptr->frontier.arenaRecordStreaks[i];
}
- *topicTextId = 2;
+ *topicTextId = GEN_TOPIC_STREAK_RECORD - 1;
break;
case FRONTIER_FACILITY_PYRAMID:
for (i = 0; i < 2; i++)
@@ -1880,7 +1973,7 @@ static u16 GetFrontierStreakInfo(u16 facilityId, u32 *topicTextId)
if (streak < gSaveBlock2Ptr->frontier.pyramidRecordStreaks[i])
streak = gSaveBlock2Ptr->frontier.pyramidRecordStreaks[i];
}
- *topicTextId = 5;
+ *topicTextId = GEN_TOPIC_B_PYRAMID - 1;
break;
}
@@ -1972,7 +2065,7 @@ void BufferPokedexRatingForMatchCall(u8 *destStr)
u8 *str;
u8 dexRatingLevel;
- u8 *buffer = Alloc(0x3E8);
+ u8 *buffer = Alloc(sizeof(gStringVar4));
if (!buffer)
{
destStr[0] = EOS;
@@ -1985,18 +2078,15 @@ void BufferPokedexRatingForMatchCall(u8 *destStr)
ConvertIntToDecimalStringN(gStringVar2, numCaught, STR_CONV_MODE_LEFT_ALIGN, 3);
dexRatingLevel = GetPokedexRatingLevel(numCaught);
str = StringCopy(buffer, gBirchDexRatingText_AreYouCurious);
- str[0] = CHAR_PROMPT_CLEAR;
- str++;
+ *(str++) = CHAR_PROMPT_CLEAR;
str = StringCopy(str, gBirchDexRatingText_SoYouveSeenAndCaught);
- str[0] = CHAR_PROMPT_CLEAR;
- str++;
+ *(str++) = CHAR_PROMPT_CLEAR;
StringCopy(str, sBirchDexRatingTexts[dexRatingLevel]);
str = StringExpandPlaceholders(destStr, buffer);
if (IsNationalPokedexEnabled())
{
- str[0] = CHAR_PROMPT_CLEAR;
- str++;
+ *(str++) = CHAR_PROMPT_CLEAR;
numSeen = GetNationalPokedexCount(FLAG_GET_SEEN);
numCaught = GetNationalPokedexCount(FLAG_GET_CAUGHT);
ConvertIntToDecimalStringN(gStringVar1, numSeen, STR_CONV_MODE_LEFT_ALIGN, 3);
@@ -2007,14 +2097,14 @@ void BufferPokedexRatingForMatchCall(u8 *destStr)
Free(buffer);
}
-void sub_8197184(u32 windowId, u32 destOffset, u32 paletteId)
+void LoadMatchCallWindowGfx(u32 windowId, u32 destOffset, u32 paletteId)
{
u8 bg = GetWindowAttribute(windowId, WINDOW_BG);
- LoadBgTiles(bg, sUnknown_0860EA6C, 0x100, destOffset);
- LoadPalette(sUnknown_0860EA4C, paletteId << 4, 0x20);
+ LoadBgTiles(bg, sMatchCallWindow_Gfx, 0x100, destOffset);
+ LoadPalette(sMatchCallWindow_Pal, paletteId << 4, sizeof(sMatchCallWindow_Pal));
}
-void sub_81971C4(u32 windowId, u32 tileOffset, u32 paletteId)
+void DrawMatchCallTextBoxBorder(u32 windowId, u32 tileOffset, u32 paletteId)
{
- DrawMatchCallTextBoxBorder(windowId, tileOffset, paletteId);
+ DrawMatchCallTextBoxBorder_Internal(windowId, tileOffset, paletteId);
}