Document a bit of Match Call

This commit is contained in:
GriffinR
2019-12-05 15:33:36 -05:00
parent 70d1f54ab9
commit 548af3c0f1
23 changed files with 1140 additions and 1054 deletions

View File

@@ -357,12 +357,12 @@ MossdeepCity_SpaceCenter_2F_EventScript_RivalRayquazaCall:: @ 8224175
end
MossdeepCity_SpaceCenter_2F_EventScript_MayRayquazaCall:: @ 8224193
pokenavcall MossdeepCity_SpaceCenter_2F_Text_MayRayquazaCall
pokenavcall MatchCall_Text_MayRayquazaCall
waitmessage
return
MossdeepCity_SpaceCenter_2F_EventScript_BrendanRayquazaCall:: @ 822419A
pokenavcall MossdeepCity_SpaceCenter_2F_Text_BrendanRayquazaCall
pokenavcall MatchCall_Text_BrendanRayquazaCall
waitmessage
return

View File

@@ -2014,7 +2014,7 @@ MatchCall_BattlePyramidText14:: @ 82B21FC
.string "You're an inspiration!\n"
.string "See you again!$"
gText_Mom_Pokenav_2B227B:: @ 82B227B
MatchCall_Text_Mom1:: @ 82B227B
.string "MOM: Your father and you…\n"
.string "Everyone is captivated by POKéMON.\p"
.string "What is the charm of POKéMON?\p"
@@ -2022,7 +2022,7 @@ gText_Mom_Pokenav_2B227B:: @ 82B227B
.string "I adore POKéMON that help me with\l"
.string "my everyday chores.$"
gText_Mom_Pokenav_2B2310:: @ 82B2310
MatchCall_Text_Mom2:: @ 82B2310
.string "MOM: Hi, {PLAYER}!\n"
.string "Your father keeps himself locked\l"
.string "away in the PETALBURG GYM.\p"
@@ -2032,13 +2032,13 @@ gText_Mom_Pokenav_2B2310:: @ 82B2310
.string "I'm guessing that losing to you\n"
.string "was a big blow to his pride!$"
gText_Mom_Pokenav_2B23F3:: @ 82B23F3
MatchCall_Text_Mom3:: @ 82B23F3
.string "MOM: {PLAYER}…\n"
.string "Don't worry about me or the house.\p"
.string "Wear those RUNNING SHOES until\n"
.string "they fall apart, honey!$"
gText_Roxanne_Pokenav_2B2456:: @ 82B2456
MatchCall_Text_Roxanne1:: @ 82B2456
.string "ROXANNE: Oh, hello, {PLAYER}!\p"
.string "I've been hard at work retraining\n"
.string "since we met.\p"
@@ -2047,7 +2047,7 @@ gText_Roxanne_Pokenav_2B2456:: @ 82B2456
.string "But when I do, please visit my GYM\n"
.string "for a rematch!$"
gText_Roxanne_Pokenav_2B250E:: @ 82B250E
MatchCall_Text_Roxanne2:: @ 82B250E
.string "ROXANNE: Is this {PLAYER}?\n"
.string "Congratulations!\l"
.string "I've been hearing about you!\p"
@@ -2056,18 +2056,18 @@ gText_Roxanne_Pokenav_2B250E:: @ 82B250E
.string "But when I do, please visit my GYM\n"
.string "for a rematch!$"
gText_Roxanne_Pokenav_2B25C1:: @ 82B25C1
MatchCall_Text_Roxanne3:: @ 82B25C1
.string "ROXANNE: {PLAYER}!\n"
.string "My GYM is ready!\p"
.string "Please visit RUSTBORO whenever\n"
.string "you can!$"
gText_Roxanne_Pokenav_2B2607:: @ 82B2607
MatchCall_Text_Roxanne4:: @ 82B2607
.string "ROXANNE: At the RUSTBORO GYM,\n"
.string "the fact that we battled, {PLAYER},\l"
.string "is a matter of pride.$"
gText_Brawly_Pokenav_2B2659:: @ 82B2659
MatchCall_Text_Brawly1:: @ 82B2659
.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 @@ gText_Brawly_Pokenav_2B2659:: @ 82B2659
.string "But if I can reopen the GYM,\n"
.string "I want you to challenge us again.$"
gText_Brawly_Pokenav_2B275D:: @ 82B275D
MatchCall_Text_Brawly2:: @ 82B275D
.string "BRAWLY: Hey, {PLAYER}{KUN}!\n"
.string "Congratulations!\p"
.string "Word about your exploits arrived\n"
@@ -2090,17 +2090,17 @@ gText_Brawly_Pokenav_2B275D:: @ 82B275D
.string "But if I can reopen the GYM,\n"
.string "I want you to challenge us again.$"
gText_Brawly_Pokenav_2B286F:: @ 82B286F
MatchCall_Text_Brawly3:: @ 82B286F
.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!$"
gText_Brawly_Pokenav_2B28D1:: @ 82B28D1
MatchCall_Text_Brawly4:: @ 82B28D1
.string "BRAWLY: {PLAYER}{KUN}, I don't think\n"
.string "I'll ever get bored of battling you!$"
gText_Wattson_Pokenav_2B2912:: @ 82B2912
MatchCall_Text_Wattson1:: @ 82B2912
.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 @@ gText_Wattson_Pokenav_2B2912:: @ 82B2912
.string "You'll have to wait till then!\n"
.string "Wahahahaha!$"
gText_Wattson_Pokenav_2B29CA:: @ 82B29CA
MatchCall_Text_Wattson2:: @ 82B29CA
.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 @@ gText_Wattson_Pokenav_2B29CA:: @ 82B29CA
.string "You'll have to wait till then!\n"
.string "Wahahahaha!$"
gText_Wattson_Pokenav_2B2AB6:: @ 82B2AB6
MatchCall_Text_Wattson3:: @ 82B2AB6
.string "WATTSON: Oh, it's you!\n"
.string "My GYM's ready!\p"
.string "Visit MAUVILLE anytime!\n"
.string "Wahahahaha!$"
gText_Wattson_Pokenav_2B2B01:: @ 82B2B01
MatchCall_Text_Wattson4:: @ 82B2B01
.string "WATTSON: Wahahaha!\p"
.string "A battle with you is always charged\n"
.string "with shocking power!$"
gText_Flannery_Pokenav_2B2B4D:: @ 82B2B4D
MatchCall_Text_Flannery1:: @ 82B2B4D
.string "FLANNERY: {PLAYER}…\p"
.string "When we battled, I learned exactly\n"
.string "how immature I was.\p"
@@ -2141,7 +2141,7 @@ gText_Flannery_Pokenav_2B2B4D:: @ 82B2B4D
.string "When the time comes, {PLAYER},\n"
.string "please challenge us again.$"
gText_Flannery_Pokenav_2B2C0E:: @ 82B2C0E
MatchCall_Text_Flannery2:: @ 82B2C0E
.string "FLANNERY: Hello, {PLAYER}?\n"
.string "Congratulations!\p"
.string "Word of your success has reached\n"
@@ -2152,44 +2152,44 @@ gText_Flannery_Pokenav_2B2C0E:: @ 82B2C0E
.string "appear beside my name in the\l"
.string "MATCH CALL list.$"
gText_Flannery_Pokenav_2B2CF1:: @ 82B2CF1
MatchCall_Text_Flannery3:: @ 82B2CF1
.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!$"
gText_Flannery_Pokenav_2B2D54:: @ 82B2D54
MatchCall_Text_Flannery4:: @ 82B2D54
.string "FLANNERY: {PLAYER}…\n"
.string "I'm positive that you keep getting\l"
.string "better at training every time.$"
gText_Winona_Pokenav_2B2DA4:: @ 82B2DA4
MatchCall_Text_Winona1:: @ 82B2DA4
.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!$"
gText_Winona_Pokenav_2B2E2B:: @ 82B2E2B
MatchCall_Text_Winona2:: @ 82B2E2B
.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.$"
gText_Winona_Pokenav_2B2EC2:: @ 82B2EC2
MatchCall_Text_Winona3:: @ 82B2EC2
.string "WINONA: Is this {PLAYER}?\n"
.string "Our GYM is back in operation!\p"
.string "We're waiting for you in FORTREE!$"
gText_Winona_Pokenav_2B2F16:: @ 82B2F16
MatchCall_Text_Winona4:: @ 82B2F16
.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.$"
gText_TateLiza_Pokenav_2B2F97:: @ 82B2F97
MatchCall_Text_TateLiza1:: @ 82B2F97
.string "TATE: Oh! You're…\n"
.string "LIZA: {PLAYER}!\p"
.string "TATE: We're in training again…\n"
@@ -2199,7 +2199,7 @@ gText_TateLiza_Pokenav_2B2F97:: @ 82B2F97
.string "TATE: A mark'll appear by our name…\n"
.string "LIZA: On the MATCH CALL list.$"
gText_TateLiza_Pokenav_2B306E:: @ 82B306E
MatchCall_Text_TateLiza2:: @ 82B306E
.string "TATE: {PLAYER}, congratulations!\n"
.string "LIZA: {PLAYER}, congratulations!\p"
.string "TATE: The two of us are…\n"
@@ -2209,7 +2209,7 @@ gText_TateLiza_Pokenav_2B306E:: @ 82B306E
.string "TATE: A mark'll appear by our name…\n"
.string "LIZA: On the MATCH CALL list.$"
gText_TateLiza_Pokenav_2B3158:: @ 82B3158
MatchCall_Text_TateLiza3:: @ 82B3158
.string "TATE: {PLAYER}!\n"
.string "LIZA: {PLAYER}!\p"
.string "TATE: Our GYM is ready!\n"
@@ -2217,13 +2217,13 @@ gText_TateLiza_Pokenav_2B3158:: @ 82B3158
.string "TATE: Please come visit…\n"
.string "LIZA: MOSSDEEP anytime!$"
gText_TateLiza_Pokenav_2B31CD:: @ 82B31CD
MatchCall_Text_TateLiza4:: @ 82B31CD
.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!$"
gText_Juan_Pokenav_2B3249:: @ 82B3249
MatchCall_Text_Juan1:: @ 82B3249
.string "JUAN: Hmm…\n"
.string "{PLAYER}{KUN}… Was it?\p"
.string "Our battle together--it brought\n"
@@ -2232,7 +2232,7 @@ gText_Juan_Pokenav_2B3249:: @ 82B3249
.string "Perhaps you are a genius who may\n"
.string "yet surpass WALLACE!$"
gText_Juan_Pokenav_2B32EC:: @ 82B32EC
MatchCall_Text_Juan2:: @ 82B32EC
.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 @@ gText_Juan_Pokenav_2B32EC:: @ 82B32EC
.string "you, for you have scaled the peak\l"
.string "of power and prestige.$"
gText_Juan_Pokenav_2B33AA:: @ 82B33AA
MatchCall_Text_Juan3:: @ 82B33AA
.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.$"
gText_Juan_Pokenav_2B341E:: @ 82B341E
MatchCall_Text_Juan4:: @ 82B341E
.string "JUAN: {PLAYER}{KUN}…\p"
.string "Like the finest music, the battles\n"
.string "we wage together strike chords\l"
@@ -2256,7 +2256,7 @@ gText_Juan_Pokenav_2B341E:: @ 82B341E
.string "When I close my eyes, I see visions\n"
.string "of you soaring with the melody…$"
gText_Sidney_Pokenav_2B34CC:: @ 82B34CC
MatchCall_Text_Sidney:: @ 82B34CC
.string "SIDNEY: Yo, {PLAYER}!\p"
.string "If you want to battle with me\n"
.string "again, you come on back whenever\l"
@@ -2264,7 +2264,7 @@ gText_Sidney_Pokenav_2B34CC:: @ 82B34CC
.string "I'll always be here!\n"
.string "I'll be waiting!$"
gText_Phoebe_Pokenav_2B3561:: @ 82B3561
MatchCall_Text_Phoebe:: @ 82B3561
.string "PHOEBE: Hi, {PLAYER}!\p"
.string "How about coming back here again\n"
.string "sometime?\p"
@@ -2272,7 +2272,7 @@ gText_Phoebe_Pokenav_2B3561:: @ 82B3561
.string "your bond has grown with your\l"
.string "POKéMON.$"
gText_Glacia_Pokenav_2B35E4:: @ 82B35E4
MatchCall_Text_Glacia:: @ 82B35E4
.string "GLACIA: Hello, {PLAYER}.\p"
.string "I trust you haven't become\n"
.string "complacent with your power?\p"
@@ -2280,7 +2280,7 @@ gText_Glacia_Pokenav_2B35E4:: @ 82B35E4
.string "hot emotions just a little, do come\l"
.string "to the POKéMON LEAGUE…$"
gText_Drake_Pokenav_2B368B:: @ 82B368B
MatchCall_Text_Drake:: @ 82B368B
.string "DRAKE: That voice… {PLAYER}, is it?\n"
.string "You sound well…\p"
.string "I understand that there is now\n"
@@ -2292,7 +2292,7 @@ gText_Drake_Pokenav_2B368B:: @ 82B368B
.string "the POKéMON LEAGUE!\p"
.string "Don't you agree, {PLAYER}?$"
gText_Wallace_Pokenav_2B3790:: @ 82B3790
MatchCall_Text_Wallace:: @ 82B3790
.string "WALLACE: Hello, {PLAYER}{KUN}.\n"
.string "Have you met STEVEN?\p"
.string "He is…\n"
@@ -2306,7 +2306,7 @@ gText_Wallace_Pokenav_2B3790:: @ 82B3790
.string "But what is a rare stone exactly?\n"
.string "All I can think of is a METEORITE…$"
MossdeepCity_SpaceCenter_2F_Text_MayRayquazaCall: @ 82B38C1
MatchCall_Text_MayRayquazaCall: @ 82B38C1
.string "… … … … … …\n"
.string "… … … … … Beep!\p"
.string "MAY: Hi, {PLAYER}{KUN}!\p"
@@ -2321,7 +2321,7 @@ MossdeepCity_SpaceCenter_2F_Text_MayRayquazaCall: @ 82B38C1
.string "… … … … … …\n"
.string "… … … … … Click!$"
MossdeepCity_SpaceCenter_2F_Text_BrendanRayquazaCall: @ 82B39C6
MatchCall_Text_BrendanRayquazaCall: @ 82B39C6
.string "… … … … … …\n"
.string "… … … … … Beep!\p"
.string "BRENDAN: Hey, {PLAYER}!\n"
@@ -2335,14 +2335,14 @@ MossdeepCity_SpaceCenter_2F_Text_BrendanRayquazaCall: @ 82B39C6
.string "… … … … … …\n"
.string "… … … … … Click!$"
gText_May_Pokenav_2B3AB3:: @ 2B3AB3
MatchCall_Text_May1:: @ 2B3AB3
.string "MAY: Hi, {PLAYER}{KUN}!\p"
.string "MR. BRINEY retired as a SAILOR,\n"
.string "but I still see him out on the sea\l"
.string "with his pet PEEKO sometimes.\p"
.string "He must love the sea still.$"
gText_May_Pokenav_2B3B3F:: @ 2B3B3F
MatchCall_Text_May2:: @ 2B3B3F
.string "MAY: Hi, {PLAYER}{KUN}!\p"
.string "You know how little towns like\n"
.string "PETALBURG and DEWFORD have GYMS?\p"
@@ -2351,7 +2351,7 @@ gText_May_Pokenav_2B3B3F:: @ 2B3B3F
.string "When they finally build a GYM there,\n"
.string "I should apply to be the LEADER.$"
gText_May_Pokenav_2B3C13:: @ 2B3C13
MatchCall_Text_May3:: @ 2B3C13
.string "MAY: Hi, {PLAYER}{KUN}!\p"
.string "Do you remember a man named\n"
.string "the CUTTER in RUSTBORO?\l"
@@ -2363,13 +2363,13 @@ gText_May_Pokenav_2B3C13:: @ 2B3C13
.string "… … … … … …\p"
.string "The ROCK SMASH GUY!$"
gText_May_Pokenav_2B3CF3:: @ 2B3CF3
MatchCall_Text_May4:: @ 2B3CF3
.string "MAY: {PLAYER}{KUN}?\p"
.string "RUSTURF TUNNEL…\n"
.string "They named it that because it\l"
.string "joins RUSTBORO and VERDANTURF.$"
gText_May_Pokenav_2B3D4B:: @ 2B3D4B
MatchCall_Text_May5:: @ 2B3D4B
.string "MAY: {PLAYER}{KUN}, how are you?\p"
.string "I'm out on ROUTE 111 now.\p"
.string "I'm going to get a rest at an old\n"
@@ -2377,7 +2377,7 @@ gText_May_Pokenav_2B3D4B:: @ 2B3D4B
.string "She lives just north of\n"
.string "the desert.$"
gText_May_Pokenav_2B3DD1:: @ 2B3DD1
MatchCall_Text_May6:: @ 2B3DD1
.string "MAY: Hi, {PLAYER}{KUN}!\p"
.string "Did you know about the MIRAGE\n"
.string "TOWER in the desert?\p"
@@ -2385,21 +2385,21 @@ gText_May_Pokenav_2B3DD1:: @ 2B3DD1
.string "to mysteriously come and go.\p"
.string "I wish I could see it.$"
gText_May_Pokenav_2B3E69:: @ 2B3E69
MatchCall_Text_May7:: @ 2B3E69
.string "MAY: {PLAYER}{KUN}, yahoo!\n"
.string "I'm on ROUTE 119 now.\p"
.string "There's a big river here, and\n"
.string "it often rains.\p"
.string "I got soaked!$"
gText_May_Pokenav_2B3ECD:: @ 2B3ECD
MatchCall_Text_May8:: @ 2B3ECD
.string "MAY: {PLAYER}{KUN}, hi.\p"
.string "MT. PYRE is a memorial to POKéMON\n"
.string "whose lives have ended.\p"
.string "Maybe as a result, it's infested\n"
.string "with many GHOST-type POKéMON!$"
gText_May_Pokenav_2B3F2B:: @ 2B3F2B
MatchCall_Text_May9:: @ 2B3F2B
.string "MAY: Hi, {PLAYER}{KUN}!\p"
.string "I was thinking of going to the hot\n"
.string "spring in LAVARIDGE.\p"
@@ -2407,14 +2407,14 @@ gText_May_Pokenav_2B3F2B:: @ 2B3F2B
.string "PASS, I ran into some bad-looking\l"
.string "characters. The mood was ugly!$"
gText_May_Pokenav_2B3FFB:: @ 2B3FFB
MatchCall_Text_May10:: @ 2B3FFB
.string "MAY: Hi, {PLAYER}{KUN}!\n"
.string "Did you see the news?\p"
.string "They say CAPT. STERN discovered\n"
.string "the SEAFLOOR CAVERN while on his\l"
.string "submarine expedition.$"
gText_May_Pokenav_2B402B:: @ 2B402B
MatchCall_Text_May11:: @ 2B402B
.string "MAY: Hi, {PLAYER}{KUN}!\n"
.string "Don't you think it's neat?\p"
.string "Even if you don't have a boat,\n"
@@ -2424,7 +2424,7 @@ gText_May_Pokenav_2B402B:: @ 2B402B
.string "There's a POKéMON move that lets\n"
.string "you go to the bottom of the sea.$"
gText_May_Pokenav_2B414B:: @ 2B414B
MatchCall_Text_May12:: @ 2B414B
.string "MAY: Hi, {PLAYER}{KUN}!\n"
.string "Hope things are okay!\p"
.string "Have you been on the sea and\n"
@@ -2435,7 +2435,7 @@ gText_May_Pokenav_2B414B:: @ 2B414B
.string "When you get to the other side,\n"
.string "come up to the surface. Easy!$"
gText_May_Pokenav_2B4228:: @ 2B4228
MatchCall_Text_May13:: @ 2B4228
.string "MAY: Hi, {PLAYER}{KUN}!\p"
.string "How's it going?\n"
.string "Are you filling your POKéDEX?\p"
@@ -2444,7 +2444,7 @@ gText_May_Pokenav_2B4228:: @ 2B4228
.string "And there are three of them!\p"
.string "I would love to see even one…$"
gText_May_Pokenav_2B42E0:: @ 2B42E0
MatchCall_Text_May14:: @ 2B42E0
.string "MAY: {PLAYER}{KUN}!\n"
.string "I heard the rumors!\p"
.string "You beat the SOOTOPOLIS GYM\n"
@@ -2452,7 +2452,7 @@ gText_May_Pokenav_2B42E0:: @ 2B42E0
.string "That means you don't have far\n"
.string "to go, do you?$"
gText_May_Pokenav_2B4350:: @ 2B4350
MatchCall_Text_May15:: @ 2B4350
.string "MAY: There isn't a single TRAINER\n"
.string "left in HOENN who doesn't know who\l"
.string "you are, {PLAYER}{KUN}!\p"
@@ -2460,7 +2460,7 @@ gText_May_Pokenav_2B4350:: @ 2B4350
.string "with you, {PLAYER}{KUN}, they're all\l"
.string "surprised!$"
gText_Brendan_Pokenav_2B43EF:: @ 2B43EF
MatchCall_Text_Brendan1:: @ 2B43EF
.string "BRENDAN: Hey, {PLAYER}!\p"
.string "MR. BRINEY retired as a SAILOR,\n"
.string "but I still see him out on the sea\l"
@@ -2468,7 +2468,7 @@ gText_Brendan_Pokenav_2B43EF:: @ 2B43EF
.string "I guess he must love\n"
.string "the sea still.$"
gText_Brendan_Pokenav_2B4486:: @ 2B4486
MatchCall_Text_Brendan2:: @ 2B4486
.string "BRENDAN: Hey, {PLAYER}!\p"
.string "I don't get how little towns like\n"
.string "PETALBURG and DEWFORD have GYMS.\p"
@@ -2477,7 +2477,7 @@ gText_Brendan_Pokenav_2B4486:: @ 2B4486
.string "When they finally build a GYM there,\n"
.string "I should apply to be the LEADER.$"
gText_Brendan_Pokenav_2B4560:: @ 2B4560
MatchCall_Text_Brendan3:: @ 2B4560
.string "BRENDAN: Yo, {PLAYER}!\p"
.string "Do you remember a guy named\n"
.string "the CUTTER in RUSTBORO?\l"
@@ -2489,14 +2489,14 @@ gText_Brendan_Pokenav_2B4560:: @ 2B4560
.string "… … … … … …\p"
.string "The ROCK SMASH GUY!$"
gText_Brendan_Pokenav_2B463F:: @ 2B463F
MatchCall_Text_Brendan4:: @ 2B463F
.string "BRENDAN: This voice… {PLAYER}?\p"
.string "They gave RUSTURF TUNNEL its name\n"
.string "because it joins RUSTBORO and\l"
.string "VERDANTURF.\p"
.string "Did you know that?$"
gText_Brendan_Pokenav_2B46B7:: @ 2B46B7
MatchCall_Text_Brendan5:: @ 2B46B7
.string "BRENDAN: {PLAYER}, what's up?\p"
.string "Hey, I'm out on ROUTE 111 now.\p"
.string "I'm going to rest up at an old\n"
@@ -2504,7 +2504,7 @@ gText_Brendan_Pokenav_2B46B7:: @ 2B46B7
.string "If you're in the area, you should\n"
.string "visit her, too.$"
gText_Brendan_Pokenav_2B4761:: @ 2B4761
MatchCall_Text_Brendan6:: @ 2B4761
.string "BRENDAN: Hey, {PLAYER}!\p"
.string "Did you know about the MIRAGE\n"
.string "TOWER in the desert?\p"
@@ -2512,21 +2512,21 @@ gText_Brendan_Pokenav_2B4761:: @ 2B4761
.string "seen only sometimes.\p"
.string "I'd like to see that!$"
gText_Brendan_Pokenav_2B47F4:: @ 2B47F4
MatchCall_Text_Brendan7:: @ 2B47F4
.string "BRENDAN: Who's this? Oh, {PLAYER}?\n"
.string "Guess what? I'm on ROUTE 119 now.\p"
.string "There's a big river here, and\n"
.string "it rains all the time.\p"
.string "I got soaked to the bone!$"
gText_Brendan_Pokenav_2B4882:: @ 2B4882
MatchCall_Text_Brendan8:: @ 2B4882
.string "BRENDAN: {PLAYER}!\p"
.string "MT. PYRE is a memorial to POKéMON\n"
.string "whose lives have ended.\p"
.string "That's probably why it's infested\n"
.string "with many GHOST-type POKéMON!$"
gText_Brendan_Pokenav_2B4909:: @ 2B4909
MatchCall_Text_Brendan9:: @ 2B4909
.string "BRENDAN: Hey there, {PLAYER}.\p"
.string "I was on my way back to the hot\n"
.string "spring in LAVARIDGE.\p"
@@ -2535,14 +2535,14 @@ gText_Brendan_Pokenav_2B4909:: @ 2B4909
.string "Those creeps…\n"
.string "I think they were TEAM MAGMA.$"
gText_Brendan_Pokenav_2B49C4:: @ 2B49C4
MatchCall_Text_Brendan10:: @ 2B49C4
.string "BRENDAN: Hi, {PLAYER}!\n"
.string "Did you catch the news?\p"
.string "They say CAPT. STERN discovered\n"
.string "the SEAFLOOR CAVERN while on his\l"
.string "submarine expedition.$"
gText_Brendan_Pokenav_2B4A44:: @ 2B4A44
MatchCall_Text_Brendan11:: @ 2B4A44
.string "BRENDAN: Hey there, {PLAYER}!\n"
.string "Don't you think it's awesome?\p"
.string "Even if you don't have a boat,\n"
@@ -2552,7 +2552,7 @@ gText_Brendan_Pokenav_2B4A44:: @ 2B4A44
.string "travel to the bottom of the sea.\p"
.string "Man, POKéMON can do anything!$"
gText_Brendan_Pokenav_2B4B28:: @ 2B4B28
MatchCall_Text_Brendan12:: @ 2B4B28
.string "BRENDAN: Howdy, {PLAYER}!\n"
.string "How are you holding up?\p"
.string "Ever found your way to the other\n"
@@ -2562,7 +2562,7 @@ gText_Brendan_Pokenav_2B4B28:: @ 2B4B28
.string "When you get to the other side,\n"
.string "come up to the surface. Simple!$"
gText_Brendan_Pokenav_2B4C15:: @ 2B4C15
MatchCall_Text_Brendan13:: @ 2B4C15
.string "BRENDAN: Hey there, {PLAYER}!\p"
.string "How's it going? Filling up your\n"
.string "POKéDEX successfully?\p"
@@ -2571,14 +2571,14 @@ gText_Brendan_Pokenav_2B4C15:: @ 2B4C15
.string "And not just one--three!\p"
.string "I'd love to catch even one…$"
gText_Brendan_Pokenav_2B4CD8:: @ 2B4CD8
MatchCall_Text_Brendan14:: @ 2B4CD8
.string "BRENDAN: {PLAYER}!\n"
.string "I heard the rumors!\p"
.string "You beat the SOOTOPOLIS GYM\n"
.string "LEADER? Awesome!\p"
.string "You're getting awful close now!$"
gText_Brendan_Pokenav_2B4D46:: @ 2B4D46
MatchCall_Text_Brendan15:: @ 2B4D46
.string "BRENDAN: There isn't a TRAINER in\n"
.string "all of HOENN who doesn't know who\l"
.string "you are, {PLAYER}!\p"
@@ -2586,19 +2586,19 @@ gText_Brendan_Pokenav_2B4D46:: @ 2B4D46
.string "with you, {PLAYER}, they get pretty\l"
.string "envious!$"
gText_Wally_Pokenav_2B4DE2:: @ 2B4DE2
MatchCall_Text_Wally1:: @ 2B4DE2
.string "WALLY: Oh, {PLAYER}!\p"
.string "I've been getting healthier and\n"
.string "more physically fit.\p"
.string "I hope I can become a TRAINER like\n"
.string "you soon, {PLAYER}!$"
gText_Wally_Pokenav_2B4E57:: @ 2B4E57
MatchCall_Text_Wally2:: @ 2B4E57
.string "WALLY: {PLAYER}, hello!\p"
.string "After RUSTURF TUNNEL went\n"
.string "through, WANDA's been very happy!$"
gText_Wally_Pokenav_2B4EA5:: @ 2B4EA5
MatchCall_Text_Wally3:: @ 2B4EA5
.string "WALLY: Oh, {PLAYER}!\p"
.string "I… I left my uncle's place in\n"
.string "VERDANTURF without telling anyone.\p"
@@ -2606,7 +2606,7 @@ gText_Wally_Pokenav_2B4EA5:: @ 2B4EA5
.string "{PLAYER}, you understand how\n"
.string "I feel, don't you?$"
gText_Wally_Pokenav_2B4F41:: @ 2B4F41
MatchCall_Text_Wally4:: @ 2B4F41
.string "WALLY: {PLAYER}?\n"
.string "It's me, WALLY!\p"
.string "The world of TRAINERS is amazing!\p"
@@ -2615,7 +2615,7 @@ gText_Wally_Pokenav_2B4F41:: @ 2B4F41
.string "It's as if everyone's getting\n"
.string "connected through POKéMON!$"
gText_Wally_Pokenav_2B4FF3:: @ 2B4FF3
MatchCall_Text_Wally5:: @ 2B4FF3
.string "WALLY: {PLAYER}? It's awesome!\n"
.string "That RALTS we caught together?\l"
.string "It evolved, {PLAYER}!\p"
@@ -2625,13 +2625,13 @@ gText_Wally_Pokenav_2B4FF3:: @ 2B4FF3
.string "After all, it's the POKéMON that\n"
.string "should be praised!$"
gText_Wally_Pokenav_2B50B1:: @ 2B50B1
MatchCall_Text_Wally6:: @ 2B50B1
.string "… … … … … …\n"
.string "… … … … … …\p"
.string "WALLY appears to be out of\n"
.string "the POKéNAV's service area…$"
gText_Wally_Pokenav_2B5100:: @ 2B5100
MatchCall_Text_Wally7:: @ 2B5100
.string "WALLY: Oh, {PLAYER}!\p"
.string "Before I met you, I hardly ever\n"
.string "left my house…\p"
@@ -2640,7 +2640,7 @@ gText_Wally_Pokenav_2B5100:: @ 2B5100
.string "{PLAYER}…\n"
.string "Thank you…$"
gText_Scott_Pokenav_2B5184:: @ 2B5184
MatchCall_Text_Scott1:: @ 2B5184
.string "SCOTT: Howdy, {PLAYER}{KUN}!\p"
.string "You know how POKéMON can be found\n"
.string "everywhere?\p"
@@ -2651,7 +2651,7 @@ gText_Scott_Pokenav_2B5184:: @ 2B5184
.string "As a result, I have to hurry\n"
.string "everywhere, too. Busy, busy!$"
gText_Scott_Pokenav_2B5275:: @ 2B5275
MatchCall_Text_Scott2:: @ 2B5275
.string "SCOTT: I'm on ROUTE 119 right now.\n"
.string "It's teeming with TRAINERS!\p"
.string "It's also overgrown with tall grass\n"
@@ -2659,7 +2659,7 @@ gText_Scott_Pokenav_2B5275:: @ 2B5275
.string "Walking around in shorts here\n"
.string "makes me all ticklish!$"
gText_Scott_Pokenav_2B5323:: @ 2B5323
MatchCall_Text_Scott3:: @ 2B5323
.string "SCOTT: Hi, hi, {PLAYER}{KUN}!\p"
.string "Have you had the chance to climb\n"
.string "MT. PYRE?\p"
@@ -2668,7 +2668,7 @@ gText_Scott_Pokenav_2B5323:: @ 2B5323
.string "It's somewhere every TRAINER\n"
.string "should climb to the top of once.$"
gText_Scott_Pokenav_2B53DB:: @ 2B53DB
MatchCall_Text_Scott4:: @ 2B53DB
.string "SCOTT: Hi, {PLAYER}{KUN}!\p"
.string "I've been hearing about these odd\n"
.string "gangs being a nuisance.\p"
@@ -2678,7 +2678,7 @@ gText_Scott_Pokenav_2B53DB:: @ 2B53DB
.string "skilled TRAINERS among them.\p"
.string "…But if they're thugs…$"
gText_Scott_Pokenav_2B54A5:: @ 2B54A5
MatchCall_Text_Scott5:: @ 2B54A5
.string "SCOTT: Oh, hi, {PLAYER}{KUN}.\p"
.string "Might there be tough TRAINERS\n"
.string "at the bottom of the sea?\p"
@@ -2686,7 +2686,7 @@ gText_Scott_Pokenav_2B54A5:: @ 2B54A5
.string "I can't swim, for one.\l"
.string "And I don't raise POKéMON…$"
gText_Scott_Pokenav_2B5541:: @ 2B5541
MatchCall_Text_Scott6:: @ 2B5541
.string "SCOTT: Hi, hi, {PLAYER}{KUN}!\p"
.string "You know that you can challenge\n"
.string "the POKéMON LEAGUE when you've\l"
@@ -2703,20 +2703,20 @@ gText_Scott_Pokenav_2B5541:: @ 2B5541
.string "the POKéMON LEAGUE into the HALL\l"
.string "OF FAME!$"
gText_Scott_Pokenav_2B56CA:: @ 2B56CA
MatchCall_Text_Scott7:: @ 2B56CA
.string "… … … … … …\n"
.string "… … … … … …\p"
.string "SCOTT appears to be out of\n"
.string "the POKéNAV's service area…$"
gText_Norman_Pokenav_2B5719:: @ 82B5719
MatchCall_Text_Norman1:: @ 82B5719
.string "DAD: In RUSTBORO, there's a man\n"
.string "that goes by the odd name of\l"
.string "the CUTTER.\p"
.string "If you're in the area, you should\n"
.string "pay him a visit.$"
gText_Norman_Pokenav_2B5795:: @ 82B5795
MatchCall_Text_Norman2:: @ 82B5795
.string "DAD: Hm… Little by little, but also\n"
.string "very surely, you're getting\l"
.string "tougher, {PLAYER}.\p"
@@ -2725,7 +2725,7 @@ gText_Norman_Pokenav_2B5795:: @ 82B5795
.string "and me…\p"
.string "This feeling is hard to explain.$"
gText_Norman_Pokenav_2B584D:: @ 82B584D
MatchCall_Text_Norman3:: @ 82B584D
.string "DAD: I see…\n"
.string "You've collected four GYM BADGES…\p"
.string "There's no avoiding it now.\n"
@@ -2733,7 +2733,7 @@ gText_Norman_Pokenav_2B584D:: @ 82B584D
.string "Come anytime.\n"
.string "We'll all be waiting for you!$"
gText_Norman_Pokenav_2B58E3:: @ 82B58E3
MatchCall_Text_Norman4:: @ 82B58E3
.string "DAD: {PLAYER}! You'd better go visit\n"
.string "Mother every so often.\p"
.string "I'm going to remain here and\n"
@@ -2741,27 +2741,27 @@ gText_Norman_Pokenav_2B58E3:: @ 82B58E3
.string "The way of battling is deep\n"
.string "and unforgiving!$"
gText_Norman_Pokenav_2B5979:: @ 82B5979
MatchCall_Text_Norman5:: @ 82B5979
.string "DAD: Oh, hi, {PLAYER}!\p"
.string "What's that? MAGMA EMBLEM?\n"
.string "I don't know what that's about.\p"
.string "But with a name like that, it may\n"
.string "be somehow linked to a volcano!$"
gText_Norman_Pokenav_2B5A07:: @ 82B5A07
MatchCall_Text_Norman6:: @ 82B5A07
.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!$"
gText_Norman_Pokenav_2B5A69:: @ 82B5A69
MatchCall_Text_Norman7:: @ 82B5A69
.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!$"
gText_Norman_Pokenav_2B5ACF:: @ 82B5ACF
MatchCall_Text_Norman8:: @ 82B5ACF
.string "DAD: Hm? {PLAYER}?\n"
.string "What good timing!\p"
.string "This time, I'm going to challenge\n"
@@ -2769,11 +2769,11 @@ gText_Norman_Pokenav_2B5ACF:: @ 82B5ACF
.string "I'm waiting in the PETALBURG GYM.\n"
.string "Accept my challenge anytime!$"
gText_Norman_Pokenav_2B5B5E:: @ 82B5B5E
MatchCall_Text_Norman9:: @ 82B5B5E
.string "DAD: …You amaze me, {PLAYER}.\n"
.string "How much higher will you soar?$"
gText_Steven_Pokenav_2B5B95:: @ 82B5B95
MatchCall_Text_Steven1:: @ 82B5B95
.string "STEVEN: Hi, {PLAYER}{KUN}!\p"
.string "Have you been to MAUVILLE\n"
.string "already?\p"
@@ -2784,14 +2784,14 @@ gText_Steven_Pokenav_2B5B95:: @ 82B5B95
.string "You may make a new discovery\n"
.string "there.$"
gText_Steven_Pokenav_2B5C53:: @ 82B5C53
MatchCall_Text_Steven2:: @ 82B5C53
.string "STEVEN: Hi, {PLAYER}{KUN}!\p"
.string "I've met a lot of different\n"
.string "TRAINERS so far.\p"
.string "But you're one of a kind.\n"
.string "You're not like anyone else.$"
gText_Steven_Pokenav_2B5CC9:: @ 82B5CC9
MatchCall_Text_Steven3:: @ 82B5CC9
.string "STEVEN: Hi, {PLAYER}{KUN}!\p"
.string "When you're on an adventure with\n"
.string "your POKéMON, what do you think?\p"
@@ -2802,7 +2802,7 @@ gText_Steven_Pokenav_2B5CC9:: @ 82B5CC9
.string "Depending on how you think, your\n"
.string "adventure's significance changes.$"
gText_Steven_Pokenav_2B5DB4:: @ 82B5DB4
MatchCall_Text_Steven4:: @ 82B5DB4
.string "STEVEN: Hello?\n"
.string "{PLAYER}{KUN}?\p"
.string "I'm involved in a spot of trouble\n"
@@ -2810,7 +2810,7 @@ gText_Steven_Pokenav_2B5DB4:: @ 82B5DB4
.string "I'm sorry, but I can't talk now.\n"
.string "Bye!$"
gText_Steven_Pokenav_2B5E26:: @ 82B5E26
MatchCall_Text_Steven5:: @ 82B5E26
.string "STEVEN: Oh!\n"
.string "{PLAYER}{KUN}!\p"
.string "There's no need to talk.\n"
@@ -2818,12 +2818,12 @@ gText_Steven_Pokenav_2B5E26:: @ 82B5E26
.string "You have to believe in yourself\n"
.string "and do what's right.$"
gText_Steven_Pokenav_2B5EA2:: @ 82B5EA2
MatchCall_Text_Steven6:: @ 82B5EA2
.string "… … … … … …\p"
.string "STEVEN appears not to be getting\n"
.string "the call…$"
gText_Steven_Pokenav_2B5ED9:: @ 82B5ED9
MatchCall_Text_Steven7:: @ 82B5ED9
.string "STEVEN: {PLAYER}{KUN}… Congratulations\n"
.string "for entering the HALL OF FAME.\p"
.string "… … … … … …\n"
@@ -2851,7 +2851,7 @@ MatchCall_Text_UnusedProfBirch:
.string "the POKéDEX and POKéNAV, studying\l"
.string "POKéMON becomes more fun, eh?$"
gText_MrStone_Pokenav_2B60C0:: @ 82B60C0
MatchCall_Text_MrStone1:: @ 82B60C0
.string "MR. STONE: Oh? {PLAYER}{KUN}!\p"
.string "Since you called me, the POKéNAV\n"
.string "must be working properly!\p"
@@ -2866,7 +2866,7 @@ gText_MrStone_Pokenav_2B60C0:: @ 82B60C0
.string "Wahahaha!\n"
.string "See you again!$"
gText_MrStone_Pokenav_2B61E6:: @ 82B61E6
MatchCall_Text_MrStone2:: @ 82B61E6
.string "MR. STONE: Oh? {PLAYER}{KUN}!\p"
.string "What's wrong? Have you forgotten\n"
.string "about that little errand of mine?\p"
@@ -2878,7 +2878,7 @@ gText_MrStone_Pokenav_2B61E6:: @ 82B61E6
.string "Now, since I am a busy PRESIDENT,\n"
.string "I have to go! Bye-bye!$"
gText_MrStone_Pokenav_2B6302:: @ 82B6302
MatchCall_Text_MrStone3:: @ 82B6302
.string "MR. STONE: Oh! {PLAYER}{KUN}!\p"
.string "Ah, so you've met STEVEN!\n"
.string "I'd better reward you, then!\p"
@@ -2886,7 +2886,7 @@ gText_MrStone_Pokenav_2B6302:: @ 82B6302
.string "come see me at my office.\p"
.string "I'll be waiting for you!$"
gText_MrStone_Pokenav_2B63A0:: @ 82B63A0
MatchCall_Text_MrStone4:: @ 82B63A0
.string "MR. STONE: Oh! {PLAYER}{KUN}!\p"
.string "Did you know that DEVON was\n"
.string "digging the RUSTURF TUNNEL?\p"
@@ -2897,14 +2897,14 @@ gText_MrStone_Pokenav_2B63A0:: @ 82B63A0
.string "live in peace than worry about our\l"
.string "own convenience.$"
gText_MrStone_Pokenav_2B64A2:: @ 82B64A2
MatchCall_Text_MrStone5:: @ 82B64A2
.string "MR. STONE: Hello, hello, {PLAYER}{KUN}!\p"
.string "I heard from someone in PETALBURG\n"
.string "that you're NORMAN's child!\p"
.string "No wonder you're such a capable\n"
.string "being!$"
gText_MrStone_Pokenav_2B6526:: @ 82B6526
MatchCall_Text_MrStone6:: @ 82B6526
.string "MR. STONE: What's that?\p"
.string "You battled your own father and\n"
.string "defeated him?\p"
@@ -2912,7 +2912,7 @@ gText_MrStone_Pokenav_2B6526:: @ 82B6526
.string "I had no idea that I befriended\n"
.string "someone so special! Wahaha!$"
gText_MrStone_Pokenav_2B65BB:: @ 82B65BB
MatchCall_Text_MrStone7:: @ 82B65BB
.string "Hello!\n"
.string "This is DEVON CORPORATI…\l"
.string "Oh, hello, {PLAYER}!\p"
@@ -2921,21 +2921,21 @@ gText_MrStone_Pokenav_2B65BB:: @ 82B65BB
.string "Our PRESIDENT is busy, but you\n"
.string "seem to be just as busy, {PLAYER}.$"
gText_MrStone_Pokenav_2B6664:: @ 82B6664
MatchCall_Text_MrStone8:: @ 82B6664
.string "…Huh? …What's that?\p"
.string "GROU… Yes? …DON?\p"
.string "You're breaking up…\n"
.string "…can't hear…\p"
.string "BZZZZ…$"
gText_MrStone_Pokenav_2B66B1:: @ 82B66B1
MatchCall_Text_MrStone9:: @ 82B66B1
.string "…Huh? …What's that?\p"
.string "Seaflo… Yes? …Caver…?\p"
.string "You're breaking up…\n"
.string "…can't hear…\p"
.string "BZZZZ…$"
gText_MrStone_Pokenav_2B6703:: @ 82B6703
MatchCall_Text_MrStone10:: @ 82B6703
.string "MR. STONE: {PLAYER}{KUN}! It's me!\p"
.string "You were apparently involved in all\n"
.string "sorts of things, but I, being busy,\l"
@@ -2945,7 +2945,7 @@ gText_MrStone_Pokenav_2B6703:: @ 82B6703
.string "I'll always be in your corner!\n"
.string "Take care!$"
gText_MrStone_Pokenav_2B67ED:: @ 82B67ED
MatchCall_Text_MrStone11:: @ 82B67ED
.string "MR. STONE: … … … … … …\n"
.string "Is this maybe {PLAYER}{KUN}?\p"
.string "Your voice is so full of confidence,\n"

