Document gym leader match call texts

This commit is contained in:
GriffinR
2026-02-01 13:36:33 -05:00
parent 63390a940e
commit 926488b69a
3 changed files with 125 additions and 110 deletions

View File

@@ -2038,7 +2038,7 @@ MatchCall_Text_Mom3::
.string "Wear those RUNNING SHOES until\n"
.string "they fall apart, honey!$"
MatchCall_Text_Roxanne1::
MatchCall_Text_Roxanne_Preparing::
.string "ROXANNE: Oh, hello, {PLAYER}!\p"
.string "I've been hard at work retraining\n"
.string "since we met.\p"
@@ -2047,7 +2047,7 @@ MatchCall_Text_Roxanne1::
.string "But when I do, please visit my GYM\n"
.string "for a rematch!$"
MatchCall_Text_Roxanne2::
MatchCall_Text_Roxanne_PreparingPostGame::
.string "ROXANNE: Is this {PLAYER}?\n"
.string "Congratulations!\l"
.string "I've been hearing about you!\p"
@@ -2056,18 +2056,18 @@ MatchCall_Text_Roxanne2::
.string "But when I do, please visit my GYM\n"
.string "for a rematch!$"
MatchCall_Text_Roxanne3::
MatchCall_Text_Roxanne_RematchReady::
.string "ROXANNE: {PLAYER}!\n"
.string "My GYM is ready!\p"
.string "Please visit RUSTBORO whenever\n"
.string "you can!$"
MatchCall_Text_Roxanne4::
MatchCall_Text_Roxanne_PostRematch::
.string "ROXANNE: At the RUSTBORO GYM,\n"
.string "the fact that we battled, {PLAYER},\l"
.string "is a matter of pride.$"
MatchCall_Text_Brawly1::
MatchCall_Text_Brawly_Preparing::
.string "BRAWLY: Hey, there, {PLAYER}{KUN}!\p"
.string "I learned a lot from the battle we\n"
.string "had together.\p"
@@ -2078,7 +2078,7 @@ MatchCall_Text_Brawly1::
.string "But if I can reopen the GYM,\n"
.string "I want you to challenge us again.$"
MatchCall_Text_Brawly2::
MatchCall_Text_Brawly_PreparingPostGame::
.string "BRAWLY: Hey, {PLAYER}{KUN}!\n"
.string "Congratulations!\p"
.string "Word about your exploits arrived\n"
@@ -2090,17 +2090,17 @@ MatchCall_Text_Brawly2::
.string "But if I can reopen the GYM,\n"
.string "I want you to challenge us again.$"
MatchCall_Text_Brawly3::
MatchCall_Text_Brawly_RematchReady::
.string "BRAWLY: Hey, {PLAYER}{KUN}!\n"
.string "My GYM's ready for action!\p"
.string "Come back to DEWFORD anytime\n"
.string "for another challenge!$"
MatchCall_Text_Brawly4::
MatchCall_Text_Brawly_PostRematch::
.string "BRAWLY: {PLAYER}{KUN}, I don't think\n"
.string "I'll ever get bored of battling you!$"
MatchCall_Text_Wattson1::
MatchCall_Text_Wattson_Preparing::
.string "WATTSON: Oh, it's you!\p"
.string "After you left, I've been redoing\n"
.string "my training from scratch.\p"
@@ -2109,7 +2109,7 @@ MatchCall_Text_Wattson1::
.string "You'll have to wait till then!\n"
.string "Wahahahaha!$"
MatchCall_Text_Wattson2::
MatchCall_Text_Wattson_PreparingPostGame::
.string "WATTSON: Wahahahaha!\p"
.string "You've really done it, haven't you?\n"
.string "I've been getting word about you!\p"
@@ -2120,18 +2120,18 @@ MatchCall_Text_Wattson2::
.string "You'll have to wait till then!\n"
.string "Wahahahaha!$"
MatchCall_Text_Wattson3::
MatchCall_Text_Wattson_RematchReady::
.string "WATTSON: Oh, it's you!\n"
.string "My GYM's ready!\p"
.string "Visit MAUVILLE anytime!\n"
.string "Wahahahaha!$"
MatchCall_Text_Wattson4::
MatchCall_Text_Wattson_PostRematch::
.string "WATTSON: Wahahaha!\p"
.string "A battle with you is always charged\n"
.string "with shocking power!$"
MatchCall_Text_Flannery1::
MatchCall_Text_Flannery_Preparing::
.string "FLANNERY: {PLAYER}…\p"
.string "When we battled, I learned exactly\n"
.string "how immature I was.\p"
@@ -2141,7 +2141,7 @@ MatchCall_Text_Flannery1::
.string "When the time comes, {PLAYER},\n"
.string "please challenge us again.$"
MatchCall_Text_Flannery2::
MatchCall_Text_Flannery_PreparingPostGame::
.string "FLANNERY: Hello, {PLAYER}?\n"
.string "Congratulations!\p"
.string "Word of your success has reached\n"
@@ -2152,44 +2152,44 @@ MatchCall_Text_Flannery2::
.string "appear beside my name in the\l"
.string "MATCH CALL list.$"
MatchCall_Text_Flannery3::
MatchCall_Text_Flannery_RematchReady::
.string "FLANNERY: Oh, {PLAYER}?\n"
.string "Our GYM's ready!\p"
.string "Come to LAVARIDGE for a soak\n"
.string "in the hot spring and a challenge!$"
MatchCall_Text_Flannery4::
MatchCall_Text_Flannery_PostRematch::
.string "FLANNERY: {PLAYER}…\n"
.string "I'm positive that you keep getting\l"
.string "better at training every time.$"
MatchCall_Text_Winona1::
MatchCall_Text_Winona_Preparing::
.string "WINONA: Hello, {PLAYER}!\p"
.string "Thanks to our battle, I've come\n"
.string "to understand my weak points!\p"
.string "When I reopen the GYM, I won't go\n"
.string "down in defeat again!$"
MatchCall_Text_Winona2::
MatchCall_Text_Winona_PreparingPostGame::
.string "WINONA: You've done it, {PLAYER}!\p"
.string "News about the new CHAMPION\n"
.string "has reached us in FORTREE!\p"
.string "But… The next time we battle,\n"
.string "it's not going to end the same way.$"
MatchCall_Text_Winona3::
MatchCall_Text_Winona_RematchReady::
.string "WINONA: Is this {PLAYER}?\n"
.string "Our GYM is back in operation!\p"
.string "We're waiting for you in FORTREE!$"
MatchCall_Text_Winona4::
MatchCall_Text_Winona_PostRematch::
.string "WINONA: {PLAYER}…\n"
.string "Though I have lost, my wings will\l"
.string "never break.\p"
.string "Yes, in exactly the same way that\n"
.string "you never lost sight of your dream.$"
MatchCall_Text_TateLiza1::
MatchCall_Text_TateLiza_Preparing::
.string "TATE: Oh! You're…\n"
.string "LIZA: {PLAYER}!\p"
.string "TATE: We're in training again…\n"
@@ -2199,7 +2199,7 @@ MatchCall_Text_TateLiza1::
.string "TATE: A mark'll appear by our name…\n"
.string "LIZA: On the MATCH CALL list.$"
MatchCall_Text_TateLiza2::
MatchCall_Text_TateLiza_PreparingPostGame::
.string "TATE: {PLAYER}, congratulations!\n"
.string "LIZA: {PLAYER}, congratulations!\p"
.string "TATE: The two of us are…\n"
@@ -2209,7 +2209,7 @@ MatchCall_Text_TateLiza2::
.string "TATE: A mark'll appear by our name…\n"
.string "LIZA: On the MATCH CALL list.$"
MatchCall_Text_TateLiza3::
MatchCall_Text_TateLiza_RematchReady::
.string "TATE: {PLAYER}!\n"
.string "LIZA: {PLAYER}!\p"
.string "TATE: Our GYM is ready!\n"
@@ -2217,13 +2217,13 @@ MatchCall_Text_TateLiza3::
.string "TATE: Please come visit…\n"
.string "LIZA: MOSSDEEP anytime!$"
MatchCall_Text_TateLiza4::
MatchCall_Text_TateLiza_PostRematch::
.string "TATE: {PLAYER}, the battle we had…\n"
.string "LIZA: Is an invaluable experience.\p"
.string "TATE: It would be nice if…\n"
.string "LIZA: We could all battle again!$"
MatchCall_Text_Juan1::
MatchCall_Text_Juan_Preparing::
.string "JUAN: Hmm…\n"
.string "{PLAYER}{KUN}… Was it?\p"
.string "Our battle together--it brought\n"
@@ -2232,7 +2232,7 @@ MatchCall_Text_Juan1::
.string "Perhaps you are a genius who may\n"
.string "yet surpass WALLACE!$"
MatchCall_Text_Juan2::
MatchCall_Text_Juan_PreparingPostGame::
.string "JUAN: Fufu… {PLAYER}{KUN}…\n"
.string "You've finally achieved your goal.\p"
.string "My eye for appraising talent wasn't\n"
@@ -2241,14 +2241,14 @@ MatchCall_Text_Juan2::
.string "you, for you have scaled the peak\l"
.string "of power and prestige.$"
MatchCall_Text_Juan3::
MatchCall_Text_Juan_RematchReady::
.string "JUAN: Hoho… {PLAYER}{KUN}…\p"
.string "Our SOOTOPOLIS GYM has finally\n"
.string "reopened.\p"
.string "If you wish to see me, you are\n"
.string "welcome to visit anytime.$"
MatchCall_Text_Juan4::
MatchCall_Text_Juan_PostRematch::
.string "JUAN: {PLAYER}{KUN}…\p"
.string "Like the finest music, the battles\n"
.string "we wage together strike chords\l"
@@ -2748,20 +2748,20 @@ MatchCall_Text_Norman5::
.string "But with a name like that, it may\n"
.string "be somehow linked to a volcano!$"
MatchCall_Text_Norman6::
MatchCall_Text_Norman_Preparing::
.string "DAD: Hiyah! Haah! Dwah!\p"
.string "…Oh? {PLAYER}!\p"
.string "You caught me right in the middle\n"
.string "of a POKéMON training session!$"
MatchCall_Text_Norman7::
MatchCall_Text_Norman_PreparingPostGame::
.string "DAD: {PLAYER}!\p"
.string "Who would've thought you'd become\n"
.string "the POKéMON LEAGUE CHAMPION…\p"
.string "Okay!\n"
.string "I won't be left behind!$"
MatchCall_Text_Norman8::
MatchCall_Text_Norman_RematchReady::
.string "DAD: Hm? {PLAYER}?\n"
.string "What good timing!\p"
.string "This time, I'm going to challenge\n"
@@ -2769,7 +2769,7 @@ MatchCall_Text_Norman8::
.string "I'm waiting in the PETALBURG GYM.\n"
.string "Accept my challenge anytime!$"
MatchCall_Text_Norman9::
MatchCall_Text_Norman_PostRematch::
.string "DAD: …You amaze me, {PLAYER}.\n"
.string "How much higher will you soar?$"