View File

@@ -1,6 +1,7 @@
#include "global.h"
#include "string_util.h"
#include "text.h"
#include "strings.h"
EWRAM_DATA u8 gStringVar1[0x100] = {0};
EWRAM_DATA u8 gStringVar2[0x100] = {0};
@@ -24,21 +25,6 @@ static const s32 sPowersOfTen[] =
1000000000,
};
extern const u8 gExpandedPlaceholder_Empty[];
extern const u8 gExpandedPlaceholder_Kun[];
extern const u8 gExpandedPlaceholder_Chan[];
extern const u8 gExpandedPlaceholder_Sapphire[];
extern const u8 gExpandedPlaceholder_Ruby[];
extern const u8 gExpandedPlaceholder_Emerald[];
extern const u8 gExpandedPlaceholder_Aqua[];
extern const u8 gExpandedPlaceholder_Magma[];
extern const u8 gExpandedPlaceholder_Archie[];
extern const u8 gExpandedPlaceholder_Maxie[];
extern const u8 gExpandedPlaceholder_Kyogre[];
extern const u8 gExpandedPlaceholder_Groudon[];
extern const u8 gExpandedPlaceholder_Brendan[];
extern const u8 gExpandedPlaceholder_May[];
u8 *StringCopy10(u8 *dest, const u8 *src)
{
u8 i;
@@ -451,52 +437,52 @@ static const u8 *ExpandPlaceholder_StringVar3(void)
static const u8 *ExpandPlaceholder_KunChan(void)
{
if (gSaveBlock2Ptr->playerGender == MALE)
return gExpandedPlaceholder_Kun;
return gText_ExpandedPlaceholder_Kun;
else
return gExpandedPlaceholder_Chan;
return gText_ExpandedPlaceholder_Chan;
}
static const u8 *ExpandPlaceholder_RivalName(void)
{
if (gSaveBlock2Ptr->playerGender == MALE)
return gExpandedPlaceholder_May;
return gText_ExpandedPlaceholder_May;
else
return gExpandedPlaceholder_Brendan;
return gText_ExpandedPlaceholder_Brendan;
}
static const u8 *ExpandPlaceholder_Version(void)
{
return gExpandedPlaceholder_Emerald;
return gText_ExpandedPlaceholder_Emerald;
}
static const u8 *ExpandPlaceholder_Aqua(void)
{
return gExpandedPlaceholder_Aqua;
return gText_ExpandedPlaceholder_Aqua;
}
static const u8 *ExpandPlaceholder_Magma(void)
{
return gExpandedPlaceholder_Magma;
return gText_ExpandedPlaceholder_Magma;
}
static const u8 *ExpandPlaceholder_Archie(void)
{
return gExpandedPlaceholder_Archie;
return gText_ExpandedPlaceholder_Archie;
}
static const u8 *ExpandPlaceholder_Maxie(void)
{
return gExpandedPlaceholder_Maxie;
return gText_ExpandedPlaceholder_Maxie;
}
static const u8 *ExpandPlaceholder_Kyogre(void)
{
return gExpandedPlaceholder_Kyogre;
return gText_ExpandedPlaceholder_Kyogre;
}
static const u8 *ExpandPlaceholder_Groudon(void)
{
return gExpandedPlaceholder_Groudon;
return gText_ExpandedPlaceholder_Groudon;
}
const u8 *GetExpandedPlaceholder(u32 id)
@@ -522,7 +508,7 @@ const u8 *GetExpandedPlaceholder(u32 id)
};
if (id >= ARRAY_COUNT(funcs))
return gExpandedPlaceholder_Empty;
return gText_ExpandedPlaceholder_Empty;
else
return funcs[id]();
}

View File

@@ -51,6 +51,7 @@
#define DECOR_MAX_PLAYERS_HOUSE 12
#define APPRENTICE_COUNT 4
#define APPRENTICE_MAX_QUESTIONS 9
#define MAX_REMATCH_ENTRIES 100 // only REMATCH_TABLE_ENTRIES (78) are used
#define PYRAMID_BAG_ITEMS_COUNT 10
#define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode.

View File

@@ -923,7 +923,7 @@ struct SaveBlock1
/*0x9BC*/ u16 berryBlenderRecords[3];
/*0x9C2*/ u8 field_9C2[6];
/*0x9C8*/ u16 trainerRematchStepCounter;
/*0x9CA*/ u8 trainerRematches[100];
/*0x9CA*/ u8 trainerRematches[MAX_REMATCH_ENTRIES];
/*0xA30*/ struct EventObject eventObjects[EVENT_OBJECTS_COUNT];
/*0xC70*/ struct EventObjectTemplate eventObjectTemplates[EVENT_OBJECT_TEMPLATES_COUNT];
/*0x1270*/ u8 flags[FLAGS_COUNT];

View File

@@ -75,17 +75,12 @@ enum {
REMATCH_WINONA,
REMATCH_TATE_AND_LIZA,
REMATCH_JUAN,
// Entries below SIDNEY are considered part of REMATCH_ELITE_FOUR_ENTRIES.
REMATCH_SIDNEY,
REMATCH_SIDNEY, // Entries below SIDNEY are considered part of REMATCH_ELITE_FOUR_ENTRIES.
REMATCH_PHOEBE,
REMATCH_GLACIA,
REMATCH_DRAKE,
REMATCH_WALLACE,
// The total number of rematch entries. This must be the last element
// in the enum.
REMATCH_TABLE_ENTRIES
REMATCH_TABLE_ENTRIES // The total number of rematch entries. Must be last in enum
};
void UpdateGymLeaderRematch(void);

View File

@@ -7,11 +7,12 @@
typedef u32 (*LoopedTask)(s32 state);
// TODO: This struct is also used generally by Match Call, should probably be renamed
struct PokenavMonList
{
u8 boxId;
u8 monId;
u16 unk6;
u8 id1;
u8 id2;
u16 data;
};
struct PokenavSub18
@@ -32,8 +33,8 @@ struct PokenavSub18
enum
{
POKENAV_MODE_NORMAL, // Chosen from Start menu.
POKENAV_MODE_FORCE_CALL_1, // Used for the script's special. Has to choose Match Call and make a call.
POKENAV_MODE_FORCE_CALL_2, // Set after making a call, has to exit Pokenav.
POKENAV_MODE_FORCE_CALL_READY, // When player is forced to call Mr. Stone for pokenav tutorial
POKENAV_MODE_FORCE_CALL_EXIT, // Forced to exit fter being calling Mr. Stone for pokenav tutorial
};
#define POKENAV_MENU_IDS_START 100000
@@ -82,6 +83,28 @@ enum
MC_HEADER_COUNT
};
enum
{
MATCH_CALL_OPTION_CALL,
MATCH_CALL_OPTION_CHECK,
MATCH_CALL_OPTION_CANCEL,
MATCH_CALL_OPTION_COUNT
};
enum
{
CHECK_PAGE_STRATEGY,
CHECK_PAGE_POKEMON,
CHECK_PAGE_INTRO_1,
CHECK_PAGE_INTRO_2,
CHECK_PAGE_ENTRY_COUNT
};
#define MCFLAVOR(name) {[CHECK_PAGE_STRATEGY] = gText_MatchCall##name##_Strategy, \
[CHECK_PAGE_POKEMON] = gText_MatchCall##name##_Pokemon, \
[CHECK_PAGE_INTRO_1] = gText_MatchCall##name##_Intro1, \
[CHECK_PAGE_INTRO_2] = gText_MatchCall##name##_Intro2}
// pokenav.c
void sub_81C7694(u32);
u32 sub_81C76AC(void);
@@ -207,14 +230,14 @@ int sub_81CAE48(void);
struct PokenavMonList *sub_81CAE94(void);
u16 sub_81CAEA4(int);
bool32 sub_81CAEBC(int index);
int sub_81CAF04(int index);
const u8 *sub_81CAFD8(int index, int textType);
int GetMatchCallTrainerPic(int index);
const u8 *GetMatchCallFlavorText(int index, int textType);
u16 sub_81CB01C(void);
u16 sub_81CB02C(int arg0);
void sub_81CB050(struct PokenavMonList * arg0, u8 *str);
u8 sub_81CB0C8(int rematchIndex);
int sub_81CB0E4(int index);
bool32 sub_81CAE08(int);
bool32 IsRematchEntryRegistered(int index);
int sub_81CB128(int index);
// pokenav_unk_4.c

View File

@@ -1,6 +1,22 @@
#ifndef GUARD_STRINGS_H
#define GUARD_STRINGS_H
// Placeholders
extern const u8 gText_ExpandedPlaceholder_Empty[];
extern const u8 gText_ExpandedPlaceholder_Kun[];
extern const u8 gText_ExpandedPlaceholder_Chan[];
extern const u8 gText_ExpandedPlaceholder_Sapphire[];
extern const u8 gText_ExpandedPlaceholder_Ruby[];
extern const u8 gText_ExpandedPlaceholder_Emerald[];
extern const u8 gText_ExpandedPlaceholder_Aqua[];
extern const u8 gText_ExpandedPlaceholder_Magma[];
extern const u8 gText_ExpandedPlaceholder_Archie[];
extern const u8 gText_ExpandedPlaceholder_Maxie[];
extern const u8 gText_ExpandedPlaceholder_Kyogre[];
extern const u8 gText_ExpandedPlaceholder_Groudon[];
extern const u8 gText_ExpandedPlaceholder_Brendan[];
extern const u8 gText_ExpandedPlaceholder_May[];
extern const u8 gText_FromSpace[];
extern const u8 gText_Lv50[];
@@ -2332,6 +2348,43 @@ extern const u8 MatchCall_BattlePyramidText11[];
extern const u8 MatchCall_BattlePyramidText12[];
extern const u8 MatchCall_BattlePyramidText13[];
extern const u8 MatchCall_BattlePyramidText14[];
extern const u8 gText_MrStoneMatchCallDesc[];
extern const u8 gText_MrStoneMatchCallName[];
extern const u8 gText_StevenMatchCallDesc[];
extern const u8 gText_StevenMatchCallName[];
extern const u8 gText_MayBrendanMatchCallDesc[];
extern const u8 gText_WallyMatchCallDesc[];
extern const u8 gText_NormanMatchCallDesc[];
extern const u8 gText_NormanMatchCallName[];
extern const u8 gText_MomMatchCallDesc[];
extern const u8 gText_MomMatchCallName[];
extern const u8 gText_ScottMatchCallDesc[];
extern const u8 gText_ScottMatchCallName[];
extern const u8 gText_RoxanneMatchCallDesc[];
extern const u8 gText_BrawlyMatchCallDesc[];
extern const u8 gText_WattsonMatchCallDesc[];
extern const u8 gText_FlanneryMatchCallDesc[];
extern const u8 gText_WinonaMatchCallDesc[];
extern const u8 gText_TateLizaMatchCallDesc[];
extern const u8 gText_JuanMatchCallDesc[];
extern const u8 gText_EliteFourMatchCallDesc[];
extern const u8 gText_ChampionMatchCallDesc[];
extern const u8 gText_ProfBirchMatchCallDesc[];
extern const u8 gText_ProfBirchMatchCallName[];
extern const u8 gText_MatchCallSteven_Strategy[];
extern const u8 gText_MatchCallSteven_Pokemon[];
extern const u8 gText_MatchCallSteven_Intro1_BeforeMeteorFallsBattle[];
extern const u8 gText_MatchCallSteven_Intro2_BeforeMeteorFallsBattle[];
extern const u8 gText_MatchCallSteven_Intro1_AfterMeteorFallsBattle[];
extern const u8 gText_MatchCallSteven_Intro2_AfterMeteorFallsBattle[];
extern const u8 gText_MatchCallBrendan_Strategy[];
extern const u8 gText_MatchCallBrendan_Pokemon[];
extern const u8 gText_MatchCallBrendan_Intro1[];
extern const u8 gText_MatchCallBrendan_Intro2[];
extern const u8 gText_MatchCallMay_Strategy[];
extern const u8 gText_MatchCallMay_Pokemon[];
extern const u8 gText_MatchCallMay_Intro1[];
extern const u8 gText_MatchCallMay_Intro2[];
// Contest Link
extern const u8 gText_ColorDarkGrey[];
@@ -2762,9 +2815,9 @@ extern const u8 gUnknown_085EBE41[];
extern const u8 gText_NoRibbonWinners[];
// pokenav_unk_4
extern const u8 gUnknown_085EC017[];
extern const u8 gUnknown_085EC01C[];
extern const u8 gUnknown_085EC022[];
extern const u8 gText_Call[];
extern const u8 gText_Check[];
extern const u8 gText_Cancel6[];
// pokenav_unk_8
extern const u8 gText_NumberF700[];