View File

@@ -2385,10 +2385,10 @@ extern const u8 MatchCall_Text_Norman2[];
extern const u8 MatchCall_Text_Norman3[];
extern const u8 MatchCall_Text_Norman4[];
extern const u8 MatchCall_Text_Norman5[];
extern const u8 MatchCall_Text_Norman6[];
extern const u8 MatchCall_Text_Norman7[];
extern const u8 MatchCall_Text_Norman8[];
extern const u8 MatchCall_Text_Norman9[];
extern const u8 MatchCall_Text_Norman_Preparing[];
extern const u8 MatchCall_Text_Norman_PreparingPostGame[];
extern const u8 MatchCall_Text_Norman_RematchReady[];
extern const u8 MatchCall_Text_Norman_PostRematch[];
extern const u8 MatchCall_Text_Mom1[];
extern const u8 MatchCall_Text_Mom2[];
extern const u8 MatchCall_Text_Mom3[];
@@ -2443,34 +2443,34 @@ extern const u8 MatchCall_Text_Scott4[];
extern const u8 MatchCall_Text_Scott5[];
extern const u8 MatchCall_Text_Scott6[];
extern const u8 MatchCall_Text_Scott7[];
extern const u8 MatchCall_Text_Roxanne1[];
extern const u8 MatchCall_Text_Roxanne2[];
extern const u8 MatchCall_Text_Roxanne3[];
extern const u8 MatchCall_Text_Roxanne4[];
extern const u8 MatchCall_Text_Brawly1[];
extern const u8 MatchCall_Text_Brawly2[];
extern const u8 MatchCall_Text_Brawly3[];
extern const u8 MatchCall_Text_Brawly4[];
extern const u8 MatchCall_Text_Wattson1[];
extern const u8 MatchCall_Text_Wattson2[];
extern const u8 MatchCall_Text_Wattson3[];
extern const u8 MatchCall_Text_Wattson4[];
extern const u8 MatchCall_Text_Flannery1[];
extern const u8 MatchCall_Text_Flannery2[];
extern const u8 MatchCall_Text_Flannery3[];
extern const u8 MatchCall_Text_Flannery4[];
extern const u8 MatchCall_Text_Winona1[];
extern const u8 MatchCall_Text_Winona2[];
extern const u8 MatchCall_Text_Winona3[];
extern const u8 MatchCall_Text_Winona4[];
extern const u8 MatchCall_Text_TateLiza1[];
extern const u8 MatchCall_Text_TateLiza2[];
extern const u8 MatchCall_Text_TateLiza3[];
extern const u8 MatchCall_Text_TateLiza4[];
extern const u8 MatchCall_Text_Juan1[];
extern const u8 MatchCall_Text_Juan2[];
extern const u8 MatchCall_Text_Juan3[];
extern const u8 MatchCall_Text_Juan4[];
extern const u8 MatchCall_Text_Roxanne_Preparing[];
extern const u8 MatchCall_Text_Roxanne_PreparingPostGame[];
extern const u8 MatchCall_Text_Roxanne_RematchReady[];
extern const u8 MatchCall_Text_Roxanne_PostRematch[];
extern const u8 MatchCall_Text_Brawly_Preparing[];
extern const u8 MatchCall_Text_Brawly_PreparingPostGame[];
extern const u8 MatchCall_Text_Brawly_RematchReady[];
extern const u8 MatchCall_Text_Brawly_PostRematch[];
extern const u8 MatchCall_Text_Wattson_Preparing[];
extern const u8 MatchCall_Text_Wattson_PreparingPostGame[];
extern const u8 MatchCall_Text_Wattson_RematchReady[];
extern const u8 MatchCall_Text_Wattson_PostRematch[];
extern const u8 MatchCall_Text_Flannery_Preparing[];
extern const u8 MatchCall_Text_Flannery_PreparingPostGame[];
extern const u8 MatchCall_Text_Flannery_RematchReady[];
extern const u8 MatchCall_Text_Flannery_PostRematch[];
extern const u8 MatchCall_Text_Winona_Preparing[];
extern const u8 MatchCall_Text_Winona_PreparingPostGame[];
extern const u8 MatchCall_Text_Winona_RematchReady[];
extern const u8 MatchCall_Text_Winona_PostRematch[];
extern const u8 MatchCall_Text_TateLiza_Preparing[];
extern const u8 MatchCall_Text_TateLiza_PreparingPostGame[];
extern const u8 MatchCall_Text_TateLiza_RematchReady[];
extern const u8 MatchCall_Text_TateLiza_PostRematch[];
extern const u8 MatchCall_Text_Juan_Preparing[];
extern const u8 MatchCall_Text_Juan_PreparingPostGame[];
extern const u8 MatchCall_Text_Juan_RematchReady[];
extern const u8 MatchCall_Text_Juan_PostRematch[];
extern const u8 MatchCall_Text_Sidney[];
extern const u8 MatchCall_Text_Phoebe[];
extern const u8 MatchCall_Text_Glacia[];

View File

@@ -157,6 +157,19 @@ static void MatchCall_BufferCallMessageText(const match_call_text_data_t *, u8 *
static void MatchCall_BufferCallMessageTextByRematchTeam(const match_call_text_data_t *, u16, u8 *);
static void MatchCall_GetNameAndDescByRematchIdx(u32, const u8 **, const u8 **);
// Special flag ID that indicates the start of a section of match calls
// related to a gym leader's rematch. It's expected that there will be
// exactly 3 calls after the call associated with this flag, with text
// that follows this format:
// - Call 1: A basic 'preparing for a rematch' call.
// Remains active until the player beats the game (FLAG_SYS_GAME_CLEAR).
// - Call 2: Congratulating the player on their success, still preparing.
// Remains active until the gym leader is ready for a rematch.
// - Call 3: Requesting the rematch. Active whenever the gym leader is ready.
// - Call 4: Expressing their admiration of the player. Active after defeating
// them in a rematch and if they're not ready yet for another battle.
#define REMATCH_CALL_START 0xFFFE
#define ALWAYS_AVAILABLE 0xFFFF
#define NO_FLAG_TO_SET 0xFFFF
#define MATCH_CALL_TEXT_END {NULL, ALWAYS_AVAILABLE, NO_FLAG_TO_SET}
@@ -189,15 +202,15 @@ static const struct MatchCallStructNPC sMrStoneMatchCallHeader =
};
static const match_call_text_data_t sNormanTextScripts[] = {
{ MatchCall_Text_Norman1, FLAG_ENABLE_NORMAN_MATCH_CALL, NO_FLAG_TO_SET },
{ MatchCall_Text_Norman2, FLAG_DEFEATED_DEWFORD_GYM, NO_FLAG_TO_SET },
{ MatchCall_Text_Norman3, FLAG_DEFEATED_LAVARIDGE_GYM, NO_FLAG_TO_SET },
{ MatchCall_Text_Norman4, FLAG_DEFEATED_PETALBURG_GYM, NO_FLAG_TO_SET },
{ MatchCall_Text_Norman5, FLAG_RECEIVED_RED_OR_BLUE_ORB, NO_FLAG_TO_SET },
{ MatchCall_Text_Norman6, 0xFFFE, NO_FLAG_TO_SET },
{ MatchCall_Text_Norman7, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
{ MatchCall_Text_Norman8, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
{ MatchCall_Text_Norman9, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
{ MatchCall_Text_Norman1, FLAG_ENABLE_NORMAN_MATCH_CALL, NO_FLAG_TO_SET },
{ MatchCall_Text_Norman2, FLAG_DEFEATED_DEWFORD_GYM, NO_FLAG_TO_SET },
{ MatchCall_Text_Norman3, FLAG_DEFEATED_LAVARIDGE_GYM, NO_FLAG_TO_SET },
{ MatchCall_Text_Norman4, FLAG_DEFEATED_PETALBURG_GYM, NO_FLAG_TO_SET },
{ MatchCall_Text_Norman5, FLAG_RECEIVED_RED_OR_BLUE_ORB, NO_FLAG_TO_SET },
{ MatchCall_Text_Norman_Preparing, REMATCH_CALL_START, NO_FLAG_TO_SET },
{ MatchCall_Text_Norman_PreparingPostGame, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
{ MatchCall_Text_Norman_RematchReady, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
{ MatchCall_Text_Norman_PostRematch, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
MATCH_CALL_TEXT_END
};
@@ -369,10 +382,10 @@ static const struct MatchCallStructNPC sScottMatchCallHeader =
};
static const match_call_text_data_t sRoxanneTextScripts[] = {
{ MatchCall_Text_Roxanne1, 0xFFFE, NO_FLAG_TO_SET },
{ MatchCall_Text_Roxanne2, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Roxanne3, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Roxanne4, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
{ MatchCall_Text_Roxanne_Preparing, REMATCH_CALL_START, NO_FLAG_TO_SET },
{ MatchCall_Text_Roxanne_PreparingPostGame, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Roxanne_RematchReady, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Roxanne_PostRematch, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
MATCH_CALL_TEXT_END
};
@@ -388,10 +401,10 @@ static const struct MatchCallStructTrainer sRoxanneMatchCallHeader =
};
static const match_call_text_data_t sBrawlyTextScripts[] = {
{ MatchCall_Text_Brawly1, 0xFFFE, NO_FLAG_TO_SET },
{ MatchCall_Text_Brawly2, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Brawly3, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Brawly4, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
{ MatchCall_Text_Brawly_Preparing, REMATCH_CALL_START, NO_FLAG_TO_SET },
{ MatchCall_Text_Brawly_PreparingPostGame, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Brawly_RematchReady, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Brawly_PostRematch, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
MATCH_CALL_TEXT_END
};
@@ -407,10 +420,10 @@ static const struct MatchCallStructTrainer sBrawlyMatchCallHeader =
};
static const match_call_text_data_t sWattsonTextScripts[] = {
{ MatchCall_Text_Wattson1, 0xFFFE, NO_FLAG_TO_SET },
{ MatchCall_Text_Wattson2, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Wattson3, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Wattson4, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
{ MatchCall_Text_Wattson_Preparing, REMATCH_CALL_START, NO_FLAG_TO_SET },
{ MatchCall_Text_Wattson_PreparingPostGame, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Wattson_RematchReady, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Wattson_PostRematch, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
MATCH_CALL_TEXT_END
};
@@ -426,10 +439,10 @@ static const struct MatchCallStructTrainer sWattsonMatchCallHeader =
};
static const match_call_text_data_t sFlanneryTextScripts[] = {
{ MatchCall_Text_Flannery1, 0xFFFE, NO_FLAG_TO_SET },
{ MatchCall_Text_Flannery2, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Flannery3, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Flannery4, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
{ MatchCall_Text_Flannery_Preparing, REMATCH_CALL_START, NO_FLAG_TO_SET },
{ MatchCall_Text_Flannery_PreparingPostGame, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Flannery_RematchReady, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Flannery_PostRematch, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
MATCH_CALL_TEXT_END
};
@@ -445,10 +458,10 @@ static const struct MatchCallStructTrainer sFlanneryMatchCallHeader =
};
static const match_call_text_data_t sWinonaTextScripts[] = {
{ MatchCall_Text_Winona1, 0xFFFE, NO_FLAG_TO_SET },
{ MatchCall_Text_Winona2, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Winona3, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Winona4, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
{ MatchCall_Text_Winona_Preparing, REMATCH_CALL_START, NO_FLAG_TO_SET },
{ MatchCall_Text_Winona_PreparingPostGame, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Winona_RematchReady, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Winona_PostRematch, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
MATCH_CALL_TEXT_END
};
@@ -464,10 +477,10 @@ static const struct MatchCallStructTrainer sWinonaMatchCallHeader =
};
static const match_call_text_data_t sTateLizaTextScripts[] = {
{ MatchCall_Text_TateLiza1, 0xFFFE, NO_FLAG_TO_SET },
{ MatchCall_Text_TateLiza2, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_TateLiza3, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_TateLiza4, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
{ MatchCall_Text_TateLiza_Preparing, REMATCH_CALL_START, NO_FLAG_TO_SET },
{ MatchCall_Text_TateLiza_PreparingPostGame, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_TateLiza_RematchReady, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_TateLiza_PostRematch, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
MATCH_CALL_TEXT_END
};
@@ -483,10 +496,10 @@ static const struct MatchCallStructTrainer sTateLizaMatchCallHeader =
};
static const match_call_text_data_t sJuanTextScripts[] = {
{ MatchCall_Text_Juan1, 0xFFFE, NO_FLAG_TO_SET },
{ MatchCall_Text_Juan2, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Juan3, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Juan4, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
{ MatchCall_Text_Juan_Preparing, REMATCH_CALL_START, NO_FLAG_TO_SET },
{ MatchCall_Text_Juan_PreparingPostGame, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Juan_RematchReady, ALWAYS_AVAILABLE, NO_FLAG_TO_SET },
{ MatchCall_Text_Juan_PostRematch, FLAG_SYS_GAME_CLEAR, NO_FLAG_TO_SET },
MATCH_CALL_TEXT_END
};
@@ -1011,12 +1024,12 @@ static void MatchCall_BufferCallMessageTextByRematchTeam(const match_call_text_d
u32 i;
for (i = 0; textData[i].text != NULL; i++)
{
if (textData[i].availabilityFlag == 0xFFFE)
if (textData[i].availabilityFlag == REMATCH_CALL_START)
break;
if (textData[i].availabilityFlag != ALWAYS_AVAILABLE && !FlagGet(textData[i].availabilityFlag))
break;
}
if (textData[i].availabilityFlag != 0xFFFE)
if (textData[i].availabilityFlag != REMATCH_CALL_START)
{
if (i)
i--;
@@ -1030,15 +1043,17 @@ static void MatchCall_BufferCallMessageTextByRematchTeam(const match_call_text_d
{
do
{
if (gSaveBlock1Ptr->trainerRematches[idx])
i += 2;
else if (CountBattledRematchTeams(idx) >= 2)
i += 3;
else
i++;
// If the rematch is ready, advance to the rematch call.
if (gSaveBlock1Ptr->trainerRematches[idx]) i += 2;
// No rematch ready, but if the player has defeated them in
// a rematch before, advance to the final call.
// Note: The 2 "rematch" teams battled includes the first non-rematch battle.
else if (CountBattledRematchTeams(idx) >= 2) i += 3;
// No rematch ready and never defeated in a rematch, advance to congratulations call.
else i++;
} while (0);
}
// If the game hasn't been cleared yet, the index remains on the basic "preparing for rematch" call.
StringExpandPlaceholders(dest, textData[i].text);
}
}