View File

@@ -1,399 +1,394 @@
#define MCFLAVOR(name) {gMatchCallFlavorText_##name##_Strategy, \
gMatchCallFlavorText_##name##_Pokemon, \
gMatchCallFlavorText_##name##_Intro1, \
gMatchCallFlavorText_##name##_Intro2}
const u8 gMatchCallFlavorText_AromaLady_Rose_Strategy[] = _("Becalm fighting emotions.");
const u8 gMatchCallFlavorText_AromaLady_Rose_Pokemon[] = _("Fragrant GRASS POKéMON.");
const u8 gMatchCallFlavorText_AromaLady_Rose_Intro1[] = _("Soothing aromas make the");
const u8 gMatchCallFlavorText_AromaLady_Rose_Intro2[] = _("body and mind healthy.");
const u8 gMatchCallFlavorText_RuinManiac_Andres_Strategy[] = _("I'm not very good at this.");
const u8 gMatchCallFlavorText_RuinManiac_Andres_Pokemon[] = _("Ruin-exploration partners.");
const u8 gMatchCallFlavorText_RuinManiac_Andres_Intro1[] = _("I am searching for undersea");
const u8 gMatchCallFlavorText_RuinManiac_Andres_Intro2[] = _("ruins and relics.");
const u8 gMatchCallFlavorText_RuinManiac_Dusty_Strategy[] = _("Overwhelm with power!");
const u8 gMatchCallFlavorText_RuinManiac_Dusty_Pokemon[] = _("Craggy ROCK POKéMON.");
const u8 gMatchCallFlavorText_RuinManiac_Dusty_Intro1[] = _("In search of ancient lore,");
const u8 gMatchCallFlavorText_RuinManiac_Dusty_Intro2[] = _("I travel the world.");
const u8 gMatchCallFlavorText_Tuber_Lola_Strategy[] = _("I'm going to try hard!");
const u8 gMatchCallFlavorText_Tuber_Lola_Pokemon[] = _("Good swimmer POKéMON.");
const u8 gMatchCallFlavorText_Tuber_Lola_Intro1[] = _("I wish I could swim without");
const u8 gMatchCallFlavorText_Tuber_Lola_Intro2[] = _("using an inner tube.");
const u8 gMatchCallFlavorText_Tuber_Ricky_Strategy[] = _("I don't know. I'll try hard.");
const u8 gMatchCallFlavorText_Tuber_Ricky_Pokemon[] = _("WATER POKéMON are buddies.");
const u8 gMatchCallFlavorText_Tuber_Ricky_Intro1[] = _("It's not like I can't swim.");
const u8 gMatchCallFlavorText_Tuber_Ricky_Intro2[] = _("I just like my inner tube.");
const u8 gMatchCallFlavorText_SisAndBro_LilaAndRoy_Strategy[] = _("We split our duties.");
const u8 gMatchCallFlavorText_SisAndBro_LilaAndRoy_Pokemon[] = _("We like friendly POKéMON.");
const u8 gMatchCallFlavorText_SisAndBro_LilaAndRoy_Intro1[] = _("We enjoy POKéMON together");
const u8 gMatchCallFlavorText_SisAndBro_LilaAndRoy_Intro2[] = _("as sister and brother.");
const u8 gMatchCallFlavorText_Cooltrainer_Cristin_Strategy[] = _("I finish with power moves!");
const u8 gMatchCallFlavorText_Cooltrainer_Cristin_Pokemon[] = _("A mix of different types.");
const u8 gMatchCallFlavorText_Cooltrainer_Cristin_Intro1[] = _("I aim to become the ultimate");
const u8 gMatchCallFlavorText_Cooltrainer_Cristin_Intro2[] = _("TRAINER!");
const u8 gMatchCallFlavorText_Cooltrainer_Brooke_Strategy[] = _("Exploit the foe's weakness.");
const u8 gMatchCallFlavorText_Cooltrainer_Brooke_Pokemon[] = _("Balance is crucial.");
const u8 gMatchCallFlavorText_Cooltrainer_Brooke_Intro1[] = _("My goal is to become the");
const u8 gMatchCallFlavorText_Cooltrainer_Brooke_Intro2[] = _("POKéMON CHAMPION.");
const u8 gMatchCallFlavorText_Cooltrainer_Wilton_Strategy[] = _("Upset the opponent.");
const u8 gMatchCallFlavorText_Cooltrainer_Wilton_Pokemon[] = _("Type doesn't matter.");
const u8 gMatchCallFlavorText_Cooltrainer_Wilton_Intro1[] = _("I'm a top student at the");
const u8 gMatchCallFlavorText_Cooltrainer_Wilton_Intro2[] = _("TRAINER'S SCHOOL.");
const u8 gMatchCallFlavorText_HexManiac_Valerie_Strategy[] = _("Slow, steady suffering.");
const u8 gMatchCallFlavorText_HexManiac_Valerie_Pokemon[] = _("Scary to meet at night.");
const u8 gMatchCallFlavorText_HexManiac_Valerie_Intro1[] = _("I see things that others");
const u8 gMatchCallFlavorText_HexManiac_Valerie_Intro2[] = _("can't see...");
const u8 gMatchCallFlavorText_Lady_Cindy_Strategy[] = _("Anything to win.");
const u8 gMatchCallFlavorText_Lady_Cindy_Pokemon[] = _("Gorgeous type!");
const u8 gMatchCallFlavorText_Lady_Cindy_Intro1[] = _("I have a pool specially for");
const u8 gMatchCallFlavorText_Lady_Cindy_Intro2[] = _("my POKéMON at home.");
const u8 gMatchCallFlavorText_Beauty_Thalia_Strategy[] = _("You'll fall under my spell!");
const u8 gMatchCallFlavorText_Beauty_Thalia_Pokemon[] = _("Mature WATER type.");
const u8 gMatchCallFlavorText_Beauty_Thalia_Intro1[] = _("I dream of cruising around");
const u8 gMatchCallFlavorText_Beauty_Thalia_Intro2[] = _("the world on a luxury liner.");
const u8 gMatchCallFlavorText_Beauty_Jessica_Strategy[] = _("I'll lead you astray.");
const u8 gMatchCallFlavorText_Beauty_Jessica_Pokemon[] = _("Cute, of course.");
const u8 gMatchCallFlavorText_Beauty_Jessica_Intro1[] = _("I love the SAFARI ZONE.");
const u8 gMatchCallFlavorText_Beauty_Jessica_Intro2[] = _("I seem to end up there.");
const u8 gMatchCallFlavorText_RichBoy_Winston_Strategy[] = _("Strategy? Who needs it?");
const u8 gMatchCallFlavorText_RichBoy_Winston_Pokemon[] = _("I spent big money on it!");
const u8 gMatchCallFlavorText_RichBoy_Winston_Intro1[] = _("I, being rich, sleep in a");
const u8 gMatchCallFlavorText_RichBoy_Winston_Intro2[] = _("custom POKéMON bed.");
const u8 gMatchCallFlavorText_PokeManiac_Steve_Strategy[] = _("Wrestle down with power.");
const u8 gMatchCallFlavorText_PokeManiac_Steve_Pokemon[] = _("Took all night to catch.");
const u8 gMatchCallFlavorText_PokeManiac_Steve_Intro1[] = _("Big, burly, and buff");
const u8 gMatchCallFlavorText_PokeManiac_Steve_Intro2[] = _("POKéMON are the best...");
const u8 gMatchCallFlavorText_Swimmer_Tony_Strategy[] = _("Ram at full speed!");
const u8 gMatchCallFlavorText_Swimmer_Tony_Pokemon[] = _("Funky WATER type!");
const u8 gMatchCallFlavorText_Swimmer_Tony_Intro1[] = _("If I can't be out swimming,");
const u8 gMatchCallFlavorText_Swimmer_Tony_Intro2[] = _("I'll be pumping weights.");
const u8 gMatchCallFlavorText_BlackBelt_Nob_Strategy[] = _("Grand slam pummeling!");
const u8 gMatchCallFlavorText_BlackBelt_Nob_Pokemon[] = _("FIGHTING type.");
const u8 gMatchCallFlavorText_BlackBelt_Nob_Intro1[] = _("Not to brag, but I can bust");
const u8 gMatchCallFlavorText_BlackBelt_Nob_Intro2[] = _("ten roof tiles!");
const u8 gMatchCallFlavorText_BlackBelt_Koji_Strategy[] = _("Witness karate power!");
const u8 gMatchCallFlavorText_BlackBelt_Koji_Pokemon[] = _("My partners in training!");
const u8 gMatchCallFlavorText_BlackBelt_Koji_Intro1[] = _("Let us discuss matters of");
const u8 gMatchCallFlavorText_BlackBelt_Koji_Intro2[] = _("the world with bare fists!");
const u8 gMatchCallFlavorText_Guitarist_Fernando_Strategy[] = _("Rock to stunning sounds!");
const u8 gMatchCallFlavorText_Guitarist_Fernando_Pokemon[] = _("Electric-and-sound combo!");
const u8 gMatchCallFlavorText_Guitarist_Fernando_Intro1[] = _("My compositions will shock");
const u8 gMatchCallFlavorText_Guitarist_Fernando_Intro2[] = _("you and stun you!");
const u8 gMatchCallFlavorText_Guitarist_Dalton_Strategy[] = _("I'll electrify you!");
const u8 gMatchCallFlavorText_Guitarist_Dalton_Pokemon[] = _("They're ELECTRIC!");
const u8 gMatchCallFlavorText_Guitarist_Dalton_Intro1[] = _("I want to make people cry");
const u8 gMatchCallFlavorText_Guitarist_Dalton_Intro2[] = _("with songs from my heart.");
const u8 gMatchCallFlavorText_Kindler_Bernie_Strategy[] = _("Burn it all down!");
const u8 gMatchCallFlavorText_Kindler_Bernie_Pokemon[] = _("Burn-inducing POKéMON.");
const u8 gMatchCallFlavorText_Kindler_Bernie_Intro1[] = _("When you light a campfire,");
const u8 gMatchCallFlavorText_Kindler_Bernie_Intro2[] = _("be sure there's some water.");
const u8 gMatchCallFlavorText_Camper_Ethan_Strategy[] = _("Hang in and be tenacious!");
const u8 gMatchCallFlavorText_Camper_Ethan_Pokemon[] = _("I'll raise any POKéMON.");
const u8 gMatchCallFlavorText_Camper_Ethan_Intro1[] = _("POKéMON raised in the wild");
const u8 gMatchCallFlavorText_Camper_Ethan_Intro2[] = _("grow strong!");
const u8 gMatchCallFlavorText_OldCouple_JohnAndJay_Strategy[] = _("Our love lets us prevail.");
const u8 gMatchCallFlavorText_OldCouple_JohnAndJay_Pokemon[] = _("We've had them for years.");
const u8 gMatchCallFlavorText_OldCouple_JohnAndJay_Intro1[] = _("Married 50 years, we've");
const u8 gMatchCallFlavorText_OldCouple_JohnAndJay_Intro2[] = _("devotedly raised POKéMON.");
const u8 gMatchCallFlavorText_BugManiac_Jeffrey_Strategy[] = _("Attack in waves!");
const u8 gMatchCallFlavorText_BugManiac_Jeffrey_Pokemon[] = _("BUG POKéMON are cool.");
const u8 gMatchCallFlavorText_BugManiac_Jeffrey_Intro1[] = _("I go into the forest every");
const u8 gMatchCallFlavorText_BugManiac_Jeffrey_Intro2[] = _("day to catch BUG POKéMON.");
const u8 gMatchCallFlavorText_Psychic_Cameron_Strategy[] = _("Daze and confuse!");
const u8 gMatchCallFlavorText_Psychic_Cameron_Pokemon[] = _("Ones with weird powers.");
const u8 gMatchCallFlavorText_Psychic_Cameron_Intro1[] = _("I can see through exactly");
const u8 gMatchCallFlavorText_Psychic_Cameron_Intro2[] = _("what you're thinking!");
const u8 gMatchCallFlavorText_Psychic_Jacki_Strategy[] = _("Battle at full power.");
const u8 gMatchCallFlavorText_Psychic_Jacki_Pokemon[] = _("POKéMON of many mysteries.");
const u8 gMatchCallFlavorText_Psychic_Jacki_Intro1[] = _("When we spoke, I was really");
const u8 gMatchCallFlavorText_Psychic_Jacki_Intro2[] = _("using telepathy.");
const u8 gMatchCallFlavorText_Gentleman_Walter_Strategy[] = _("Calm and collected.");
const u8 gMatchCallFlavorText_Gentleman_Walter_Pokemon[] = _("POKéMON of distinction.");
const u8 gMatchCallFlavorText_Gentleman_Walter_Intro1[] = _("We enjoy a spot of tea");
const u8 gMatchCallFlavorText_Gentleman_Walter_Intro2[] = _("every day. It's imported.");
const u8 gMatchCallFlavorText_SchoolKid_Karen_Strategy[] = _("I use my head to battle.");
const u8 gMatchCallFlavorText_SchoolKid_Karen_Pokemon[] = _("I love any kind of POKéMON!");
const u8 gMatchCallFlavorText_SchoolKid_Karen_Intro1[] = _("My daddy gives me spending");
const u8 gMatchCallFlavorText_SchoolKid_Karen_Intro2[] = _("money if I ace a test.");
const u8 gMatchCallFlavorText_SchoolKid_Jerry_Strategy[] = _("My knowledge rules!");
const u8 gMatchCallFlavorText_SchoolKid_Jerry_Pokemon[] = _("Any smart POKéMON!");
const u8 gMatchCallFlavorText_SchoolKid_Jerry_Intro1[] = _("I want to be a POKéMON");
const u8 gMatchCallFlavorText_SchoolKid_Jerry_Intro2[] = _("researcher in the future.");
const u8 gMatchCallFlavorText_SrAndJr_AnnaAndMeg_Strategy[] = _("We talk it over first.");
const u8 gMatchCallFlavorText_SrAndJr_AnnaAndMeg_Pokemon[] = _("POKéMON that we both like.");
const u8 gMatchCallFlavorText_SrAndJr_AnnaAndMeg_Intro1[] = _("We're senior and junior");
const u8 gMatchCallFlavorText_SrAndJr_AnnaAndMeg_Intro2[] = _("students into POKéMON!");
const u8 gMatchCallFlavorText_Pokefan_Isabel_Strategy[] = _("Go for it, my dears!");
const u8 gMatchCallFlavorText_Pokefan_Isabel_Pokemon[] = _("I have no likes or dislikes.");
const u8 gMatchCallFlavorText_Pokefan_Isabel_Intro1[] = _("While out shopping for");
const u8 gMatchCallFlavorText_Pokefan_Isabel_Intro2[] = _("supper, I battle too.");
const u8 gMatchCallFlavorText_Pokefan_Miguel_Strategy[] = _("I battle with love!");
const u8 gMatchCallFlavorText_Pokefan_Miguel_Pokemon[] = _("A POKéMON raised with love!");
const u8 gMatchCallFlavorText_Pokefan_Miguel_Intro1[] = _("It's important to build");
const u8 gMatchCallFlavorText_Pokefan_Miguel_Intro2[] = _("trust with your POKéMON.");
const u8 gMatchCallFlavorText_Expert_Timothy_Strategy[] = _("I see through your moves!");
const u8 gMatchCallFlavorText_Expert_Timothy_Pokemon[] = _("The essence of FIGHTING.");
const u8 gMatchCallFlavorText_Expert_Timothy_Intro1[] = _("I'm not ready to give way");
const u8 gMatchCallFlavorText_Expert_Timothy_Intro2[] = _("to the young yet!");
const u8 gMatchCallFlavorText_Expert_Shelby_Strategy[] = _("Attack while defending.");
const u8 gMatchCallFlavorText_Expert_Shelby_Pokemon[] = _("The FIGHTING type.");
const u8 gMatchCallFlavorText_Expert_Shelby_Intro1[] = _("Being old, I have my own");
const u8 gMatchCallFlavorText_Expert_Shelby_Intro2[] = _("style of battling.");
const u8 gMatchCallFlavorText_Youngster_Calvin_Strategy[] = _("I do what I can.");
const u8 gMatchCallFlavorText_Youngster_Calvin_Pokemon[] = _("I use different types.");
const u8 gMatchCallFlavorText_Youngster_Calvin_Intro1[] = _("I'm going to keep working");
const u8 gMatchCallFlavorText_Youngster_Calvin_Intro2[] = _("until I beat a GYM LEADER.");
const u8 gMatchCallFlavorText_Fisherman_Elliot_Strategy[] = _("I battle patiently.");
const u8 gMatchCallFlavorText_Fisherman_Elliot_Pokemon[] = _("WATER POKéMON to battle!");
const u8 gMatchCallFlavorText_Fisherman_Elliot_Intro1[] = _("I'm the world's only guy to");
const u8 gMatchCallFlavorText_Fisherman_Elliot_Intro2[] = _("catch a huge POKéMON!");
const u8 gMatchCallFlavorText_Triathlete_Isaiah_Strategy[] = _("Exploit the environment!");
const u8 gMatchCallFlavorText_Triathlete_Isaiah_Pokemon[] = _("All hail the WATER type!");
const u8 gMatchCallFlavorText_Triathlete_Isaiah_Intro1[] = _("I won't be beaten by some");
const u8 gMatchCallFlavorText_Triathlete_Isaiah_Intro2[] = _("beach bum SWIMMER!");
const u8 gMatchCallFlavorText_Triathlete_Maria_Strategy[] = _("Speed above all!");
const u8 gMatchCallFlavorText_Triathlete_Maria_Pokemon[] = _("I use a speedy POKéMON.");
const u8 gMatchCallFlavorText_Triathlete_Maria_Intro1[] = _("A marathon is a challenge");
const u8 gMatchCallFlavorText_Triathlete_Maria_Intro2[] = _("against your own self.");
const u8 gMatchCallFlavorText_Triathlete_Abigail_Strategy[] = _("Defense is crucial.");
const u8 gMatchCallFlavorText_Triathlete_Abigail_Pokemon[] = _("My POKéMON is solid.");
const u8 gMatchCallFlavorText_Triathlete_Abigail_Intro1[] = _("I started this for dieting,");
const u8 gMatchCallFlavorText_Triathlete_Abigail_Intro2[] = _("but I got right into it.");
const u8 gMatchCallFlavorText_Triathlete_Dylan_Strategy[] = _("Strike before stricken!");
const u8 gMatchCallFlavorText_Triathlete_Dylan_Pokemon[] = _("A fast-running POKéMON!");
const u8 gMatchCallFlavorText_Triathlete_Dylan_Intro1[] = _("If you ran and ran, you'd");
const u8 gMatchCallFlavorText_Triathlete_Dylan_Intro2[] = _("become one with the wind.");
const u8 gMatchCallFlavorText_Triathlete_Katelyn_Strategy[] = _("All-out offensive!");
const u8 gMatchCallFlavorText_Triathlete_Katelyn_Pokemon[] = _("WATER POKéMON rule!");
const u8 gMatchCallFlavorText_Triathlete_Katelyn_Intro1[] = _("I must swim over 6 miles");
const u8 gMatchCallFlavorText_Triathlete_Katelyn_Intro2[] = _("every day.");
const u8 gMatchCallFlavorText_Triathlete_Benjamin_Strategy[] = _("Push and push again!");
const u8 gMatchCallFlavorText_Triathlete_Benjamin_Pokemon[] = _("The strength of STEEL.");
const u8 gMatchCallFlavorText_Triathlete_Benjamin_Intro1[] = _("If you're sweating, get");
const u8 gMatchCallFlavorText_Triathlete_Benjamin_Intro2[] = _("fluids into you regularly.");
const u8 gMatchCallFlavorText_Triathlete_Pablo_Strategy[] = _("Draw the power of WATER.");
const u8 gMatchCallFlavorText_Triathlete_Pablo_Pokemon[] = _("Toughened WATER POKéMON.");
const u8 gMatchCallFlavorText_Triathlete_Pablo_Intro1[] = _("Training POKéMON is good,");
const u8 gMatchCallFlavorText_Triathlete_Pablo_Intro2[] = _("but don't neglect yourself.");
const u8 gMatchCallFlavorText_DragonTamer_Nicolas_Strategy[] = _("It's about POKéMON power!");
const u8 gMatchCallFlavorText_DragonTamer_Nicolas_Pokemon[] = _("See the power of DRAGONS!");
const u8 gMatchCallFlavorText_DragonTamer_Nicolas_Intro1[] = _("I'll become legendary as the");
const u8 gMatchCallFlavorText_DragonTamer_Nicolas_Intro2[] = _("strongest one day!");
const u8 gMatchCallFlavorText_BirdKeeper_Robert_Strategy[] = _("I'll show you my technique!");
const u8 gMatchCallFlavorText_BirdKeeper_Robert_Pokemon[] = _("Elegantly wheeling BIRDS.");
const u8 gMatchCallFlavorText_BirdKeeper_Robert_Intro1[] = _("My BIRD POKéMON, deliver my");
const u8 gMatchCallFlavorText_BirdKeeper_Robert_Intro2[] = _("love to that girl!");
const u8 gMatchCallFlavorText_NinjaBoy_Lao_Strategy[] = _("You'll suffer from poison!");
const u8 gMatchCallFlavorText_NinjaBoy_Lao_Pokemon[] = _("Poisonous POKéMON.");
const u8 gMatchCallFlavorText_NinjaBoy_Lao_Intro1[] = _("I undertake training so");
const u8 gMatchCallFlavorText_NinjaBoy_Lao_Intro2[] = _("that I may become a ninja.");
const u8 gMatchCallFlavorText_BattleGirl_Cyndy_Strategy[] = _("The first strike wins!");
const u8 gMatchCallFlavorText_BattleGirl_Cyndy_Pokemon[] = _("Speedy FIGHTING type.");
const u8 gMatchCallFlavorText_BattleGirl_Cyndy_Intro1[] = _("If my POKéMON lose,");
const u8 gMatchCallFlavorText_BattleGirl_Cyndy_Intro2[] = _("I'll carry on the fight!");
const u8 gMatchCallFlavorText_ParasolLady_Madeline_Strategy[] = _("Go, go, my POKéMON!");
const u8 gMatchCallFlavorText_ParasolLady_Madeline_Pokemon[] = _("I'll raise anything.");
const u8 gMatchCallFlavorText_ParasolLady_Madeline_Intro1[] = _("UV rays are your skin's");
const u8 gMatchCallFlavorText_ParasolLady_Madeline_Intro2[] = _("enemy. Get protected.");
const u8 gMatchCallFlavorText_Swimmer_Jenny_Strategy[] = _("No mercy!");
const u8 gMatchCallFlavorText_Swimmer_Jenny_Pokemon[] = _("Cute WATER POKéMON.");
const u8 gMatchCallFlavorText_Swimmer_Jenny_Intro1[] = _("I have too many fans.");
const u8 gMatchCallFlavorText_Swimmer_Jenny_Intro2[] = _("I was interviewed on TV.");
const u8 gMatchCallFlavorText_Picnicker_Diana_Strategy[] = _("I think about this & that.");
const u8 gMatchCallFlavorText_Picnicker_Diana_Pokemon[] = _("I like all POKéMON.");
const u8 gMatchCallFlavorText_Picnicker_Diana_Intro1[] = _("What lies beyond that");
const u8 gMatchCallFlavorText_Picnicker_Diana_Intro2[] = _("yonder hill?");
const u8 gMatchCallFlavorText_Twins_AmyAndLiv_Strategy[] = _("We battle together!");
const u8 gMatchCallFlavorText_Twins_AmyAndLiv_Pokemon[] = _("We train together!");
const u8 gMatchCallFlavorText_Twins_AmyAndLiv_Intro1[] = _("We like the same POKéMON,");
const u8 gMatchCallFlavorText_Twins_AmyAndLiv_Intro2[] = _("but different desserts.");
const u8 gMatchCallFlavorText_Sailor_Ernest_Strategy[] = _("I force things with power!");
const u8 gMatchCallFlavorText_Sailor_Ernest_Pokemon[] = _("WATER and FIGHTING types.");
const u8 gMatchCallFlavorText_Sailor_Ernest_Intro1[] = _("Seamen are rough spirits!");
const u8 gMatchCallFlavorText_Sailor_Ernest_Intro2[] = _("Any complaints?");
const u8 gMatchCallFlavorText_Sailor_Cory_Strategy[] = _("Up for a fight anytime!");
const u8 gMatchCallFlavorText_Sailor_Cory_Pokemon[] = _("WATER POKéMON are my faves!");
const u8 gMatchCallFlavorText_Sailor_Cory_Intro1[] = _("If you want to shout loud,");
const u8 gMatchCallFlavorText_Sailor_Cory_Intro2[] = _("suck in air with your belly!");
const u8 gMatchCallFlavorText_Collector_Edwin_Strategy[] = _("Protect POKéMON from harm.");
const u8 gMatchCallFlavorText_Collector_Edwin_Pokemon[] = _("I love rare POKéMON.");
const u8 gMatchCallFlavorText_Collector_Edwin_Intro1[] = _("I want to collect all the");
const u8 gMatchCallFlavorText_Collector_Edwin_Intro2[] = _("world's rare POKéMON.");
const u8 gMatchCallFlavorText_PkmnBreeder_Lydia_Strategy[] = _("I count on power.");
const u8 gMatchCallFlavorText_PkmnBreeder_Lydia_Pokemon[] = _("POKéMON are my children.");
const u8 gMatchCallFlavorText_PkmnBreeder_Lydia_Intro1[] = _("It takes knowledge and");
const u8 gMatchCallFlavorText_PkmnBreeder_Lydia_Intro2[] = _("love to raise POKéMON.");
const u8 gMatchCallFlavorText_PkmnBreeder_Isaac_Strategy[] = _("Full-on attack!");
const u8 gMatchCallFlavorText_PkmnBreeder_Isaac_Pokemon[] = _("Anything. I'll raise it.");
const u8 gMatchCallFlavorText_PkmnBreeder_Isaac_Intro1[] = _("I give them {POKEBLOCK}S for");
const u8 gMatchCallFlavorText_PkmnBreeder_Isaac_Intro2[] = _("going after CONTEST titles.");
const u8 gMatchCallFlavorText_PkmnBreeder_Gabrielle_Strategy[] = _("I raise POKéMON with care.");
const u8 gMatchCallFlavorText_PkmnBreeder_Gabrielle_Pokemon[] = _("Fun-to-raise POKéMON.");
const u8 gMatchCallFlavorText_PkmnBreeder_Gabrielle_Intro1[] = _("Treat every POKéMON you");
const u8 gMatchCallFlavorText_PkmnBreeder_Gabrielle_Intro2[] = _("meet with respect.");
const u8 gMatchCallFlavorText_PkmnRanger_Catherine_Strategy[] = _("I believe in my POKéMON.");
const u8 gMatchCallFlavorText_PkmnRanger_Catherine_Pokemon[] = _("I like strong POKéMON.");
const u8 gMatchCallFlavorText_PkmnRanger_Catherine_Intro1[] = _("I'm training for rescue");
const u8 gMatchCallFlavorText_PkmnRanger_Catherine_Intro2[] = _("work with my POKéMON.");
const u8 gMatchCallFlavorText_PkmnRanger_Jackson_Strategy[] = _("Attack in waves!");
const u8 gMatchCallFlavorText_PkmnRanger_Jackson_Pokemon[] = _("I use different types.");
const u8 gMatchCallFlavorText_PkmnRanger_Jackson_Intro1[] = _("Those who destroy nature");
const u8 gMatchCallFlavorText_PkmnRanger_Jackson_Intro2[] = _("must never be forgiven!");
const u8 gMatchCallFlavorText_Lass_Haley_Strategy[] = _("I'll show you some guts!");
const u8 gMatchCallFlavorText_Lass_Haley_Pokemon[] = _("Cute POKéMON are my faves!");
const u8 gMatchCallFlavorText_Lass_Haley_Intro1[] = _("After a battle, I always");
const u8 gMatchCallFlavorText_Lass_Haley_Intro2[] = _("bathe with my POKéMON.");
const u8 gMatchCallFlavorText_BugCatcher_James_Strategy[] = _("Lightning-fast attack!");
const u8 gMatchCallFlavorText_BugCatcher_James_Pokemon[] = _("BUG POKéMON are number 1!");
const u8 gMatchCallFlavorText_BugCatcher_James_Intro1[] = _("If you want to catch BUG");
const u8 gMatchCallFlavorText_BugCatcher_James_Intro2[] = _("POKéMON, wake up early.");
const u8 gMatchCallFlavorText_Hiker_Trent_Strategy[] = _("I battle with power.");
const u8 gMatchCallFlavorText_Hiker_Trent_Pokemon[] = _("Hard-bodied POKéMON.");
const u8 gMatchCallFlavorText_Hiker_Trent_Intro1[] = _("I've been planning a month");
const u8 gMatchCallFlavorText_Hiker_Trent_Intro2[] = _("for today's hike.");
const u8 gMatchCallFlavorText_Hiker_Sawyer_Strategy[] = _("I like it hot!");
const u8 gMatchCallFlavorText_Hiker_Sawyer_Pokemon[] = _("Hot POKéMON!");
const u8 gMatchCallFlavorText_Hiker_Sawyer_Intro1[] = _("As much as I love POKéMON,");
const u8 gMatchCallFlavorText_Hiker_Sawyer_Intro2[] = _("I surely like hiking!");
const u8 gMatchCallFlavorText_YoungCouple_LoisAndHal_Strategy[] = _("Lovey-dovey strategy!");
const u8 gMatchCallFlavorText_YoungCouple_LoisAndHal_Pokemon[] = _("Lovey-dovey POKéMON!");
const u8 gMatchCallFlavorText_YoungCouple_LoisAndHal_Intro1[] = _("We're lovey-dovey!");
const u8 gMatchCallFlavorText_YoungCouple_LoisAndHal_Intro2[] = _("Forever lovey-dovey!");
const u8 gMatchCallFlavorText_PkmnTrainer_Wally_Strategy[] = _("We let it all hang out.");
const u8 gMatchCallFlavorText_PkmnTrainer_Wally_Pokemon[] = _("The 1st POKéMON I caught.");
const u8 gMatchCallFlavorText_PkmnTrainer_Wally_Intro1[] = _("POKéMON and I have grown");
const u8 gMatchCallFlavorText_PkmnTrainer_Wally_Intro2[] = _("stronger together.");
const u8 gMatchCallFlavorText_RockinWhiz_Roxanne_Strategy[] = _("ROCK-type power attack.");
const u8 gMatchCallFlavorText_RockinWhiz_Roxanne_Pokemon[] = _("I prefer rock-hard POKéMON.");
const u8 gMatchCallFlavorText_RockinWhiz_Roxanne_Intro1[] = _("A LEADER of a big GYM bears");
const u8 gMatchCallFlavorText_RockinWhiz_Roxanne_Intro2[] = _("a lot of responsibility.");
const u8 gMatchCallFlavorText_TheBigHit_Brawly_Strategy[] = _("Direct physical action!");
const u8 gMatchCallFlavorText_TheBigHit_Brawly_Pokemon[] = _("FIGHTING POKéMON rule!");
const u8 gMatchCallFlavorText_TheBigHit_Brawly_Intro1[] = _("The world awaits me as the");
const u8 gMatchCallFlavorText_TheBigHit_Brawly_Intro2[] = _("next big wave!");
const u8 gMatchCallFlavorText_SwellShock_Wattson_Strategy[] = _("I choose to electrify.");
const u8 gMatchCallFlavorText_SwellShock_Wattson_Pokemon[] = _("Get shocked by electricity!");
const u8 gMatchCallFlavorText_SwellShock_Wattson_Intro1[] = _("One must never throw a");
const u8 gMatchCallFlavorText_SwellShock_Wattson_Intro2[] = _("match. Even I must not.");
const u8 gMatchCallFlavorText_PassionBurn_Flannery_Strategy[] = _("Battle aggressively.");
const u8 gMatchCallFlavorText_PassionBurn_Flannery_Pokemon[] = _("Burn with passion!");
const u8 gMatchCallFlavorText_PassionBurn_Flannery_Intro1[] = _("Completely wash away daily");
const u8 gMatchCallFlavorText_PassionBurn_Flannery_Intro2[] = _("fatigue in hot springs!");
const u8 gMatchCallFlavorText_ReliableOne_Dad_Strategy[] = _("I flexibly adapt my style.");
const u8 gMatchCallFlavorText_ReliableOne_Dad_Pokemon[] = _("Grown in a balanced manner.");
const u8 gMatchCallFlavorText_ReliableOne_Dad_Intro1[] = _("I walk the 30 minutes from");
const u8 gMatchCallFlavorText_ReliableOne_Dad_Intro2[] = _("home to here every day.");
const u8 gMatchCallFlavorText_SkyTamer_Winona_Strategy[] = _("I take advantage of speed.");
const u8 gMatchCallFlavorText_SkyTamer_Winona_Pokemon[] = _("Graceful sky dancers.");
const u8 gMatchCallFlavorText_SkyTamer_Winona_Intro1[] = _("The ultimate would be to");
const u8 gMatchCallFlavorText_SkyTamer_Winona_Intro2[] = _("live as one with nature.");
const u8 gMatchCallFlavorText_MysticDuo_TateAndLiza_Strategy[] = _("We battle in cooperation.");
const u8 gMatchCallFlavorText_MysticDuo_TateAndLiza_Pokemon[] = _("Always friendly POKéMON.");
const u8 gMatchCallFlavorText_MysticDuo_TateAndLiza_Intro1[] = _("Papa has trouble telling");
const u8 gMatchCallFlavorText_MysticDuo_TateAndLiza_Intro2[] = _("the two of us apart!");
const u8 gMatchCallFlavorText_DandyCharm_Juan_Strategy[] = _("I use splendid waterpower.");
const u8 gMatchCallFlavorText_DandyCharm_Juan_Pokemon[] = _("POKéMON of elegance!");
const u8 gMatchCallFlavorText_DandyCharm_Juan_Intro1[] = _("The adulation of beautiful");
const u8 gMatchCallFlavorText_DandyCharm_Juan_Intro2[] = _("ladies fills me with energy!");
const u8 gMatchCallFlavorText_EliteFour_Sidney_Strategy[] = _("Offense over defense!");
const u8 gMatchCallFlavorText_EliteFour_Sidney_Pokemon[] = _("The DARK side's beauties.");
const u8 gMatchCallFlavorText_EliteFour_Sidney_Intro1[] = _("They said I was a punk, but");
const u8 gMatchCallFlavorText_EliteFour_Sidney_Intro2[] = _("I'm one of the ELITE FOUR!");
const u8 gMatchCallFlavorText_EliteFour_Phoebe_Strategy[] = _("Confuse and confound.");
const u8 gMatchCallFlavorText_EliteFour_Phoebe_Pokemon[] = _("There's nothing definite.");
const u8 gMatchCallFlavorText_EliteFour_Phoebe_Intro1[] = _("I wonder how my grandma at");
const u8 gMatchCallFlavorText_EliteFour_Phoebe_Intro2[] = _("MT. PYRE is doing?");
const u8 gMatchCallFlavorText_EliteFour_Glacia_Strategy[] = _("I use items for help.");
const u8 gMatchCallFlavorText_EliteFour_Glacia_Pokemon[] = _("Flaming passion in icy cold!");
const u8 gMatchCallFlavorText_EliteFour_Glacia_Intro1[] = _("The ICE type can be better");
const u8 gMatchCallFlavorText_EliteFour_Glacia_Intro2[] = _("trained in this hot land.");
const u8 gMatchCallFlavorText_EliteFour_Drake_Strategy[] = _("Harness strong abilities.");
const u8 gMatchCallFlavorText_EliteFour_Drake_Pokemon[] = _("The raw power of DRAGONS!");
const u8 gMatchCallFlavorText_EliteFour_Drake_Intro1[] = _("I dedicate myself to the");
const u8 gMatchCallFlavorText_EliteFour_Drake_Intro2[] = _("POKéMON that saved me.");
const u8 gMatchCallFlavorText_Champion_Wallace_Strategy[] = _("Dignity and respect.");
const u8 gMatchCallFlavorText_Champion_Wallace_Pokemon[] = _("I prefer POKéMON of grace.");
const u8 gMatchCallFlavorText_Champion_Wallace_Intro1[] = _("I represent beauty as");
const u8 gMatchCallFlavorText_Champion_Wallace_Intro2[] = _("well as intelligence.");
const u8 *const gMatchCallMessages[][4] =
const u8 gText_MatchCallAromaLady_Rose_Strategy[] = _("Becalm fighting emotions.");
const u8 gText_MatchCallAromaLady_Rose_Pokemon[] = _("Fragrant GRASS POKéMON.");
const u8 gText_MatchCallAromaLady_Rose_Intro1[] = _("Soothing aromas make the");
const u8 gText_MatchCallAromaLady_Rose_Intro2[] = _("body and mind healthy.");
const u8 gText_MatchCallRuinManiac_Andres_Strategy[] = _("I'm not very good at this.");
const u8 gText_MatchCallRuinManiac_Andres_Pokemon[] = _("Ruin-exploration partners.");
const u8 gText_MatchCallRuinManiac_Andres_Intro1[] = _("I am searching for undersea");
const u8 gText_MatchCallRuinManiac_Andres_Intro2[] = _("ruins and relics.");
const u8 gText_MatchCallRuinManiac_Dusty_Strategy[] = _("Overwhelm with power!");
const u8 gText_MatchCallRuinManiac_Dusty_Pokemon[] = _("Craggy ROCK POKéMON.");
const u8 gText_MatchCallRuinManiac_Dusty_Intro1[] = _("In search of ancient lore,");
const u8 gText_MatchCallRuinManiac_Dusty_Intro2[] = _("I travel the world.");
const u8 gText_MatchCallTuber_Lola_Strategy[] = _("I'm going to try hard!");
const u8 gText_MatchCallTuber_Lola_Pokemon[] = _("Good swimmer POKéMON.");
const u8 gText_MatchCallTuber_Lola_Intro1[] = _("I wish I could swim without");
const u8 gText_MatchCallTuber_Lola_Intro2[] = _("using an inner tube.");
const u8 gText_MatchCallTuber_Ricky_Strategy[] = _("I don't know. I'll try hard.");
const u8 gText_MatchCallTuber_Ricky_Pokemon[] = _("WATER POKéMON are buddies.");
const u8 gText_MatchCallTuber_Ricky_Intro1[] = _("It's not like I can't swim.");
const u8 gText_MatchCallTuber_Ricky_Intro2[] = _("I just like my inner tube.");
const u8 gText_MatchCallSisAndBro_LilaAndRoy_Strategy[] = _("We split our duties.");
const u8 gText_MatchCallSisAndBro_LilaAndRoy_Pokemon[] = _("We like friendly POKéMON.");
const u8 gText_MatchCallSisAndBro_LilaAndRoy_Intro1[] = _("We enjoy POKéMON together");
const u8 gText_MatchCallSisAndBro_LilaAndRoy_Intro2[] = _("as sister and brother.");
const u8 gText_MatchCallCooltrainer_Cristin_Strategy[] = _("I finish with power moves!");
const u8 gText_MatchCallCooltrainer_Cristin_Pokemon[] = _("A mix of different types.");
const u8 gText_MatchCallCooltrainer_Cristin_Intro1[] = _("I aim to become the ultimate");
const u8 gText_MatchCallCooltrainer_Cristin_Intro2[] = _("TRAINER!");
const u8 gText_MatchCallCooltrainer_Brooke_Strategy[] = _("Exploit the foe's weakness.");
const u8 gText_MatchCallCooltrainer_Brooke_Pokemon[] = _("Balance is crucial.");
const u8 gText_MatchCallCooltrainer_Brooke_Intro1[] = _("My goal is to become the");
const u8 gText_MatchCallCooltrainer_Brooke_Intro2[] = _("POKéMON CHAMPION.");
const u8 gText_MatchCallCooltrainer_Wilton_Strategy[] = _("Upset the opponent.");
const u8 gText_MatchCallCooltrainer_Wilton_Pokemon[] = _("Type doesn't matter.");
const u8 gText_MatchCallCooltrainer_Wilton_Intro1[] = _("I'm a top student at the");
const u8 gText_MatchCallCooltrainer_Wilton_Intro2[] = _("TRAINER'S SCHOOL.");
const u8 gText_MatchCallHexManiac_Valerie_Strategy[] = _("Slow, steady suffering.");
const u8 gText_MatchCallHexManiac_Valerie_Pokemon[] = _("Scary to meet at night.");
const u8 gText_MatchCallHexManiac_Valerie_Intro1[] = _("I see things that others");
const u8 gText_MatchCallHexManiac_Valerie_Intro2[] = _("can't see...");
const u8 gText_MatchCallLady_Cindy_Strategy[] = _("Anything to win.");
const u8 gText_MatchCallLady_Cindy_Pokemon[] = _("Gorgeous type!");
const u8 gText_MatchCallLady_Cindy_Intro1[] = _("I have a pool specially for");
const u8 gText_MatchCallLady_Cindy_Intro2[] = _("my POKéMON at home.");
const u8 gText_MatchCallBeauty_Thalia_Strategy[] = _("You'll fall under my spell!");
const u8 gText_MatchCallBeauty_Thalia_Pokemon[] = _("Mature WATER type.");
const u8 gText_MatchCallBeauty_Thalia_Intro1[] = _("I dream of cruising around");
const u8 gText_MatchCallBeauty_Thalia_Intro2[] = _("the world on a luxury liner.");
const u8 gText_MatchCallBeauty_Jessica_Strategy[] = _("I'll lead you astray.");
const u8 gText_MatchCallBeauty_Jessica_Pokemon[] = _("Cute, of course.");
const u8 gText_MatchCallBeauty_Jessica_Intro1[] = _("I love the SAFARI ZONE.");
const u8 gText_MatchCallBeauty_Jessica_Intro2[] = _("I seem to end up there.");
const u8 gText_MatchCallRichBoy_Winston_Strategy[] = _("Strategy? Who needs it?");
const u8 gText_MatchCallRichBoy_Winston_Pokemon[] = _("I spent big money on it!");
const u8 gText_MatchCallRichBoy_Winston_Intro1[] = _("I, being rich, sleep in a");
const u8 gText_MatchCallRichBoy_Winston_Intro2[] = _("custom POKéMON bed.");
const u8 gText_MatchCallPokeManiac_Steve_Strategy[] = _("Wrestle down with power.");
const u8 gText_MatchCallPokeManiac_Steve_Pokemon[] = _("Took all night to catch.");
const u8 gText_MatchCallPokeManiac_Steve_Intro1[] = _("Big, burly, and buff");
const u8 gText_MatchCallPokeManiac_Steve_Intro2[] = _("POKéMON are the best...");
const u8 gText_MatchCallSwimmer_Tony_Strategy[] = _("Ram at full speed!");
const u8 gText_MatchCallSwimmer_Tony_Pokemon[] = _("Funky WATER type!");
const u8 gText_MatchCallSwimmer_Tony_Intro1[] = _("If I can't be out swimming,");
const u8 gText_MatchCallSwimmer_Tony_Intro2[] = _("I'll be pumping weights.");
const u8 gText_MatchCallBlackBelt_Nob_Strategy[] = _("Grand slam pummeling!");
const u8 gText_MatchCallBlackBelt_Nob_Pokemon[] = _("FIGHTING type.");
const u8 gText_MatchCallBlackBelt_Nob_Intro1[] = _("Not to brag, but I can bust");
const u8 gText_MatchCallBlackBelt_Nob_Intro2[] = _("ten roof tiles!");
const u8 gText_MatchCallBlackBelt_Koji_Strategy[] = _("Witness karate power!");
const u8 gText_MatchCallBlackBelt_Koji_Pokemon[] = _("My partners in training!");
const u8 gText_MatchCallBlackBelt_Koji_Intro1[] = _("Let us discuss matters of");
const u8 gText_MatchCallBlackBelt_Koji_Intro2[] = _("the world with bare fists!");
const u8 gText_MatchCallGuitarist_Fernando_Strategy[] = _("Rock to stunning sounds!");
const u8 gText_MatchCallGuitarist_Fernando_Pokemon[] = _("Electric-and-sound combo!");
const u8 gText_MatchCallGuitarist_Fernando_Intro1[] = _("My compositions will shock");
const u8 gText_MatchCallGuitarist_Fernando_Intro2[] = _("you and stun you!");
const u8 gText_MatchCallGuitarist_Dalton_Strategy[] = _("I'll electrify you!");
const u8 gText_MatchCallGuitarist_Dalton_Pokemon[] = _("They're ELECTRIC!");
const u8 gText_MatchCallGuitarist_Dalton_Intro1[] = _("I want to make people cry");
const u8 gText_MatchCallGuitarist_Dalton_Intro2[] = _("with songs from my heart.");
const u8 gText_MatchCallKindler_Bernie_Strategy[] = _("Burn it all down!");
const u8 gText_MatchCallKindler_Bernie_Pokemon[] = _("Burn-inducing POKéMON.");
const u8 gText_MatchCallKindler_Bernie_Intro1[] = _("When you light a campfire,");
const u8 gText_MatchCallKindler_Bernie_Intro2[] = _("be sure there's some water.");
const u8 gText_MatchCallCamper_Ethan_Strategy[] = _("Hang in and be tenacious!");
const u8 gText_MatchCallCamper_Ethan_Pokemon[] = _("I'll raise any POKéMON.");
const u8 gText_MatchCallCamper_Ethan_Intro1[] = _("POKéMON raised in the wild");
const u8 gText_MatchCallCamper_Ethan_Intro2[] = _("grow strong!");
const u8 gText_MatchCallOldCouple_JohnAndJay_Strategy[] = _("Our love lets us prevail.");
const u8 gText_MatchCallOldCouple_JohnAndJay_Pokemon[] = _("We've had them for years.");
const u8 gText_MatchCallOldCouple_JohnAndJay_Intro1[] = _("Married 50 years, we've");
const u8 gText_MatchCallOldCouple_JohnAndJay_Intro2[] = _("devotedly raised POKéMON.");
const u8 gText_MatchCallBugManiac_Jeffrey_Strategy[] = _("Attack in waves!");
const u8 gText_MatchCallBugManiac_Jeffrey_Pokemon[] = _("BUG POKéMON are cool.");
const u8 gText_MatchCallBugManiac_Jeffrey_Intro1[] = _("I go into the forest every");
const u8 gText_MatchCallBugManiac_Jeffrey_Intro2[] = _("day to catch BUG POKéMON.");
const u8 gText_MatchCallPsychic_Cameron_Strategy[] = _("Daze and confuse!");
const u8 gText_MatchCallPsychic_Cameron_Pokemon[] = _("Ones with weird powers.");
const u8 gText_MatchCallPsychic_Cameron_Intro1[] = _("I can see through exactly");
const u8 gText_MatchCallPsychic_Cameron_Intro2[] = _("what you're thinking!");
const u8 gText_MatchCallPsychic_Jacki_Strategy[] = _("Battle at full power.");
const u8 gText_MatchCallPsychic_Jacki_Pokemon[] = _("POKéMON of many mysteries.");
const u8 gText_MatchCallPsychic_Jacki_Intro1[] = _("When we spoke, I was really");
const u8 gText_MatchCallPsychic_Jacki_Intro2[] = _("using telepathy.");
const u8 gText_MatchCallGentleman_Walter_Strategy[] = _("Calm and collected.");
const u8 gText_MatchCallGentleman_Walter_Pokemon[] = _("POKéMON of distinction.");
const u8 gText_MatchCallGentleman_Walter_Intro1[] = _("We enjoy a spot of tea");
const u8 gText_MatchCallGentleman_Walter_Intro2[] = _("every day. It's imported.");
const u8 gText_MatchCallSchoolKid_Karen_Strategy[] = _("I use my head to battle.");
const u8 gText_MatchCallSchoolKid_Karen_Pokemon[] = _("I love any kind of POKéMON!");
const u8 gText_MatchCallSchoolKid_Karen_Intro1[] = _("My daddy gives me spending");
const u8 gText_MatchCallSchoolKid_Karen_Intro2[] = _("money if I ace a test.");
const u8 gText_MatchCallSchoolKid_Jerry_Strategy[] = _("My knowledge rules!");
const u8 gText_MatchCallSchoolKid_Jerry_Pokemon[] = _("Any smart POKéMON!");
const u8 gText_MatchCallSchoolKid_Jerry_Intro1[] = _("I want to be a POKéMON");
const u8 gText_MatchCallSchoolKid_Jerry_Intro2[] = _("researcher in the future.");
const u8 gText_MatchCallSrAndJr_AnnaAndMeg_Strategy[] = _("We talk it over first.");
const u8 gText_MatchCallSrAndJr_AnnaAndMeg_Pokemon[] = _("POKéMON that we both like.");
const u8 gText_MatchCallSrAndJr_AnnaAndMeg_Intro1[] = _("We're senior and junior");
const u8 gText_MatchCallSrAndJr_AnnaAndMeg_Intro2[] = _("students into POKéMON!");
const u8 gText_MatchCallPokefan_Isabel_Strategy[] = _("Go for it, my dears!");
const u8 gText_MatchCallPokefan_Isabel_Pokemon[] = _("I have no likes or dislikes.");
const u8 gText_MatchCallPokefan_Isabel_Intro1[] = _("While out shopping for");
const u8 gText_MatchCallPokefan_Isabel_Intro2[] = _("supper, I battle too.");
const u8 gText_MatchCallPokefan_Miguel_Strategy[] = _("I battle with love!");
const u8 gText_MatchCallPokefan_Miguel_Pokemon[] = _("A POKéMON raised with love!");
const u8 gText_MatchCallPokefan_Miguel_Intro1[] = _("It's important to build");
const u8 gText_MatchCallPokefan_Miguel_Intro2[] = _("trust with your POKéMON.");
const u8 gText_MatchCallExpert_Timothy_Strategy[] = _("I see through your moves!");
const u8 gText_MatchCallExpert_Timothy_Pokemon[] = _("The essence of FIGHTING.");
const u8 gText_MatchCallExpert_Timothy_Intro1[] = _("I'm not ready to give way");
const u8 gText_MatchCallExpert_Timothy_Intro2[] = _("to the young yet!");
const u8 gText_MatchCallExpert_Shelby_Strategy[] = _("Attack while defending.");
const u8 gText_MatchCallExpert_Shelby_Pokemon[] = _("The FIGHTING type.");
const u8 gText_MatchCallExpert_Shelby_Intro1[] = _("Being old, I have my own");
const u8 gText_MatchCallExpert_Shelby_Intro2[] = _("style of battling.");
const u8 gText_MatchCallYoungster_Calvin_Strategy[] = _("I do what I can.");
const u8 gText_MatchCallYoungster_Calvin_Pokemon[] = _("I use different types.");
const u8 gText_MatchCallYoungster_Calvin_Intro1[] = _("I'm going to keep working");
const u8 gText_MatchCallYoungster_Calvin_Intro2[] = _("until I beat a GYM LEADER.");
const u8 gText_MatchCallFisherman_Elliot_Strategy[] = _("I battle patiently.");
const u8 gText_MatchCallFisherman_Elliot_Pokemon[] = _("WATER POKéMON to battle!");
const u8 gText_MatchCallFisherman_Elliot_Intro1[] = _("I'm the world's only guy to");
const u8 gText_MatchCallFisherman_Elliot_Intro2[] = _("catch a huge POKéMON!");
const u8 gText_MatchCallTriathlete_Isaiah_Strategy[] = _("Exploit the environment!");
const u8 gText_MatchCallTriathlete_Isaiah_Pokemon[] = _("All hail the WATER type!");
const u8 gText_MatchCallTriathlete_Isaiah_Intro1[] = _("I won't be beaten by some");
const u8 gText_MatchCallTriathlete_Isaiah_Intro2[] = _("beach bum SWIMMER!");
const u8 gText_MatchCallTriathlete_Maria_Strategy[] = _("Speed above all!");
const u8 gText_MatchCallTriathlete_Maria_Pokemon[] = _("I use a speedy POKéMON.");
const u8 gText_MatchCallTriathlete_Maria_Intro1[] = _("A marathon is a challenge");
const u8 gText_MatchCallTriathlete_Maria_Intro2[] = _("against your own self.");
const u8 gText_MatchCallTriathlete_Abigail_Strategy[] = _("Defense is crucial.");
const u8 gText_MatchCallTriathlete_Abigail_Pokemon[] = _("My POKéMON is solid.");
const u8 gText_MatchCallTriathlete_Abigail_Intro1[] = _("I started this for dieting,");
const u8 gText_MatchCallTriathlete_Abigail_Intro2[] = _("but I got right into it.");
const u8 gText_MatchCallTriathlete_Dylan_Strategy[] = _("Strike before stricken!");
const u8 gText_MatchCallTriathlete_Dylan_Pokemon[] = _("A fast-running POKéMON!");
const u8 gText_MatchCallTriathlete_Dylan_Intro1[] = _("If you ran and ran, you'd");
const u8 gText_MatchCallTriathlete_Dylan_Intro2[] = _("become one with the wind.");
const u8 gText_MatchCallTriathlete_Katelyn_Strategy[] = _("All-out offensive!");
const u8 gText_MatchCallTriathlete_Katelyn_Pokemon[] = _("WATER POKéMON rule!");
const u8 gText_MatchCallTriathlete_Katelyn_Intro1[] = _("I must swim over 6 miles");
const u8 gText_MatchCallTriathlete_Katelyn_Intro2[] = _("every day.");
const u8 gText_MatchCallTriathlete_Benjamin_Strategy[] = _("Push and push again!");
const u8 gText_MatchCallTriathlete_Benjamin_Pokemon[] = _("The strength of STEEL.");
const u8 gText_MatchCallTriathlete_Benjamin_Intro1[] = _("If you're sweating, get");
const u8 gText_MatchCallTriathlete_Benjamin_Intro2[] = _("fluids into you regularly.");
const u8 gText_MatchCallTriathlete_Pablo_Strategy[] = _("Draw the power of WATER.");
const u8 gText_MatchCallTriathlete_Pablo_Pokemon[] = _("Toughened WATER POKéMON.");
const u8 gText_MatchCallTriathlete_Pablo_Intro1[] = _("Training POKéMON is good,");
const u8 gText_MatchCallTriathlete_Pablo_Intro2[] = _("but don't neglect yourself.");
const u8 gText_MatchCallDragonTamer_Nicolas_Strategy[] = _("It's about POKéMON power!");
const u8 gText_MatchCallDragonTamer_Nicolas_Pokemon[] = _("See the power of DRAGONS!");
const u8 gText_MatchCallDragonTamer_Nicolas_Intro1[] = _("I'll become legendary as the");
const u8 gText_MatchCallDragonTamer_Nicolas_Intro2[] = _("strongest one day!");
const u8 gText_MatchCallBirdKeeper_Robert_Strategy[] = _("I'll show you my technique!");
const u8 gText_MatchCallBirdKeeper_Robert_Pokemon[] = _("Elegantly wheeling BIRDS.");
const u8 gText_MatchCallBirdKeeper_Robert_Intro1[] = _("My BIRD POKéMON, deliver my");
const u8 gText_MatchCallBirdKeeper_Robert_Intro2[] = _("love to that girl!");
const u8 gText_MatchCallNinjaBoy_Lao_Strategy[] = _("You'll suffer from poison!");
const u8 gText_MatchCallNinjaBoy_Lao_Pokemon[] = _("Poisonous POKéMON.");
const u8 gText_MatchCallNinjaBoy_Lao_Intro1[] = _("I undertake training so");
const u8 gText_MatchCallNinjaBoy_Lao_Intro2[] = _("that I may become a ninja.");
const u8 gText_MatchCallBattleGirl_Cyndy_Strategy[] = _("The first strike wins!");
const u8 gText_MatchCallBattleGirl_Cyndy_Pokemon[] = _("Speedy FIGHTING type.");
const u8 gText_MatchCallBattleGirl_Cyndy_Intro1[] = _("If my POKéMON lose,");
const u8 gText_MatchCallBattleGirl_Cyndy_Intro2[] = _("I'll carry on the fight!");
const u8 gText_MatchCallParasolLady_Madeline_Strategy[] = _("Go, go, my POKéMON!");
const u8 gText_MatchCallParasolLady_Madeline_Pokemon[] = _("I'll raise anything.");
const u8 gText_MatchCallParasolLady_Madeline_Intro1[] = _("UV rays are your skin's");
const u8 gText_MatchCallParasolLady_Madeline_Intro2[] = _("enemy. Get protected.");
const u8 gText_MatchCallSwimmer_Jenny_Strategy[] = _("No mercy!");
const u8 gText_MatchCallSwimmer_Jenny_Pokemon[] = _("Cute WATER POKéMON.");
const u8 gText_MatchCallSwimmer_Jenny_Intro1[] = _("I have too many fans.");
const u8 gText_MatchCallSwimmer_Jenny_Intro2[] = _("I was interviewed on TV.");
const u8 gText_MatchCallPicnicker_Diana_Strategy[] = _("I think about this & that.");
const u8 gText_MatchCallPicnicker_Diana_Pokemon[] = _("I like all POKéMON.");
const u8 gText_MatchCallPicnicker_Diana_Intro1[] = _("What lies beyond that");
const u8 gText_MatchCallPicnicker_Diana_Intro2[] = _("yonder hill?");
const u8 gText_MatchCallTwins_AmyAndLiv_Strategy[] = _("We battle together!");
const u8 gText_MatchCallTwins_AmyAndLiv_Pokemon[] = _("We train together!");
const u8 gText_MatchCallTwins_AmyAndLiv_Intro1[] = _("We like the same POKéMON,");
const u8 gText_MatchCallTwins_AmyAndLiv_Intro2[] = _("but different desserts.");
const u8 gText_MatchCallSailor_Ernest_Strategy[] = _("I force things with power!");
const u8 gText_MatchCallSailor_Ernest_Pokemon[] = _("WATER and FIGHTING types.");
const u8 gText_MatchCallSailor_Ernest_Intro1[] = _("Seamen are rough spirits!");
const u8 gText_MatchCallSailor_Ernest_Intro2[] = _("Any complaints?");
const u8 gText_MatchCallSailor_Cory_Strategy[] = _("Up for a fight anytime!");
const u8 gText_MatchCallSailor_Cory_Pokemon[] = _("WATER POKéMON are my faves!");
const u8 gText_MatchCallSailor_Cory_Intro1[] = _("If you want to shout loud,");
const u8 gText_MatchCallSailor_Cory_Intro2[] = _("suck in air with your belly!");
const u8 gText_MatchCallCollector_Edwin_Strategy[] = _("Protect POKéMON from harm.");
const u8 gText_MatchCallCollector_Edwin_Pokemon[] = _("I love rare POKéMON.");
const u8 gText_MatchCallCollector_Edwin_Intro1[] = _("I want to collect all the");
const u8 gText_MatchCallCollector_Edwin_Intro2[] = _("world's rare POKéMON.");
const u8 gText_MatchCallPkmnBreeder_Lydia_Strategy[] = _("I count on power.");
const u8 gText_MatchCallPkmnBreeder_Lydia_Pokemon[] = _("POKéMON are my children.");
const u8 gText_MatchCallPkmnBreeder_Lydia_Intro1[] = _("It takes knowledge and");
const u8 gText_MatchCallPkmnBreeder_Lydia_Intro2[] = _("love to raise POKéMON.");
const u8 gText_MatchCallPkmnBreeder_Isaac_Strategy[] = _("Full-on attack!");
const u8 gText_MatchCallPkmnBreeder_Isaac_Pokemon[] = _("Anything. I'll raise it.");
const u8 gText_MatchCallPkmnBreeder_Isaac_Intro1[] = _("I give them {POKEBLOCK}S for");
const u8 gText_MatchCallPkmnBreeder_Isaac_Intro2[] = _("going after CONTEST titles.");
const u8 gText_MatchCallPkmnBreeder_Gabrielle_Strategy[] = _("I raise POKéMON with care.");
const u8 gText_MatchCallPkmnBreeder_Gabrielle_Pokemon[] = _("Fun-to-raise POKéMON.");
const u8 gText_MatchCallPkmnBreeder_Gabrielle_Intro1[] = _("Treat every POKéMON you");
const u8 gText_MatchCallPkmnBreeder_Gabrielle_Intro2[] = _("meet with respect.");
const u8 gText_MatchCallPkmnRanger_Catherine_Strategy[] = _("I believe in my POKéMON.");
const u8 gText_MatchCallPkmnRanger_Catherine_Pokemon[] = _("I like strong POKéMON.");
const u8 gText_MatchCallPkmnRanger_Catherine_Intro1[] = _("I'm training for rescue");
const u8 gText_MatchCallPkmnRanger_Catherine_Intro2[] = _("work with my POKéMON.");
const u8 gText_MatchCallPkmnRanger_Jackson_Strategy[] = _("Attack in waves!");
const u8 gText_MatchCallPkmnRanger_Jackson_Pokemon[] = _("I use different types.");
const u8 gText_MatchCallPkmnRanger_Jackson_Intro1[] = _("Those who destroy nature");
const u8 gText_MatchCallPkmnRanger_Jackson_Intro2[] = _("must never be forgiven!");
const u8 gText_MatchCallLass_Haley_Strategy[] = _("I'll show you some guts!");
const u8 gText_MatchCallLass_Haley_Pokemon[] = _("Cute POKéMON are my faves!");
const u8 gText_MatchCallLass_Haley_Intro1[] = _("After a battle, I always");
const u8 gText_MatchCallLass_Haley_Intro2[] = _("bathe with my POKéMON.");
const u8 gText_MatchCallBugCatcher_James_Strategy[] = _("Lightning-fast attack!");
const u8 gText_MatchCallBugCatcher_James_Pokemon[] = _("BUG POKéMON are number 1!");
const u8 gText_MatchCallBugCatcher_James_Intro1[] = _("If you want to catch BUG");
const u8 gText_MatchCallBugCatcher_James_Intro2[] = _("POKéMON, wake up early.");
const u8 gText_MatchCallHiker_Trent_Strategy[] = _("I battle with power.");
const u8 gText_MatchCallHiker_Trent_Pokemon[] = _("Hard-bodied POKéMON.");
const u8 gText_MatchCallHiker_Trent_Intro1[] = _("I've been planning a month");
const u8 gText_MatchCallHiker_Trent_Intro2[] = _("for today's hike.");
const u8 gText_MatchCallHiker_Sawyer_Strategy[] = _("I like it hot!");
const u8 gText_MatchCallHiker_Sawyer_Pokemon[] = _("Hot POKéMON!");
const u8 gText_MatchCallHiker_Sawyer_Intro1[] = _("As much as I love POKéMON,");
const u8 gText_MatchCallHiker_Sawyer_Intro2[] = _("I surely like hiking!");
const u8 gText_MatchCallYoungCouple_LoisAndHal_Strategy[] = _("Lovey-dovey strategy!");
const u8 gText_MatchCallYoungCouple_LoisAndHal_Pokemon[] = _("Lovey-dovey POKéMON!");
const u8 gText_MatchCallYoungCouple_LoisAndHal_Intro1[] = _("We're lovey-dovey!");
const u8 gText_MatchCallYoungCouple_LoisAndHal_Intro2[] = _("Forever lovey-dovey!");
const u8 gText_MatchCallPkmnTrainer_Wally_Strategy[] = _("We let it all hang out.");
const u8 gText_MatchCallPkmnTrainer_Wally_Pokemon[] = _("The 1st POKéMON I caught.");
const u8 gText_MatchCallPkmnTrainer_Wally_Intro1[] = _("POKéMON and I have grown");
const u8 gText_MatchCallPkmnTrainer_Wally_Intro2[] = _("stronger together.");
const u8 gText_MatchCallRockinWhiz_Roxanne_Strategy[] = _("ROCK-type power attack.");
const u8 gText_MatchCallRockinWhiz_Roxanne_Pokemon[] = _("I prefer rock-hard POKéMON.");
const u8 gText_MatchCallRockinWhiz_Roxanne_Intro1[] = _("A LEADER of a big GYM bears");
const u8 gText_MatchCallRockinWhiz_Roxanne_Intro2[] = _("a lot of responsibility.");
const u8 gText_MatchCallTheBigHit_Brawly_Strategy[] = _("Direct physical action!");
const u8 gText_MatchCallTheBigHit_Brawly_Pokemon[] = _("FIGHTING POKéMON rule!");
const u8 gText_MatchCallTheBigHit_Brawly_Intro1[] = _("The world awaits me as the");
const u8 gText_MatchCallTheBigHit_Brawly_Intro2[] = _("next big wave!");
const u8 gText_MatchCallSwellShock_Wattson_Strategy[] = _("I choose to electrify.");
const u8 gText_MatchCallSwellShock_Wattson_Pokemon[] = _("Get shocked by electricity!");
const u8 gText_MatchCallSwellShock_Wattson_Intro1[] = _("One must never throw a");
const u8 gText_MatchCallSwellShock_Wattson_Intro2[] = _("match. Even I must not.");
const u8 gText_MatchCallPassionBurn_Flannery_Strategy[] = _("Battle aggressively.");
const u8 gText_MatchCallPassionBurn_Flannery_Pokemon[] = _("Burn with passion!");
const u8 gText_MatchCallPassionBurn_Flannery_Intro1[] = _("Completely wash away daily");
const u8 gText_MatchCallPassionBurn_Flannery_Intro2[] = _("fatigue in hot springs!");
const u8 gText_MatchCallReliableOne_Dad_Strategy[] = _("I flexibly adapt my style.");
const u8 gText_MatchCallReliableOne_Dad_Pokemon[] = _("Grown in a balanced manner.");
const u8 gText_MatchCallReliableOne_Dad_Intro1[] = _("I walk the 30 minutes from");
const u8 gText_MatchCallReliableOne_Dad_Intro2[] = _("home to here every day.");
const u8 gText_MatchCallSkyTamer_Winona_Strategy[] = _("I take advantage of speed.");
const u8 gText_MatchCallSkyTamer_Winona_Pokemon[] = _("Graceful sky dancers.");
const u8 gText_MatchCallSkyTamer_Winona_Intro1[] = _("The ultimate would be to");
const u8 gText_MatchCallSkyTamer_Winona_Intro2[] = _("live as one with nature.");
const u8 gText_MatchCallMysticDuo_TateAndLiza_Strategy[] = _("We battle in cooperation.");
const u8 gText_MatchCallMysticDuo_TateAndLiza_Pokemon[] = _("Always friendly POKéMON.");
const u8 gText_MatchCallMysticDuo_TateAndLiza_Intro1[] = _("Papa has trouble telling");
const u8 gText_MatchCallMysticDuo_TateAndLiza_Intro2[] = _("the two of us apart!");
const u8 gText_MatchCallDandyCharm_Juan_Strategy[] = _("I use splendid waterpower.");
const u8 gText_MatchCallDandyCharm_Juan_Pokemon[] = _("POKéMON of elegance!");
const u8 gText_MatchCallDandyCharm_Juan_Intro1[] = _("The adulation of beautiful");
const u8 gText_MatchCallDandyCharm_Juan_Intro2[] = _("ladies fills me with energy!");
const u8 gText_MatchCallEliteFour_Sidney_Strategy[] = _("Offense over defense!");
const u8 gText_MatchCallEliteFour_Sidney_Pokemon[] = _("The DARK side's beauties.");
const u8 gText_MatchCallEliteFour_Sidney_Intro1[] = _("They said I was a punk, but");
const u8 gText_MatchCallEliteFour_Sidney_Intro2[] = _("I'm one of the ELITE FOUR!");
const u8 gText_MatchCallEliteFour_Phoebe_Strategy[] = _("Confuse and confound.");
const u8 gText_MatchCallEliteFour_Phoebe_Pokemon[] = _("There's nothing definite.");
const u8 gText_MatchCallEliteFour_Phoebe_Intro1[] = _("I wonder how my grandma at");
const u8 gText_MatchCallEliteFour_Phoebe_Intro2[] = _("MT. PYRE is doing?");
const u8 gText_MatchCallEliteFour_Glacia_Strategy[] = _("I use items for help.");
const u8 gText_MatchCallEliteFour_Glacia_Pokemon[] = _("Flaming passion in icy cold!");
const u8 gText_MatchCallEliteFour_Glacia_Intro1[] = _("The ICE type can be better");
const u8 gText_MatchCallEliteFour_Glacia_Intro2[] = _("trained in this hot land.");
const u8 gText_MatchCallEliteFour_Drake_Strategy[] = _("Harness strong abilities.");
const u8 gText_MatchCallEliteFour_Drake_Pokemon[] = _("The raw power of DRAGONS!");
const u8 gText_MatchCallEliteFour_Drake_Intro1[] = _("I dedicate myself to the");
const u8 gText_MatchCallEliteFour_Drake_Intro2[] = _("POKéMON that saved me.");
const u8 gText_MatchCallChampion_Wallace_Strategy[] = _("Dignity and respect.");
const u8 gText_MatchCallChampion_Wallace_Pokemon[] = _("I prefer POKéMON of grace.");
const u8 gText_MatchCallChampion_Wallace_Intro1[] = _("I represent beauty as");
const u8 gText_MatchCallChampion_Wallace_Intro2[] = _("well as intelligence.");
const u8 *const gMatchCallFlavorTexts[REMATCH_TABLE_ENTRIES][CHECK_PAGE_ENTRY_COUNT] =
{
[REMATCH_ROSE] = MCFLAVOR(AromaLady_Rose),
[REMATCH_ANDRES] = MCFLAVOR(RuinManiac_Andres),

View File

@@ -54,8 +54,8 @@ static const struct WindowTemplate sDaycareLevelMenuWindowTemplate =
// which is copied to VAR_0x8004 and used as an index for GetDaycareCost
static const struct ListMenuItem sLevelMenuItems[] =
{
{gExpandedPlaceholder_Empty, 0},
{gExpandedPlaceholder_Empty, 1},
{gText_ExpandedPlaceholder_Empty, 0},
{gText_ExpandedPlaceholder_Empty, 1},
{gText_Exit, DAYCARE_LEVEL_MENU_EXIT}
};

View File

@@ -33,7 +33,6 @@ EWRAM_DATA static struct NamingScreenData *gNamingScreenData = NULL;
extern u16 gKeyRepeatStartDelay;
// extern text
extern const u8 gExpandedPlaceholder_Empty[];
extern const u8 gText_MoveOkBack[];
extern const u8 gText_YourName[];
extern const u8 gText_BoxName[];
@@ -1679,7 +1678,7 @@ static void sub_80E4D10(void)
for (i = 0; i < maxChars; i++)
{
temp[0] = gNamingScreenData->textBuffer[i];
temp[1] = gExpandedPlaceholder_Empty[0];
temp[1] = gText_ExpandedPlaceholder_Empty[0];
unk2 = (sub_80E503C(temp[0]) == 1) ? 2 : 0;
AddTextPrinterParameterized(gNamingScreenData->windows[2], 1, temp, i * 8 + unk + unk2, 1, 0xFF, NULL);

View File

@@ -337,7 +337,7 @@ static void CB2_InitPokenavForTutorial(void)
else
{
InitPokenavResources(gPokenavResources);
gPokenavResources->mode = POKENAV_MODE_FORCE_CALL_1;
gPokenavResources->mode = POKENAV_MODE_FORCE_CALL_READY;
ResetTasks();
ResetSpriteData();
FreeAllSpritePalettes();

View File

@@ -7,6 +7,7 @@
#include "gym_leader_rematch.h"
#include "match_call.h"
#include "pokenav.h"
#include "strings.h"
#include "constants/region_map_sections.h"
#include "constants/trainers.h"
@@ -100,7 +101,7 @@ struct MatchCallOverride {
u16 idx;
u16 facilityClass;
u32 flag;
const u8 *flavorTexts[4];
const u8 *flavorTexts[CHECK_PAGE_ENTRY_COUNT];
};
// Static RAM declarations
@@ -153,176 +154,144 @@ static void sub_81D1920(const match_call_text_data_t *, u8 *);
static void sub_81D199C(const match_call_text_data_t *, u16, u8 *);
static void MatchCall_GetNameAndDescByRematchIdx(u32, const u8 **, const u8 **);
extern const u8 gText_MrStone_Pokenav_2B60C0[];
extern const u8 gText_MrStone_Pokenav_2B61E6[];
extern const u8 gText_MrStone_Pokenav_2B6302[];
extern const u8 gText_MrStone_Pokenav_2B63A0[];
extern const u8 gText_MrStone_Pokenav_2B64A2[];
extern const u8 gText_MrStone_Pokenav_2B6526[];
extern const u8 gText_MrStone_Pokenav_2B65BB[];
extern const u8 gText_MrStone_Pokenav_2B6664[];
extern const u8 gText_MrStone_Pokenav_2B66B1[];
extern const u8 gText_MrStone_Pokenav_2B6703[];
extern const u8 gText_MrStone_Pokenav_2B67ED[];
extern const u8 MatchCall_Text_MrStone1[];
extern const u8 MatchCall_Text_MrStone2[];
extern const u8 MatchCall_Text_MrStone3[];
extern const u8 MatchCall_Text_MrStone4[];
extern const u8 MatchCall_Text_MrStone5[];
extern const u8 MatchCall_Text_MrStone6[];
extern const u8 MatchCall_Text_MrStone7[];
extern const u8 MatchCall_Text_MrStone8[];
extern const u8 MatchCall_Text_MrStone9[];
extern const u8 MatchCall_Text_MrStone10[];
extern const u8 MatchCall_Text_MrStone11[];
extern const u8 gMrStoneMatchCallDesc[];
extern const u8 gMrStoneMatchCallName[];
extern const u8 MatchCall_Text_Norman1[];
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 gText_Norman_Pokenav_2B5719[];
extern const u8 gText_Norman_Pokenav_2B5795[];
extern const u8 gText_Norman_Pokenav_2B584D[];
extern const u8 gText_Norman_Pokenav_2B58E3[];
extern const u8 gText_Norman_Pokenav_2B5979[];
extern const u8 gText_Norman_Pokenav_2B5A07[];
extern const u8 gText_Norman_Pokenav_2B5A69[];
extern const u8 gText_Norman_Pokenav_2B5ACF[];
extern const u8 gText_Norman_Pokenav_2B5B5E[];
extern const u8 MatchCall_Text_Mom1[];
extern const u8 MatchCall_Text_Mom2[];
extern const u8 MatchCall_Text_Mom3[];
extern const u8 gNormanMatchCallDesc[];
extern const u8 gNormanMatchCallName[];
extern const u8 MatchCall_Text_Steven1[];
extern const u8 MatchCall_Text_Steven2[];
extern const u8 MatchCall_Text_Steven3[];
extern const u8 MatchCall_Text_Steven4[];
extern const u8 MatchCall_Text_Steven5[];
extern const u8 MatchCall_Text_Steven6[];
extern const u8 MatchCall_Text_Steven7[];
extern const u8 gProfBirchMatchCallDesc[];
extern const u8 gProfBirchMatchCallName[];
extern const u8 MatchCall_Text_May1[];
extern const u8 MatchCall_Text_May2[];
extern const u8 MatchCall_Text_May3[];
extern const u8 MatchCall_Text_May4[];
extern const u8 MatchCall_Text_May5[];
extern const u8 MatchCall_Text_May6[];
extern const u8 MatchCall_Text_May7[];
extern const u8 MatchCall_Text_May8[];
extern const u8 MatchCall_Text_May9[];
extern const u8 MatchCall_Text_May10[];
extern const u8 MatchCall_Text_May11[];
extern const u8 MatchCall_Text_May12[];
extern const u8 MatchCall_Text_May13[];
extern const u8 MatchCall_Text_May14[];
extern const u8 MatchCall_Text_May15[];
extern const u8 gText_Mom_Pokenav_2B227B[];
extern const u8 gText_Mom_Pokenav_2B2310[];
extern const u8 gText_Mom_Pokenav_2B23F3[];
extern const u8 MatchCall_Text_Brendan1[];
extern const u8 MatchCall_Text_Brendan2[];
extern const u8 MatchCall_Text_Brendan3[];
extern const u8 MatchCall_Text_Brendan4[];
extern const u8 MatchCall_Text_Brendan5[];
extern const u8 MatchCall_Text_Brendan6[];
extern const u8 MatchCall_Text_Brendan7[];
extern const u8 MatchCall_Text_Brendan8[];
extern const u8 MatchCall_Text_Brendan9[];
extern const u8 MatchCall_Text_Brendan10[];
extern const u8 MatchCall_Text_Brendan11[];
extern const u8 MatchCall_Text_Brendan12[];
extern const u8 MatchCall_Text_Brendan13[];
extern const u8 MatchCall_Text_Brendan14[];
extern const u8 MatchCall_Text_Brendan15[];
extern const u8 gMomMatchCallDesc[];
extern const u8 gMomMatchCallName[];
extern const u8 MatchCall_Text_Wally1[];
extern const u8 MatchCall_Text_Wally2[];
extern const u8 MatchCall_Text_Wally3[];
extern const u8 MatchCall_Text_Wally4[];
extern const u8 MatchCall_Text_Wally5[];
extern const u8 MatchCall_Text_Wally6[];
extern const u8 MatchCall_Text_Wally7[];
extern const u8 gText_Steven_Pokenav_2B5B95[];
extern const u8 gText_Steven_Pokenav_2B5C53[];
extern const u8 gText_Steven_Pokenav_2B5CC9[];
extern const u8 gText_Steven_Pokenav_2B5DB4[];
extern const u8 gText_Steven_Pokenav_2B5E26[];
extern const u8 gText_Steven_Pokenav_2B5EA2[];
extern const u8 gText_Steven_Pokenav_2B5ED9[];
extern const u8 MatchCall_Text_Scott1[];
extern const u8 MatchCall_Text_Scott2[];
extern const u8 MatchCall_Text_Scott3[];
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 gStevenMatchCallDesc[];
extern const u8 gStevenMatchCallName[];
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_Sidney[];
extern const u8 MatchCall_Text_Phoebe[];
extern const u8 MatchCall_Text_Glacia[];
extern const u8 MatchCall_Text_Drake[];
extern const u8 MatchCall_Text_Wallace[];
extern const u8 gText_May_Pokenav_2B3AB3[];
extern const u8 gText_May_Pokenav_2B3B3F[];
extern const u8 gText_May_Pokenav_2B3C13[];
extern const u8 gText_May_Pokenav_2B3CF3[];
extern const u8 gText_May_Pokenav_2B3D4B[];
extern const u8 gText_May_Pokenav_2B3DD1[];
extern const u8 gText_May_Pokenav_2B3E69[];
extern const u8 gText_May_Pokenav_2B3ECD[];
extern const u8 gText_May_Pokenav_2B3F2B[];
extern const u8 gText_May_Pokenav_2B3FFB[];
extern const u8 gText_May_Pokenav_2B402B[];
extern const u8 gText_May_Pokenav_2B414B[];
extern const u8 gText_May_Pokenav_2B4228[];
extern const u8 gText_May_Pokenav_2B42E0[];
extern const u8 gText_May_Pokenav_2B4350[];
extern const u8 gMayBrendanMatchCallDesc[];
extern const u8 gExpandedPlaceholder_May[];
extern const u8 gText_Brendan_Pokenav_2B43EF[];
extern const u8 gText_Brendan_Pokenav_2B4486[];
extern const u8 gText_Brendan_Pokenav_2B4560[];
extern const u8 gText_Brendan_Pokenav_2B463F[];
extern const u8 gText_Brendan_Pokenav_2B46B7[];
extern const u8 gText_Brendan_Pokenav_2B4761[];
extern const u8 gText_Brendan_Pokenav_2B47F4[];
extern const u8 gText_Brendan_Pokenav_2B4882[];
extern const u8 gText_Brendan_Pokenav_2B4909[];
extern const u8 gText_Brendan_Pokenav_2B49C4[];
extern const u8 gText_Brendan_Pokenav_2B4A44[];
extern const u8 gText_Brendan_Pokenav_2B4B28[];
extern const u8 gText_Brendan_Pokenav_2B4C15[];
extern const u8 gText_Brendan_Pokenav_2B4CD8[];
extern const u8 gText_Brendan_Pokenav_2B4D46[];
extern const u8 gExpandedPlaceholder_Brendan[];
extern const u8 gText_Wally_Pokenav_2B4DE2[];
extern const u8 gText_Wally_Pokenav_2B4E57[];
extern const u8 gText_Wally_Pokenav_2B4EA5[];
extern const u8 gText_Wally_Pokenav_2B4F41[];
extern const u8 gText_Wally_Pokenav_2B4FF3[];
extern const u8 gText_Wally_Pokenav_2B50B1[];
extern const u8 gText_Wally_Pokenav_2B5100[];
extern const u8 gWallyMatchCallDesc[];
extern const u8 gText_Scott_Pokenav_2B5184[];
extern const u8 gText_Scott_Pokenav_2B5275[];
extern const u8 gText_Scott_Pokenav_2B5323[];
extern const u8 gText_Scott_Pokenav_2B53DB[];
extern const u8 gText_Scott_Pokenav_2B54A5[];
extern const u8 gText_Scott_Pokenav_2B5541[];
extern const u8 gText_Scott_Pokenav_2B56CA[];
extern const u8 gScottMatchCallDesc[];
extern const u8 gScottMatchCallName[];
extern const u8 gText_Roxanne_Pokenav_2B2456[];
extern const u8 gText_Roxanne_Pokenav_2B250E[];
extern const u8 gText_Roxanne_Pokenav_2B25C1[];
extern const u8 gText_Roxanne_Pokenav_2B2607[];
extern const u8 gRoxanneMatchCallDesc[];
extern const u8 gText_Brawly_Pokenav_2B2659[];
extern const u8 gText_Brawly_Pokenav_2B275D[];
extern const u8 gText_Brawly_Pokenav_2B286F[];
extern const u8 gText_Brawly_Pokenav_2B28D1[];
extern const u8 gBrawlyMatchCallDesc[];
extern const u8 gText_Wattson_Pokenav_2B2912[];
extern const u8 gText_Wattson_Pokenav_2B29CA[];
extern const u8 gText_Wattson_Pokenav_2B2AB6[];
extern const u8 gText_Wattson_Pokenav_2B2B01[];
extern const u8 gWattsonMatchCallDesc[];
extern const u8 gText_Flannery_Pokenav_2B2B4D[];
extern const u8 gText_Flannery_Pokenav_2B2C0E[];
extern const u8 gText_Flannery_Pokenav_2B2CF1[];
extern const u8 gText_Flannery_Pokenav_2B2D54[];
extern const u8 gFlanneryMatchCallDesc[];
extern const u8 gText_Winona_Pokenav_2B2DA4[];
extern const u8 gText_Winona_Pokenav_2B2E2B[];
extern const u8 gText_Winona_Pokenav_2B2EC2[];
extern const u8 gText_Winona_Pokenav_2B2F16[];
extern const u8 gWinonaMatchCallDesc[];
extern const u8 gText_TateLiza_Pokenav_2B2F97[];
extern const u8 gText_TateLiza_Pokenav_2B306E[];
extern const u8 gText_TateLiza_Pokenav_2B3158[];
extern const u8 gText_TateLiza_Pokenav_2B31CD[];
extern const u8 gTateLizaMatchCallDesc[];
extern const u8 gText_Juan_Pokenav_2B3249[];
extern const u8 gText_Juan_Pokenav_2B32EC[];
extern const u8 gText_Juan_Pokenav_2B33AA[];
extern const u8 gText_Juan_Pokenav_2B341E[];
extern const u8 gJuanMatchCallDesc[];
extern const u8 gText_Sidney_Pokenav_2B34CC[];
extern const u8 gEliteFourMatchCallDesc[];
extern const u8 gText_Phoebe_Pokenav_2B3561[];
extern const u8 gText_Glacia_Pokenav_2B35E4[];
extern const u8 gText_Drake_Pokenav_2B368B[];
extern const u8 gText_Wallace_Pokenav_2B3790[];
extern const u8 gChampionMatchCallDesc[];
extern const u8 gMatchCallStevenStrategyText[];
extern const u8 gMatchCall_StevenTrainersPokemonText[];
extern const u8 gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle[];
extern const u8 gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle[];
extern const u8 gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle[];
extern const u8 gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle[];
extern const u8 gMatchCall_BrendanStrategyText[];
extern const u8 gMatchCall_BrendanTrainersPokemonText[];
extern const u8 gMatchCall_BrendanSelfIntroductionText_Line1[];
extern const u8 gMatchCall_BrendanSelfIntroductionText_Line2[];
extern const u8 gMatchCall_MayStrategyText[];
extern const u8 gMatchCall_MayTrainersPokemonText[];
extern const u8 gMatchCall_MaySelfIntroductionText_Line1[];
extern const u8 gMatchCall_MaySelfIntroductionText_Line2[];
// .rodata
static const match_call_text_data_t sMrStoneTextScripts[] = {
{ gText_MrStone_Pokenav_2B60C0, 0xFFFF, FLAG_ENABLE_MR_STONE_POKENAV },
{ gText_MrStone_Pokenav_2B61E6, FLAG_ENABLE_MR_STONE_POKENAV, 0xFFFF },
{ gText_MrStone_Pokenav_2B6302, FLAG_DELIVERED_STEVEN_LETTER, 0xFFFF },
{ gText_MrStone_Pokenav_2B63A0, FLAG_RECEIVED_EXP_SHARE, 0xFFFF },
{ gText_MrStone_Pokenav_2B64A2, FLAG_RECEIVED_HM04, 0xFFFF },
{ gText_MrStone_Pokenav_2B6526, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
{ gText_MrStone_Pokenav_2B65BB, FLAG_RECEIVED_CASTFORM, 0xFFFF },
{ gText_MrStone_Pokenav_2B6664, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF },
{ gText_MrStone_Pokenav_2B66B1, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
{ gText_MrStone_Pokenav_2B6703, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF },
{ gText_MrStone_Pokenav_2B67ED, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
{ MatchCall_Text_MrStone1, 0xFFFF, FLAG_ENABLE_MR_STONE_POKENAV },
{ MatchCall_Text_MrStone2, FLAG_ENABLE_MR_STONE_POKENAV, 0xFFFF },
{ MatchCall_Text_MrStone3, FLAG_DELIVERED_STEVEN_LETTER, 0xFFFF },
{ MatchCall_Text_MrStone4, FLAG_RECEIVED_EXP_SHARE, 0xFFFF },
{ MatchCall_Text_MrStone5, FLAG_RECEIVED_HM04, 0xFFFF },
{ MatchCall_Text_MrStone6, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
{ MatchCall_Text_MrStone7, FLAG_RECEIVED_CASTFORM, 0xFFFF },
{ MatchCall_Text_MrStone8, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF },
{ MatchCall_Text_MrStone9, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
{ MatchCall_Text_MrStone10, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF },
{ MatchCall_Text_MrStone11, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
static const struct MatchCallStruct0 sMrStoneMatchCallHeader =
@@ -330,22 +299,22 @@ static const struct MatchCallStruct0 sMrStoneMatchCallHeader =
.type = 0,
.mapSec = MAPSEC_RUSTBORO_CITY,
.flag = 0xFFFF,
.desc = gMrStoneMatchCallDesc,
.name = gMrStoneMatchCallName,
.desc = gText_MrStoneMatchCallDesc,
.name = gText_MrStoneMatchCallName,
.textData = sMrStoneTextScripts
};
static const match_call_text_data_t sNormanTextScripts[] = {
{ gText_Norman_Pokenav_2B5719, FLAG_ENABLE_NORMAN_MATCH_CALL, 0xFFFF },
{ gText_Norman_Pokenav_2B5795, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF },
{ gText_Norman_Pokenav_2B584D, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF },
{ gText_Norman_Pokenav_2B58E3, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
{ gText_Norman_Pokenav_2B5979, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
{ gText_Norman_Pokenav_2B5A07, 0xFFFE, 0xFFFF },
{ gText_Norman_Pokenav_2B5A69, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ gText_Norman_Pokenav_2B5ACF, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ gText_Norman_Pokenav_2B5B5E, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
{ MatchCall_Text_Norman1, FLAG_ENABLE_NORMAN_MATCH_CALL, 0xFFFF },
{ MatchCall_Text_Norman2, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF },
{ MatchCall_Text_Norman3, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF },
{ MatchCall_Text_Norman4, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
{ MatchCall_Text_Norman5, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
{ MatchCall_Text_Norman6, 0xFFFE, 0xFFFF },
{ MatchCall_Text_Norman7, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ MatchCall_Text_Norman8, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ MatchCall_Text_Norman9, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
static const struct MatchCallStruct5 sNormanMatchCallHeader =
@@ -354,8 +323,8 @@ static const struct MatchCallStruct5 sNormanMatchCallHeader =
.mapSec = MAPSEC_PETALBURG_CITY,
.flag = FLAG_ENABLE_NORMAN_MATCH_CALL,
.rematchTableIdx = REMATCH_NORMAN,
.desc = gNormanMatchCallDesc,
.name = gNormanMatchCallName,
.desc = gText_NormanMatchCallDesc,
.name = gText_NormanMatchCallName,
.textData = sNormanTextScripts
};
@@ -364,15 +333,15 @@ static const struct MatchCallStruct3 sProfBirchMatchCallHeader =
.type = 3,
.mapSec = 0,
.flag = FLAG_ENABLE_PROF_BIRCH_MATCH_CALL,
.desc = gProfBirchMatchCallDesc,
.name = gProfBirchMatchCallName
.desc = gText_ProfBirchMatchCallDesc,
.name = gText_ProfBirchMatchCallName
};
static const match_call_text_data_t sMomTextScripts[] = {
{ gText_Mom_Pokenav_2B227B, 0xffff, 0xffff },
{ gText_Mom_Pokenav_2B2310, FLAG_DEFEATED_PETALBURG_GYM, 0xffff },
{ gText_Mom_Pokenav_2B23F3, FLAG_SYS_GAME_CLEAR, 0xffff },
{ NULL, 0xffff, 0xffff }
{ MatchCall_Text_Mom1, 0xFFFF, 0xFFFF },
{ MatchCall_Text_Mom2, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
{ MatchCall_Text_Mom3, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
static const struct MatchCallStruct0 sMomMatchCallHeader =
@@ -380,20 +349,20 @@ static const struct MatchCallStruct0 sMomMatchCallHeader =
.type = 0,
.mapSec = MAPSEC_LITTLEROOT_TOWN,
.flag = FLAG_ENABLE_MOM_MATCH_CALL,
.desc = gMomMatchCallDesc,
.name = gMomMatchCallName,
.desc = gText_MomMatchCallDesc,
.name = gText_MomMatchCallName,
.textData = sMomTextScripts
};
static const match_call_text_data_t sStevenTextScripts[] = {
{ gText_Steven_Pokenav_2B5B95, 0xffff, 0xffff },
{ gText_Steven_Pokenav_2B5C53, FLAG_RUSTURF_TUNNEL_OPENED, 0xffff },
{ gText_Steven_Pokenav_2B5CC9, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xffff },
{ gText_Steven_Pokenav_2B5DB4, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xffff },
{ gText_Steven_Pokenav_2B5E26, FLAG_DEFEATED_MOSSDEEP_GYM, 0xffff },
{ gText_Steven_Pokenav_2B5EA2, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xffff },
{ gText_Steven_Pokenav_2B5ED9, FLAG_SYS_GAME_CLEAR, 0xffff },
{ NULL, 0xffff, 0xffff },
{ MatchCall_Text_Steven1, 0xFFFF, 0xFFFF },
{ MatchCall_Text_Steven2, FLAG_RUSTURF_TUNNEL_OPENED, 0xFFFF },
{ MatchCall_Text_Steven3, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
{ MatchCall_Text_Steven4, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
{ MatchCall_Text_Steven5, FLAG_DEFEATED_MOSSDEEP_GYM, 0xFFFF },
{ MatchCall_Text_Steven6, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF },
{ MatchCall_Text_Steven7, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF },
};
static const struct MatchCallStruct0 sStevenMatchCallHeader =
@@ -401,28 +370,28 @@ static const struct MatchCallStruct0 sStevenMatchCallHeader =
.type = 0,
.mapSec = MAPSEC_NONE,
.flag = FLAG_REGISTERED_STEVEN_POKENAV,
.desc = gStevenMatchCallDesc,
.name = gStevenMatchCallName,
.desc = gText_StevenMatchCallDesc,
.name = gText_StevenMatchCallName,
.textData = sStevenTextScripts
};
static const match_call_text_data_t sMayTextScripts[] = {
{ gText_May_Pokenav_2B3AB3, 0xFFFF, 0xFFFF },
{ gText_May_Pokenav_2B3B3F, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF },
{ gText_May_Pokenav_2B3C13, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF },
{ gText_May_Pokenav_2B3CF3, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF },
{ gText_May_Pokenav_2B3D4B, FLAG_RECEIVED_HM04, 0xFFFF },
{ gText_May_Pokenav_2B3DD1, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF },
{ gText_May_Pokenav_2B3E69, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
{ gText_May_Pokenav_2B3ECD, FLAG_RECEIVED_CASTFORM, 0xFFFF },
{ gText_May_Pokenav_2B3F2B, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
{ gText_May_Pokenav_2B3FFB, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF },
{ gText_May_Pokenav_2B402B, FLAG_MET_TEAM_AQUA_HARBOR, 0xFFFF },
{ gText_May_Pokenav_2B414B, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
{ gText_May_Pokenav_2B4228, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF },
{ gText_May_Pokenav_2B42E0, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF },
{ gText_May_Pokenav_2B4350, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
{ MatchCall_Text_May1, 0xFFFF, 0xFFFF },
{ MatchCall_Text_May2, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF },
{ MatchCall_Text_May3, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF },
{ MatchCall_Text_May4, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF },
{ MatchCall_Text_May5, FLAG_RECEIVED_HM04, 0xFFFF },
{ MatchCall_Text_May6, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF },
{ MatchCall_Text_May7, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
{ MatchCall_Text_May8, FLAG_RECEIVED_CASTFORM, 0xFFFF },
{ MatchCall_Text_May9, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
{ MatchCall_Text_May10, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF },
{ MatchCall_Text_May11, FLAG_MET_TEAM_AQUA_HARBOR, 0xFFFF },
{ MatchCall_Text_May12, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
{ MatchCall_Text_May13, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF },
{ MatchCall_Text_May14, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF },
{ MatchCall_Text_May15, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
static const struct MatchCallStruct4 sMayMatchCallHeader =
@@ -430,28 +399,28 @@ static const struct MatchCallStruct4 sMayMatchCallHeader =
.type = 4,
.gender = MALE, //Gender of player
.flag = FLAG_ENABLE_RIVAL_MATCH_CALL,
.desc = gMayBrendanMatchCallDesc,
.name = gExpandedPlaceholder_May,
.desc = gText_MayBrendanMatchCallDesc,
.name = gText_ExpandedPlaceholder_May,
.textData = sMayTextScripts
};
static const match_call_text_data_t sBrendanTextScripts[] = {
{ gText_Brendan_Pokenav_2B43EF, 0xFFFF, 0xFFFF },
{ gText_Brendan_Pokenav_2B4486, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF },
{ gText_Brendan_Pokenav_2B4560, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF },
{ gText_Brendan_Pokenav_2B463F, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF },
{ gText_Brendan_Pokenav_2B46B7, FLAG_RECEIVED_HM04, 0xFFFF },
{ gText_Brendan_Pokenav_2B4761, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF },
{ gText_Brendan_Pokenav_2B47F4, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
{ gText_Brendan_Pokenav_2B4882, FLAG_RECEIVED_CASTFORM, 0xFFFF },
{ gText_Brendan_Pokenav_2B4909, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
{ gText_Brendan_Pokenav_2B49C4, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF },
{ gText_Brendan_Pokenav_2B4A44, FLAG_MET_TEAM_AQUA_HARBOR, 0xFFFF },
{ gText_Brendan_Pokenav_2B4B28, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
{ gText_Brendan_Pokenav_2B4C15, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF },
{ gText_Brendan_Pokenav_2B4CD8, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF },
{ gText_Brendan_Pokenav_2B4D46, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
{ MatchCall_Text_Brendan1, 0xFFFF, 0xFFFF },
{ MatchCall_Text_Brendan2, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF },
{ MatchCall_Text_Brendan3, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF },
{ MatchCall_Text_Brendan4, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF },
{ MatchCall_Text_Brendan5, FLAG_RECEIVED_HM04, 0xFFFF },
{ MatchCall_Text_Brendan6, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF },
{ MatchCall_Text_Brendan7, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
{ MatchCall_Text_Brendan8, FLAG_RECEIVED_CASTFORM, 0xFFFF },
{ MatchCall_Text_Brendan9, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
{ MatchCall_Text_Brendan10, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF },
{ MatchCall_Text_Brendan11, FLAG_MET_TEAM_AQUA_HARBOR, 0xFFFF },
{ MatchCall_Text_Brendan12, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
{ MatchCall_Text_Brendan13, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF },
{ MatchCall_Text_Brendan14, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF },
{ MatchCall_Text_Brendan15, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
static const struct MatchCallStruct4 sBrendanMatchCallHeader =
@@ -459,20 +428,20 @@ static const struct MatchCallStruct4 sBrendanMatchCallHeader =
.type = 4,
.gender = FEMALE, //Gender of player
.flag = FLAG_ENABLE_RIVAL_MATCH_CALL,
.desc = gMayBrendanMatchCallDesc,
.name = gExpandedPlaceholder_Brendan,
.desc = gText_MayBrendanMatchCallDesc,
.name = gText_ExpandedPlaceholder_Brendan,
.textData = sBrendanTextScripts
};
static const match_call_text_data_t sWallyTextScripts[] = {
{ gText_Wally_Pokenav_2B4DE2, 0xFFFF, 0xFFFF },
{ gText_Wally_Pokenav_2B4E57, FLAG_RUSTURF_TUNNEL_OPENED, 0xFFFF },
{ gText_Wally_Pokenav_2B4EA5, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF },
{ gText_Wally_Pokenav_2B4F41, FLAG_RECEIVED_CASTFORM, 0xFFFF },
{ gText_Wally_Pokenav_2B4FF3, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF },
{ gText_Wally_Pokenav_2B50B1, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF },
{ gText_Wally_Pokenav_2B5100, FLAG_DEFEATED_WALLY_VICTORY_ROAD, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
{ MatchCall_Text_Wally1, 0xFFFF, 0xFFFF },
{ MatchCall_Text_Wally2, FLAG_RUSTURF_TUNNEL_OPENED, 0xFFFF },
{ MatchCall_Text_Wally3, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF },
{ MatchCall_Text_Wally4, FLAG_RECEIVED_CASTFORM, 0xFFFF },
{ MatchCall_Text_Wally5, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF },
{ MatchCall_Text_Wally6, FLAG_KYOGRE_ESCAPED_SEAFLOOR_CAVERN, 0xFFFF },
{ MatchCall_Text_Wally7, FLAG_DEFEATED_WALLY_VICTORY_ROAD, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
const struct MatchCallSubstruct2 sWallyAdditionalData[] = {
@@ -488,20 +457,20 @@ static const struct MatchCallStruct2 sWallyMatchCallHeader =
.mapSec = 0,
.flag = FLAG_ENABLE_WALLY_MATCH_CALL,
.rematchTableIdx = REMATCH_WALLY_3,
.desc = gWallyMatchCallDesc,
.desc = gText_WallyMatchCallDesc,
.textData = sWallyTextScripts,
.v10 = sWallyAdditionalData
};
static const match_call_text_data_t sScottTextScripts[] = {
{ gText_Scott_Pokenav_2B5184, 0xFFFF, 0xFFFF },
{ gText_Scott_Pokenav_2B5275, FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, 0xFFFF },
{ gText_Scott_Pokenav_2B5323, FLAG_RECEIVED_CASTFORM, 0xFFFF },
{ gText_Scott_Pokenav_2B53DB, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
{ gText_Scott_Pokenav_2B54A5, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
{ gText_Scott_Pokenav_2B5541, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF },
{ gText_Scott_Pokenav_2B56CA, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
{ MatchCall_Text_Scott1, 0xFFFF, 0xFFFF },
{ MatchCall_Text_Scott2, FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, 0xFFFF },
{ MatchCall_Text_Scott3, FLAG_RECEIVED_CASTFORM, 0xFFFF },
{ MatchCall_Text_Scott4, FLAG_RECEIVED_RED_OR_BLUE_ORB, 0xFFFF },
{ MatchCall_Text_Scott5, FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE, 0xFFFF },
{ MatchCall_Text_Scott6, FLAG_DEFEATED_SOOTOPOLIS_GYM, 0xFFFF },
{ MatchCall_Text_Scott7, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
@@ -510,17 +479,17 @@ static const struct MatchCallStruct0 sScottMatchCallHeader =
.type = 0,
.mapSec = MAPSEC_NONE,
.flag = FLAG_ENABLE_SCOTT_MATCH_CALL,
.desc = gScottMatchCallDesc,
.name = gScottMatchCallName,
.desc = gText_ScottMatchCallDesc,
.name = gText_ScottMatchCallName,
.textData = sScottTextScripts
};
static const match_call_text_data_t sRoxanneTextScripts[] = {
{ gText_Roxanne_Pokenav_2B2456, 0xFFFE, 0xFFFF },
{ gText_Roxanne_Pokenav_2B250E, 0xFFFF, 0xFFFF },
{ gText_Roxanne_Pokenav_2B25C1, 0xFFFF, 0xFFFF },
{ gText_Roxanne_Pokenav_2B2607, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
{ MatchCall_Text_Roxanne1, 0xFFFE, 0xFFFF },
{ MatchCall_Text_Roxanne2, 0xFFFF, 0xFFFF },
{ MatchCall_Text_Roxanne3, 0xFFFF, 0xFFFF },
{ MatchCall_Text_Roxanne4, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
static const struct MatchCallStruct5 sRoxanneMatchCallHeader =
@@ -529,17 +498,17 @@ static const struct MatchCallStruct5 sRoxanneMatchCallHeader =
.mapSec = MAPSEC_RUSTBORO_CITY,
.flag = FLAG_ENABLE_ROXANNE_MATCH_CALL,
.rematchTableIdx = REMATCH_ROXANNE,
.desc = gRoxanneMatchCallDesc,
.desc = gText_RoxanneMatchCallDesc,
.name = NULL,
.textData = sRoxanneTextScripts
};
static const match_call_text_data_t sBrawlyTextScripts[] = {
{ gText_Brawly_Pokenav_2B2659, 0xFFFE, 0xFFFF },
{ gText_Brawly_Pokenav_2B275D, 0xFFFF, 0xFFFF },
{ gText_Brawly_Pokenav_2B286F, 0xFFFF, 0xFFFF },
{ gText_Brawly_Pokenav_2B28D1, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
{ MatchCall_Text_Brawly1, 0xFFFE, 0xFFFF },
{ MatchCall_Text_Brawly2, 0xFFFF, 0xFFFF },
{ MatchCall_Text_Brawly3, 0xFFFF, 0xFFFF },
{ MatchCall_Text_Brawly4, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
static const struct MatchCallStruct5 sBrawlyMatchCallHeader =
@@ -548,17 +517,17 @@ static const struct MatchCallStruct5 sBrawlyMatchCallHeader =
.mapSec = MAPSEC_DEWFORD_TOWN,
.flag = FLAG_ENABLE_BRAWLY_MATCH_CALL,
.rematchTableIdx = REMATCH_BRAWLY,
.desc = gBrawlyMatchCallDesc,
.desc = gText_BrawlyMatchCallDesc,
.name = NULL,
.textData = sBrawlyTextScripts
};
static const match_call_text_data_t sWattsonTextScripts[] = {
{ gText_Wattson_Pokenav_2B2912, 0xFFFE, 0xFFFF },
{ gText_Wattson_Pokenav_2B29CA, 0xFFFF, 0xFFFF },
{ gText_Wattson_Pokenav_2B2AB6, 0xFFFF, 0xFFFF },
{ gText_Wattson_Pokenav_2B2B01, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
{ MatchCall_Text_Wattson1, 0xFFFE, 0xFFFF },
{ MatchCall_Text_Wattson2, 0xFFFF, 0xFFFF },
{ MatchCall_Text_Wattson3, 0xFFFF, 0xFFFF },
{ MatchCall_Text_Wattson4, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
static const struct MatchCallStruct5 sWattsonMatchCallHeader =
@@ -567,17 +536,17 @@ static const struct MatchCallStruct5 sWattsonMatchCallHeader =
.mapSec = MAPSEC_MAUVILLE_CITY,
.flag = FLAG_ENABLE_WATTSON_MATCH_CALL,
.rematchTableIdx = REMATCH_WATTSON,
.desc = gWattsonMatchCallDesc,
.desc = gText_WattsonMatchCallDesc,
.name = NULL,
.textData = sWattsonTextScripts
};
static const match_call_text_data_t sFlanneryTextScripts[] = {
{ gText_Flannery_Pokenav_2B2B4D, 0xFFFE, 0xFFFF },
{ gText_Flannery_Pokenav_2B2C0E, 0xFFFF, 0xFFFF },
{ gText_Flannery_Pokenav_2B2CF1, 0xFFFF, 0xFFFF },
{ gText_Flannery_Pokenav_2B2D54, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
{ MatchCall_Text_Flannery1, 0xFFFE, 0xFFFF },
{ MatchCall_Text_Flannery2, 0xFFFF, 0xFFFF },
{ MatchCall_Text_Flannery3, 0xFFFF, 0xFFFF },
{ MatchCall_Text_Flannery4, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
static const struct MatchCallStruct5 sFlanneryMatchCallHeader =
@@ -586,17 +555,17 @@ static const struct MatchCallStruct5 sFlanneryMatchCallHeader =
.mapSec = MAPSEC_LAVARIDGE_TOWN,
.flag = FLAG_ENABLE_FLANNERY_MATCH_CALL,
.rematchTableIdx = REMATCH_FLANNERY,
.desc = gFlanneryMatchCallDesc,
.desc = gText_FlanneryMatchCallDesc,
.name = NULL,
.textData = sFlanneryTextScripts
};
static const match_call_text_data_t sWinonaTextScripts[] = {
{ gText_Winona_Pokenav_2B2DA4, 0xFFFE, 0xFFFF },
{ gText_Winona_Pokenav_2B2E2B, 0xFFFF, 0xFFFF },
{ gText_Winona_Pokenav_2B2EC2, 0xFFFF, 0xFFFF },
{ gText_Winona_Pokenav_2B2F16, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
{ MatchCall_Text_Winona1, 0xFFFE, 0xFFFF },
{ MatchCall_Text_Winona2, 0xFFFF, 0xFFFF },
{ MatchCall_Text_Winona3, 0xFFFF, 0xFFFF },
{ MatchCall_Text_Winona4, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
static const struct MatchCallStruct5 sWinonaMatchCallHeader =
@@ -605,17 +574,17 @@ static const struct MatchCallStruct5 sWinonaMatchCallHeader =
.mapSec = MAPSEC_FORTREE_CITY,
.flag = FLAG_ENABLE_WINONA_MATCH_CALL,
.rematchTableIdx = REMATCH_WINONA,
.desc = gWinonaMatchCallDesc,
.desc = gText_WinonaMatchCallDesc,
.name = NULL,
.textData = sWinonaTextScripts
};
static const match_call_text_data_t sTateLizaTextScripts[] = {
{ gText_TateLiza_Pokenav_2B2F97, 0xFFFE, 0xFFFF },
{ gText_TateLiza_Pokenav_2B306E, 0xFFFF, 0xFFFF },
{ gText_TateLiza_Pokenav_2B3158, 0xFFFF, 0xFFFF },
{ gText_TateLiza_Pokenav_2B31CD, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
{ MatchCall_Text_TateLiza1, 0xFFFE, 0xFFFF },
{ MatchCall_Text_TateLiza2, 0xFFFF, 0xFFFF },
{ MatchCall_Text_TateLiza3, 0xFFFF, 0xFFFF },
{ MatchCall_Text_TateLiza4, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
static const struct MatchCallStruct5 sTateLizaMatchCallHeader =
@@ -624,17 +593,17 @@ static const struct MatchCallStruct5 sTateLizaMatchCallHeader =
.mapSec = MAPSEC_MOSSDEEP_CITY,
.flag = FLAG_ENABLE_TATE_AND_LIZA_MATCH_CALL,
.rematchTableIdx = REMATCH_TATE_AND_LIZA,
.desc = gTateLizaMatchCallDesc,
.desc = gText_TateLizaMatchCallDesc,
.name = NULL,
.textData = sTateLizaTextScripts
};
static const match_call_text_data_t sJuanTextScripts[] = {
{ gText_Juan_Pokenav_2B3249, 0xFFFE, 0xFFFF },
{ gText_Juan_Pokenav_2B32EC, 0xFFFF, 0xFFFF },
{ gText_Juan_Pokenav_2B33AA, 0xFFFF, 0xFFFF },
{ gText_Juan_Pokenav_2B341E, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
{ MatchCall_Text_Juan1, 0xFFFE, 0xFFFF },
{ MatchCall_Text_Juan2, 0xFFFF, 0xFFFF },
{ MatchCall_Text_Juan3, 0xFFFF, 0xFFFF },
{ MatchCall_Text_Juan4, FLAG_SYS_GAME_CLEAR, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
static const struct MatchCallStruct5 sJuanMatchCallHeader =
@@ -643,14 +612,14 @@ static const struct MatchCallStruct5 sJuanMatchCallHeader =
.mapSec = MAPSEC_SOOTOPOLIS_CITY,
.flag = FLAG_ENABLE_JUAN_MATCH_CALL,
.rematchTableIdx = REMATCH_JUAN,
.desc = gJuanMatchCallDesc,
.desc = gText_JuanMatchCallDesc,
.name = NULL,
.textData = sJuanTextScripts
};
static const match_call_text_data_t sSidneyTextScripts[] = {
{ gText_Sidney_Pokenav_2B34CC, 0xFFFF, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
{ MatchCall_Text_Sidney, 0xFFFF, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
static const struct MatchCallStruct5 sSidneyMatchCallHeader =
@@ -659,14 +628,14 @@ static const struct MatchCallStruct5 sSidneyMatchCallHeader =
.mapSec = MAPSEC_EVER_GRANDE_CITY,
.flag = FLAG_REMATCH_SIDNEY,
.rematchTableIdx = REMATCH_SIDNEY,
.desc = gEliteFourMatchCallDesc,
.desc = gText_EliteFourMatchCallDesc,
.name = NULL,
.textData = sSidneyTextScripts
};
static const match_call_text_data_t sPhoebeTextScripts[] = {
{ gText_Phoebe_Pokenav_2B3561, 0xFFFF, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
{ MatchCall_Text_Phoebe, 0xFFFF, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
static const struct MatchCallStruct5 sPhoebeMatchCallHeader =
@@ -675,14 +644,14 @@ static const struct MatchCallStruct5 sPhoebeMatchCallHeader =
.mapSec = MAPSEC_EVER_GRANDE_CITY,
.flag = FLAG_REMATCH_PHOEBE,
.rematchTableIdx = REMATCH_PHOEBE,
.desc = gEliteFourMatchCallDesc,
.desc = gText_EliteFourMatchCallDesc,
.name = NULL,
.textData = sPhoebeTextScripts
};
static const match_call_text_data_t sGlaciaTextScripts[] = {
{ gText_Glacia_Pokenav_2B35E4, 0xFFFF, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
{ MatchCall_Text_Glacia, 0xFFFF, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
static const struct MatchCallStruct5 sGlaciaMatchCallHeader =
@@ -691,14 +660,14 @@ static const struct MatchCallStruct5 sGlaciaMatchCallHeader =
.mapSec = MAPSEC_EVER_GRANDE_CITY,
.flag = FLAG_REMATCH_GLACIA,
.rematchTableIdx = REMATCH_GLACIA,
.desc = gEliteFourMatchCallDesc,
.desc = gText_EliteFourMatchCallDesc,
.name = NULL,
.textData = sGlaciaTextScripts
};
static const match_call_text_data_t sDrakeTextScripts[] = {
{ gText_Drake_Pokenav_2B368B, 0xFFFF, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
{ MatchCall_Text_Drake, 0xFFFF, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
static const struct MatchCallStruct5 sDrakeMatchCallHeader =
@@ -707,14 +676,14 @@ static const struct MatchCallStruct5 sDrakeMatchCallHeader =
.mapSec = MAPSEC_EVER_GRANDE_CITY,
.flag = FLAG_REMATCH_DRAKE,
.rematchTableIdx = REMATCH_DRAKE,
.desc = gEliteFourMatchCallDesc,
.desc = gText_EliteFourMatchCallDesc,
.name = NULL,
.textData = sDrakeTextScripts
};
static const match_call_text_data_t sWallaceTextScripts[] = {
{ gText_Wallace_Pokenav_2B3790, 0xFFFF, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
{ MatchCall_Text_Wallace, 0xFFFF, 0xFFFF },
{ NULL, 0xFFFF, 0xFFFF }
};
static const struct MatchCallStruct5 sWallaceMatchCallHeader =
@@ -723,7 +692,7 @@ static const struct MatchCallStruct5 sWallaceMatchCallHeader =
.mapSec = MAPSEC_EVER_GRANDE_CITY,
.flag = FLAG_REMATCH_WALLACE,
.rematchTableIdx = REMATCH_WALLACE,
.desc = gChampionMatchCallDesc,
.desc = gText_ChampionMatchCallDesc,
.name = NULL,
.textData = sWallaceTextScripts
};
@@ -809,10 +778,40 @@ static void (*const sMatchCall_GetNameAndDescFunctions[])(match_call_t, const u8
};
static const struct MatchCallOverride sMatchCallCheckPageOverrides[] = {
{ MC_HEADER_STEVEN, FACILITY_CLASS_STEVEN, 0xFFFF, { gMatchCallStevenStrategyText, gMatchCall_StevenTrainersPokemonText, gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle, gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle } }, // STEVEN
{ MC_HEADER_STEVEN, FACILITY_CLASS_STEVEN, FLAG_DEFEATED_MOSSDEEP_GYM, { gMatchCallStevenStrategyText, gMatchCall_StevenTrainersPokemonText, gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle, gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle } }, // STEVEN
{ MC_HEADER_BRENDAN, FACILITY_CLASS_BRENDAN, 0xFFFF, { gMatchCall_BrendanStrategyText, gMatchCall_BrendanTrainersPokemonText, gMatchCall_BrendanSelfIntroductionText_Line1, gMatchCall_BrendanSelfIntroductionText_Line2 } }, // Brendan
{ MC_HEADER_MAY, FACILITY_CLASS_MAY, 0xFFFF, { gMatchCall_MayStrategyText, gMatchCall_MayTrainersPokemonText, gMatchCall_MaySelfIntroductionText_Line1, gMatchCall_MaySelfIntroductionText_Line2 } } // May
{
.idx = MC_HEADER_STEVEN,
.facilityClass = FACILITY_CLASS_STEVEN,
.flag = 0xFFFF,
.flavorTexts = {
[CHECK_PAGE_STRATEGY] = gText_MatchCallSteven_Strategy,
[CHECK_PAGE_POKEMON] = gText_MatchCallSteven_Pokemon,
[CHECK_PAGE_INTRO_1] = gText_MatchCallSteven_Intro1_BeforeMeteorFallsBattle,
[CHECK_PAGE_INTRO_2] = gText_MatchCallSteven_Intro2_BeforeMeteorFallsBattle
}
},
{
.idx = MC_HEADER_STEVEN,
.facilityClass = FACILITY_CLASS_STEVEN,
.flag = FLAG_DEFEATED_MOSSDEEP_GYM,
.flavorTexts = {
[CHECK_PAGE_STRATEGY] = gText_MatchCallSteven_Strategy,
[CHECK_PAGE_POKEMON] = gText_MatchCallSteven_Pokemon,
[CHECK_PAGE_INTRO_1] = gText_MatchCallSteven_Intro1_AfterMeteorFallsBattle,
[CHECK_PAGE_INTRO_2] = gText_MatchCallSteven_Intro2_AfterMeteorFallsBattle
}
},
{
.idx = MC_HEADER_BRENDAN,
.facilityClass = FACILITY_CLASS_BRENDAN,
.flag = 0xFFFF,
.flavorTexts = MCFLAVOR(Brendan)
},
{
.idx = MC_HEADER_MAY,
.facilityClass = FACILITY_CLASS_MAY,
.flag = 0xFFFF,
.flavorTexts = MCFLAVOR(May)
}
};
// .text
@@ -867,21 +866,21 @@ bool32 MatchCallFlagGetByIndex(u32 idx)
static bool32 MatchCallGetFlag_Type0(match_call_t matchCall)
{
if (matchCall.type0->flag == 0xffff)
if (matchCall.type0->flag == 0xFFFF)
return TRUE;
return FlagGet(matchCall.type0->flag);
}
static bool32 MatchCallGetFlag_Type1(match_call_t matchCall)
{
if (matchCall.type1->flag == 0xffff)
if (matchCall.type1->flag == 0xFFFF)
return TRUE;
return FlagGet(matchCall.type1->flag);
}
static bool32 MatchCallGetFlag_Type2(match_call_t matchCall)
{
if (matchCall.type2->flag == 0xffff)
if (matchCall.type2->flag == 0xFFFF)
return TRUE;
return FlagGet(matchCall.type2->flag);
}
@@ -890,7 +889,7 @@ static bool32 MatchCallGetFlag_Type4(match_call_t matchCall)
{
if (matchCall.type4->gender != gSaveBlock2Ptr->playerGender)
return FALSE;
if (matchCall.type4->flag == 0xffff)
if (matchCall.type4->flag == 0xFFFF)
return TRUE;
return FlagGet(matchCall.type4->flag);
}
@@ -926,7 +925,7 @@ static u8 MatchCallGetMapSec_Type2(match_call_t matchCall)
{
s32 i;
for (i = 0; matchCall.type2->v10[i].flag != 0xffff; i++)
for (i = 0; matchCall.type2->v10[i].flag != 0xFFFF; i++)
{
if (!FlagGet(matchCall.type2->v10[i].flag))
break;
@@ -1113,11 +1112,11 @@ static void sub_81D1920(const match_call_text_data_t *sub0, u8 *dest)
i--;
while (i)
{
if (sub0[i].flag != 0xffff && FlagGet(sub0[i].flag) == TRUE)
if (sub0[i].flag != 0xFFFF && FlagGet(sub0[i].flag) == TRUE)
break;
i--;
}
if (sub0[i].flag2 != 0xffff)
if (sub0[i].flag2 != 0xFFFF)
FlagSet(sub0[i].flag2);
StringExpandPlaceholders(dest, sub0[i].text);
}
@@ -1129,14 +1128,14 @@ static void sub_81D199C(const match_call_text_data_t *sub0, u16 idx, u8 *dest)
{
if (sub0[i].flag == 0xfffe)
break;
if (sub0[i].flag != 0xffff && !FlagGet(sub0[i].flag))
if (sub0[i].flag != 0xFFFF && !FlagGet(sub0[i].flag))
break;
}
if (sub0[i].flag != 0xfffe)
{
if (i)
i--;
if (sub0[i].flag2 != 0xffff)
if (sub0[i].flag2 != 0xFFFF)
FlagSet(sub0[i].flag2);
StringExpandPlaceholders(dest, sub0[i].text);
}
@@ -1254,8 +1253,8 @@ bool32 sub_81D1BF8(u32 idx)
for (i = 0; i < (int)ARRAY_COUNT(sMatchCallHeaders); i++)
{
u32 r0 = MatchCall_GetRematchTableIdx(i);
if (r0 != REMATCH_TABLE_ENTRIES && r0 == idx)
u32 id = MatchCall_GetRematchTableIdx(i);
if (id != REMATCH_TABLE_ENTRIES && id == idx)
return TRUE;
}
return FALSE;

View File

@@ -76,7 +76,7 @@ void ToggleMatchCallArrows(struct PokenavSub17Substruct *a0, u32 a1);
void sub_81C8FE0(struct PokenavSub17Substruct *a0);
void sub_81C8EF8(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1);
void sub_81C8ED0(void);
void sub_81C8E54(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1, u32 a2);
static void PrintMatchCallFlavorText(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1, u32 a2);
void PrintMatchCallFieldNames(struct PokenavSub17Substruct *a0, u32 a1);
void sub_81C8D4C(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1);
void sub_81C8CB4(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1);
@@ -558,22 +558,22 @@ u32 LoopedTask_sub_81C8958(s32 state)
PrintMatchCallFieldNames(&structPtr->unk0, 0);
break;
case 2:
sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 0);
PrintMatchCallFlavorText(&structPtr->unk888, &structPtr->unk0, CHECK_PAGE_STRATEGY);
break;
case 3:
PrintMatchCallFieldNames(&structPtr->unk0, 1);
break;
case 4:
sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 1);
PrintMatchCallFlavorText(&structPtr->unk888, &structPtr->unk0, CHECK_PAGE_POKEMON);
break;
case 5:
PrintMatchCallFieldNames(&structPtr->unk0, 2);
break;
case 6:
sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 2);
PrintMatchCallFlavorText(&structPtr->unk888, &structPtr->unk0, CHECK_PAGE_INTRO_1);
break;
case 7:
sub_81C8E54(&structPtr->unk888, &structPtr->unk0, 3);
PrintMatchCallFlavorText(&structPtr->unk888, &structPtr->unk0, CHECK_PAGE_INTRO_2);
break;
default:
return LT_FINISH;
@@ -705,7 +705,7 @@ void sub_81C8C64(struct UnknownSubSubStruct_0203CF40 *a0, u32 a1)
void sub_81C8CB4(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1)
{
u8 colors[3] = {0, 2, 5};
u8 colors[3] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_RED};
a1->unk34(a0->unk10 + a0->unkC * a0->windowTopIndex, a1->unkTextBuffer);
a1->unk38(a1->unk0.windowId, a0->windowTopIndex, a1->unk0.unkA);
@@ -727,7 +727,7 @@ void sub_81C8D4C(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *
void PrintMatchCallFieldNames(struct PokenavSub17Substruct *a0, u32 fieldId)
{
const u8 *fieldNames[] = {gText_PokenavMatchCall_Strategy, gText_PokenavMatchCall_TrainerPokemon, gText_PokenavMatchCall_SelfIntroduction};
u8 colors[3] = {1, 4, 5};
u8 colors[3] = {TEXT_COLOR_WHITE, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED};
u32 top = (a0->unk0.unkA + 1 + (fieldId * 2)) & 0xF;
FillWindowPixelRect(a0->unk0.windowId, PIXEL_FILL(1), 0, top << 4, a0->unk0.unk4, 16);
@@ -735,11 +735,19 @@ void PrintMatchCallFieldNames(struct PokenavSub17Substruct *a0, u32 fieldId)
CopyWindowRectToVram(a0->unk0.windowId, 2, 0, top << 1, a0->unk0.unk4, 2);
}
void sub_81C8E54(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1, u32 a2)
static void PrintMatchCallFlavorText(struct MatchCallWindowState *a0, struct PokenavSub17Substruct *a1, u32 checkPageEntry)
{
static const u8 array[] = {2, 4, 6, 7};
u32 r6 = (a1->unk0.unkA + array[a2]) & 0xF;
const u8 *str = sub_81CAFD8(a0->windowTopIndex, a2);
// lines 1, 3, and 5 are the field names printed by PrintMatchCallFieldNames
static const u8 lineOffsets[CHECK_PAGE_ENTRY_COUNT] =
{
[CHECK_PAGE_STRATEGY] = 2,
[CHECK_PAGE_POKEMON] = 4,
[CHECK_PAGE_INTRO_1] = 6,
[CHECK_PAGE_INTRO_2] = 7
};
u32 r6 = (a1->unk0.unkA + lineOffsets[checkPageEntry]) & 0xF;
const u8 *str = GetMatchCallFlavorText(a0->windowTopIndex, checkPageEntry);
if (str != NULL)
{

View File

@@ -151,9 +151,9 @@ static u32 (*sub_81C93EC(void))(struct Pokenav1Struct*)
default:
case POKENAV_MODE_NORMAL:
return sub_81C943C;
case POKENAV_MODE_FORCE_CALL_1:
case POKENAV_MODE_FORCE_CALL_READY:
return sub_81C9520;
case POKENAV_MODE_FORCE_CALL_2:
case POKENAV_MODE_FORCE_CALL_EXIT:
return sub_81C9588;
}
}

View File

@@ -13,6 +13,9 @@
#include "window.h"
#include "constants/songs.h"
#define boxId id1 // naming multi-purpose field
#define monId id2 // naming multi-purpose field
struct PokenavSub13
{
u8 filler0[0x8];

View File

@@ -324,7 +324,7 @@ static bool32 sub_81C98D4(void)
for (i = 0; i < REMATCH_TABLE_ENTRIES; i++)
{
if (sub_81CB0C8(i) == gMapHeader.regionMapSectionId
&& sub_81CAE08(i)
&& IsRematchEntryRegistered(i)
&& gSaveBlock1Ptr->trainerRematches[i])
return TRUE;
}

View File

@@ -15,21 +15,25 @@
#include "constants/flags.h"
#include "constants/songs.h"
//#define ?? id1
#define mapSec id2 // naming multi-purpose field
#define headerId data // naming multi-purpose field
struct Pokenav3Struct
{
u16 unk0;
u16 unk2;
const u8 *unk4;
u16 unk8;
const u8 *matchCallOptions;
u16 headerId;
u16 unkA;
u16 unkC;
u32 unk10;
u32 unk14;
u32 (*callback)(struct Pokenav3Struct*);
struct PokenavMonList unk1C[99];
struct PokenavMonList matchCallEntries[MAX_REMATCH_ENTRIES - 1];
};
static u32 sub_81CAB44(struct Pokenav3Struct *);
static u32 CB2_HandleMatchCallInput(struct Pokenav3Struct *);
static u32 sub_81CABFC(struct Pokenav3Struct *);
static u32 sub_81CAC04(struct Pokenav3Struct *);
static u32 sub_81CACB8(struct Pokenav3Struct *);
@@ -39,8 +43,18 @@ static bool32 sub_81CB1D0(void);
#include "data/text/match_call_messages.h"
const u8 gUnknown_08622508[] = {0, 2};
const u8 gUnknown_0862250A[] = {0, 1, 2};
static const u8 sMatchCallOptionsNoCheckPage[] =
{
MATCH_CALL_OPTION_CALL,
MATCH_CALL_OPTION_CANCEL
};
static const u8 sMatchCallOptionsHasCheckPage[] =
{
MATCH_CALL_OPTION_CALL,
MATCH_CALL_OPTION_CHECK,
MATCH_CALL_OPTION_CANCEL
};
bool32 PokenavCallback_Init_11(void)
{
@@ -48,8 +62,8 @@ bool32 PokenavCallback_Init_11(void)
if (!state)
return FALSE;
state->callback = sub_81CAB44;
state->unk8 = 0;
state->callback = CB2_HandleMatchCallInput;
state->headerId = 0;
state->unk10 = 0;
state->unk14 = CreateLoopedTask(sub_81CAD20, 1);
return TRUE;
@@ -66,9 +80,9 @@ void sub_81CAB38(void)
FreePokenavSubstruct(5);
}
static u32 sub_81CAB44(struct Pokenav3Struct *state)
static u32 CB2_HandleMatchCallInput(struct Pokenav3Struct *state)
{
int selectedMatchCall;
int selection;
if (gMain.newAndRepeatedKeys & DPAD_UP)
return 2;
@@ -83,15 +97,15 @@ static u32 sub_81CAB44(struct Pokenav3Struct *state)
{
state->callback = sub_81CAC04;
state->unk0 = 0;
selectedMatchCall = GetSelectedMatchCall();
if (!state->unk1C[selectedMatchCall].boxId || MatchCall_HasCheckPage(state->unk1C[selectedMatchCall].unk6))
selection = GetSelectedMatchCall();
if (!state->matchCallEntries[selection].id1 || MatchCall_HasCheckPage(state->matchCallEntries[selection].headerId))
{
state->unk4 = gUnknown_0862250A;
state->matchCallOptions = sMatchCallOptionsHasCheckPage;
state->unk2 = 2;
}
else
{
state->unk4 = gUnknown_08622508;
state->matchCallOptions = sMatchCallOptionsNoCheckPage;
state->unk2 = 1;
}
@@ -100,7 +114,7 @@ static u32 sub_81CAB44(struct Pokenav3Struct *state)
if (gMain.newKeys & B_BUTTON)
{
if (GetPokenavMode() != POKENAV_MODE_FORCE_CALL_1)
if (GetPokenavMode() != POKENAV_MODE_FORCE_CALL_READY)
{
state->callback = sub_81CABFC;
return 15;
@@ -135,21 +149,21 @@ static u32 sub_81CAC04(struct Pokenav3Struct *state)
if (gMain.newKeys & A_BUTTON)
{
switch (state->unk4[state->unk0])
switch (state->matchCallOptions[state->unk0])
{
case 2:
state->callback = sub_81CAB44;
case MATCH_CALL_OPTION_CANCEL:
state->callback = CB2_HandleMatchCallInput;
return 7;
case 0:
if (GetPokenavMode() == POKENAV_MODE_FORCE_CALL_1)
SetPokenavMode(POKENAV_MODE_FORCE_CALL_2);
case MATCH_CALL_OPTION_CALL:
if (GetPokenavMode() == POKENAV_MODE_FORCE_CALL_READY)
SetPokenavMode(POKENAV_MODE_FORCE_CALL_EXIT);
state->callback = sub_81CACF8;
if (sub_81CB1D0())
return 9;
return 8;
case 1:
case MATCH_CALL_OPTION_CHECK:
state->callback = sub_81CACB8;
return 11;
}
@@ -157,7 +171,7 @@ static u32 sub_81CAC04(struct Pokenav3Struct *state)
if (gMain.newKeys & B_BUTTON)
{
state->callback = sub_81CAB44;
state->callback = CB2_HandleMatchCallInput;
return 7;
}
@@ -173,7 +187,7 @@ static u32 sub_81CACB8(struct Pokenav3Struct *state)
if (gMain.newKeys & B_BUTTON)
{
state->callback = sub_81CAB44;
state->callback = CB2_HandleMatchCallInput;
return 14;
}
@@ -184,7 +198,7 @@ static u32 sub_81CACF8(struct Pokenav3Struct *state)
{
if (gMain.newKeys & (A_BUTTON | B_BUTTON))
{
state->callback = sub_81CAB44;
state->callback = CB2_HandleMatchCallInput;
return 10;
}
@@ -198,41 +212,41 @@ static u32 sub_81CAD20(s32 taskState)
switch (taskState)
{
case 0:
state->unk8 = 0;
state->headerId = 0;
state->unkA = 0;
return LT_INC_AND_CONTINUE;
case 1:
for (i = 0, j = state->unk8; i < 30; i++, j++)
for (i = 0, j = state->headerId; i < 30; i++, j++)
{
if (MatchCallFlagGetByIndex(j))
{
state->unk1C[state->unkA].unk6 = j;
state->unk1C[state->unkA].boxId = 1;
state->unk1C[state->unkA].monId = MatchCallMapSecGetByIndex(j);
state->matchCallEntries[state->unkA].headerId = j;
state->matchCallEntries[state->unkA].id1 = TRUE;
state->matchCallEntries[state->unkA].mapSec = MatchCallMapSecGetByIndex(j);
state->unkA++;
}
if (++state->unk8 >= MC_HEADER_COUNT)
if (++state->headerId >= MC_HEADER_COUNT)
{
state->unkC = state->unk8;
state->unk8 = 0;
state->unkC = state->headerId;
state->headerId = 0;
return LT_INC_AND_CONTINUE;
}
}
return LT_CONTINUE;
case 2:
for (i = 0, j = state->unk8; i < 30; i++, j++)
for (i = 0, j = state->headerId; i < 30; i++, j++)
{
if (!sub_81D1BF8(state->unk8) && sub_81CAE08(state->unk8))
if (!sub_81D1BF8(state->headerId) && IsRematchEntryRegistered(state->headerId))
{
state->unk1C[state->unkA].unk6 = state->unk8;
state->unk1C[state->unkA].boxId = 0;
state->unk1C[state->unkA].monId = sub_81CB0C8(j);
state->matchCallEntries[state->unkA].headerId = state->headerId;
state->matchCallEntries[state->unkA].id1 = FALSE;
state->matchCallEntries[state->unkA].mapSec = sub_81CB0C8(j);
state->unkA++;
}
if (++state->unk8 > REMATCH_TABLE_ENTRIES - 1)
if (++state->headerId > REMATCH_TABLE_ENTRIES - 1)
return LT_INC_AND_CONTINUE;
}
@@ -245,7 +259,7 @@ static u32 sub_81CAD20(s32 taskState)
return LT_FINISH;
}
bool32 sub_81CAE08(int rematchIndex)
bool32 IsRematchEntryRegistered(int rematchIndex)
{
if (rematchIndex < REMATCH_TABLE_ENTRIES)
return FlagGet(FLAG_MATCH_CALL_REGISTERED + rematchIndex);
@@ -284,28 +298,28 @@ int unref_sub_81CAE6C(int arg0)
if (arg0 >= state->unkA)
return REMATCH_TABLE_ENTRIES;
return state->unk1C[arg0].unk6;
return state->matchCallEntries[arg0].headerId;
}
struct PokenavMonList *sub_81CAE94(void)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
return state->unk1C;
return state->matchCallEntries;
}
u16 sub_81CAEA4(int index)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
return state->unk1C[index].monId;
return state->matchCallEntries[index].mapSec;
}
bool32 sub_81CAEBC(int index)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
if (!state->unk1C[index].boxId)
index = state->unk1C[index].unk6;
if (!state->matchCallEntries[index].id1)
index = state->matchCallEntries[index].headerId;
else
index = MatchCall_GetRematchTableIdx(state->unk1C[index].unk6);
index = MatchCall_GetRematchTableIdx(state->matchCallEntries[index].headerId);
if (index == REMATCH_TABLE_ENTRIES)
return FALSE;
@@ -313,17 +327,17 @@ bool32 sub_81CAEBC(int index)
return gSaveBlock1Ptr->trainerRematches[index] != 0;
}
int sub_81CAF04(int index)
int GetMatchCallTrainerPic(int index)
{
int var0;
struct Pokenav3Struct *state = GetSubstructPtr(5);
if (!state->unk1C[index].boxId)
if (!state->matchCallEntries[index].id1)
{
index = GetTrainerIdxByRematchIdx(state->unk1C[index].unk6);
index = GetTrainerIdxByRematchIdx(state->matchCallEntries[index].headerId);
return gTrainers[index].trainerPic;
}
var0 = state->unk1C[index].unk6;
var0 = state->matchCallEntries[index].headerId;
index = MatchCall_GetRematchTableIdx(var0);
if (index != REMATCH_TABLE_ENTRIES)
{
@@ -342,30 +356,30 @@ const u8 *sub_81CAF78(int index, u8 *arg1)
if (!Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType))
return gText_CallCantBeMadeHere;
if (!state->unk1C[index].boxId)
*arg1 = SelectMatchCallMessage(GetTrainerIdxByRematchIdx(state->unk1C[index].unk6), gStringVar4);
if (!state->matchCallEntries[index].id1)
*arg1 = SelectMatchCallMessage(GetTrainerIdxByRematchIdx(state->matchCallEntries[index].headerId), gStringVar4);
else
MatchCall_GetMessage(state->unk1C[index].unk6, gStringVar4);
MatchCall_GetMessage(state->matchCallEntries[index].headerId, gStringVar4);
return gStringVar4;
}
const u8 *sub_81CAFD8(int index, int textType)
const u8 *GetMatchCallFlavorText(int index, int checkPageEntry)
{
int var0;
int rematchId;
struct Pokenav3Struct *state = GetSubstructPtr(5);
if (state->unk1C[index].boxId)
if (state->matchCallEntries[index].id1)
{
var0 = MatchCall_GetRematchTableIdx(state->unk1C[index].unk6);
if (var0 == REMATCH_TABLE_ENTRIES)
return MatchCall_GetOverrideFlavorText(state->unk1C[index].unk6, textType);
rematchId = MatchCall_GetRematchTableIdx(state->matchCallEntries[index].headerId);
if (rematchId == REMATCH_TABLE_ENTRIES)
return MatchCall_GetOverrideFlavorText(state->matchCallEntries[index].headerId, checkPageEntry);
}
else
{
var0 = state->unk1C[index].unk6;
rematchId = state->matchCallEntries[index].headerId;
}
return gMatchCallMessages[var0][textType];
return gMatchCallFlavorTexts[rematchId][checkPageEntry];
}
u16 sub_81CB01C(void)
@@ -378,18 +392,18 @@ u16 sub_81CB02C(int arg0)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
if (state->unk2 < arg0)
return 3;
return MATCH_CALL_OPTION_COUNT;
return state->unk4[arg0];
return state->matchCallOptions[arg0];
}
void sub_81CB050(struct PokenavMonList * arg0, u8 *str)
{
const u8 *trainerName;
const u8 *className;
if (!arg0->boxId)
if (!arg0->id1)
{
int index = GetTrainerIdxByRematchIdx(arg0->unk6);
int index = GetTrainerIdxByRematchIdx(arg0->headerId);
const struct Trainer *trainer = &gTrainers[index];
int class = trainer->trainerClass;
className = gTrainerClassNames[class];
@@ -397,7 +411,7 @@ void sub_81CB050(struct PokenavMonList * arg0, u8 *str)
}
else
{
sub_81D1A78(arg0->unk6, &className, &trainerName);
sub_81D1A78(arg0->headerId, &className, &trainerName);
}
if (className && trainerName)
@@ -424,9 +438,9 @@ int sub_81CB0E4(int index)
int count = 1;
while (++index < state->unkA)
{
if (!state->unk1C[index].boxId)
if (!state->matchCallEntries[index].id1)
return count;
if (MatchCall_HasCheckPage(state->unk1C[index].unk6))
if (MatchCall_HasCheckPage(state->matchCallEntries[index].headerId))
return count;
count++;
@@ -441,9 +455,9 @@ int sub_81CB128(int index)
int count = -1;
while (--index >= 0)
{
if (!state->unk1C[index].boxId)
if (!state->matchCallEntries[index].id1)
return count;
if (MatchCall_HasCheckPage(state->unk1C[index].unk6))
if (MatchCall_HasCheckPage(state->matchCallEntries[index].headerId))
return count;
count--;
@@ -458,7 +472,7 @@ bool32 unref_sub_81CB16C(void)
for (i = 0; i < REMATCH_TABLE_ENTRIES; i++)
{
if (sub_81CAE08(i) && gSaveBlock1Ptr->trainerRematches[i])
if (IsRematchEntryRegistered(i) && gSaveBlock1Ptr->trainerRematches[i])
return TRUE;
}
@@ -478,20 +492,20 @@ bool32 unref_sub_81CB16C(void)
static bool32 sub_81CB1D0(void)
{
struct Pokenav3Struct *state = GetSubstructPtr(5);
int index = GetSelectedMatchCall();
if (!state->unk1C[index].boxId)
int selection = GetSelectedMatchCall();
if (!state->matchCallEntries[selection].id1)
{
if (sub_81CAEA4(index) == gMapHeader.regionMapSectionId)
if (sub_81CAEA4(selection) == gMapHeader.regionMapSectionId)
{
if (!gSaveBlock1Ptr->trainerRematches[state->unk1C[index].unk6])
if (!gSaveBlock1Ptr->trainerRematches[state->matchCallEntries[selection].headerId])
return TRUE;
}
}
else
{
if (state->unk1C[index].unk6 == 11)
if (state->matchCallEntries[selection].headerId == MC_HEADER_WATTSON)
{
if (sub_81CAEA4(index) == gMapHeader.regionMapSectionId
if (sub_81CAEA4(selection) == gMapHeader.regionMapSectionId
&& FlagGet(FLAG_BADGE05_GET) == TRUE)
{
if (!FlagGet(FLAG_WATTSON_REMATCH_AVAILABLE))

View File

@@ -197,11 +197,11 @@ const struct WindowTemplate gUnknown_086227E0 =
.baseBlock = 38
};
const u8 *const gUnknown_086227E8[] =
static const u8 *const sMatchCallOptionTexts[MATCH_CALL_OPTION_COUNT] =
{
gUnknown_085EC017,
gUnknown_085EC01C,
gUnknown_085EC022
[MATCH_CALL_OPTION_CALL] = gText_Call,
[MATCH_CALL_OPTION_CHECK] = gText_Check,
[MATCH_CALL_OPTION_CANCEL] = gText_Cancel6
};
const u8 gUnknown_086227F4[] = _("·{PAUSE 0x04}·{PAUSE 0x04}·{PAUSE 0x04}·{PAUSE 0x04}·\p");
@@ -1022,13 +1022,13 @@ static void sub_81CBF60(struct Pokenav4Struct *state)
u32 i;
FillWindowPixelBuffer(state->unk12, PIXEL_FILL(1));
for (i = 0; i < 3; i++)
for (i = 0; i < MATCH_CALL_OPTION_COUNT; i++)
{
int messageId = sub_81CB02C(i);
if (messageId == 3)
int optionText = sub_81CB02C(i);
if (optionText == MATCH_CALL_OPTION_COUNT)
break;
AddTextPrinterParameterized(state->unk12, 7, gUnknown_086227E8[messageId], 16, i * 16 + 1, TEXT_SPEED_FF, NULL);
AddTextPrinterParameterized(state->unk12, 7, sMatchCallOptionTexts[optionText], 16, i * 16 + 1, TEXT_SPEED_FF, NULL);
}
CopyWindowToVram(state->unk12, 2);
@@ -1226,11 +1226,11 @@ static struct Sprite *sub_81CC370(void)
static void sub_81CC39C(struct Pokenav4Struct *state)
{
u16 cursor;
int trainerId = sub_81CAF04(GetSelectedMatchCall());
if (trainerId >= 0)
int trainerPic = GetMatchCallTrainerPic(GetSelectedMatchCall());
if (trainerPic >= 0)
{
DecompressPicFromTable(&gTrainerFrontPicTable[trainerId], state->unk1828, SPECIES_NONE);
LZ77UnCompWram(gTrainerFrontPicPaletteTable[trainerId].data, state->unk2028);
DecompressPicFromTable(&gTrainerFrontPicTable[trainerPic], state->unk1828, SPECIES_NONE);
LZ77UnCompWram(gTrainerFrontPicPaletteTable[trainerPic].data, state->unk2028);
cursor = RequestDma3Copy(state->unk1828, state->unk1824, 0x800, 1);
LoadPalette(state->unk2028, state->unk1A, 0x20);
state->unk20->data[0] = 0;

View File

@@ -14,6 +14,9 @@
#include "constants/songs.h"
#include "constants/species.h"
#define boxId id1 // naming multi-purpose field
#define monId id2 // naming multi-purpose field
struct PokenavSub11
{
u32 monPal[3][0x20];
@@ -463,14 +466,14 @@ void sub_81CD970(void)
{
unkPtr->unk4[count].boxId = TOTAL_BOXES_COUNT;
unkPtr->unk4[count].monId = i;
unkPtr->unk4[count].unk6 = 0;
unkPtr->unk4[count].data = 0;
count++;
}
}
unkPtr->unk4[count].boxId = 0;
unkPtr->unk4[count].monId = 0;
unkPtr->unk4[count].unk6 = 0;
unkPtr->unk4[count].data = 0;
unkPtr->unk2 = 0;
unkPtr->unk0 = count + 1;
structPtr->unk678A = 0;
@@ -597,7 +600,7 @@ u8 *sub_81CDD24(u8 id)
u16 sub_81CDD48(void)
{
struct PokenavSub18 *unkPtr = GetSubstructPtr(18);
return unkPtr->unk4[unkPtr->unk2].unk6;
return unkPtr->unk4[unkPtr->unk2].data;
}
bool32 sub_81CDD5C(void)

View File

@@ -10,6 +10,10 @@
#include "international_string_util.h"
#include "constants/songs.h"
#define boxId id1 // naming multi-purpose field
#define monId id2 // naming multi-purpose field
struct PokenavSub7
{
u32 (*unk0)(struct PokenavSub7 *);
@@ -227,7 +231,7 @@ static s32 sub_81CF0F0(void)
{
struct PokenavSub7 * ptr = GetSubstructPtr(7);
s32 i = GetSelectedMatchCall();
return ptr->unkPtr->unk4[i].unk6;
return ptr->unkPtr->unk4[i].data;
}
static u16 sub_81CF10C(void)
@@ -258,7 +262,7 @@ static u32 sub_81CF134(s32 state)
if (!GetMonData(pokemon, MON_DATA_SANITY_IS_EGG))
{
item.monId = i;
item.unk6 = GetMonData(pokemon, ptr->unk14);
item.data = GetMonData(pokemon, ptr->unk14);
sub_81CF2C4(ptr, &item);
}
}
@@ -290,7 +294,7 @@ static u32 sub_81CF1D8(s32 state)
{
item.boxId = boxId;
item.monId = monId;
item.unk6 = GetBoxMonDataAt(boxId, monId, ptr->unk14);
item.data = GetBoxMonDataAt(boxId, monId, ptr->unk14);
sub_81CF2C4(ptr, &item);
}
boxCount++;
@@ -313,19 +317,19 @@ static u32 sub_81CF278(s32 state)
{
struct PokenavSub7 * ptr = GetSubstructPtr(7);
s32 r6 = ptr->unkPtr->unk0;
s32 r4 = ptr->unkPtr->unk4[0].unk6;
s32 r4 = ptr->unkPtr->unk4[0].data;
s32 i;
ptr->unkPtr->unk4[0].unk6 = 1;
ptr->unkPtr->unk4[0].data = 1;
for (i = 1; i < r6; i++)
{
if (ptr->unkPtr->unk4[i].unk6 == r4)
if (ptr->unkPtr->unk4[i].data == r4)
{
ptr->unkPtr->unk4[i].unk6 = ptr->unkPtr->unk4[i - 1].unk6;
ptr->unkPtr->unk4[i].data = ptr->unkPtr->unk4[i - 1].data;
}
else
{
r4 = ptr->unkPtr->unk4[i].unk6;
ptr->unkPtr->unk4[i].unk6 = i + 1;
r4 = ptr->unkPtr->unk4[i].data;
ptr->unkPtr->unk4[i].data = i + 1;
}
}
ptr->unk18 = 1;
@@ -340,7 +344,7 @@ static void sub_81CF2C4(struct PokenavSub7 *structPtr, struct PokenavMonList *it
while (right != insertionIdx)
{
if (item->unk6 > structPtr->unkPtr->unk4[insertionIdx].unk6)
if (item->data > structPtr->unkPtr->unk4[insertionIdx].data)
right = insertionIdx;
else
left = insertionIdx + 1;

View File

@@ -8,6 +8,9 @@
#include "international_string_util.h"
#include "constants/songs.h"
#define boxId id1 // naming multi-purpose field
#define monId id2 // naming multi-purpose field
struct PokenavSub9
{
u32 (*unk0)(struct PokenavSub9*);
@@ -218,7 +221,7 @@ static s32 sub_81CFB48(void)
{
struct PokenavSub9 * ptr = GetSubstructPtr(9);
s32 idx = GetSelectedMatchCall();
return ptr->unk1C->unk4[idx].unk6;
return ptr->unk1C->unk4[idx].data;
}
static s32 sub_81CFB64(void)
@@ -240,7 +243,7 @@ static u32 sub_81CFB8C(s32 state)
ptr->unk1C->unk0 = 0;
ptr->unk1C->unk2 = 0;
item.boxId = 14;
item.boxId = TOTAL_BOXES_COUNT;
for (i = 0; i < PARTY_SIZE; i++)
{
struct Pokemon * pokemon = &gPlayerParty[i];
@@ -252,7 +255,7 @@ static u32 sub_81CFB8C(s32 state)
if (ribbonCount != 0)
{
item.monId = i;
item.unk6 = ribbonCount;
item.data = ribbonCount;
sub_81CFCEC(ptr, &item);
}
}
@@ -288,13 +291,13 @@ static u32 sub_81CFC40(s32 state)
{
item.boxId = boxId;
item.monId = monId;
item.unk6 = ribbonCount;
item.data = ribbonCount;
sub_81CFCEC(ptr, &item);
}
}
boxCount++;
monId++;
if (boxCount > 14)
if (boxCount > TOTAL_BOXES_COUNT)
{
ptr->unkC = boxId;
ptr->unk10 = monId;
@@ -317,7 +320,7 @@ static void sub_81CFCEC(struct PokenavSub9 *structPtr, struct PokenavMonList *it
while (right != insertionIdx)
{
if (item->unk6 > structPtr->unk1C->unk4[insertionIdx].unk6)
if (item->data > structPtr->unk1C->unk4[insertionIdx].data)
right = insertionIdx;
else
left = insertionIdx + 1;
@@ -688,7 +691,7 @@ static void sub_81D035C(struct PokenavMonList * item0, u8 * dest)
u8 * s;
const u8 * genderStr;
struct PokenavMonList * item = item0;
if (item->boxId == 14)
if (item->boxId == TOTAL_BOXES_COUNT)
{
struct Pokemon * mon = &gPlayerParty[item->monId];
gender = GetMonGender(mon);
@@ -722,5 +725,5 @@ static void sub_81D035C(struct PokenavMonList * item0, u8 * dest)
*s++ = 5; // LV
ConvertIntToDecimalStringN(s, level, STR_CONV_MODE_LEFT_ALIGN, 3);
dest = sub_81DB494(dest, 1, gStringVar1, 54);
ConvertIntToDecimalStringN(dest, item->unk6, STR_CONV_MODE_RIGHT_ALIGN, 2);
ConvertIntToDecimalStringN(dest, item->data, STR_CONV_MODE_RIGHT_ALIGN, 2);
}

View File

@@ -2,23 +2,23 @@
#include "strings.h"
ALIGNED(4)
const u8 gExpandedPlaceholder_Empty[] = _("");
const u8 gExpandedPlaceholder_Kun[] = _("");
const u8 gExpandedPlaceholder_Chan[] = _("");
const u8 gExpandedPlaceholder_Sapphire[] = _("SAPPHIRE");
const u8 gExpandedPlaceholder_Ruby[] = _("RUBY");
const u8 gExpandedPlaceholder_Emerald[] = _("EMERALD");
const u8 gExpandedPlaceholder_Aqua[] = _("AQUA");
const u8 gExpandedPlaceholder_Magma[] = _("MAGMA");
const u8 gExpandedPlaceholder_Archie[] = _("ARCHIE");
const u8 gExpandedPlaceholder_Maxie[] = _("MAXIE");
const u8 gExpandedPlaceholder_Kyogre[] = _("KYOGRE");
const u8 gExpandedPlaceholder_Groudon[] = _("GROUDON");
const u8 gExpandedPlaceholder_Brendan[] = _("BRENDAN");
const u8 gExpandedPlaceholder_May[] = _("MAY");
const u8 gText_ExpandedPlaceholder_Empty[] = _("");
const u8 gText_ExpandedPlaceholder_Kun[] = _("");
const u8 gText_ExpandedPlaceholder_Chan[] = _("");
const u8 gText_ExpandedPlaceholder_Sapphire[] = _("SAPPHIRE");
const u8 gText_ExpandedPlaceholder_Ruby[] = _("RUBY");
const u8 gText_ExpandedPlaceholder_Emerald[] = _("EMERALD");
const u8 gText_ExpandedPlaceholder_Aqua[] = _("AQUA");
const u8 gText_ExpandedPlaceholder_Magma[] = _("MAGMA");
const u8 gText_ExpandedPlaceholder_Archie[] = _("ARCHIE");
const u8 gText_ExpandedPlaceholder_Maxie[] = _("MAXIE");
const u8 gText_ExpandedPlaceholder_Kyogre[] = _("KYOGRE");
const u8 gText_ExpandedPlaceholder_Groudon[] = _("GROUDON");
const u8 gText_ExpandedPlaceholder_Brendan[] = _("BRENDAN");
const u8 gText_ExpandedPlaceholder_May[] = _("MAY");
const u8 gText_EggNickname[] = _("EGG");
const u8 gText_Pokemon[] = _("POKéMON");
const u8 gProfBirchMatchCallName[] = _("PROF. BIRCH");
const u8 gText_ProfBirchMatchCallName[] = _("PROF. BIRCH");
const u8 gText_MainMenuNewGame[] = _("NEW GAME");
const u8 gText_MainMenuContinue[] = _("CONTINUE");
const u8 gText_MainMenuOption[] = _("OPTION");
@@ -985,9 +985,9 @@ const u8 gUnknown_085EBFE4[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT
const u8 gUnknown_085EBFF6[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_GREEN WHITE BLUE}♀{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}");
const u8 gUnknown_085EC008[] = _("{SPECIAL_F7 0x00}/{LV}{SPECIAL_F7 0x01}");
const u8 gText_Unknown[] = _("UNKNOWN");
const u8 gUnknown_085EC017[] = _("CALL");
const u8 gUnknown_085EC01C[] = _("CHECK");
const u8 gUnknown_085EC022[] = _("CANCEL");
const u8 gText_Call[] = _("CALL");
const u8 gText_Check[] = _("CHECK");
const u8 gText_Cancel6[] = _("CANCEL");
const u8 gText_NumberF700[] = _("No. {SPECIAL_F7 0x00}");
const u8 gText_RibbonsF700[] = _("RIBBONS {SPECIAL_F7 0x00}");
const u8 gUnknown_085EC03B[] = _("{SPECIAL_F7 0x00}{COLOR_HIGHLIGHT_SHADOW LIGHT_RED WHITE GREEN}♂{COLOR_HIGHLIGHT_SHADOW DARK_GREY WHITE LIGHT_GREY}/{LV}{SPECIAL_F7 0x01}{SPECIAL_F7 0x02}");
@@ -1276,20 +1276,20 @@ const u8 gText_Sorry[] = _("SORRY");
const u8 gText_YayUnkF9F9[] = _("YAY{EMOJI_BIGSMILE}");
const u8 gText_ThankYou[] = _("THANK YOU");
const u8 gText_ByeBye[] = _("BYE-BYE!");
const u8 gMatchCallStevenStrategyText[] = _("Attack the weak points!");
const u8 gMatchCall_StevenTrainersPokemonText[] = _("Ultimate STEEL POKéMON.");
const u8 gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle[] = _("I'd climb even waterfalls");
const u8 gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle[] = _("to find a rare stone!");
const u8 gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle[] = _("I'm the strongest and most");
const u8 gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle[] = _("energetic after all!");
const u8 gMatchCall_BrendanStrategyText[] = _("Battle with knowledge!");
const u8 gMatchCall_BrendanTrainersPokemonText[] = _("I will use various POKéMON.");
const u8 gMatchCall_BrendanSelfIntroductionText_Line1[] = _("I'll be a better POKéMON");
const u8 gMatchCall_BrendanSelfIntroductionText_Line2[] = _("prof than my father is!");
const u8 gMatchCall_MayStrategyText[] = _("I'm not so good at battles.");
const u8 gMatchCall_MayTrainersPokemonText[] = _("I'll use any POKéMON!");
const u8 gMatchCall_MaySelfIntroductionText_Line1[] = _("My POKéMON and I help");
const u8 gMatchCall_MaySelfIntroductionText_Line2[] = _("my father's research.");
const u8 gText_MatchCallSteven_Strategy[] = _("Attack the weak points!");
const u8 gText_MatchCallSteven_Pokemon[] = _("Ultimate STEEL POKéMON.");
const u8 gText_MatchCallSteven_Intro1_BeforeMeteorFallsBattle[] = _("I'd climb even waterfalls");
const u8 gText_MatchCallSteven_Intro2_BeforeMeteorFallsBattle[] = _("to find a rare stone!");
const u8 gText_MatchCallSteven_Intro1_AfterMeteorFallsBattle[] = _("I'm the strongest and most");
const u8 gText_MatchCallSteven_Intro2_AfterMeteorFallsBattle[] = _("energetic after all!");
const u8 gText_MatchCallBrendan_Strategy[] = _("Battle with knowledge!");
const u8 gText_MatchCallBrendan_Pokemon[] = _("I will use various POKéMON.");
const u8 gText_MatchCallBrendan_Intro1[] = _("I'll be a better POKéMON");
const u8 gText_MatchCallBrendan_Intro2[] = _("prof than my father is!");
const u8 gText_MatchCallMay_Strategy[] = _("I'm not so good at battles.");
const u8 gText_MatchCallMay_Pokemon[] = _("I'll use any POKéMON!");
const u8 gText_MatchCallMay_Intro1[] = _("My POKéMON and I help");
const u8 gText_MatchCallMay_Intro2[] = _("my father's research.");
const u8 gText_HatchedFromEgg[] = _("{STR_VAR_1} hatched from the EGG!");
const u8 gText_NicknameHatchPrompt[] = _("Would you like to nickname the newly\nhatched {STR_VAR_1}?");
ALIGNED(4) const u8 gText_ReadyToBerryCrush[] = _("Are you ready to BERRY-CRUSH?\nPlease pick a BERRY for use.\p");
@@ -1769,28 +1769,28 @@ const u8 gText_ClearingData[] = _("Clearing data…\nPlease wait.");
const u8 gText_IsThisTheCorrectTime[] = _("Is this the correct time?");
const u8 gText_Confirm3[] = _("CONFIRM");
const u8 gText_Cancel4[] = _("CANCEL");
const u8 gMrStoneMatchCallDesc[] = _("DEVON PRES");
const u8 gMrStoneMatchCallName[] = _("MR. STONE");
const u8 gStevenMatchCallDesc[] = _("HARD AS ROCK");
const u8 gStevenMatchCallName[] = _("STEVEN");
const u8 gMayBrendanMatchCallDesc[] = _("RAD NEIGHBOR");
const u8 gNormanMatchCallDesc[] = _("RELIABLE ONE");
const u8 gMomMatchCallDesc[] = _("CALM & KIND");
const u8 gWallyMatchCallDesc[] = _("{PKMN} LOVER");
const u8 gNormanMatchCallName[] = _("DAD");
const u8 gMomMatchCallName[] = _("MOM");
const u8 gScottMatchCallDesc[] = _("ELUSIVE EYES");
const u8 gScottMatchCallName[] = _("SCOTT");
const u8 gRoxanneMatchCallDesc[] = _("ROCKIN' WHIZ");
const u8 gBrawlyMatchCallDesc[] = _("THE BIG HIT");
const u8 gWattsonMatchCallDesc[] = _("SWELL SHOCK");
const u8 gFlanneryMatchCallDesc[] = _("PASSION BURN");
const u8 gWinonaMatchCallDesc[] = _("SKY TAMER");
const u8 gTateLizaMatchCallDesc[] = _("MYSTIC DUO");
const u8 gJuanMatchCallDesc[] = _("DANDY CHARM");
const u8 gEliteFourMatchCallDesc[] = _("ELITE FOUR");
const u8 gChampionMatchCallDesc[] = _("CHAMPION");
const u8 gProfBirchMatchCallDesc[] = _("{PKMN} PROF.");
const u8 gText_MrStoneMatchCallDesc[] = _("DEVON PRES");
const u8 gText_MrStoneMatchCallName[] = _("MR. STONE");
const u8 gText_StevenMatchCallDesc[] = _("HARD AS ROCK");
const u8 gText_StevenMatchCallName[] = _("STEVEN");
const u8 gText_MayBrendanMatchCallDesc[] = _("RAD NEIGHBOR");
const u8 gText_NormanMatchCallDesc[] = _("RELIABLE ONE");
const u8 gText_MomMatchCallDesc[] = _("CALM & KIND");
const u8 gText_WallyMatchCallDesc[] = _("{PKMN} LOVER");
const u8 gText_NormanMatchCallName[] = _("DAD");
const u8 gText_MomMatchCallName[] = _("MOM");
const u8 gText_ScottMatchCallDesc[] = _("ELUSIVE EYES");
const u8 gText_ScottMatchCallName[] = _("SCOTT");
const u8 gText_RoxanneMatchCallDesc[] = _("ROCKIN' WHIZ");
const u8 gText_BrawlyMatchCallDesc[] = _("THE BIG HIT");
const u8 gText_WattsonMatchCallDesc[] = _("SWELL SHOCK");
const u8 gText_FlanneryMatchCallDesc[] = _("PASSION BURN");
const u8 gText_WinonaMatchCallDesc[] = _("SKY TAMER");
const u8 gText_TateLizaMatchCallDesc[] = _("MYSTIC DUO");
const u8 gText_JuanMatchCallDesc[] = _("DANDY CHARM");
const u8 gText_EliteFourMatchCallDesc[] = _("ELITE FOUR");
const u8 gText_ChampionMatchCallDesc[] = _("CHAMPION");
const u8 gText_ProfBirchMatchCallDesc[] = _("{PKMN} PROF.");
const u8 gText_CommStandbyAwaitingOtherPlayer[] = _("Communication standby…\nAwaiting another player to choose.");
const u8 gText_BattleWasRefused[] = _("The battle was refused.{PAUSE 60}");
const u8 gText_RefusedBattle[] = _("Refused the battle.{PAUSE 60}");