diff --git a/src/constants/challenge_cup_constants.asm b/src/constants/challenge_cup_constants.asm index 1d31a63..ed678e2 100644 --- a/src/constants/challenge_cup_constants.asm +++ b/src/constants/challenge_cup_constants.asm @@ -1,3 +1,41 @@ +; challenge cup constants + const_def + const TCG_CHALLENGE_CUP ; 0 + const GR_CHALLENGE_CUP ; 1 + +; wChallengeCupIndex constants +; actual titles: +; TCG: "Challenge Cup" (1, 2, 3) +; GR: "Team GR Cup" (1, 2), "King Cup" (3) + const_def + const CHALLENGE_CUP_1 ; 0 + const CHALLENGE_CUP_2 ; 1 + const CHALLENGE_CUP_3 ; 2 + +; VAR_*_CHALLENGE_CUP_STATE constants +; cup 1 and 2: limited time windows +; cup 3: post-game + const_def + const CHALLENGE_CUP_DEAD ; 0 + const CHALLENGE_CUP_1_START ; 1 + const CHALLENGE_CUP_1_END ; 2 + const CHALLENGE_CUP_2_START ; 3 + const CHALLENGE_CUP_2_END ; 4 + const CHALLENGE_CUP_3_UNLOCKED ; 5 + const CHALLENGE_CUP_3_START ; 6 + +; challenge cup rounds +DEF NUM_CHALLENGE_CUP_ROUNDS EQU 3 + +; VAR_*_CHALLENGE_CUP_RESULT constants + const_def + const CHALLENGE_CUP_RESULT_NONE ; 0 + const CHALLENGE_CUP_RESULT_WON ; 1 + const CHALLENGE_CUP_RESULT_LOST ; 2 + +; challenge cup win threshold for coin prizes +DEF NUM_CHALLENGE_CUP_WIN_THRESHOLD EQU 10 + ; cup opponents const_def const GRANDMASTERCUP_GENE ; 0 @@ -17,7 +55,7 @@ DEF NUM_GRANDMASTERCUP_OPPONENTS EQU NUM_GRANDMASTERCUP_DUELISTS - 1 ; 7 DEF NUM_TCG_CHALLENGE_CUP_OPPONENT_POOL EQU 44 DEF NUM_GR_CHALLENGE_CUP_OPPONENT_POOL EQU 27 -; cup prizes +; cup prize cards DEF NUM_GRANDMASTERCUP_PRIZE_POOL EQU 37 const_def diff --git a/src/constants/var_constants.asm b/src/constants/var_constants.asm index ba70e5b..805bc51 100644 --- a/src/constants/var_constants.asm +++ b/src/constants/var_constants.asm @@ -1,64 +1,64 @@ const_def - const VAR_00 ; $00 - const VAR_01 ; $01 - const VAR_02 ; $02 - const VAR_03 ; $03 - const VAR_TIMES_MET_RONALD ; $04 - const VAR_05 ; $05 - const VAR_06 ; $06 - const VAR_07 ; $07 - const VAR_08 ; $08 - const VAR_09 ; $09 - const VAR_0A ; $0a - const VAR_0B ; $0b - const VAR_0C ; $0c - const VAR_0D ; $0d - const VAR_0E ; $0e - const VAR_0F ; $0f - const VAR_GRANDMASTERCUP_PRIZE_INDEX_0 ; $10 - const VAR_GRANDMASTERCUP_PRIZE_INDEX_1 ; $11 - const VAR_GRANDMASTERCUP_PRIZE_INDEX_2 ; $12 - const VAR_GRANDMASTERCUP_PRIZE_INDEX_3 ; $13 - const VAR_GRANDMASTERCUP_OPPONENT_DECK_0 ; $14 - const VAR_GRANDMASTERCUP_OPPONENT_DECK_1 ; $15 - const VAR_GRANDMASTERCUP_OPPONENT_DECK_2 ; $16 - const VAR_GRANDMASTERCUP_OPPONENT_DECK_3 ; $17 - const VAR_GRANDMASTERCUP_OPPONENT_DECK_4 ; $18 - const VAR_GRANDMASTERCUP_OPPONENT_DECK_5 ; $19 - const VAR_GRANDMASTERCUP_OPPONENT_DECK_6 ; $1a - const VAR_1B ; $1b - const VAR_1C ; $1c - const VAR_1D ; $1d - const VAR_1E ; $1e - const VAR_1F ; $1f - const VAR_20 ; $20 - const VAR_21 ; $21 - const VAR_IMAKUNI_BLACK_WIN_COUNT ; $22 - const VAR_23 ; $23 - const VAR_24 ; $24 - const VAR_25 ; $25 - const VAR_26 ; $26 - const VAR_27 ; $27 - const VAR_28 ; $28 - const VAR_TCG_CHALLENGE_CUP_PRIZE_INDEX ; $29 - const VAR_2A ; $2a - const VAR_2B ; $2b - const VAR_2C ; $2c - const VAR_2D ; $2d - const VAR_2E ; $2e - const VAR_2F ; $2f - const VAR_30 ; $30 - const VAR_GR_CHALLENGE_CUP_PRIZE_INDEX ; $31 - const VAR_32 ; $32 - const VAR_33 ; $33 - const VAR_34 ; $34 - const VAR_35 ; $35 - const VAR_36 ; $36 - const VAR_37 ; $37 - const VAR_38 ; $38 - const VAR_39 ; $39 - const VAR_CARD_DUNGEON_PROGRESS ; $3a - const VAR_3B ; $3b: AARON_STEP_*; Fighting Fort - const VAR_NPC_DECK_ID ; $3c - const VAR_DUEL_START_THEME ; $3d - const VAR_3E ; $3e + const VAR_00 ; $00 + const VAR_01 ; $01 + const VAR_02 ; $02 + const VAR_03 ; $03 + const VAR_TIMES_MET_RONALD ; $04 + const VAR_05 ; $05 + const VAR_06 ; $06 + const VAR_07 ; $07 + const VAR_08 ; $08 + const VAR_09 ; $09 + const VAR_0A ; $0a + const VAR_0B ; $0b + const VAR_0C ; $0c + const VAR_0D ; $0d + const VAR_0E ; $0e + const VAR_0F ; $0f + const VAR_GRANDMASTERCUP_PRIZE_INDEX_0 ; $10 + const VAR_GRANDMASTERCUP_PRIZE_INDEX_1 ; $11 + const VAR_GRANDMASTERCUP_PRIZE_INDEX_2 ; $12 + const VAR_GRANDMASTERCUP_PRIZE_INDEX_3 ; $13 + const VAR_GRANDMASTERCUP_OPPONENT_DECK_0 ; $14 + const VAR_GRANDMASTERCUP_OPPONENT_DECK_1 ; $15 + const VAR_GRANDMASTERCUP_OPPONENT_DECK_2 ; $16 + const VAR_GRANDMASTERCUP_OPPONENT_DECK_3 ; $17 + const VAR_GRANDMASTERCUP_OPPONENT_DECK_4 ; $18 + const VAR_GRANDMASTERCUP_OPPONENT_DECK_5 ; $19 + const VAR_GRANDMASTERCUP_OPPONENT_DECK_6 ; $1a + const VAR_1B ; $1b + const VAR_1C ; $1c + const VAR_1D ; $1d + const VAR_1E ; $1e + const VAR_1F ; $1f + const VAR_20 ; $20 + const VAR_21 ; $21 + const VAR_IMAKUNI_BLACK_WIN_COUNT ; $22 + const VAR_23 ; $23 + const VAR_24 ; $24 + const VAR_25 ; $25 + const VAR_26 ; $26 + const VAR_27 ; $27 + const VAR_TCG_CHALLENGE_CUP_STATE ; $28 + const VAR_TCG_CHALLENGE_CUP_PRIZE_INDEX ; $29 + const VAR_TIMES_WON_TCG_CHALLENGE_CUP ; $2a + const VAR_TCG_CHALLENGE_CUP_RESULT ; $2b + const VAR_CHALLENGECUP_CURRENT_ROUND ; $2c + const VAR_CHALLENGECUP_ROUND1_OPPONENT_DECK_ID ; $2d + const VAR_CHALLENGECUP_ROUND2_OPPONENT_DECK_ID ; $2e + const VAR_CHALLENGECUP_ROUND3_OPPONENT_DECK_ID ; $2f + const VAR_GR_CHALLENGE_CUP_STATE ; $30 + const VAR_GR_CHALLENGE_CUP_PRIZE_INDEX ; $31 + const VAR_TIMES_WON_GR_CHALLENGE_CUP ; $32 + const VAR_GR_CHALLENGE_CUP_RESULT ; $33 + const VAR_34 ; $34 + const VAR_35 ; $35 + const VAR_36 ; $36 + const VAR_37 ; $37 + const VAR_38 ; $38 + const VAR_39 ; $39 + const VAR_CARD_DUNGEON_PROGRESS ; $3a + const VAR_3B ; $3b: AARON_STEP_*; Fighting Fort + const VAR_NPC_DECK_ID ; $3c + const VAR_DUEL_START_THEME ; $3d + const VAR_3E ; $3e diff --git a/src/data/challenge_cup_opponents.asm b/src/data/challenge_cup_opponents.asm index 8789ed0..d633f1e 100644 --- a/src/data/challenge_cup_opponents.asm +++ b/src/data/challenge_cup_opponents.asm @@ -1,4 +1,5 @@ -; deck id, bitmask 0/1/2 +; deck id and bitmask cup1, 2, 3 for SetChallengeCupOpponents + TCGChallengeCupOpponents: db ROLLING_STONE_DECK_ID, %111, %011, %011 db GREAT_EARTHQUAKE_DECK_ID, %111, %011, %011 diff --git a/src/data/grand_master_cup.asm b/src/data/grand_master_cup.asm index 6d6f98e..34687a1 100644 --- a/src/data/grand_master_cup.asm +++ b/src/data/grand_master_cup.asm @@ -1,5 +1,5 @@ ; deck id and bitmask for SetGrandMasterCupOpponents -GrandMasterCupOpps: +GrandMasterCupOpponents: db EVEN3_YEARS_ON_A_ROCK_DECK_ID, %01111111 ; GRANDMASTERCUP_GENE db RAGING_BILLOW_OF_FISTS_DECK_ID, %01111111 ; GRANDMASTERCUP_MITCH db MAX_ENERGY_DECK_ID, %01111111 ; GRANDMASTERCUP_NIKKI diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index b98f548..697b93e 100644 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -598,29 +598,29 @@ Func_c3d4: ret Func_c439: - ld a, VAR_28 + ld a, VAR_TCG_CHALLENGE_CUP_STATE call GetVarValue - cp $05 + cp CHALLENGE_CUP_3_UNLOCKED jr c, .skip ld a, [wCurIsland] cp TCG_ISLAND - jr nz, .asm_c450 + jr nz, .determine ld a, [wCurOWLocation] cp OWMAP_TCG_CHALLENGE_HALL jr z, .skip -.asm_c450 - ld a, VAR_28 - ld c, $05 +.determine + ld a, VAR_TCG_CHALLENGE_CUP_STATE + ld c, CHALLENGE_CUP_3_UNLOCKED call SetVarValue - ld a, $04 + ld a, 4 call Random or a jr nz, .skip ; 1/4 chance - ld a, VAR_28 - ld c, $06 + ld a, VAR_TCG_CHALLENGE_CUP_STATE + ld c, CHALLENGE_CUP_3_START call SetVarValue - ld a, VAR_2B + ld a, VAR_TCG_CHALLENGE_CUP_RESULT call ZeroOutVarValue ld a, NUM_TCG_CHALLENGE_CUP_PRIZE_POOL call Random @@ -631,36 +631,36 @@ Func_c439: ret Func_c477: - ld a, VAR_30 + ld a, VAR_GR_CHALLENGE_CUP_STATE call GetVarValue - cp $05 - jr c, .asm_c4b4 + cp CHALLENGE_CUP_3_UNLOCKED + jr c, .skip ld a, [wCurIsland] cp GR_ISLAND - jr nz, .asm_c48e + jr nz, .determine ld a, [wCurOWLocation] cp OWMAP_GR_CHALLENGE_HALL - jr z, .asm_c4b4 -.asm_c48e - ld a, VAR_30 - ld c, $05 + jr z, .skip +.determine + ld a, VAR_GR_CHALLENGE_CUP_STATE + ld c, CHALLENGE_CUP_3_UNLOCKED call SetVarValue - ld a, $05 + ld a, 5 call Random or a - jr nz, .asm_c4b4 + jr nz, .skip ; 1/5 chance - ld a, VAR_30 - ld c, $06 + ld a, VAR_GR_CHALLENGE_CUP_STATE + ld c, CHALLENGE_CUP_3_START call SetVarValue - ld a, VAR_33 + ld a, VAR_GR_CHALLENGE_CUP_RESULT call ZeroOutVarValue ld a, NUM_GR_CHALLENGE_CUP_PRIZE_POOL call Random ld c, a ld a, VAR_GR_CHALLENGE_CUP_PRIZE_INDEX call SetVarValue -.asm_c4b4 +.skip ret ; load the NPC duelist header corresponding to register a into wCurrentNPCDuelistData @@ -2184,18 +2184,18 @@ GeneralVarMasks: db $1a, %00001111 ; VAR_25 db $1a, %11110000 ; VAR_26 db $1b, %00001111 ; VAR_27 - db $1b, %01110000 ; VAR_28 + db $1b, %01110000 ; VAR_TCG_CHALLENGE_CUP_STATE db $1c, %00011111 ; VAR_TCG_CHALLENGE_CUP_PRIZE_INDEX - db $1d, %00001111 ; VAR_2A - db $1d, %00110000 ; VAR_2B - db $1d, %11000000 ; VAR_2C - db $1e, %11111111 ; VAR_2D - db $1f, %11111111 ; VAR_2E - db $20, %11111111 ; VAR_2F - db $21, %00000111 ; VAR_30 + db $1d, %00001111 ; VAR_TIMES_WON_TCG_CHALLENGE_CUP + db $1d, %00110000 ; VAR_TCG_CHALLENGE_CUP_RESULT + db $1d, %11000000 ; VAR_CHALLENGECUP_CURRENT_ROUND + db $1e, %11111111 ; VAR_CHALLENGECUP_ROUND1_OPPONENT_DECK_ID + db $1f, %11111111 ; VAR_CHALLENGECUP_ROUND2_OPPONENT_DECK_ID + db $20, %11111111 ; VAR_CHALLENGECUP_ROUND3_OPPONENT_DECK_ID + db $21, %00000111 ; VAR_GR_CHALLENGE_CUP_STATE db $21, %11111000 ; VAR_GR_CHALLENGE_CUP_PRIZE_INDEX - db $22, %00001111 ; VAR_32 - db $22, %00110000 ; VAR_33 + db $22, %00001111 ; VAR_TIMES_WON_GR_CHALLENGE_CUP + db $22, %00110000 ; VAR_GR_CHALLENGE_CUP_RESULT db $23, %00000111 ; VAR_34 db $24, %11111111 ; VAR_35 db $25, %11111111 ; VAR_36 diff --git a/src/engine/bank0c.asm b/src/engine/bank0c.asm index 96b3636..c208f65 100644 --- a/src/engine/bank0c.asm +++ b/src/engine/bank0c.asm @@ -1230,7 +1230,7 @@ GrChallengeHallEntrance_NPCs: db $ff GrChallengeHallEntrance_NPCInteractions: - npc_script NPC_GR_CLERK_CHALLENGE_HALL_ENTRANCE, Func_314a1 + npc_script NPC_GR_CLERK_CHALLENGE_HALL_ENTRANCE, Script_GRChallengeHallEntranceGRClerk db $ff GrChallengeHallEntrance_MapScripts: @@ -1247,18 +1247,18 @@ Func_31426: ret Func_3142d: - ld a, VAR_30 + ld a, VAR_GR_CHALLENGE_CUP_STATE farcall GetVarValue - cp $01 - jr z, .asm_3143f - cp $03 - jr z, .asm_3143f - cp $06 - jr nz, .asm_31444 -.asm_3143f + cp CHALLENGE_CUP_1_START + jr z, .active + cp CHALLENGE_CUP_2_START + jr z, .active + cp CHALLENGE_CUP_3_START + jr nz, .inactive +.active ld a, MUSIC_GR_CHALLENGE_CUP ld [wNextMusic], a -.asm_31444 +.inactive scf ccf ret @@ -1266,38 +1266,40 @@ Func_3142d: Func_31447: ld a, [wTempPrevMap] cp OVERWORLD_MAP_GR - jr nz, .asm_3148e - ld a, VAR_30 + jr nz, .done + ld a, VAR_GR_CHALLENGE_CUP_STATE farcall GetVarValue - cp $01 - jr z, .asm_31460 - cp $03 - jr z, .asm_31460 - cp $06 - jr nz, .asm_3148e -.asm_31460 - ld a, VAR_33 + cp CHALLENGE_CUP_1_START + jr z, .active + cp CHALLENGE_CUP_2_START + jr z, .active + cp CHALLENGE_CUP_3_START + jr nz, .done +.active + ld a, VAR_GR_CHALLENGE_CUP_RESULT farcall GetVarValue - cp $01 + cp CHALLENGE_CUP_RESULT_WON push af - ld a, VAR_33 + ld a, VAR_GR_CHALLENGE_CUP_RESULT farcall ZeroOutVarValue pop af - jr nz, .asm_3148e - ld a, VAR_30 + jr nz, .done + ld a, VAR_GR_CHALLENGE_CUP_STATE farcall GetVarValue - cp $06 - jr z, .asm_31486 + cp CHALLENGE_CUP_3_START + jr z, .adjust inc a ld c, a - ld a, VAR_30 + ld a, VAR_GR_CHALLENGE_CUP_STATE farcall SetVarValue - jr .asm_3148e -.asm_31486 - ld a, VAR_30 - ld c, $05 + jr .done +; keep the state var < 7 +; verbose: dec a between inc a :: ld c, a above should suffice +.adjust + ld a, VAR_GR_CHALLENGE_CUP_STATE + ld c, CHALLENGE_CUP_3_UNLOCKED farcall SetVarValue -.asm_3148e +.done scf ret @@ -1314,7 +1316,7 @@ Func_31499: scf ret -Func_314a1: +Script_GRChallengeHallEntranceGRClerk: ld a, NPC_GR_CLERK_CHALLENGE_HALL_ENTRANCE ld [wScriptNPC], a ldtx hl, DialogReceptionistText @@ -1325,38 +1327,38 @@ Func_314a1: xor a start_script start_dialog - get_var VAR_33 - compare_loaded_var $00 - script_jump_if_b0z .ows_314f8 - get_var VAR_30 - compare_loaded_var $05 - script_jump_if_b0nz .ows_314ec - script_jump_if_b1z .ows_314f2 - compare_loaded_var $03 - script_jump_if_b0nz .ows_314e0 - script_jump_if_b1z .ows_314e6 - compare_loaded_var $01 - script_jump_if_b0nz .ows_314da - print_npc_text Text0e2b - script_jump .ows_314fb -.ows_314da - print_npc_text Text0e2c - script_jump .ows_314fb -.ows_314e0 - print_npc_text Text0e2d - script_jump .ows_314fb -.ows_314e6 - print_npc_text Text0e2e - script_jump .ows_314fb -.ows_314ec - print_npc_text Text0e2f - script_jump .ows_314fb -.ows_314f2 - print_npc_text Text0e30 - script_jump .ows_314fb -.ows_314f8 - print_npc_text Text0e31 -.ows_314fb + get_var VAR_GR_CHALLENGE_CUP_RESULT + compare_loaded_var CHALLENGE_CUP_RESULT_NONE + script_jump_if_b0z .gr_cup_played + get_var VAR_GR_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_3_UNLOCKED + script_jump_if_b0nz .gr_cup3_inactive + script_jump_if_b1z .gr_cup3_active + compare_loaded_var CHALLENGE_CUP_2_START + script_jump_if_b0nz .gr_cup2_active + script_jump_if_b1z .gr_cup2_inactive + compare_loaded_var CHALLENGE_CUP_1_START + script_jump_if_b0nz .gr_cup1_active + print_npc_text GRChallengeHallEntranceClerkGRCup1InactiveText + script_jump .done +.gr_cup1_active + print_npc_text GRChallengeHallEntranceClerkGRCup1ActiveText + script_jump .done +.gr_cup2_active + print_npc_text GRChallengeHallEntranceClerkGRCup2ActiveText + script_jump .done +.gr_cup2_inactive + print_npc_text GRChallengeHallEntranceClerkGRCup2InactiveText + script_jump .done +.gr_cup3_inactive + print_npc_text GRChallengeHallEntranceClerkGRCup3InactiveText + script_jump .done +.gr_cup3_active + print_npc_text GRChallengeHallEntranceClerkGRCup3ActiveText + script_jump .done +.gr_cup_played + print_npc_text GRChallengeHallEntranceClerkGRCupPlayedText +.done end_dialog end_script ret @@ -3167,7 +3169,7 @@ Func_322a1: reset_event EVENT_TALKED_TO_KEN reset_event EVENT_TALKED_TO_ADAM reset_event EVENT_TALKED_TO_ROBERT - set_var VAR_28, $02 + set_var VAR_TCG_CHALLENGE_CUP_STATE, CHALLENGE_CUP_1_END print_npc_text Text11c2 end_dialog get_player_direction @@ -3445,8 +3447,8 @@ Func_324e1: check_event EVENT_SET_UNTIL_MAP_RELOAD_2 script_jump_if_b0nz .ows_32503 set_event EVENT_BEAT_CATHERINE - set_var VAR_30, $01 - set_var VAR_33, $00 + set_var VAR_GR_CHALLENGE_CUP_STATE, CHALLENGE_CUP_1_START + set_var VAR_GR_CHALLENGE_CUP_RESULT, CHALLENGE_CUP_RESULT_NONE send_mail $07 print_npc_text Text11d6 give_booster_packs BoosterList_cd63 @@ -4808,8 +4810,8 @@ Func_32efd: check_event EVENT_SET_UNTIL_MAP_RELOAD_2 script_jump_if_b0nz .ows_32f21 set_event EVENT_BEAT_HIDERO - set_var VAR_28, $03 - set_var VAR_2B, $00 + set_var VAR_TCG_CHALLENGE_CUP_STATE, CHALLENGE_CUP_2_START + set_var VAR_TCG_CHALLENGE_CUP_RESULT, CHALLENGE_CUP_RESULT_NONE script_call .ows_32f52 print_npc_text Text0c8e give_booster_packs BoosterList_cd75 @@ -4845,7 +4847,7 @@ Func_32efd: .ows_32f52 check_event EVENT_GOT_PSYDUCK_COIN script_jump_if_b0nz .ows_32f5a - set_var VAR_30, $02 + set_var VAR_GR_CHALLENGE_CUP_STATE, CHALLENGE_CUP_1_END .ows_32f5a script_ret @@ -5377,7 +5379,7 @@ Func_332ff: .ows_3334e check_event EVENT_GOT_MAGMAR_COIN script_jump_if_b0nz .ows_33356 - set_var VAR_30, $02 + set_var VAR_GR_CHALLENGE_CUP_STATE, CHALLENGE_CUP_1_END .ows_33356 script_ret diff --git a/src/engine/bank0d.asm b/src/engine/bank0d.asm index 386ccd9..541d8af 100644 --- a/src/engine/bank0d.asm +++ b/src/engine/bank0d.asm @@ -267,8 +267,8 @@ Func_341f7: wait_for_fade send_mail $06 set_var VAR_TIMES_MET_RONALD, $04 - set_var VAR_28, $01 - set_var VAR_2B, $00 + set_var VAR_TCG_CHALLENGE_CUP_STATE, CHALLENGE_CUP_1_START + set_var VAR_TCG_CHALLENGE_CUP_RESULT, CHALLENGE_CUP_RESULT_NONE get_var VAR_21 compare_loaded_var $00 script_jump_if_b0nz .ows_3421c @@ -2399,7 +2399,7 @@ GrChallengeHallLobby_StepEvents: GrChallengeHallLobby_NPCs: npc NPC_GR_CHALLENGE_HALL_GR_GRANNY, 3, 5, WEST, NULL - npc NPC_CUP_HOST, 2, 10, NORTH, Func_353ce + npc NPC_CUP_HOST, 2, 10, NORTH, GrChallengeHallLobby_DisappearDuringGRCups npc NPC_GR_CHALLENGE_HALL_GR_CHAP, 8, 9, EAST, Func_35444 npc NPC_GR_CHALLENGE_HALL_GR_WOMAN, 12, 8, WEST, NULL npc NPC_GR_CLERK_BATTLE_CENTER, 5, 2, SOUTH, NULL @@ -2408,7 +2408,7 @@ GrChallengeHallLobby_NPCs: GrChallengeHallLobby_NPCInteractions: npc_script NPC_GR_CHALLENGE_HALL_GR_GRANNY, Func_35342 - npc_script NPC_CUP_HOST, Func_353a8 + npc_script NPC_CUP_HOST, Script_CupHostGRLobby npc_script NPC_GR_CHALLENGE_HALL_GR_WOMAN, Func_35451 npc_script NPC_GR_CHALLENGE_HALL_GR_CHAP, Func_353e5 db $ff @@ -2428,18 +2428,18 @@ GrChallengeHallLobby_MapScripts: db $ff Func_35308: - ld a, VAR_30 + ld a, VAR_GR_CHALLENGE_CUP_STATE farcall GetVarValue - cp $01 - jr z, .asm_3531a - cp $03 - jr z, .asm_3531a - cp $06 - jr nz, .asm_3531f -.asm_3531a + cp CHALLENGE_CUP_1_START + jr z, .active + cp CHALLENGE_CUP_2_START + jr z, .active + cp CHALLENGE_CUP_3_START + jr nz, .inactive +.active ld a, MUSIC_GR_CHALLENGE_CUP ld [wNextMusic], a -.asm_3531f +.inactive scf ccf ret @@ -2515,7 +2515,7 @@ Func_35342: end_script ret -Func_353a8: +Script_CupHostGRLobby: ld a, NPC_CUP_HOST ld [wScriptNPC], a ldtx hl, DialogCupHostText @@ -2527,29 +2527,29 @@ Func_353a8: start_script start_dialog check_event EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE - script_jump_if_b0z .ows_353c8 - print_npc_text Text0e3a - script_jump .ows_353cb -.ows_353c8 - print_npc_text Text0e3b -.ows_353cb + script_jump_if_b0z .gr_cup3_unlocked + print_npc_text GRChallengeHallLobbyCupHostStandbyText + script_jump .done +.gr_cup3_unlocked + print_npc_text GRChallengeHallLobbyCupHostStandbyGRCup3Text +.done end_dialog end_script ret -Func_353ce: - ld a, VAR_30 +GrChallengeHallLobby_DisappearDuringGRCups: + ld a, VAR_GR_CHALLENGE_CUP_STATE farcall GetVarValue - cp $01 - jr z, .asm_353e3 - cp $03 - jr z, .asm_353e3 - cp $06 - jr z, .asm_353e3 + cp CHALLENGE_CUP_1_START + jr z, .disappear + cp CHALLENGE_CUP_2_START + jr z, .disappear + cp CHALLENGE_CUP_3_START + jr z, .disappear scf ccf ret -.asm_353e3 +.disappear scf ret @@ -2566,11 +2566,11 @@ Func_353e5: start_dialog check_event EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE script_jump_if_b0z .ows_35423 - get_var VAR_30 - compare_loaded_var $03 + get_var VAR_GR_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_2_START script_jump_if_b0nz .ows_35417 script_jump_if_b1z .ows_3541d - compare_loaded_var $01 + compare_loaded_var CHALLENGE_CUP_1_START script_jump_if_b0nz .ows_35417 script_jump_if_b1z .ows_3541d print_npc_text Text0e3c @@ -2608,11 +2608,11 @@ Func_353e5: Func_35444: ld a, EVENT_94 farcall GetEventValue - jr nz, .asm_3544f + jr nz, .disappear scf ccf ret -.asm_3544f +.disappear scf ret @@ -2627,17 +2627,17 @@ Func_35451: xor a start_script start_dialog - get_var VAR_33 - compare_loaded_var $02 + get_var VAR_GR_CHALLENGE_CUP_RESULT + compare_loaded_var CHALLENGE_CUP_RESULT_LOST script_jump_if_b0nz .ows_35490 - get_var VAR_30 - compare_loaded_var $05 + get_var VAR_GR_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_3_UNLOCKED script_jump_if_b0nz .ows_35496 script_jump_if_b1z .ows_3549c - compare_loaded_var $03 + compare_loaded_var CHALLENGE_CUP_2_START script_jump_if_b0nz .ows_3548a script_jump_if_b1z .ows_35484 - compare_loaded_var $01 + compare_loaded_var CHALLENGE_CUP_1_START script_jump_if_b0nz .ows_3548a .ows_35484 print_npc_text Text0e40 @@ -3580,8 +3580,8 @@ Func_35b82: check_event EVENT_SET_UNTIL_MAP_RELOAD_2 script_jump_if_b0nz .ows_35ba2 set_event EVENT_BEAT_KAMIYA - set_var VAR_30, $03 - set_var VAR_33, $00 + set_var VAR_GR_CHALLENGE_CUP_STATE, CHALLENGE_CUP_2_START + set_var VAR_GR_CHALLENGE_CUP_RESULT, CHALLENGE_CUP_RESULT_NONE print_npc_text Text0c20 give_booster_packs BoosterList_cd8e script_jump .ows_35bbf @@ -5865,7 +5865,7 @@ Script_36d75: script_jump .ows_36d87 .ows_36d87 set_event EVENT_FREED_ROD - set_var VAR_28, $04 + set_var VAR_TCG_CHALLENGE_CUP_STATE, CHALLENGE_CUP_2_END set_active_npc_direction EAST set_npc_direction NPC_ROD, WEST start_dialog @@ -6014,7 +6014,7 @@ Func_36e9b: check_event EVENT_SET_UNTIL_MAP_RELOAD_2 script_jump_if_b0nz .ows_36eba set_event EVENT_BEAT_MAMI - set_var VAR_30, $04 + set_var VAR_GR_CHALLENGE_CUP_STATE, CHALLENGE_CUP_2_END reset_event EVENT_TALKED_TO_RYOKO print_npc_text Text112d give_booster_packs BoosterList_cda2 diff --git a/src/engine/bank0f.asm b/src/engine/bank0f.asm index ca200fd..fa9701f 100644 --- a/src/engine/bank0f.asm +++ b/src/engine/bank0f.asm @@ -2277,7 +2277,7 @@ TcgChallengeHallEntrance_NPCs: db $ff TcgChallengeHallEntrance_NPCInteractions: - npc_script NPC_CLERK_TCG_CHALLENGE_HALL_ENTRANCE, Func_3d271 + npc_script NPC_CLERK_TCG_CHALLENGE_HALL_ENTRANCE, Script_TCGChallengeHallEntranceClerk db $ff TcgChallengeHallEntrance_MapScripts: @@ -2289,18 +2289,18 @@ TcgChallengeHallEntrance_MapScripts: db $ff Func_3d1f6: - ld a, VAR_28 + ld a, VAR_TCG_CHALLENGE_CUP_STATE farcall GetVarValue - cp $01 - jr z, .asm_3d208 - cp $03 - jr z, .asm_3d208 - cp $06 - jr nz, .asm_3d20d -.asm_3d208 + cp CHALLENGE_CUP_1_START + jr z, .active + cp CHALLENGE_CUP_2_START + jr z, .active + cp CHALLENGE_CUP_3_START + jr nz, .inactive +.active ld a, MUSIC_CHALLENGE_HALL ld [wNextMusic], a -.asm_3d20d +.inactive scf ccf ret @@ -2308,38 +2308,40 @@ Func_3d1f6: Func_3d210: ld a, [wTempPrevMap] cp OVERWORLD_MAP_TCG - jr nz, .asm_3d257 - ld a, VAR_28 + jr nz, .done + ld a, VAR_TCG_CHALLENGE_CUP_STATE farcall GetVarValue - cp $01 - jr z, .asm_3d229 - cp $03 - jr z, .asm_3d229 - cp $06 - jr nz, .asm_3d257 -.asm_3d229 - ld a, VAR_2B + cp CHALLENGE_CUP_1_START + jr z, .active + cp CHALLENGE_CUP_2_START + jr z, .active + cp CHALLENGE_CUP_3_START + jr nz, .done +.active + ld a, VAR_TCG_CHALLENGE_CUP_RESULT farcall GetVarValue - cp $01 + cp CHALLENGE_CUP_RESULT_WON push af - ld a, VAR_2B + ld a, VAR_TCG_CHALLENGE_CUP_RESULT farcall ZeroOutVarValue pop af - jr nz, .asm_3d257 - ld a, VAR_28 + jr nz, .done + ld a, VAR_TCG_CHALLENGE_CUP_STATE farcall GetVarValue - cp $06 - jr z, .asm_3d24f + cp CHALLENGE_CUP_3_START + jr z, .adjust inc a ld c, a - ld a, VAR_28 + ld a, VAR_TCG_CHALLENGE_CUP_STATE farcall SetVarValue - jr .asm_3d257 -.asm_3d24f - ld a, VAR_28 - ld c, $05 + jr .done +; keep the state var < 7 +; verbose: dec a between inc a :: ld c, a above should suffice +.adjust + ld a, VAR_TCG_CHALLENGE_CUP_STATE + ld c, CHALLENGE_CUP_3_UNLOCKED farcall SetVarValue -.asm_3d257 +.done scf ret @@ -2361,7 +2363,7 @@ Func_3d269: scf ret -Func_3d271: +Script_TCGChallengeHallEntranceClerk: ld a, NPC_CLERK_TCG_CHALLENGE_HALL_ENTRANCE ld [wScriptNPC], a ldtx hl, DialogReceptionistText @@ -2372,42 +2374,42 @@ Func_3d271: xor a start_script start_dialog - get_var VAR_2B - compare_loaded_var $00 - script_jump_if_b0z .ows_3d2d1 - get_var VAR_28 - compare_loaded_var $05 - script_jump_if_b0nz .ows_3d2c5 - script_jump_if_b1z .ows_3d2cb - compare_loaded_var $03 - script_jump_if_b0nz .ows_3d2b9 - script_jump_if_b1z .ows_3d2bf - compare_loaded_var $01 - script_jump_if_b0nz .ows_3d2ad - script_jump_if_b1z .ows_3d2b3 - print_npc_text Text098a - script_jump .ows_3d2d4 -.ows_3d2ad - print_npc_text Text098b - script_jump .ows_3d2d4 -.ows_3d2b3 - print_npc_text Text098c - script_jump .ows_3d2d4 -.ows_3d2b9 - print_npc_text Text098d - script_jump .ows_3d2d4 -.ows_3d2bf - print_npc_text Text098e - script_jump .ows_3d2d4 -.ows_3d2c5 - print_npc_text Text098f - script_jump .ows_3d2d4 -.ows_3d2cb - print_npc_text Text0990 - script_jump .ows_3d2d4 -.ows_3d2d1 - print_npc_text Text0991 -.ows_3d2d4 + get_var VAR_TCG_CHALLENGE_CUP_RESULT + compare_loaded_var CHALLENGE_CUP_RESULT_NONE + script_jump_if_b0z .tcg_cup_played + get_var VAR_TCG_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_3_UNLOCKED + script_jump_if_b0nz .tcg_cup3_inactive + script_jump_if_b1z .tcg_cup3_active + compare_loaded_var CHALLENGE_CUP_2_START + script_jump_if_b0nz .tcg_cup2_active + script_jump_if_b1z .tcg_cup2_over + compare_loaded_var CHALLENGE_CUP_1_START + script_jump_if_b0nz .tcg_cup1_active + script_jump_if_b1z .tcg_cup1_over + print_npc_text TCGChallengeHallEntranceClerkNoCardsText + script_jump .done +.tcg_cup1_active + print_npc_text TCGChallengeHallEntranceClerkTCGCup1ActiveText + script_jump .done +.tcg_cup1_over + print_npc_text TCGChallengeHallEntranceClerkTCGCup1OverText + script_jump .done +.tcg_cup2_active + print_npc_text TCGChallengeHallEntranceClerkTCGCup2ActiveText + script_jump .done +.tcg_cup2_over + print_npc_text TCGChallengeHallEntranceClerkTCGCup2OverText + script_jump .done +.tcg_cup3_inactive + print_npc_text TCGChallengeHallEntranceClerkTCGCup3InactiveText + script_jump .done +.tcg_cup3_active + print_npc_text TCGChallengeHallEntranceClerkTCGCup3ActiveText + script_jump .done +.tcg_cup_played + print_npc_text TCGChallengeHallEntranceClerkTCGCupPlayedText +.done end_dialog end_script ret @@ -2424,18 +2426,18 @@ TcgChallengeHallLobby_StepEvents: TcgChallengeHallLobby_NPCs: npc NPC_TCG_CHALLENGE_HALL_CHAP, 10, 4, SOUTH, NULL - npc NPC_CUP_HOST, 7, 9, EAST, Func_3d5a3 - npc NPC_TCG_CHALLENGE_HALL_PUNK, 5, 6, EAST, Func_3d5a3 - npc NPC_TCG_CHALLENGE_HALL_PAPPY, 4, 9, EAST, Func_3d5ba - npc NPC_TCG_CHALLENGE_HALL_TECH, 9, 10, NORTH, Func_3d5ba - npc NPC_TCG_CHALLENGE_HALL_GIRL, 13, 9, WEST, Func_3d5ba + npc NPC_CUP_HOST, 7, 9, EAST, TcgChallengeHallLobby_DisappearDuringTCGCups + npc NPC_TCG_CHALLENGE_HALL_PUNK, 5, 6, EAST, TcgChallengeHallLobby_DisappearDuringTCGCups + npc NPC_TCG_CHALLENGE_HALL_PAPPY, 4, 9, EAST, TcgChallengeHallLobby_AppearDuringTCGCups + npc NPC_TCG_CHALLENGE_HALL_TECH, 9, 10, NORTH, TcgChallengeHallLobby_AppearDuringTCGCups + npc NPC_TCG_CHALLENGE_HALL_GIRL, 13, 9, WEST, TcgChallengeHallLobby_AppearDuringTCGCups npc NPC_CLERK_BATTLE_CENTER, 2, 2, SOUTH, NULL npc NPC_CLERK_GIFT_CENTER, 4, 2, SOUTH, NULL db $ff TcgChallengeHallLobby_NPCInteractions: npc_script NPC_TCG_CHALLENGE_HALL_CHAP, Func_3d3c0 - npc_script NPC_CUP_HOST, Func_3d4e9 + npc_script NPC_CUP_HOST, Script_CupHostTCGLobby npc_script NPC_TCG_CHALLENGE_HALL_PUNK, Func_3d511 npc_script NPC_TCG_CHALLENGE_HALL_PAPPY, Func_3d539 npc_script NPC_TCG_CHALLENGE_HALL_TECH, Func_3d56d @@ -2460,18 +2462,18 @@ TcgChallengeHallLobby_MapScripts: db $ff Func_3d386: - ld a, VAR_28 + ld a, VAR_TCG_CHALLENGE_CUP_STATE farcall GetVarValue - cp $01 - jr z, .asm_3d398 - cp $03 - jr z, .asm_3d398 - cp $06 - jr nz, .asm_3d39d -.asm_3d398 + cp CHALLENGE_CUP_1_START + jr z, .active + cp CHALLENGE_CUP_2_START + jr z, .active + cp CHALLENGE_CUP_3_START + jr nz, .inactive +.active ld a, MUSIC_CHALLENGE_HALL ld [wNextMusic], a -.asm_3d39d +.inactive scf ccf ret @@ -2638,7 +2640,7 @@ Func_3d3c0: end_script ret -Func_3d4e9: +Script_CupHostTCGLobby: ld a, NPC_CUP_HOST ld [wScriptNPC], a ldtx hl, DialogCupHostText @@ -2649,14 +2651,14 @@ Func_3d4e9: xor a start_script start_dialog - get_var VAR_28 - compare_loaded_var $00 - script_jump_if_b0z .ows_3d50b - print_npc_text Text09ab - script_jump .ows_3d50e -.ows_3d50b - print_npc_text Text09ac -.ows_3d50e + get_var VAR_TCG_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_DEAD + script_jump_if_b0z .tcg_cup_unlocked + print_npc_text TCGChallengeHallLobbyCupHostNoCardsText + script_jump .done +.tcg_cup_unlocked + print_npc_text TCGChallengeHallLobbyCupHostStandbyText +.done end_dialog end_script ret @@ -2672,8 +2674,8 @@ Func_3d511: xor a start_script start_dialog - get_var VAR_28 - compare_loaded_var $00 + get_var VAR_TCG_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_DEAD script_jump_if_b0z .ows_3d533 print_npc_text Text09ad script_jump .ows_3d536 @@ -2695,16 +2697,16 @@ Func_3d539: xor a start_script start_dialog - get_var VAR_2B - compare_loaded_var $02 + get_var VAR_TCG_CHALLENGE_CUP_RESULT + compare_loaded_var CHALLENGE_CUP_RESULT_LOST script_jump_if_b0nz .ows_3d561 - get_var VAR_28 - compare_loaded_var $06 + get_var VAR_TCG_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_3_START print_variable_npc_text Text09af, Text09b0 script_jump .ows_3d56a .ows_3d561 - get_var VAR_28 - compare_loaded_var $06 + get_var VAR_TCG_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_3_START print_variable_npc_text Text09b1, Text09b2 .ows_3d56a end_dialog @@ -2743,34 +2745,34 @@ Func_3d588: end_script ret -Func_3d5a3: - ld a, VAR_28 +TcgChallengeHallLobby_DisappearDuringTCGCups: + ld a, VAR_TCG_CHALLENGE_CUP_STATE farcall GetVarValue - cp $01 - jr z, .asm_3d5b8 - cp $03 - jr z, .asm_3d5b8 - cp $06 - jr z, .asm_3d5b8 + cp CHALLENGE_CUP_1_START + jr z, .disappear + cp CHALLENGE_CUP_2_START + jr z, .disappear + cp CHALLENGE_CUP_3_START + jr z, .disappear scf ccf ret -.asm_3d5b8 +.disappear scf ret -Func_3d5ba: - ld a, VAR_28 +TcgChallengeHallLobby_AppearDuringTCGCups: + ld a, VAR_TCG_CHALLENGE_CUP_STATE farcall GetVarValue - cp $01 - jr z, .asm_3d5ce - cp $03 - jr z, .asm_3d5ce - cp $06 - jr z, .asm_3d5ce + cp CHALLENGE_CUP_1_START + jr z, .appear + cp CHALLENGE_CUP_2_START + jr z, .appear + cp CHALLENGE_CUP_3_START + jr z, .appear scf ret -.asm_3d5ce +.appear scf ccf ret @@ -3876,7 +3878,7 @@ Func_3ddb8: farcall Func_454fa ld a, VAR_GRANDMASTERCUP_OPPONENT_DECK_0 farcall GetVarValue - farcall Func_45484 + farcall GetNPCByDeck_AdjustAmy_PokemonDome lb de, 9, 4 ld b, WEST farcall LoadOWObjectInMap @@ -4312,7 +4314,7 @@ Script_3e158: move_active_npc .NPCMovement_3e1ae wait_for_player_animation quit_script - farcall Func_454bc + farcall LoadGrandMasterCupOpponentTitleAndName ld a, $01 start_script start_dialog @@ -4337,7 +4339,7 @@ Script_3e158: print_npc_text Text0fb9 end_dialog end_script - farcall Func_454ab + farcall SetGrandMasterCupDuelParams ret .NPCMovement_3e1a9: db WEST, MOVE_1 @@ -4360,7 +4362,7 @@ Script_3e1b8: farcall SetVarValue ld a, VAR_1B farcall GetVarValue - farcall Func_45484 + farcall GetNPCByDeck_AdjustAmy_PokemonDome lb de, 9, 4 ld b, WEST farcall LoadOWObjectInMap @@ -4377,7 +4379,7 @@ Script_3e1b8: move_active_npc .NPCMovement_3e212 wait_for_player_animation quit_script - farcall Func_454bc + farcall LoadGrandMasterCupOpponentTitleAndName ld a, $01 start_script start_dialog @@ -4389,7 +4391,7 @@ Script_3e1b8: print_npc_text Text0fbd end_dialog end_script - farcall Func_454ab + farcall SetGrandMasterCupDuelParams ret .NPCMovement_3e20d: db WEST, MOVE_1 @@ -4412,7 +4414,7 @@ Script_3e21c: farcall SetVarValue ld a, VAR_1E farcall GetVarValue - farcall Func_45484 + farcall GetNPCByDeck_AdjustAmy_PokemonDome lb de, 9, 4 ld b, WEST farcall LoadOWObjectInMap @@ -4435,7 +4437,7 @@ Script_3e21c: farcall GetNPCByDeck cp NPC_RONALD jr z, .asm_3e272 - farcall Func_454bc + farcall LoadGrandMasterCupOpponentTitleAndName ld a, $01 start_script print_npc_text Text0fc0 @@ -4455,7 +4457,7 @@ Script_3e21c: print_npc_text Text0fc3 end_dialog end_script - farcall Func_454ab + farcall SetGrandMasterCupDuelParams ret .NPCMovement_3e295: db WEST, MOVE_1 @@ -4487,7 +4489,7 @@ Func_3e2a4: ld h, $00 ld l, a call LoadTxRam3 - farcall Func_454e3 + farcall LoadGrandMasterCupOpponentName ld a, $01 start_script print_npc_text Text0fc4 @@ -4499,7 +4501,7 @@ Func_3e2a4: end_dialog quit_script farcall Func_45488 - farcall Func_45484 + farcall GetNPCByDeck_AdjustAmy_PokemonDome push af ld b, $0f ld hl, .NPCMovement_3e33f @@ -4526,7 +4528,7 @@ Func_3e2a4: ld h, $00 ld l, a call LoadTxRam3 - farcall Func_454e3 + farcall LoadGrandMasterCupOpponentName ld a, $01 start_script print_npc_text Text0fc7 @@ -4560,7 +4562,7 @@ Func_3e2a4: wait_for_player_animation start_dialog quit_script - farcall Func_454e3 + farcall LoadGrandMasterCupOpponentName ld a, $01 start_script print_npc_text Text0fcb @@ -4583,7 +4585,7 @@ Func_3e2a4: end_dialog quit_script farcall Func_45488 - farcall Func_45484 + farcall GetNPCByDeck_AdjustAmy_PokemonDome push af ld b, $0f ld hl, .NPCMovement_3e411 @@ -4600,7 +4602,7 @@ Func_3e2a4: .ows_3e3c0: quit_script - farcall Func_454e3 + farcall LoadGrandMasterCupOpponentName ld a, $01 start_script print_npc_text Text0fcd diff --git a/src/engine/bank10.asm b/src/engine/bank10.asm index f24e9ab..ff85bb5 100644 --- a/src/engine/bank10.asm +++ b/src/engine/bank10.asm @@ -1596,7 +1596,7 @@ Func_4101d: xor a start_script start_dialog - print_text Text0f06 + print_text ChallengeMachineWinStreakRecordCorruptedAndResetText end_dialog end_script .asm_41038 @@ -2347,16 +2347,16 @@ TcgChallengeHall_StepEvents: db $ff TcgChallengeHall_NPCs: - npc NPC_CUP_HOST, 7, 2, SOUTH, Func_41768 - npc NPC_TCG_CUP_CLERK_RIGHT, 10, 9, SOUTH, Func_41768 - npc NPC_TCG_CUP_CLERK_LEFT, 5, 9, SOUTH, Func_41768 - npc NPC_TCG_CHALLENGE_HALL_MAN, 7, 10, SOUTH, Func_41751 + npc NPC_CUP_HOST, 7, 2, SOUTH, TcgChallengeHall_AppearDuringTCGCups + npc NPC_TCG_CUP_CLERK_RIGHT, 10, 9, SOUTH, TcgChallengeHall_AppearDuringTCGCups + npc NPC_TCG_CUP_CLERK_LEFT, 5, 9, SOUTH, TcgChallengeHall_AppearDuringTCGCups + npc NPC_TCG_CHALLENGE_HALL_MAN, 7, 10, SOUTH, TcgChallengeHall_DisappearDuringTCGCups db $ff TcgChallengeHall_NPCInteractions: - npc_script NPC_TCG_CUP_CLERK_LEFT, Func_41662 - npc_script NPC_TCG_CUP_CLERK_RIGHT, Func_41705 - npc_script NPC_TCG_CHALLENGE_HALL_MAN, Func_41720 + npc_script NPC_TCG_CUP_CLERK_LEFT, Script_TCGCupClerkLeft + npc_script NPC_TCG_CUP_CLERK_RIGHT, Script_TCGCupClerkRight + npc_script NPC_TCG_CHALLENGE_HALL_MAN, Script_TCGChallengeHallMan db $ff TcgChallengeHall_MapScripts: @@ -2370,11 +2370,11 @@ TcgChallengeHall_MapScripts: db $ff Func_415e6: - call Func_41bd2 - jr c, .asm_415f0 + call CheckIfTCGCupIsActive + jr c, .inactive ld a, MUSIC_CHALLENGE_HALL ld [wNextMusic], a -.asm_415f0 +.inactive scf ccf ret @@ -2392,17 +2392,17 @@ Func_415fa: ret Func_41603: - call Func_41bd2 - jr c, .asm_41620 - xor a - farcall Func_45301 - ld a, VAR_2D + call CheckIfTCGCupIsActive + jr c, .inactive + xor a ; TCG_CHALLENGE_CUP + farcall SetChallengeCupOpponents + ld a, VAR_CHALLENGECUP_ROUND1_OPPONENT_DECK_ID farcall GetVarValue - farcall Func_453c3 + farcall GetNPCByDeck_AdjustAmy lb de, 9, 4 ld b, WEST farcall LoadOWObjectInMap -.asm_41620 +.inactive scf ret @@ -2413,12 +2413,12 @@ Func_41622: ret Func_4162a: - ld a, VAR_2C + ld a, VAR_CHALLENGECUP_CURRENT_ROUND farcall GetVarValue - cp $02 - jp c, Func_417df - jp z, Func_418ed - jp Func_41a4d + cp 2 + jp c, Script_TCGCupRound1AfterDuel + jp z, Script_TCGCupRound2AfterDuel + jp Script_TCGCupRound3AfterDuel Func_4163b: ld a, EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE_DUMMY @@ -2438,12 +2438,12 @@ Func_4164f: start_script reset_event EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE_DUMMY set_active_npc_position 9, 2 - get_var VAR_2C - compare_loaded_var $02 - script_jump_if_b0nz Script_418a6 - script_jump Script_419ab + get_var VAR_CHALLENGECUP_CURRENT_ROUND + compare_loaded_var 2 + script_jump_if_b0nz Script_TCGCupRound2Start + script_jump Script_TCGCupRound3Start -Func_41662: +Script_TCGCupClerkLeft: ld a, NPC_TCG_CUP_CLERK_LEFT ld [wScriptNPC], a ldtx hl, DialogReceptionistText @@ -2454,60 +2454,62 @@ Func_41662: xor a start_script start_dialog - get_var VAR_2B - compare_loaded_var $01 - script_jump_if_b0nz .ows_416ac - script_jump_if_b1z .ows_416b2 - get_var VAR_28 - compare_loaded_var $06 - script_jump_if_b0nz .ows_41699 - compare_loaded_var $03 - script_jump_if_b0nz .ows_41693 - print_npc_text Text094e - script_jump .ows_416b8 -.ows_41693 - print_npc_text Text094f - script_jump .ows_416b8 -.ows_41699 + get_var VAR_TCG_CHALLENGE_CUP_RESULT + compare_loaded_var CHALLENGE_CUP_RESULT_WON + script_jump_if_b0nz .won + script_jump_if_b1z .lost + get_var VAR_TCG_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_3_START + script_jump_if_b0nz .cup3 + compare_loaded_var CHALLENGE_CUP_2_START + script_jump_if_b0nz .cup2 +; cup1 + print_npc_text TCGCupClerkCup1ActiveText + script_jump .enter_prompt +.cup2 + print_npc_text TCGCupClerkCup2ActiveText + script_jump .enter_prompt +.cup3 quit_script farcall GetTCGChallengeCupPrizeCardName call LoadTxRam2 ld a, $01 start_script - print_npc_text Text0950 - script_jump .ows_416b8 -.ows_416ac - print_npc_text Text0951 - script_jump .ows_416da -.ows_416b2 - print_npc_text Text0952 - script_jump .ows_416da -.ows_416b8 - ask_question Text0953, TRUE - script_jump_if_b0z .ows_416d7 - print_npc_text Text0954 + print_npc_text TCGCupClerkCup3ActiveText + script_jump .enter_prompt +.won + print_npc_text TCGCupClerkPlayerWonText + script_jump .done +.lost + print_npc_text TCGCupClerkPlayerLostText + script_jump .done +.enter_prompt + ask_question TCGCupClerkEnterPromptText, TRUE + script_jump_if_b0z .declined + print_npc_text TCGCupClerkEnterAcceptedText end_dialog get_player_direction compare_loaded_var NORTH - script_jump_if_b0nz .ows_416d0 + script_jump_if_b0nz .walk_straight +; has to turn move_player .NPCMovement_416f8, TRUE - script_jump .ows_416dd -.ows_416d0 + script_jump .enter_stage +.walk_straight move_player .NPCMovement_416fd, TRUE - script_jump .ows_416dd -.ows_416d7 - print_npc_text Text0955 -.ows_416da + script_jump .enter_stage +.declined + print_npc_text TCGCupClerkEnterDeclinedText +.done end_dialog end_script ret -.ows_416dd +.enter_stage move_active_npc .NPCMovement_416ec wait_for_player_animation move_player .NPCMovement_41700, TRUE move_active_npc .NPCMovement_416f3 wait_for_player_animation - script_jump Script_4177f + script_jump Script_TCGCupRound1Start .NPCMovement_416ec: db NORTH, MOVE_2 db EAST, MOVE_1 @@ -2529,7 +2531,7 @@ Func_41662: db EAST, MOVE_1 db $ff -Func_41705: +Script_TCGCupClerkRight: ld a, NPC_TCG_CUP_CLERK_RIGHT ld [wScriptNPC], a ldtx hl, DialogReceptionistText @@ -2540,12 +2542,12 @@ Func_41705: xor a start_script start_dialog - print_npc_text Text0956 + print_npc_text TCGCupClerkRightNoEntryText end_dialog end_script ret -Func_41720: +Script_TCGChallengeHallMan: ld a, NPC_TCG_CHALLENGE_HALL_MAN ld [wScriptNPC], a ldtx hl, DialogManText @@ -2557,148 +2559,153 @@ Func_41720: start_script start_dialog check_event EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE - script_jump_if_b0z .ows_4174b + script_jump_if_b0z .cup3_unlocked check_event EVENT_GOT_GR_COIN - script_jump_if_b0z .ows_41745 - print_npc_text Text0957 - script_jump .ows_4174e -.ows_41745 - print_npc_text Text0958 - script_jump .ows_4174e -.ows_4174b - print_npc_text Text0959 -.ows_4174e + script_jump_if_b0z .cup1_unlocked +; cups dead + print_npc_text TCGChallengeHallManNoCardsText + script_jump .done +.cup1_unlocked + print_npc_text TCGChallengeHallManGoodLuckText + script_jump .done +.cup3_unlocked + print_npc_text TCGChallengeHallManTCGCup3Text +.done end_dialog end_script ret -Func_41751: - ld a, VAR_28 +TcgChallengeHall_DisappearDuringTCGCups: + ld a, VAR_TCG_CHALLENGE_CUP_STATE farcall GetVarValue - cp $01 - jr z, .asm_41766 - cp $03 - jr z, .asm_41766 - cp $06 - jr z, .asm_41766 + cp CHALLENGE_CUP_1_START + jr z, .disappear + cp CHALLENGE_CUP_2_START + jr z, .disappear + cp CHALLENGE_CUP_3_START + jr z, .disappear scf ccf ret -.asm_41766 +.disappear scf ret -Func_41768: - ld a, VAR_28 +TcgChallengeHall_AppearDuringTCGCups: + ld a, VAR_TCG_CHALLENGE_CUP_STATE farcall GetVarValue - cp $01 - jr z, .asm_4177c - cp $03 - jr z, .asm_4177c - cp $06 - jr z, .asm_4177c + cp CHALLENGE_CUP_1_START + jr z, .appear + cp CHALLENGE_CUP_2_START + jr z, .appear + cp CHALLENGE_CUP_3_START + jr z, .appear scf ret -.asm_4177c +.appear scf ccf ret -Script_4177f: - set_var VAR_2C, $00 - script_jump .ows_41785 -.ows_41785 - set_var VAR_2C, $01 +Script_TCGCupRound1Start: + set_var VAR_CHALLENGECUP_CURRENT_ROUND, 0 + script_jump .round1 +.round1 + set_var VAR_CHALLENGECUP_CURRENT_ROUND, 1 quit_script - farcall Func_453ce + farcall LoadChallengeCupOpponentName ld a, $01 start_script set_active_npc NPC_CUP_HOST, DialogCupHostText start_dialog - get_var VAR_28 - compare_loaded_var $03 - script_jump_if_b0nz .ows_417b1 - script_jump_if_b1z .ows_417c1 - print_npc_text Text095a + get_var VAR_TCG_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_2_START + script_jump_if_b0nz .cup2 + script_jump_if_b1z .cup3 +; cup1 + print_npc_text CupHostTCGCup1IntroText end_dialog animate_active_npc_movement $03, $01 set_active_npc_direction SOUTH start_dialog - print_npc_text Text095b - script_jump .ows_417ce -.ows_417b1 - print_npc_text Text095c + print_npc_text CupHostTCGCup1Round1ChallengerText + script_jump .start_duel +.cup2 + print_npc_text CupHostTCGCup2IntroText end_dialog animate_active_npc_movement $03, $01 set_active_npc_direction SOUTH start_dialog - print_npc_text Text095d - script_jump .ows_417ce -.ows_417c1 - print_npc_text Text095e + print_npc_text CupHostTCGCup2Round1ChallengerText + script_jump .start_duel +.cup3 + print_npc_text CupHostTCGCup3IntroText end_dialog animate_active_npc_movement $03, $01 set_active_npc_direction SOUTH start_dialog - print_npc_text Text095f -.ows_417ce + print_npc_text CupHostTCGCup3Round1ChallengerText +.start_duel end_dialog animate_active_npc_movement $01, $01 set_active_npc_direction SOUTH start_dialog - print_npc_text Text0960 + print_npc_text CupHostTCGCupRound1DuelStartText end_dialog end_script - farcall Func_453f9 + farcall SetChallengeCupDuelParams ret -Func_417df: +Script_TCGCupRound1AfterDuel: xor a start_script start_dialog quit_script - farcall Func_453ce + farcall LoadChallengeCupOpponentName ld a, $01 start_script check_event EVENT_SET_UNTIL_MAP_RELOAD_2 - script_jump_if_b0nz .ows_41824 - get_var VAR_28 - compare_loaded_var $03 - script_jump_if_b0nz .ows_4180a - script_jump_if_b1z .ows_41817 - print_npc_text Text0961 - script_call .ows_4186a - print_npc_text Text0962 - script_jump .ows_41840 -.ows_4180a - print_npc_text Text0961 - script_call .ows_4186a - print_npc_text Text0963 - script_jump .ows_41840 -.ows_41817 - print_npc_text Text0964 - script_call .ows_4186a - print_npc_text Text0965 - script_jump .ows_41840 -.ows_41824 - get_var VAR_28 - compare_loaded_var $03 - script_jump_if_b0nz .ows_41834 - script_jump_if_b1z .ows_4183a - print_npc_text Text0966 - script_jump Script_41b98 -.ows_41834 - print_npc_text Text0967 - script_jump Script_41b98 -.ows_4183a - print_npc_text Text0968 - script_jump Script_41b98 -.ows_41840 + script_jump_if_b0nz .lost_round1 +; won round1 + get_var VAR_TCG_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_2_START + script_jump_if_b0nz .won_cup2_round1 + script_jump_if_b1z .won_cup3_round1 +; won cup1 round1 + print_npc_text CupHostTCGCup1Or2Round1PlayerWonText + script_call .opponent_eliminated + print_npc_text CupHostTCGCup1Round1NextChallengerText + script_jump .proceed +.won_cup2_round1 + print_npc_text CupHostTCGCup1Or2Round1PlayerWonText + script_call .opponent_eliminated + print_npc_text CupHostTCGCup2Round1NextChallengerText + script_jump .proceed +.won_cup3_round1 + print_npc_text CupHostTCGCup3Round1PlayerWonText + script_call .opponent_eliminated + print_npc_text CupHostTCGCup3Round1NextChallengerText + script_jump .proceed +.lost_round1 + get_var VAR_TCG_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_2_START + script_jump_if_b0nz .lost_cup2_round1 + script_jump_if_b1z .lost_cup3_round1 +; lost cup1 round1 + print_npc_text CupHostTCGCup1Round1PlayerLostText + script_jump Script_TCGCupPlayerLost +.lost_cup2_round1 + print_npc_text CupHostTCGCup2Round1PlayerLostText + script_jump Script_TCGCupPlayerLost +.lost_cup3_round1 + print_npc_text CupHostTCGCup3Round1PlayerLostText + script_jump Script_TCGCupPlayerLost +.proceed end_dialog quit_script - ld a, VAR_2E + ld a, VAR_CHALLENGECUP_ROUND2_OPPONENT_DECK_ID farcall GetVarValue - farcall Func_453c3 + farcall GetNPCByDeck_AdjustAmy ld b, NORTH lb de, 10, 9 farcall LoadOWObjectInMap @@ -2709,19 +2716,19 @@ Func_417df: ld a, $01 start_script start_dialog - script_jump Script_418a6 -.ows_4186a + script_jump Script_TCGCupRound2Start +.opponent_eliminated end_dialog animate_active_npc_movement $01, $01 animate_active_npc_movement $01, $01 set_active_npc_direction SOUTH start_dialog - print_npc_text Text0969 + print_npc_text CupHostTCGCupPlayerWonOpponentEliminatedText end_dialog quit_script - ld a, VAR_2D + ld a, VAR_CHALLENGECUP_ROUND1_OPPONENT_DECK_ID farcall GetVarValue - farcall Func_453c3 + farcall GetNPCByDeck_AdjustAmy push af ld b, $10 ld hl, .NPCMovement_4189c @@ -2742,87 +2749,90 @@ Func_417df: db WEST, MOVE_1 db $ff -Script_418a6: - set_var VAR_2C, $02 +Script_TCGCupRound2Start: + set_var VAR_CHALLENGECUP_CURRENT_ROUND, 2 quit_script - farcall Func_453ce + farcall LoadChallengeCupOpponentName ld a, $01 start_script start_dialog - print_npc_text Text096a + print_npc_text CupHostTCGCupRound2ChallengerText end_dialog move_active_npc .NPCMovement_418e8 wait_for_player_animation start_dialog - get_var VAR_28 - compare_loaded_var $06 - script_jump_if_b0z .ows_418c7 - print_npc_text Text096b -.ows_418c7 - print_npc_text Text096c + get_var VAR_TCG_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_3_START + script_jump_if_b0z .loop_prep + print_npc_text CupHostTCGCupRound2The4PrizesMatchText +.loop_prep + print_npc_text CupHostTCGCupAreYourDecksReadyText ask_question DuelPrepPromptText, FALSE - script_jump_if_b0z .ows_418de - print_npc_text Text096d + script_jump_if_b0z .start_duel + print_npc_text CupHostTCGCupMakeYourPreparationsText end_dialog set_event EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE_DUMMY open_menu reset_event EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE_DUMMY start_dialog - script_jump .ows_418c7 -.ows_418de - print_npc_text Text096e + script_jump .loop_prep +.start_duel + print_npc_text CupHostTCGCupRound2DuelStartText end_dialog end_script - farcall Func_453f9 + farcall SetChallengeCupDuelParams ret .NPCMovement_418e8: db WEST, MOVE_2 db SOUTH, MOVE_0 db $ff -Func_418ed: +Script_TCGCupRound2AfterDuel: xor a start_script start_dialog quit_script - farcall Func_453ce + farcall LoadChallengeCupOpponentName ld a, $01 start_script check_event EVENT_SET_UNTIL_MAP_RELOAD_2 - script_jump_if_b0nz .ows_41932 - get_var VAR_28 - compare_loaded_var $03 - script_jump_if_b0nz .ows_41918 - script_jump_if_b1z .ows_41925 - print_npc_text Text096f - script_call .ows_4196f - print_npc_text Text0970 - script_jump .ows_41945 -.ows_41918 - print_npc_text Text096f - script_call .ows_4196f - print_npc_text Text0971 - script_jump .ows_41945 -.ows_41925 - print_npc_text Text096f - script_call .ows_4196f - print_npc_text Text0972 - script_jump .ows_41945 -.ows_41932 - get_var VAR_28 - compare_loaded_var $06 - script_jump_if_b0nz .ows_4193f - print_npc_text Text0973 - script_jump Script_41b98 -.ows_4193f - print_npc_text Text0974 - script_jump Script_41b98 -.ows_41945 + script_jump_if_b0nz .lost_round2 +; won round2 + get_var VAR_TCG_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_2_START + script_jump_if_b0nz .won_cup2_round2 + script_jump_if_b1z .won_cup3_round2 +; won cup1 round2 + print_npc_text CupHostTCGCupRound2PlayerWonText + script_call .opponent_eliminated + print_npc_text CupHostTCGCup1Round2NextChallengerText + script_jump .proceed +.won_cup2_round2 + print_npc_text CupHostTCGCupRound2PlayerWonText + script_call .opponent_eliminated + print_npc_text CupHostTCGCup2Round2NextChallengerText + script_jump .proceed +.won_cup3_round2 + print_npc_text CupHostTCGCupRound2PlayerWonText + script_call .opponent_eliminated + print_npc_text CupHostTCGCup3Round2NextChallengerText + script_jump .proceed +.lost_round2 + get_var VAR_TCG_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_3_START + script_jump_if_b0nz .lost_cup3_round2 +; lost cup1/2 round2 + print_npc_text CupHostTCGCup1Or2Round2PlayerLostText + script_jump Script_TCGCupPlayerLost +.lost_cup3_round2 + print_npc_text CupHostTCGCup3Round2PlayerLostText + script_jump Script_TCGCupPlayerLost +.proceed end_dialog quit_script - ld a, VAR_2F + ld a, VAR_CHALLENGECUP_ROUND3_OPPONENT_DECK_ID farcall GetVarValue - farcall Func_453c3 + farcall GetNPCByDeck_AdjustAmy ld b, NORTH lb de, 10, 9 farcall LoadOWObjectInMap @@ -2833,19 +2843,19 @@ Func_418ed: ld a, $01 start_script start_dialog - script_jump Script_419ab -.ows_4196f + script_jump Script_TCGCupRound3Start +.opponent_eliminated end_dialog animate_active_npc_movement $01, $01 animate_active_npc_movement $01, $01 set_active_npc_direction SOUTH start_dialog - print_npc_text Text0969 + print_npc_text CupHostTCGCupPlayerWonOpponentEliminatedText end_dialog quit_script - ld a, VAR_2E + ld a, VAR_CHALLENGECUP_ROUND2_OPPONENT_DECK_ID farcall GetVarValue - farcall Func_453c3 + farcall GetNPCByDeck_AdjustAmy push af ld b, $10 ld hl, .NPCMovement_419a1 @@ -2866,137 +2876,142 @@ Func_418ed: db WEST, MOVE_1 db $ff -Script_419ab: - set_var VAR_2C, $03 +Script_TCGCupRound3Start: + set_var VAR_CHALLENGECUP_CURRENT_ROUND, 3 quit_script - farcall Func_453ce + farcall LoadChallengeCupOpponentName ld a, $01 start_script start_dialog - get_var VAR_28 - compare_loaded_var $03 - script_jump_if_b0nz .ows_419c9 - script_jump_if_b1z .ows_419cf - print_npc_text Text0975 - script_jump .ows_41a17 -.ows_419c9 - print_npc_text Text0976 - script_jump .ows_41a17 -.ows_419cf + get_var VAR_TCG_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_2_START + script_jump_if_b0nz .cup2 + script_jump_if_b1z .cup3 +; cup1 + print_npc_text CupHostTCGCup1Round3ChallengerText + script_jump .prep +.cup2 + print_npc_text CupHostTCGCup2Round3ChallengerText + script_jump .prep +.cup3 quit_script - ld a, VAR_2F + ld a, VAR_CHALLENGECUP_ROUND3_OPPONENT_DECK_ID farcall GetVarValue - farcall Func_453c3 - cp $03 - jr z, .asm_41a04 - cp $2e - jr z, .asm_419f9 - cp $2f - jr z, .asm_419f9 - cp $30 - jr z, .asm_419f9 - cp $31 - jr z, .asm_419f9 + farcall GetNPCByDeck_AdjustAmy + cp NPC_RONALD + jr z, .ronald + cp NPC_GR_1 + jr z, .gr + cp NPC_GR_2 + jr z, .gr + cp NPC_GR_3 + jr z, .gr + cp NPC_GR_4 + jr z, .gr +; other (club master) ld a, $01 start_script - print_npc_text Text0977 - script_jump .ows_41a17 -.asm_419f9 + print_npc_text CupHostTCGCup3Round3ChallengerClubMasterText + script_jump .prep +.gr ld a, $01 start_script - print_npc_text Text0978 - script_jump .ows_41a17 -.asm_41a04 + print_npc_text CupHostTCGCup3Round3ChallengerGRText + script_jump .prep +.ronald ld a, $01 start_script - print_npc_text Text0979 + print_npc_text CupHostTCGCup3Round3ChallengerRonaldText set_active_npc NPC_RONALD, DialogRonaldText - print_npc_text Text097a + print_npc_text RonaldTCGCup3ChallengerText set_active_npc NPC_CUP_HOST, DialogCupHostText -.ows_41a17 +.prep end_dialog move_active_npc .NPCMovement_41a48 wait_for_player_animation start_dialog - get_var VAR_28 - compare_loaded_var $03 - script_jump_if_b0z .ows_41a27 - print_npc_text Text097b -.ows_41a27 - print_npc_text Text096c + get_var VAR_TCG_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_2_START + script_jump_if_b0z .loop_prep + print_npc_text CupHostTCGCupRound3The6PrizesMatchText +.loop_prep + print_npc_text CupHostTCGCupAreYourDecksReadyText ask_question DuelPrepPromptText, FALSE - script_jump_if_b0z .ows_41a3e - print_npc_text Text096d + script_jump_if_b0z .start_duel + print_npc_text CupHostTCGCupMakeYourPreparationsText end_dialog set_event EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE_DUMMY open_menu reset_event EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE_DUMMY start_dialog - script_jump .ows_41a27 -.ows_41a3e - print_npc_text Text097c + script_jump .loop_prep +.start_duel + print_npc_text CupHostTCGCupRound3DuelStartText end_dialog end_script - farcall Func_453f9 + farcall SetChallengeCupDuelParams ret .NPCMovement_41a48: db WEST, MOVE_2 db SOUTH, MOVE_0 db $ff -Func_41a4d: +Script_TCGCupRound3AfterDuel: xor a start_script start_dialog quit_script - farcall Func_453ce + farcall LoadChallengeCupOpponentName ld a, $01 start_script check_event EVENT_SET_UNTIL_MAP_RELOAD_2 - script_jump_if_b0nz .ows_41a92 - get_var VAR_28 - compare_loaded_var $03 - script_jump_if_b0nz .ows_41a78 - script_jump_if_b1z .ows_41a85 - print_npc_text Text097d - script_call .ows_41aae - print_npc_text Text097e - script_jump .ows_41aea -.ows_41a78 - print_npc_text Text097d - script_call .ows_41aae - print_npc_text Text097e - script_jump .ows_41aea -.ows_41a85 - print_npc_text Text097d - script_call .ows_41aae - print_npc_text Text097f - script_jump .ows_41aea -.ows_41a92 - get_var VAR_28 - compare_loaded_var $03 - script_jump_if_b0nz .ows_41aa2 - script_jump_if_b1z .ows_41aa8 - print_npc_text Text0980 - script_jump Script_41b98 -.ows_41aa2 - print_npc_text Text0981 - script_jump Script_41b98 -.ows_41aa8 - print_npc_text Text0982 - script_jump Script_41b98 -.ows_41aae + script_jump_if_b0nz .lost_round3 +; won round3 + get_var VAR_TCG_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_2_START + script_jump_if_b0nz .won_cup2_round3 + script_jump_if_b1z .won_cup3_round3 +; won cup1 round3, identical to cup2 + print_npc_text CupHostTCGCupRound3PlayerWonText + script_call .opponent_eliminated + print_npc_text CupHostTCGCup1Or2PlayerChampionText + script_jump .proceed_prize +.won_cup2_round3 + print_npc_text CupHostTCGCupRound3PlayerWonText + script_call .opponent_eliminated + print_npc_text CupHostTCGCup1Or2PlayerChampionText + script_jump .proceed_prize +.won_cup3_round3 + print_npc_text CupHostTCGCupRound3PlayerWonText + script_call .opponent_eliminated + print_npc_text CupHostTCGCup3PlayerChampionText + script_jump .proceed_prize +.lost_round3 + get_var VAR_TCG_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_2_START + script_jump_if_b0nz .lost_cup2_round3 + script_jump_if_b1z .lost_cup3_round3 +; lost cup1 round3 + print_npc_text CupHostTCGCup1Round3PlayerLostText + script_jump Script_TCGCupPlayerLost +.lost_cup2_round3 + print_npc_text CupHostTCGCup2Round3PlayerLostText + script_jump Script_TCGCupPlayerLost +.lost_cup3_round3 + print_npc_text CupHostTCGCup3Round3PlayerLostText + script_jump Script_TCGCupPlayerLost +.opponent_eliminated end_dialog animate_active_npc_movement $01, $01 animate_active_npc_movement $01, $01 set_active_npc_direction SOUTH start_dialog - print_npc_text Text0969 + print_npc_text CupHostTCGCupPlayerWonOpponentEliminatedText end_dialog quit_script - ld a, VAR_2F + ld a, VAR_CHALLENGECUP_ROUND3_OPPONENT_DECK_ID farcall GetVarValue - farcall Func_453c3 + farcall GetNPCByDeck_AdjustAmy push af ld b, $10 ld hl, .NPCMovement_41ae0 @@ -3016,32 +3031,33 @@ Func_41a4d: db NORTH, MOVE_5 db WEST, MOVE_1 db $ff -.ows_41aea - set_var VAR_2B, $01 - get_var VAR_2A - compare_loaded_var $0b - script_jump_if_b1z .ows_41af6 - inc_var VAR_2A -.ows_41af6 +.proceed_prize + set_var VAR_TCG_CHALLENGE_CUP_RESULT, CHALLENGE_CUP_RESULT_WON + get_var VAR_TIMES_WON_TCG_CHALLENGE_CUP + compare_loaded_var NUM_CHALLENGE_CUP_WIN_THRESHOLD + 1 + script_jump_if_b1z .handled_win_count + inc_var VAR_TIMES_WON_TCG_CHALLENGE_CUP +.handled_win_count end_dialog move_active_npc .NPCMovement_41b86 wait_for_player_animation set_player_direction NORTH start_dialog - get_var VAR_28 - compare_loaded_var $03 - script_jump_if_b0nz .ows_41b14 - script_jump_if_b1z .ows_41b20 - print_npc_text Text0983 + get_var VAR_TCG_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_2_START + script_jump_if_b0nz .prize_cup2 + script_jump_if_b1z .prize_cup3 +; prize cup1 + print_npc_text CupHostTCGCup1ChampionPrizeText give_card MEWTWO_LV30 show_card_received_screen MEWTWO_LV30 - script_jump .ows_41b57 -.ows_41b14 - print_npc_text Text0984 + script_jump .check_win_count ; redundant, jumping to .skip_10times_prize should suffice +.prize_cup2 + print_npc_text CupHostTCGCup2ChampionPrizeText give_card PIKACHU_LV13 show_card_received_screen PIKACHU_LV13 - script_jump .ows_41b57 -.ows_41b20 + script_jump .check_win_count ; redundant, jumping to .skip_10times_prize should suffice +.prize_cup3 quit_script ld a, VAR_TCG_CHALLENGE_CUP_PRIZE_INDEX farcall GetVarValue @@ -3049,7 +3065,7 @@ Func_41a4d: call LoadTxRam2 ld a, $01 start_script - print_npc_text Text0985 + print_npc_text CupHostTCGCup3ChampionPrizeText quit_script ld a, VAR_TCG_CHALLENGE_CUP_PRIZE_INDEX farcall GetVarValue @@ -3062,18 +3078,18 @@ Func_41a4d: call WaitPalFading ld a, $01 start_script -.ows_41b57 - get_var VAR_2A - compare_loaded_var $0a - script_jump_if_b0z .ows_41b6b - print_npc_text Text0986 +.check_win_count + get_var VAR_TIMES_WON_TCG_CHALLENGE_CUP + compare_loaded_var NUM_CHALLENGE_CUP_WIN_THRESHOLD + script_jump_if_b0z .skip_10times_prize + print_npc_text CupHostTCGCupPlayer10TimesChampionText set_event EVENT_GOT_PONYTA_COIN give_coin COIN_PONYTA - print_npc_text Text0987 - script_jump .ows_41b6e -.ows_41b6b - print_npc_text Text0988 -.ows_41b6e + print_npc_text CupHostTCGCupPlayer10TimesChampionContinueText + script_jump .exit +.skip_10times_prize + print_npc_text CupHostTCGCupPlayerChampionCongratsText +.exit end_dialog move_player .NPCMovement_41b8b, TRUE wait_for_player_animation @@ -3100,13 +3116,13 @@ Func_41a4d: db EAST, MOVE_0 db $ff -Script_41b98: - set_var VAR_2B, $02 +Script_TCGCupPlayerLost: + set_var VAR_TCG_CHALLENGE_CUP_RESULT, CHALLENGE_CUP_RESULT_LOST end_dialog animate_active_npc_movement $03, $01 set_active_npc_direction SOUTH start_dialog - print_npc_text Text0989 + print_npc_text CupHostTCGCupPlayerLostEliminatedText end_dialog move_active_npc .NPCMovement_41bc0 move_player .NPCMovement_41bc5, TRUE @@ -3134,18 +3150,20 @@ Script_41b98: db EAST, MOVE_0 db $ff -Func_41bd2: - ld a, VAR_28 +; clear carry if active +; set carry if inactive +CheckIfTCGCupIsActive: + ld a, VAR_TCG_CHALLENGE_CUP_STATE farcall GetVarValue - cp $01 - jr z, .asm_41be6 - cp $03 - jr z, .asm_41be6 - cp $06 - jr z, .asm_41be6 + cp CHALLENGE_CUP_1_START + jr z, .active + cp CHALLENGE_CUP_2_START + jr z, .active + cp CHALLENGE_CUP_3_START + jr z, .active scf ret -.asm_41be6 +.active scf ccf ret @@ -4366,21 +4384,21 @@ GrChallengeHall_StepEvents: db $ff GrChallengeHall_NPCs: - npc NPC_CUP_HOST, 7, 2, SOUTH, Func_4294a - npc NPC_GR_CUP_CLERK_LEFT, 4, 8, SOUTH, Func_4294a - npc NPC_GR_CUP_CLERK_RIGHT, 11, 8, SOUTH, Func_4294a - npc NPC_GR_STAFF, 8, 6, NORTH, Func_4299f + npc NPC_CUP_HOST, 7, 2, SOUTH, GrChallengeHall_AppearDuringGRCups + npc NPC_GR_CUP_CLERK_LEFT, 4, 8, SOUTH, GrChallengeHall_AppearDuringGRCups + npc NPC_GR_CUP_CLERK_RIGHT, 11, 8, SOUTH, GrChallengeHall_AppearDuringGRCups + npc NPC_GR_STAFF, 8, 6, NORTH, GrChallengeHall_DisappearDuringGRCups db $ff GrChallengeHall_NPCInteractions: - npc_script NPC_GR_CUP_CLERK_LEFT, Func_4288d - npc_script NPC_GR_CUP_CLERK_RIGHT, Func_4292f - npc_script NPC_GR_STAFF, Func_42961 + npc_script NPC_GR_CUP_CLERK_LEFT, Script_GRCupClerkLeft + npc_script NPC_GR_CUP_CLERK_RIGHT, Script_GRCupClerkRight + npc_script NPC_GR_STAFF, Script_GRChallengeMachineStaff db $ff GrChallengeHall_OWInteractions: - ow_script 7, 3, Func_4271f - ow_script 8, 3, Func_4271f + ow_script 7, 3, Script_GRChallengeMachine + ow_script 8, 3, Script_GRChallengeMachine db $ff GrChallengeHall_MapScripts: @@ -4407,59 +4425,60 @@ Func_42640: ret Func_42649: - ld a, VAR_30 + ld a, VAR_GR_CHALLENGE_CUP_STATE farcall GetVarValue - cp $01 - jr z, .asm_4265f - cp $03 - jr z, .asm_4265f - cp $05 - jr z, .asm_42666 - jr nc, .asm_4265f + cp CHALLENGE_CUP_1_START + jr z, .active + cp CHALLENGE_CUP_2_START + jr z, .active + cp CHALLENGE_CUP_3_UNLOCKED + jr z, .inactive_has_machine + jr nc, .active scf ret -.asm_4265f +.active ld a, MUSIC_GR_CHALLENGE_CUP ld [wNextMusic], a - jr .asm_4266b -.asm_42666 - ld a, $75 + jr .done +.inactive_has_machine + ld a, MAP_GFX_GR_CHALLENGE_HALL_2 ld [wNextMapGfx], a -.asm_4266b +.done scf ccf ret Func_4266e: - call Func_42e14 - jr nc, .asm_4268a - ld a, VAR_30 + call CheckIfGRCupIsActive + jr nc, .active + ld a, VAR_GR_CHALLENGE_CUP_STATE farcall GetVarValue - cp $05 - jr nz, .asm_426b7 + cp CHALLENGE_CUP_3_UNLOCKED + jr nz, .done +; has machine and staff ld a, NPC_GR_STAFF lb de, 9, 3 ld b, SOUTH farcall SetOWObjectTilePositionAndDirection - jr .asm_426b7 -.asm_4268a - ld a, VAR_30 + jr .done +.active + ld a, VAR_GR_CHALLENGE_CUP_STATE farcall GetVarValue - cp $06 - jr nz, .asm_4269e + cp CHALLENGE_CUP_3_START + jr nz, .set_opponents_draw_round1 ld bc, TILEMAP_057 lb de, 5, 0 farcall Func_12c0ce -.asm_4269e - ld a, $01 - farcall Func_45301 - ld a, VAR_2D +.set_opponents_draw_round1 + ld a, GR_CHALLENGE_CUP + farcall SetChallengeCupOpponents + ld a, VAR_CHALLENGECUP_ROUND1_OPPONENT_DECK_ID farcall GetVarValue - farcall Func_453c3 + farcall GetNPCByDeck_AdjustAmy lb de, 9, 4 ld b, WEST farcall LoadOWObjectInMap -.asm_426b7 +.done scf ret @@ -4488,12 +4507,12 @@ Func_426d6: ld a, EVENT_EB farcall GetEventValue jr nz, .asm_426ef - ld a, VAR_2C + ld a, VAR_CHALLENGECUP_CURRENT_ROUND farcall GetVarValue - cp $02 - jp c, Func_42a1b - jp z, Func_42aee - jp Func_42bb7 + cp 2 + jp c, Script_GRCupRound1AfterDuel + jp z, Script_GRCupRound2AfterDuel + jp Script_GRCupRound3AfterDuel .asm_426ef farcall Func_ec6c call Func_42776 @@ -4518,12 +4537,12 @@ Func_4270c: start_script reset_event EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE_DUMMY set_active_npc_position 9, 2 - get_var VAR_2C - compare_loaded_var $02 - script_jump_if_b0nz Script_42aae - script_jump Script_42b81 + get_var VAR_CHALLENGECUP_CURRENT_ROUND + compare_loaded_var 2 + script_jump_if_b0nz Script_GRCupRound2Start + script_jump Script_GRCupRound3Start -Func_4271f: +Script_GRChallengeMachine: ld a, EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE farcall GetEventValue ret z @@ -4533,7 +4552,7 @@ Func_4271f: xor a start_script start_dialog - print_text Text0f06 + print_text ChallengeMachineWinStreakRecordCorruptedAndResetText end_dialog end_script .asm_4273a @@ -4643,7 +4662,7 @@ Func_42776: ld d, a cp16_long 50 jr nz, .asm_4280f - call Func_4286c + call Script_GRChallengeMachineStaff_50WinStreak jr .asm_4280f Func_42833: @@ -4667,33 +4686,33 @@ Func_42833: call EnableSRAM ld hl, sPlayerName ld de, wde29 - ld bc, $10 + ld bc, NAME_BUFFER_LENGTH call CopyDataHLtoDE_SaveRegisters call DisableSRAM scf ccf ret -Func_4286c: +Script_GRChallengeMachineStaff_50WinStreak: xor a start_script check_event EVENT_GOT_GENGAR_COIN - script_jump_if_b0z .ows_4288b + script_jump_if_b0z .done set_event EVENT_GOT_GENGAR_COIN set_active_npc NPC_GR_STAFF, DialogStaffText set_active_npc_direction WEST set_player_direction EAST start_dialog - print_npc_text Text0de9 + print_npc_text GRChallengeMachineStaff50WinStreakRewards1Text give_coin COIN_GENGAR - print_npc_text Text0dea + print_npc_text GRChallengeMachineStaff50WinStreakRewards2Text end_dialog set_active_npc_direction SOUTH -.ows_4288b +.done end_script ret -Func_4288d: +Script_GRCupClerkLeft: ld a, NPC_GR_CUP_CLERK_LEFT ld [wScriptNPC], a ldtx hl, DialogReceptionistText @@ -4704,48 +4723,50 @@ Func_4288d: xor a start_script start_dialog - get_var VAR_33 - compare_loaded_var $01 - script_jump_if_b0nz .ows_428d7 - script_jump_if_b1z .ows_428f3 - get_var VAR_30 - compare_loaded_var $06 - script_jump_if_b0nz .ows_428c4 - compare_loaded_var $03 - script_jump_if_b0nz .ows_428be - print_npc_text Text0deb - script_jump .ows_428f9 -.ows_428be - print_npc_text Text0dec - script_jump .ows_428f9 -.ows_428c4 + get_var VAR_GR_CHALLENGE_CUP_RESULT + compare_loaded_var CHALLENGE_CUP_RESULT_WON + script_jump_if_b0nz .won + script_jump_if_b1z .lost + get_var VAR_GR_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_3_START + script_jump_if_b0nz .cup3 + compare_loaded_var CHALLENGE_CUP_2_START + script_jump_if_b0nz .cup2 +; cup1 + print_npc_text GRCupClerkCup1ActiveText + script_jump .enter_prompt +.cup2 + print_npc_text GRCupClerkCup2ActiveText + script_jump .enter_prompt +.cup3 quit_script farcall GetGRChallengeCupPrizeCardName call LoadTxRam2 ld a, $01 start_script - print_npc_text Text0ded - script_jump .ows_428f9 -.ows_428d7 - get_var VAR_30 - compare_loaded_var $03 - script_jump_if_b1z .ows_428ed - script_jump_if_b0nz .ows_428e7 - print_npc_text Text0dee - script_jump .ows_4291a -.ows_428e7 - print_npc_text Text0def - script_jump .ows_4291a -.ows_428ed - print_npc_text Text0df0 - script_jump .ows_4291a -.ows_428f3 - print_npc_text Text0df1 - script_jump .ows_4291a -.ows_428f9 - ask_question Text0df2, TRUE - script_jump_if_b0z .ows_42917 - print_npc_text Text0df3 + print_npc_text GRCupClerkCup3ActiveText + script_jump .enter_prompt +.won + get_var VAR_GR_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_2_START + script_jump_if_b1z .won_cup3 + script_jump_if_b0nz .won_cup2 +; won cup1 + print_npc_text GRCupClerkCup1PlayerWonText + script_jump .done +.won_cup2 + print_npc_text GRCupClerkCup2PlayerWonText + script_jump .done +.won_cup3 + print_npc_text GRCupClerkCup3PlayerWonText + script_jump .done +.lost + print_npc_text GRCupClerkPlayerLostText + script_jump .done +.enter_prompt + ask_question GRCupClerkEnterPromptText, TRUE + script_jump_if_b0z .declined + print_npc_text GRCupClerkEnterAcceptedText end_dialog move_active_npc .NPCMovement_4291d move_player .NPCMovement_42927, TRUE @@ -4753,10 +4774,10 @@ Func_4288d: move_active_npc .NPCMovement_42922 move_player .NPCMovement_4292a, TRUE wait_for_player_animation - script_jump Script_429b6 -.ows_42917 - print_npc_text Text0df4 -.ows_4291a + script_jump Script_GRCupRound1Start +.declined + print_npc_text GRCupClerkEnterDeclinedText +.done end_dialog end_script ret @@ -4776,7 +4797,7 @@ Func_4288d: db EAST, MOVE_2 db $ff -Func_4292f: +Script_GRCupClerkRight: ld a, NPC_GR_CUP_CLERK_RIGHT ld [wScriptNPC], a ldtx hl, DialogReceptionistText @@ -4787,28 +4808,28 @@ Func_4292f: xor a start_script start_dialog - print_npc_text Text0df5 + print_npc_text GRCupClerkRightNoEntryText end_dialog end_script ret -Func_4294a: - ld a, VAR_30 +GrChallengeHall_AppearDuringGRCups: + ld a, VAR_GR_CHALLENGE_CUP_STATE farcall GetVarValue - cp $01 - jr z, .asm_4295e - cp $03 - jr z, .asm_4295e - cp $06 - jr z, .asm_4295e + cp CHALLENGE_CUP_1_START + jr z, .appear + cp CHALLENGE_CUP_2_START + jr z, .appear + cp CHALLENGE_CUP_3_START + jr z, .appear scf ret -.asm_4295e +.appear scf ccf ret -Func_42961: +Script_GRChallengeMachineStaff: ld a, NPC_GR_STAFF ld [wScriptNPC], a ldtx hl, DialogStaffText @@ -4820,335 +4841,347 @@ Func_42961: start_script start_dialog check_event EVENT_GOT_GENGAR_COIN - script_jump_if_b0z .ows_42999 + script_jump_if_b0z .has_gengar_coin check_event EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE - script_jump_if_b0z .ows_42993 + script_jump_if_b0z .has_machine check_event EVENT_C5 - script_jump_if_b0z .ows_4298d + script_jump_if_b0z .no_machine_repeat +; no machine initial set_event EVENT_C5 - print_npc_text Text0df6 - script_jump .ows_4299c -.ows_4298d - print_npc_text Text0df7 - script_jump .ows_4299c -.ows_42993 - print_npc_text Text0df8 - script_jump .ows_4299c -.ows_42999 - print_npc_text Text0df9 -.ows_4299c + print_npc_text GRChallengeMachineStaffUnderConstructionInitialText + script_jump .done +.no_machine_repeat + print_npc_text GRChallengeMachineStaffUnderConstructionRepeatText + script_jump .done +.has_machine + print_npc_text GRChallengeMachineStaffWelcomeText + script_jump .done +.has_gengar_coin + print_npc_text GRChallengeMachineStaffWelcome50WinStreakDoneText +.done end_dialog end_script ret -Func_4299f: - ld a, VAR_30 +GrChallengeHall_DisappearDuringGRCups: + ld a, VAR_GR_CHALLENGE_CUP_STATE farcall GetVarValue - cp $01 - jr z, .asm_429b4 - cp $03 - jr z, .asm_429b4 - cp $06 - jr z, .asm_429b4 + cp CHALLENGE_CUP_1_START + jr z, .disappear + cp CHALLENGE_CUP_2_START + jr z, .disappear + cp CHALLENGE_CUP_3_START + jr z, .disappear scf ccf ret -.asm_429b4 +.disappear scf ret -Script_429b6: - set_var VAR_2C, $00 - script_jump .ows_429bc -.ows_429bc - set_var VAR_2C, $01 +Script_GRCupRound1Start: + set_var VAR_CHALLENGECUP_CURRENT_ROUND, 0 + script_jump .round1 +.round1 + set_var VAR_CHALLENGECUP_CURRENT_ROUND, 1 quit_script - farcall Func_453ce + farcall LoadChallengeCupOpponentName ld a, $01 start_script set_active_npc NPC_CUP_HOST, DialogCupHostText start_dialog - get_var VAR_30 - compare_loaded_var $03 - script_jump_if_b0nz .ows_429ec - script_jump_if_b1z .ows_42a00 - print_npc_text Text0dfa + get_var VAR_GR_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_2_START + script_jump_if_b0nz .cup2 + script_jump_if_b1z .cup3 +; cup1 + print_npc_text CupHostGRCup1IntroText script_call Script_42d1a - print_npc_text Text0dfb + print_npc_text CupHostGRCup1Round1ChallengerText script_call Script_42d2d - print_npc_text Text0dfc - script_jump .ows_42a14 -.ows_429ec - print_npc_text Text0dfd + print_npc_text CupHostGRCup1Round1DuelStartText + script_jump .start_duel +.cup2 + print_npc_text CupHostGRCup2IntroText script_call Script_42d1a - print_npc_text Text0dfe + print_npc_text CupHostGRCup2Round1ChallengerText script_call Script_42d2d - print_npc_text Text0dfc - script_jump .ows_42a14 -.ows_42a00 - print_npc_text Text0dff + print_npc_text CupHostGRCup1Round1DuelStartText + script_jump .start_duel +.cup3 + print_npc_text CupHostGRCup3IntroText script_call Script_42d1a - print_npc_text Text0e00 + print_npc_text CupHostGRCup3Round1ChallengerText script_call Script_42d2d - print_npc_text Text0e01 - script_jump .ows_42a14 -.ows_42a14 + print_npc_text CupHostGRCup3Round1DuelStartText + script_jump .start_duel +.start_duel end_dialog end_script - farcall Func_453f9 + farcall SetChallengeCupDuelParams ret -Func_42a1b: +Script_GRCupRound1AfterDuel: xor a start_script start_dialog quit_script - farcall Func_453ce + farcall LoadChallengeCupOpponentName ld a, $01 start_script check_event EVENT_SET_UNTIL_MAP_RELOAD_2 - script_jump_if_b0nz .ows_42a75 - get_var VAR_30 - compare_loaded_var $03 - script_jump_if_b0nz .ows_42a4d - script_jump_if_b1z .ows_42a61 - print_npc_text Text0e02 + script_jump_if_b0nz .lost_round1 +; won round1 + get_var VAR_GR_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_2_START + script_jump_if_b0nz .won_cup2_round1 + script_jump_if_b1z .won_cup3_round1 +; won cup1 round1, identical to cup2 + print_npc_text CupHostGRCup1Or2Round1PlayerWonText script_call Script_42d22 - print_npc_text Text0e03 - script_call Script_42d40 - print_npc_text Text0e04 - script_jump .ows_42aa6 -.ows_42a4d - print_npc_text Text0e02 + print_npc_text CupHostGRCup1Or2Round1PlayerWonOpponentEliminatedText + script_call Script_GRCupOpponentEliminated + print_npc_text CupHostGRCup1Or2Round1NextChallengerText + script_jump .proceed +.won_cup2_round1 + print_npc_text CupHostGRCup1Or2Round1PlayerWonText script_call Script_42d22 - print_npc_text Text0e03 - script_call Script_42d40 - print_npc_text Text0e04 - script_jump .ows_42aa6 -.ows_42a61 - print_npc_text Text0e05 + print_npc_text CupHostGRCup1Or2Round1PlayerWonOpponentEliminatedText + script_call Script_GRCupOpponentEliminated + print_npc_text CupHostGRCup1Or2Round1NextChallengerText + script_jump .proceed +.won_cup3_round1 + print_npc_text CupHostGRCup3Round1PlayerWonText script_call Script_42d22 - print_npc_text Text0e06 - script_call Script_42d40 - print_npc_text Text0e07 - script_jump .ows_42aa6 -.ows_42a75 - get_var VAR_30 - compare_loaded_var $03 - script_jump_if_b0nz .ows_42a8c - script_jump_if_b1z .ows_42a99 - print_npc_text Text0e08 + print_npc_text CupHostGRCup3Round1PlayerWonOpponentEliminatedText + script_call Script_GRCupOpponentEliminated + print_npc_text CupHostGRCup3Round1NextChallengerText + script_jump .proceed +.lost_round1 + get_var VAR_GR_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_2_START + script_jump_if_b0nz .lost_cup2_round1 + script_jump_if_b1z .lost_cup3_round1 +; lost cup1 round1, identical to cup2 + print_npc_text CupHostGRCup1Or2Round1PlayerLostText script_call Script_42d1a - print_npc_text Text0e09 - script_jump Script_42cea -.ows_42a8c - print_npc_text Text0e08 + print_npc_text CupHostGRCup1Or2Round1PlayerLostEliminatedText + script_jump Script_GRCupPlayerLost +.lost_cup2_round1 + print_npc_text CupHostGRCup1Or2Round1PlayerLostText script_call Script_42d1a - print_npc_text Text0e09 - script_jump Script_42cea -.ows_42a99 - print_npc_text Text0e0a + print_npc_text CupHostGRCup1Or2Round1PlayerLostEliminatedText + script_jump Script_GRCupPlayerLost +.lost_cup3_round1 + print_npc_text CupHostGRCup3Round1PlayerLostText script_call Script_42d1a - print_npc_text Text0e0b - script_jump Script_42cea -.ows_42aa6 - script_call Script_42dad + print_npc_text CupHostGRCup3Round1PlayerLostEliminatedText + script_jump Script_GRCupPlayerLost +.proceed + script_call Script_GRCupNewChallenger end_dialog - script_jump Script_42aae + script_jump Script_GRCupRound2Start -Script_42aae: - set_var VAR_2C, $02 +Script_GRCupRound2Start: + set_var VAR_CHALLENGECUP_CURRENT_ROUND, 2 quit_script - farcall Func_453ce + farcall LoadChallengeCupOpponentName ld a, $01 start_script start_dialog - print_npc_text Text0e0c + print_npc_text CupHostGRCupRound2ChallengerText script_call Script_42d35 - get_var VAR_30 - compare_loaded_var $06 - script_jump_if_b0z .ows_42acd - print_npc_text Text0e0d -.ows_42acd - print_npc_text Text0e0e + get_var VAR_GR_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_3_START + script_jump_if_b0z .loop_prep + print_npc_text CupHostGRCupRound2The4PrizesMatchText +.loop_prep + print_npc_text CupHostGRCupAreYourDecksReadyText ask_question DuelPrepPromptText, FALSE - script_jump_if_b0z .ows_42ae4 - print_npc_text Text0e0f + script_jump_if_b0z .start_duel + print_npc_text CupHostGRCupMakeYourPreparationsText end_dialog set_event EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE_DUMMY open_menu reset_event EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE_DUMMY start_dialog - script_jump .ows_42acd -.ows_42ae4 - print_npc_text Text0e10 + script_jump .loop_prep +.start_duel + print_npc_text CupHostGRCupRound2DuelStartText end_dialog end_script - farcall Func_453f9 + farcall SetChallengeCupDuelParams ret -Func_42aee: +Script_GRCupRound2AfterDuel: xor a start_script start_dialog quit_script - farcall Func_453ce + farcall LoadChallengeCupOpponentName ld a, $01 start_script check_event EVENT_SET_UNTIL_MAP_RELOAD_2 - script_jump_if_b0nz .ows_42b48 - get_var VAR_30 - compare_loaded_var $03 - script_jump_if_b0nz .ows_42b20 - script_jump_if_b1z .ows_42b34 - print_npc_text Text0e11 + script_jump_if_b0nz .lost_round2 +; won round2 + get_var VAR_GR_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_2_START + script_jump_if_b0nz .won_cup2_round2 + script_jump_if_b1z .won_cup3_round2 +; won cup1 round2 + print_npc_text CupHostGRCup1Round2PlayerWonText script_call Script_42d22 - print_npc_text Text0e12 - script_call Script_42d40 - print_npc_text Text0e13 - script_jump .ows_42b79 -.ows_42b20 - print_npc_text Text0e14 + print_npc_text CupHostGRCupRound2Or3PlayerWonOpponentEliminatedText + script_call Script_GRCupOpponentEliminated + print_npc_text CupHostGRCup1Or2Round2NextChallengerText + script_jump .proceed +.won_cup2_round2 + print_npc_text CupHostGRCup2Round2PlayerWonText script_call Script_42d22 - print_npc_text Text0e12 - script_call Script_42d40 - print_npc_text Text0e13 - script_jump .ows_42b79 -.ows_42b34 - print_npc_text Text0e15 + print_npc_text CupHostGRCupRound2Or3PlayerWonOpponentEliminatedText + script_call Script_GRCupOpponentEliminated + print_npc_text CupHostGRCup1Or2Round2NextChallengerText + script_jump .proceed +.won_cup3_round2 + print_npc_text CupHostGRCup3Round2PlayerWonText script_call Script_42d22 - print_npc_text Text0e12 - script_call Script_42d40 - print_npc_text Text0e16 - script_jump .ows_42b79 -.ows_42b48 - get_var VAR_30 - compare_loaded_var $03 - script_jump_if_b0nz .ows_42b5f - script_jump_if_b1z .ows_42b6c - print_npc_text Text0e17 + print_npc_text CupHostGRCupRound2Or3PlayerWonOpponentEliminatedText + script_call Script_GRCupOpponentEliminated + print_npc_text CupHostGRCup3Round2NextChallengerText + script_jump .proceed +.lost_round2 + get_var VAR_GR_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_2_START + script_jump_if_b0nz .lost_cup2_round2 + script_jump_if_b1z .lost_cup3_round2 +; lost cup1 round2, identical to cup2 + print_npc_text CupHostGRCup1Or2Round2PlayerLostText script_call Script_42d1a - print_npc_text Text0e18 - script_jump Script_42cea -.ows_42b5f - print_npc_text Text0e17 + print_npc_text CupHostGRCup1Or2Round2PlayerLostEliminatedText + script_jump Script_GRCupPlayerLost +.lost_cup2_round2 + print_npc_text CupHostGRCup1Or2Round2PlayerLostText script_call Script_42d1a - print_npc_text Text0e18 - script_jump Script_42cea -.ows_42b6c - print_npc_text Text0e19 + print_npc_text CupHostGRCup1Or2Round2PlayerLostEliminatedText + script_jump Script_GRCupPlayerLost +.lost_cup3_round2 + print_npc_text CupHostGRCup3Round2PlayerLostText script_call Script_42d1a - print_npc_text Text0e1a - script_jump Script_42cea -.ows_42b79 - script_call Script_42dad + print_npc_text CupHostGRCup3Round2PlayerLostEliminatedText + script_jump Script_GRCupPlayerLost +.proceed + script_call Script_GRCupNewChallenger end_dialog - script_jump Script_42b81 + script_jump Script_GRCupRound3Start -Script_42b81: - set_var VAR_2C, $03 +Script_GRCupRound3Start: + set_var VAR_CHALLENGECUP_CURRENT_ROUND, 3 quit_script - farcall Func_453ce + farcall LoadChallengeCupOpponentName ld a, $01 start_script start_dialog - print_npc_text Text0e1b + print_npc_text CupHostGRCupRound3ChallengerText script_call Script_42d35 -.ows_42b96 - print_npc_text Text0e0e +.loop_prep + print_npc_text CupHostGRCupAreYourDecksReadyText ask_question DuelPrepPromptText, FALSE - script_jump_if_b0z .ows_42bad - print_npc_text Text0e0f + script_jump_if_b0z .start_duel + print_npc_text CupHostGRCupMakeYourPreparationsText end_dialog set_event EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE_DUMMY open_menu reset_event EVENT_MASONS_LAB_CHALLENGE_MACHINE_STATE_DUMMY start_dialog - script_jump .ows_42b96 -.ows_42bad - print_npc_text Text0e1c + script_jump .loop_prep +.start_duel + print_npc_text CupHostGRCupRound3DuelStartText end_dialog end_script - farcall Func_453f9 + farcall SetChallengeCupDuelParams ret -Func_42bb7: +Script_GRCupRound3AfterDuel: xor a start_script start_dialog quit_script - farcall Func_453ce + farcall LoadChallengeCupOpponentName ld a, $01 start_script check_event EVENT_SET_UNTIL_MAP_RELOAD_2 - script_jump_if_b0nz .ows_42c11 - get_var VAR_30 - compare_loaded_var $03 - script_jump_if_b0nz .ows_42be9 - script_jump_if_b1z .ows_42bfd - print_npc_text Text0e1d + script_jump_if_b0nz .lost_round3 +; won round3 + get_var VAR_GR_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_2_START + script_jump_if_b0nz .won_cup2_round3 + script_jump_if_b1z .won_cup3_round3 +; won cup1 round3, identical to cup2 + print_npc_text CupHostGRCup1Or2Round3PlayerWonText script_call Script_42d22 - print_npc_text Text0e12 - script_call Script_42d40 - print_npc_text Text0e1e - script_jump .ows_42c42 -.ows_42be9 - print_npc_text Text0e1d + print_npc_text CupHostGRCupRound2Or3PlayerWonOpponentEliminatedText + script_call Script_GRCupOpponentEliminated + print_npc_text CupHostGRCup1Or2Round3PlayerChampionText + script_jump .proceed_prize +.won_cup2_round3 + print_npc_text CupHostGRCup1Or2Round3PlayerWonText script_call Script_42d22 - print_npc_text Text0e12 - script_call Script_42d40 - print_npc_text Text0e1e - script_jump .ows_42c42 -.ows_42bfd - print_npc_text Text0e1f + print_npc_text CupHostGRCupRound2Or3PlayerWonOpponentEliminatedText + script_call Script_GRCupOpponentEliminated + print_npc_text CupHostGRCup1Or2Round3PlayerChampionText + script_jump .proceed_prize +.won_cup3_round3 + print_npc_text CupHostGRCup3Round3PlayerWonText script_call Script_42d22 - print_npc_text Text0e12 - script_call Script_42d40 - print_npc_text Text0e20 - script_jump .ows_42c42 -.ows_42c11 - get_var VAR_30 - compare_loaded_var $03 - script_jump_if_b0nz .ows_42c28 - script_jump_if_b1z .ows_42c35 - print_npc_text Text0e21 + print_npc_text CupHostGRCupRound2Or3PlayerWonOpponentEliminatedText + script_call Script_GRCupOpponentEliminated + print_npc_text CupHostGRCup3Round3PlayerChampionText + script_jump .proceed_prize +.lost_round3 + get_var VAR_GR_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_2_START + script_jump_if_b0nz .lost_cup2_round3 + script_jump_if_b1z .lost_cup3_round3 +; lost cup1 round3, identical to cup2 + print_npc_text CupHostGRCup1Or2Round3PlayerLostText script_call Script_42d1a - print_npc_text Text0e22 - script_jump Script_42cea -.ows_42c28 - print_npc_text Text0e21 + print_npc_text CupHostGRCup1Or2Round3PlayerLostEliminatedText + script_jump Script_GRCupPlayerLost +.lost_cup2_round3 + print_npc_text CupHostGRCup1Or2Round3PlayerLostText script_call Script_42d1a - print_npc_text Text0e22 - script_jump Script_42cea -.ows_42c35 - print_npc_text Text0e23 + print_npc_text CupHostGRCup1Or2Round3PlayerLostEliminatedText + script_jump Script_GRCupPlayerLost +.lost_cup3_round3 + print_npc_text CupHostGRCup3Round3PlayerLostText script_call Script_42d1a - print_npc_text Text0e24 - script_jump Script_42cea -.ows_42c42 - set_var VAR_33, $01 + print_npc_text CupHostGRCup3Round3PlayerLostEliminatedText + script_jump Script_GRCupPlayerLost +.proceed_prize + set_var VAR_GR_CHALLENGE_CUP_RESULT, CHALLENGE_CUP_RESULT_WON end_dialog move_active_npc .NPCMovement_42cd8 wait_for_player_animation set_player_direction NORTH start_dialog - get_var VAR_30 - compare_loaded_var $03 - script_jump_if_b0nz .ows_42c60 - script_jump_if_b1z .ows_42c69 - print_npc_text Text0e25 + get_var VAR_GR_CHALLENGE_CUP_STATE + compare_loaded_var CHALLENGE_CUP_2_START + script_jump_if_b0nz .prize_cup2 + script_jump_if_b1z .prize_cup3 +; prize cup1 + print_npc_text CupHostGRCup1ChampionPrizeText receive_card DARK_PERSIAN_ALT_LV28 - script_jump .ows_42cbd -.ows_42c60 - print_npc_text Text0e26 + script_jump .skip_10times_prize +.prize_cup2 + print_npc_text CupHostGRCup2ChampionPrizeText receive_card BILLS_COMPUTER - script_jump .ows_42ca9 -.ows_42c69 - get_var VAR_32 - compare_loaded_var $0b - script_jump_if_b1z .ows_42c72 - inc_var VAR_32 -.ows_42c72 + script_jump .check_win_count ; redundant, jumping to .skip_10times_prize should suffice +.prize_cup3 + get_var VAR_TIMES_WON_GR_CHALLENGE_CUP + compare_loaded_var NUM_CHALLENGE_CUP_WIN_THRESHOLD + 1 + script_jump_if_b1z .handled_win_count + inc_var VAR_TIMES_WON_GR_CHALLENGE_CUP +.handled_win_count quit_script ld a, VAR_GR_CHALLENGE_CUP_PRIZE_INDEX farcall GetVarValue @@ -5156,7 +5189,7 @@ Func_42bb7: call LoadTxRam2 ld a, $01 start_script - print_npc_text Text0e27 + print_npc_text CupHostGRCup3ChampionPrizeText quit_script ld a, VAR_GR_CHALLENGE_CUP_PRIZE_INDEX farcall GetVarValue @@ -5169,18 +5202,18 @@ Func_42bb7: call WaitPalFading ld a, $01 start_script -.ows_42ca9 - get_var VAR_32 - compare_loaded_var $0a - script_jump_if_b0z .ows_42cbd - print_npc_text Text0e28 +.check_win_count + get_var VAR_TIMES_WON_GR_CHALLENGE_CUP + compare_loaded_var NUM_CHALLENGE_CUP_WIN_THRESHOLD + script_jump_if_b0z .skip_10times_prize + print_npc_text CupHostGRCupPlayer10TimesChampionText set_event EVENT_GOT_HORSEA_COIN give_coin COIN_HORSEA - print_npc_text Text0e29 - script_jump .ows_42cc0 -.ows_42cbd - print_npc_text Text0e2a -.ows_42cc0 + print_npc_text CupHostGRCupPlayer10TimesChampionContinueText + script_jump .exit +.skip_10times_prize + print_npc_text CupHostGRCupPlayerChampionCongratsText +.exit end_dialog move_player .NPCMovement_42cdd, TRUE wait_for_player_animation @@ -5207,8 +5240,8 @@ Func_42bb7: db WEST, MOVE_0 db $ff -Script_42cea: - set_var VAR_33, $02 +Script_GRCupPlayerLost: + set_var VAR_GR_CHALLENGE_CUP_RESULT, CHALLENGE_CUP_RESULT_LOST end_dialog move_active_npc .NPCMovement_42d08 move_player .NPCMovement_42d0d, TRUE @@ -5266,21 +5299,21 @@ Script_42d35: start_dialog script_ret -Script_42d40: +Script_GRCupOpponentEliminated: end_dialog quit_script - ld a, VAR_2C + ld a, VAR_CHALLENGECUP_CURRENT_ROUND farcall GetVarValue - ld c, $2d - cp $02 - jr c, .asm_42d54 - ld c, $2e - jr z, .asm_42d54 - ld c, $2f -.asm_42d54 + ld c, VAR_CHALLENGECUP_ROUND1_OPPONENT_DECK_ID + cp 2 + jr c, .got_opponent + ld c, VAR_CHALLENGECUP_ROUND2_OPPONENT_DECK_ID + jr z, .got_opponent + ld c, VAR_CHALLENGECUP_ROUND3_OPPONENT_DECK_ID +.got_opponent ld a, c farcall GetVarValue - farcall Func_453c3 + farcall GetNPCByDeck_AdjustAmy push af ld b, $10 ld hl, .NPCMovement_42d9b @@ -5322,74 +5355,72 @@ Script_42d40: db SOUTH, MOVE_0 db $ff -Script_42dad: +Script_GRCupNewChallenger: end_dialog quit_script - ld a, VAR_2C + ld a, VAR_CHALLENGECUP_CURRENT_ROUND farcall GetVarValue - ld c, $2e - cp $02 - jr c, .asm_42dbd - ld c, $2f -.asm_42dbd + ld c, VAR_CHALLENGECUP_ROUND2_OPPONENT_DECK_ID + cp 2 + jr c, .got_opponent + ld c, VAR_CHALLENGECUP_ROUND3_OPPONENT_DECK_ID +.got_opponent ld a, c farcall GetVarValue - farcall Func_453c3 + farcall GetNPCByDeck_AdjustAmy push af ld b, NORTH lb de, 11, 10 farcall LoadOWObjectInMap ld b, $10 - ld hl, .Data_42e02 + ld hl, .NPCMovement_42e02 farcall MoveNPC ld a, NPC_GR_CUP_CLERK_RIGHT - ld hl, .Data_42e0a + ld hl, .NPCMovement_42e0a farcall MoveNPC call Func_3340 pop af ld b, $10 - ld hl, .Data_42e05 + ld hl, .NPCMovement_42e05 farcall MoveNPC ld a, NPC_GR_CUP_CLERK_RIGHT - ld hl, .Data_42e0f + ld hl, .NPCMovement_42e0f farcall MoveNPC call Func_3340 ld a, $01 start_script start_dialog script_ret - -.Data_42e02: +.NPCMovement_42e02: db NORTH, MOVE_3 db $ff - -.Data_42e05: +.NPCMovement_42e05: db NORTH, MOVE_3 db WEST, MOVE_2 db $ff - -.Data_42e0a: +.NPCMovement_42e0a: db WEST, MOVE_1 db SOUTH, MOVE_0 db $ff - -.Data_42e0f: +.NPCMovement_42e0f: db EAST, MOVE_1 db SOUTH, MOVE_0 db $ff -Func_42e14: - ld a, VAR_30 +; clear carry if active +; set carry if inactive +CheckIfGRCupIsActive: + ld a, VAR_GR_CHALLENGE_CUP_STATE farcall GetVarValue - cp $01 - jr z, .asm_42e28 - cp $03 - jr z, .asm_42e28 - cp $06 - jr z, .asm_42e28 + cp CHALLENGE_CUP_1_START + jr z, .active + cp CHALLENGE_CUP_2_START + jr z, .active + cp CHALLENGE_CUP_3_START + jr z, .active scf ret -.asm_42e28 +.active scf ccf ret @@ -5636,8 +5667,8 @@ Script_43000: reset_event EVENT_ENTERED_GRAND_MASTER_CUP set_var VAR_0B, $01 var_add VAR_27, $05 - set_var VAR_28, $05 - set_var VAR_30, $05 + set_var VAR_TCG_CHALLENGE_CUP_STATE, CHALLENGE_CUP_3_UNLOCKED + set_var VAR_GR_CHALLENGE_CUP_STATE, CHALLENGE_CUP_3_UNLOCKED script_call Script_43333 print_npc_text Text0929 script_jump Script_43044 diff --git a/src/engine/bank11.asm b/src/engine/bank11.asm index 7230232..5cd9694 100644 --- a/src/engine/bank11.asm +++ b/src/engine/bank11.asm @@ -300,85 +300,94 @@ WaitForSFXToFinish:: SECTION "Bank 11@5301", ROMX[$5301], BANK[$11] -Func_45301: +; for a = TCG_CHALLENGE_CUP or GR_CHALLENGE_CUP, +; set three opponents for the cup +SetChallengeCupOpponents: or a - jr nz, .asm_4531b + jr nz, .gr_cup +; tcg cup ld a, NUM_TCG_CHALLENGE_CUP_OPPONENT_POOL - ld [wRemainingIntroCards], a + ld [wNumChallengeCupOpponents], a ld a, LOW(TCGChallengeCupOpponents) ld [wFilteredListPtr], a ld a, HIGH(TCGChallengeCupOpponents) ld [wFilteredListPtr + 1], a - ld a, VAR_28 + ld a, VAR_TCG_CHALLENGE_CUP_STATE farcall GetVarValue - jr .asm_45330 -.asm_4531b + jr .get_cup_index +.gr_cup ld a, NUM_GR_CHALLENGE_CUP_OPPONENT_POOL - ld [wRemainingIntroCards], a + ld [wNumChallengeCupOpponents], a ld a, LOW(GRChallengeCupOpponents) ld [wFilteredListPtr], a ld a, HIGH(GRChallengeCupOpponents) ld [wFilteredListPtr + 1], a - ld a, VAR_30 + ld a, VAR_GR_CHALLENGE_CUP_STATE farcall GetVarValue -.asm_45330 - cp $03 - jr z, .asm_4533a - jr nc, .asm_4533e - ld a, 0 - jr .asm_45340 -.asm_4533a - ld a, 1 - jr .asm_45340 -.asm_4533e - ld a, 2 -.asm_45340 - ld [wd578], a - ld e, 3 - ld d, VAR_2D +.get_cup_index + cp CHALLENGE_CUP_2_START + jr z, .cup2 + jr nc, .cup3 +; cup1 + ld a, CHALLENGE_CUP_1 + jr .set_cup_index +.cup2 + ld a, CHALLENGE_CUP_2 + jr .set_cup_index +.cup3 + ld a, CHALLENGE_CUP_3 +.set_cup_index + ld [wChallengeCupIndex], a +; init + ld e, NUM_CHALLENGE_CUP_ROUNDS + ld d, VAR_CHALLENGECUP_ROUND1_OPPONENT_DECK_ID ld c, $ff -.asm_45349 +.loop_init ld a, d farcall SetVarValue inc d dec e - jr nz, .asm_45349 + jr nz, .loop_init +; set +; b = 1 << c for c = round number [0, 2] +; set opponents randomly with the bitmask b and wChallengeCupIndex ld c, 0 -.asm_45354 +.loop_set_opponents ld b, 1 ld a, c or a -.asm_45358 - jr z, .asm_4535f +.loop_shift + jr z, .loop_pick sla b dec a - jr .asm_45358 -.asm_4535f - call Func_45379 - call Func_453a3 - jr c, .asm_4535f + jr .loop_shift +.loop_pick + call .PickOpponent + call .CheckDupe + jr c, .loop_pick push bc ld d, a - ld a, VAR_2D + ld a, VAR_CHALLENGECUP_ROUND1_OPPONENT_DECK_ID add c ld c, d farcall SetVarValue pop bc inc c - ld a, 3 + ld a, NUM_CHALLENGE_CUP_ROUNDS cp c - jr nz, .asm_45354 + jr nz, .loop_set_opponents ret -Func_45379: -.asm_45379 - ld a, [wd578] +; for b = bitmask, choose a random opponent with wChallengeCupIndex +; and return their deck id in a +.PickOpponent: + ld a, [wChallengeCupIndex] ld d, a ld a, [wFilteredListPtr] ld l, a ld a, [wFilteredListPtr + 1] ld h, a - ld a, [wRemainingIntroCards] + ld a, [wNumChallengeCupOpponents] call Random sla a sla a @@ -390,35 +399,36 @@ Func_45379: ld a, [hl] pop hl and b - jr z, .asm_45379 + jr z, .PickOpponent ld a, [hl] ret -Func_453a3: +; set carry if the opponent is already picked +.CheckDupe: ld d, a farcall GetNPCByDeck ld l, a - ld e, VAR_2D -.asm_453ab + ld e, VAR_CHALLENGECUP_ROUND1_OPPONENT_DECK_ID +.loop_check ld a, e farcall GetVarValue cp $ff - jr z, .asm_453bf + jr z, .done farcall GetNPCByDeck inc e cp l - jr nz, .asm_453ab + jr nz, .loop_check ld a, d scf ret -.asm_453bf +.done ld a, d scf ccf ret -; special handling for Amy? -Func_453c3: +; GetNPCByDeck, with special handling for Amy +GetNPCByDeck_AdjustAmy: farcall GetNPCByDeck cp NPC_AMY_LOUNGE jr nz, .done @@ -426,12 +436,12 @@ Func_453c3: .done ret -Func_453ce: - ld a, VAR_2C +LoadChallengeCupOpponentName: + ld a, VAR_CHALLENGECUP_CURRENT_ROUND farcall GetVarValue ld c, a dec c - ld a, VAR_2D + ld a, VAR_CHALLENGECUP_ROUND1_OPPONENT_DECK_ID add c farcall GetVarValue farcall GetNPCByDeck @@ -447,12 +457,12 @@ Func_453ce: ld [wTxRam2_b + 1], a ret -Func_453f9: - ld a, VAR_2C +SetChallengeCupDuelParams: + ld a, VAR_CHALLENGECUP_CURRENT_ROUND farcall GetVarValue dec a ld c, a - ld a, VAR_2D + ld a, VAR_CHALLENGECUP_ROUND1_OPPONENT_DECK_ID add c farcall GetVarValue ld [wNPCDuelDeckID], a @@ -463,6 +473,7 @@ Func_453f9: ret SetGrandMasterCupOpponents: +; init ld e, NUM_GRANDMASTERCUP_OPPONENTS ld d, VAR_GRANDMASTERCUP_OPPONENT_DECK_0 ld c, $ff @@ -472,6 +483,7 @@ SetGrandMasterCupOpponents: inc d dec e jr nz, .loop_init +; set ; b = 1 << c for c = opponent slot number [0, 6] ; set opponents randomly with the bitmask b ; so Ronald may only be chosen at the last slot @@ -481,14 +493,14 @@ SetGrandMasterCupOpponents: ld a, c or a .loop_shift - jr z, .set_opponent + jr z, .loop_pick sla b dec a jr .loop_shift -.set_opponent +.loop_pick call .PickOpponent call .CheckDupe - jr c, .set_opponent + jr c, .loop_pick push bc ld d, a ld a, VAR_GRANDMASTERCUP_OPPONENT_DECK_0 @@ -504,7 +516,7 @@ SetGrandMasterCupOpponents: ; for b = bitmask, choose a random opponent and return their deck id in a .PickOpponent: - ld hl, GrandMasterCupOpps + ld hl, GrandMasterCupOpponents ld a, NUM_GRANDMASTERCUP_OPPONENT_IDS call Random sla a @@ -542,8 +554,10 @@ SetGrandMasterCupOpponents: ccf ret -Func_45484: - call Func_453c3 +; just GetNPCByDeck_AdjustAmy +; tried to add something for pokemon dome? +GetNPCByDeck_AdjustAmy_PokemonDome: + call GetNPCByDeck_AdjustAmy ret Func_45488: @@ -565,7 +579,7 @@ Func_45488: .asm_454aa ret -Func_454ab: +SetGrandMasterCupDuelParams: call Func_45488 ld [wNPCDuelDeckID], a ld a, MUSIC_MATCH_START_CLUB_MASTER @@ -574,7 +588,7 @@ Func_454ab: set 1, [hl] ret -Func_454bc: +LoadGrandMasterCupOpponentTitleAndName: call Func_45488 farcall GetNPCByDeck farcall LoadNPCDuelist @@ -593,7 +607,7 @@ Func_454bc: ld [wTxRam2_b + 1], a ret -Func_454e3: +LoadGrandMasterCupOpponentName: call Func_45488 farcall GetNPCByDeck farcall LoadNPCDuelist @@ -785,7 +799,7 @@ Func_4565d: dec a add VAR_GRANDMASTERCUP_OPPONENT_DECK_0 farcall GetVarValue - call Func_45484 + call GetNPCByDeck_AdjustAmy_PokemonDome .asm_45672 pop hl pop de diff --git a/src/text/text10.asm b/src/text/text10.asm index e5a0818..6b6fd73 100644 --- a/src/text/text10.asm +++ b/src/text/text10.asm @@ -459,7 +459,7 @@ Text0f05: linefw "対戦してみるんじゃよ" done -Text0f06: +ChallengeMachineWinStreakRecordCorruptedAndResetText: textfw "「れんしょう きろく」のデータが" linefw "なんらかのげんいんで こわれました" linefw "「れんしょう きろく」のデータを" diff --git a/src/text/text6.asm b/src/text/text6.asm index d1e944c..a9acee1 100644 --- a/src/text/text6.asm +++ b/src/text/text6.asm @@ -122,7 +122,7 @@ Text094d: linefw "まけてばかり いられないからね" done -Text094e: +TCGCupClerkCup1ActiveText: textfw "ただいま チャレンジカップを" linefw "かいさいしています!" linefw "さんにんに 勝って めずらしいカード" @@ -135,7 +135,7 @@ Text094e: linefw "なりませんか?" done -Text094f: +TCGCupClerkCup2ActiveText: textfw "ただいま チャレンジカップを" linefw "かいさいしています!" linefw "さんにんに 勝って めずらしいカード" @@ -152,7 +152,7 @@ Text094f: linefw "なりませんか?" done -Text0950: +TCGCupClerkCup3ActiveText: textfw "ただいま チャレンジカップを" linefw "かいさいしています!" linefw "さんにんに 勝って" @@ -169,41 +169,41 @@ Text0950: linefw "なりませんか?" done -Text0951: +TCGCupClerkPlayerWonText: textfw "チャレンジに せいこうしたかたは" linefw "チャレンジできない きまりなんです" linefw "つぎの チャレンジカップまで" linefw "チャレンジは まってくださいね" done -Text0952: +TCGCupClerkPlayerLostText: textfw "1かい チャレンジされた人は" linefw "しばらく チャレンジできないんです" linefw "しばらくしてから" linefw "また きてくださいね" done -Text0953: +TCGCupClerkEnterPromptText: textfw "チャレンジャーに なりますか?" done -Text0954: +TCGCupClerkEnterAcceptedText: textfw "それでは ステージにどうぞ!" done -Text0955: +TCGCupClerkEnterDeclinedText: textfw "そうですか ざんねんですね" linefw "どうぞ また おこしください" done -Text0956: +TCGCupClerkRightNoEntryText: textfw "こちらでは チャレンジャーは" linefw "うけつけて おりません" linefw "むかって ひだりのひとに" linefw "はなしかけて ください" done -Text0957: +TCGChallengeHallManNoCardsText: textfw "はい ダメ ダメ" linefw "きても ムダだよ" linefw "カードが あつまるまでは" @@ -216,14 +216,14 @@ Text0957: linefw "GR団が いなくならないとね" done -Text0958: +TCGChallengeHallManGoodLuckText: textfw "チャレンジカップには" linefw "さんかしてるかい?" linefw "めずらしいカードが もらえるから" linefw "がんばるんだぞ" done -Text0959: +TCGChallengeHallManTCGCup3Text: textfw "これからのチャレンジカップは" linefw "とつぜん ひらかれるぞ" linefw "ちょくちょく ここにきて" @@ -232,71 +232,71 @@ Text0959: linefw "やっとらんからな" done -Text095a: +CupHostTCGCup1IntroText: textfw "さあ チャレンジカップも" linefw "もりあがって います!" linefw "げんざい 勝ちのこっているのは" linefw "さんです!" done -Text095b: +CupHostTCGCup1Round1ChallengerText: textfw "あらたな チャレンジャーは" linefw "さんです!" done -Text095c: +CupHostTCGCup2IntroText: textfw "さあ チャレンジカップ!" linefw "もりあがって まいりましたぁ!!" linefw "げんざい 勝ちのこっているのは" linefw "さんです!" done -Text095d: +CupHostTCGCup2Round1ChallengerText: textfw "あらたな チャレンジャーは" linefw " " linefw "みなさん ごぞんじの" linefw "さんです!" done -Text095e: +CupHostTCGCup3IntroText: textfw "すばらしい もりあがりをみせている" linefw "こんかいの チャレンジカップ!" linefw "げんざい 勝ちのこっているのは" linefw "さんです!" done -Text095f: +CupHostTCGCup3Round1ChallengerText: textfw "ここで むかえるチャレンジャーは" linefw "そう みなさん ごぞんじの方です!" linefw "さいきょうの ポケモンカードマスター" linefw "さんです!!" done -Text0960: +CupHostTCGCupRound1DuelStartText: textfw "よろしいですか?" linefw "まずは サイドカードは 4枚です!" linefw "さあ!!" linefw "対戦の スタートです!" done -Text0961: +CupHostTCGCup1Or2Round1PlayerWonText: textfw "さんの勝ちです!" linefw "おめでとうございます!" linefw "さん!" linefw "ひとり 勝ちぬきです!!" done -Text0962: +CupHostTCGCup1Round1NextChallengerText: textfw "さあ つぎのチャレンジャーさん" linefw "ステージに あがってください!" done -Text0963: +CupHostTCGCup2Round1NextChallengerText: textfw "つぎのチャレンジャーさん!" linefw "ステージに どうぞ!" done -Text0964: +CupHostTCGCup3Round1PlayerWonText: textfw "さんの勝ちです!" linefw "さすが ポケモンカードマスター" linefw "みごとな たたかいぶりでした!" @@ -304,26 +304,26 @@ Text0964: linefw "ひとり 勝ちぬきです!!" done -Text0965: +CupHostTCGCup3Round1NextChallengerText: textfw "つぎのチャレンジャーさん!" linefw "ステージに どうぞ!" done -Text0966: +CupHostTCGCup1Round1PlayerLostText: textfw "さんの勝ちです!" linefw " " linefw "さん ふたり 勝ちぬき!" linefw "あとひとりで カードかくとくぅ!" done -Text0967: +CupHostTCGCup2Round1PlayerLostText: textfw "さんの勝ちです!" linefw " " linefw "さん ふたり 勝ちぬき!" linefw "あとひとりで カードかくとくです!" done -Text0968: +CupHostTCGCup3Round1PlayerLostText: textfw "なんと! ポケモンカードマスター" linefw "さん やぶれました!" linefw "さんの勝ちです!" @@ -332,69 +332,69 @@ Text0968: linefw "あと ひとりで カードゲット!" done -Text0969: +CupHostTCGCupPlayerWonOpponentEliminatedText: textfw "さんは ざんねんでした" linefw "きをつけて おかえりください" done -Text096a: +CupHostTCGCupRound2ChallengerText: textfw "あらたな チャレンジャーは" linefw "さんです!" done -Text096b: +CupHostTCGCupRound2The4PrizesMatchText: textfw "こんどの対戦も" linefw "サイドカード 4枚です" done -Text096c: +CupHostTCGCupAreYourDecksReadyText: textfw "ふたりとも" linefw "デッキのじゅんびは いいですか?" done -Text096d: +CupHostTCGCupMakeYourPreparationsText: textfw "それでは" linefw "じゅんびを してください!" done -Text096e: +CupHostTCGCupRound2DuelStartText: textfw "それでは さん!" linefw "ふたりめの対戦! スタート!" done -Text096f: +CupHostTCGCupRound2PlayerWonText: textfw "やりました さん!" linefw "ふたり 勝ちぬきです!!" linefw "あと ひとりで ゆうしょうです!" done -Text0970: +CupHostTCGCup1Round2NextChallengerText: textfw "さあ つぎのチャレンジャーは" linefw "だれでしょうか?" done -Text0971: +CupHostTCGCup2Round2NextChallengerText: textfw "いよいよ さんにんめの対戦しゃ" linefw "クラブマスターのとうじょうです!" linefw "さあ どのクラブマスターが" linefw "とうじょうするのでしょうか?" done -Text0972: +CupHostTCGCup3Round2NextChallengerText: textfw "これからの 対戦は" linefw "サイドカード 6枚戦です!" linefw "さあ つぎのチャレンジャーは" linefw "どなたでしょうか?" done -Text0973: +CupHostTCGCup1Or2Round2PlayerLostText: textfw "さんの勝ちです!" linefw " " linefw "さん ひとり 勝ちぬき!" linefw "あとふたりで ゆうしょうです!" done -Text0974: +CupHostTCGCup3Round2PlayerLostText: textfw "さんの勝ちです!" linefw " " linefw "ポケモンカードマスターを" @@ -403,123 +403,123 @@ Text0974: linefw "あと ふたりで ゆうしょうです!" done -Text0975: +CupHostTCGCup1Round3ChallengerText: textfw "あらたな チャレンジャーは" linefw "さんです!" done -Text0976: +CupHostTCGCup2Round3ChallengerText: textfw "さいごの対戦しゃは クラブマスター" linefw "さんです!" done -Text0977: +CupHostTCGCup3Round3ChallengerClubMasterText: textfw "こんどの対戦しゃは クラブマスター" linefw "さんです!" done -Text0978: +CupHostTCGCup3Round3ChallengerGRText: textfw "さいごは GR団からのししゃ!" linefw "さんです!" done -Text0979: +CupHostTCGCup3Round3ChallengerRonaldText: textfw "さあ さんにんめは" linefw "さん です!" done -Text097a: +RonaldTCGCup3ChallengerText: textfw "ざんねんだが おまえのゆうしょうは" linefw "このランドさまが そしするぜ!" done -Text097b: +CupHostTCGCupRound3The6PrizesMatchText: textfw "この対戦は" linefw "サイドカード 6枚です!" done -Text097c: +CupHostTCGCupRound3DuelStartText: textfw "それでは さん!" linefw "さんにんめの対戦! スタート!" done -Text097d: +CupHostTCGCupRound3PlayerWonText: textfw "おめでとうございます!" linefw "ついに さんにん勝ちぬきです!" done -Text097e: +CupHostTCGCup1Or2PlayerChampionText: textfw "さあ こんかいのチャレンジカップの" linefw "ゆうしょうは さんです!" done -Text097f: +CupHostTCGCup3PlayerChampionText: textfw "チャレンジカップのゆうしょうしゃは" linefw "ポケモンカードマスター" linefw "さんです!!" done -Text0980: +CupHostTCGCup1Round3PlayerLostText: textfw "さんの勝ちです!" linefw " " linefw "さん ひとり 勝ちぬき!" linefw "あとふたりで ゆうしょうです!" done -Text0981: +CupHostTCGCup2Round3PlayerLostText: textfw "クラブマスター" linefw "さんの勝ちです!" linefw "さん" linefw "クラブマスターに やぶれました" done -Text0982: +CupHostTCGCup3Round3PlayerLostText: textfw "あー ざんねん!" linefw "さん はいぼくです!!" linefw "さん ひとり 勝ちぬき!" linefw "あとふたりで ゆうしょうです!" done -Text0983: +CupHostTCGCup1ChampionPrizeText: textfw "それでは さん!" linefw "「ミュウツー30」を どうぞ!" done -Text0984: +CupHostTCGCup2ChampionPrizeText: textfw "それでは さん!" linefw "「ピカチュウ13」を どうぞ!" done -Text0985: +CupHostTCGCup3ChampionPrizeText: textfw "それでは さん!" linefw "「」を どうぞ!" done -Text0986: +CupHostTCGCupPlayer10TimesChampionText: textfw "そして さん" linefw "チャレンジカップ 10勝めです!" linefw "10勝たっせいを きねんして" linefw "こちらのコインを プレゼントします" done -Text0987: +CupHostTCGCupPlayer10TimesChampionContinueText: textfw "チャレンジカップ 10勝たっせい" linefw "おめでとうございます!" linefw "それでは さん" linefw "「ポニータコイン」 だいじにしてね!" done -Text0988: +CupHostTCGCupPlayerChampionCongratsText: textfw "さん! ほんとうに!!" linefw "おめでとう ございました!" done -Text0989: +CupHostTCGCupPlayerLostEliminatedText: textfw "さんは ざんねんでした" linefw "きをつけて おかえりください" done -Text098a: +TCGChallengeHallEntranceClerkNoCardsText: textfw "いらっしゃいませ" linefw "チャレンジホールへ ようこそ!" linefw "ここでは" @@ -530,7 +530,7 @@ Text098a: linefw "さん" done -Text098b: +TCGChallengeHallEntranceClerkTCGCup1ActiveText: textfw "いらっしゃいませ" linefw "チャレンジホールへ ようこそ!" linefw "おかげで チャレンジカップを" @@ -539,7 +539,7 @@ Text098b: linefw "ぜひ さんかしてください" done -Text098c: +TCGChallengeHallEntranceClerkTCGCup1OverText: textfw "1回目の チャレンジカップは" linefw "おわってしまいました" linefw "つぎの チャレンジカップは" @@ -548,7 +548,7 @@ Text098c: linefw "たまに もどってみてくださいね" done -Text098d: +TCGChallengeHallEntranceClerkTCGCup2ActiveText: textfw "いらっしゃいませ" linefw "チャレンジホールへ ようこそ!" linefw "チャレンジカップ" @@ -557,7 +557,7 @@ Text098d: linefw "おくに おすすみください" done -Text098e: +TCGChallengeHallEntranceClerkTCGCup2OverText: textfw "2回目の チャレンジカップは" linefw "おわってしまいました" linefw "つぎの チャレンジカップは" @@ -566,7 +566,7 @@ Text098e: linefw "もどってきて みてくださいね!" done -Text098f: +TCGChallengeHallEntranceClerkTCGCup3InactiveText: textfw "いらっしゃいませ" linefw "チャレンジホールへ ようこそ!" linefw "ただいま つぎのチャレンジカップを" @@ -575,7 +575,7 @@ Text098f: linefw "いらしてください" done -Text0990: +TCGChallengeHallEntranceClerkTCGCup3ActiveText: textfw "いらっしゃいませ" linefw "チャレンジホールへ ようこそ!" linefw "ちょうど チャレンジカップが" @@ -583,7 +583,7 @@ Text0990: linefw "おいそぎ おくに おすすみください" done -Text0991: +TCGChallengeHallEntranceClerkTCGCupPlayedText: textfw "さん" linefw "けっかは どうでしたか?" linefw "チャレンジカップの 勝ちまけは" @@ -775,7 +775,7 @@ Text09aa: linefw "「オムナイト19」 ありがとぉー!" done -Text09ab: +TCGChallengeHallLobbyCupHostNoCardsText: textfw "わたし チャレンジカップのしかいなの" linefw "でも しばらくは シゴトないの" linefw "だって カードが なくて" @@ -783,7 +783,7 @@ Text09ab: linefw "あーあ ヒマだわ・・・" done -Text09ac: +TCGChallengeHallLobbyCupHostStandbyText: textfw "わたし チャレンジカップのしかいなの" linefw "でも いまは きゅうけい中" done diff --git a/src/text/text9.asm b/src/text/text9.asm index 19c3174..204a69b 100644 --- a/src/text/text9.asm +++ b/src/text/text9.asm @@ -220,7 +220,7 @@ Text0de8: linefw "いって やられてしまえ!" done -Text0de9: +GRChallengeMachineStaff50WinStreakRewards1Text: textfw "おめでとー!" linefw "50れんしょう たっせいよ!!" linefw "きねんのコインを あげるわ" @@ -229,14 +229,14 @@ Text0de9: linefw "たいせつにしてね" done -Text0dea: +GRChallengeMachineStaff50WinStreakRewards2Text: textfw "50れんしょう おめでとう!" linefw " " linefw "どんどん れんしょうきろくを" linefw "のばしてね!!" done -Text0deb: +GRCupClerkCup1ActiveText: textfw "ただいま 「GR団杯」を" linefw "かいさいしています" linefw "さんにんに 勝つと" @@ -249,7 +249,7 @@ Text0deb: linefw "チャレンジしてみませんか?" done -Text0dec: +GRCupClerkCup2ActiveText: textfw "ただいま GR団杯を" linefw "かいさい中です!" linefw "GR団メンバー さんにんに 勝って" @@ -262,7 +262,7 @@ Text0dec: linefw "なりませんか?" done -Text0ded: +GRCupClerkCup3ActiveText: textfw "ただいま GR団のキング" linefw "ビルリッチさまの こうにん大会" linefw "GR団 「キング杯」が" @@ -279,75 +279,75 @@ Text0ded: linefw "なりませんか?" done -Text0dee: +GRCupClerkCup1PlayerWonText: textfw "チャレンジに せいこうしたかたは" linefw "チャレンジできない きまりなんです" linefw "つぎの 「GR団杯」まで" linefw "チャレンジは まってくださいね" done -Text0def: +GRCupClerkCup2PlayerWonText: textfw "チャレンジに せいこうしたかたは" linefw "チャレンジできない きまりなんです" done -Text0df0: +GRCupClerkCup3PlayerWonText: textfw "チャレンジに せいこうしたかたは" linefw "チャレンジできない オキテなんです" linefw "つぎの 「キング杯」まで" linefw "チャレンジは まってくださいね" done -Text0df1: +GRCupClerkPlayerLostText: textfw "1かい チャレンジされた人は" linefw "しばらく チャレンジできないんです" linefw "しばらくしてから" linefw "また きてくださいね" done -Text0df2: +GRCupClerkEnterPromptText: textfw "チャレンジャーに なりますか?" done -Text0df3: +GRCupClerkEnterAcceptedText: textfw "それでは" linefw "ステージへ どうぞ!" done -Text0df4: +GRCupClerkEnterDeclinedText: textfw "そうですか ざんねんですね" linefw "どうぞ また おこしください" done -Text0df5: +GRCupClerkRightNoEntryText: textfw "こちらでは チャレンジャーは" linefw "うけつけて おりません" linefw "むかって ひだりのひとに" linefw "はなしかけて ください" done -Text0df6: +GRChallengeMachineStaffUnderConstructionInitialText: textfw "えっ? あたしが ここで" linefw "なにを してるのかって?" linefw "たのまれて しごとをしてるのよ" linefw "だ・か・ら じゃましないでね" done -Text0df7: +GRChallengeMachineStaffUnderConstructionRepeatText: textfw "ここに ステキなマシンを" linefw "セットするのよ" linefw "いまは どこにセットするか" linefw "かんがえている ところなのよ" done -Text0df8: +GRChallengeMachineStaffWelcomeText: textfw "GR団のチャレンジマシンよ" linefw "むこうのと ちがうから あそんでみて" linefw "50れんしょうしたら" linefw "めずらしいコインを あげるわ" done -Text0df9: +GRChallengeMachineStaffWelcome50WinStreakDoneText: textfw "こんにちはー" linefw "ちょうしは どう?" linefw "あなたが れんしょうきろくを" @@ -355,7 +355,7 @@ Text0df9: linefw "チャレンジ がんばってね!" done -Text0dfa: +CupHostGRCup1IntroText: textfw "さあ ヒートアップしてきました" linefw "スリルまんてんの GR団杯!" linefw "げんざい 勝ちのこっているのは" @@ -364,19 +364,19 @@ Text0dfa: linefw "むかえます! そのあいては・・・" done -Text0dfb: +CupHostGRCup1Round1ChallengerText: textfw "GR団と たたかっている" linefw "さんのとうじょうです!!" done -Text0dfc: +CupHostGRCup1Round1DuelStartText: textfw "よろしいですか?" linefw "サイドカードは 4枚です!" linefw "さあ!!" linefw "対戦の スタートです!" done -Text0dfd: +CupHostGRCup2IntroText: textfw "しれつな 対戦が" linefw "くりひろげられる GR団杯!" linefw "げんざい 勝ちのこっているのは" @@ -385,12 +385,12 @@ Text0dfd: linefw "むかえます! そのあいては・・・" done -Text0dfe: +CupHostGRCup2Round1ChallengerText: textfw "GR団と たたかっている" linefw "さんのとうじょうです!!" done -Text0dff: +CupHostGRCup3IntroText: textfw "GR団キング ビルリッチさまの" linefw "カード大会 「キング杯」!" linefw "いやがうえにも" @@ -399,41 +399,41 @@ Text0dff: linefw "さん!" done -Text0e00: +CupHostGRCup3Round1ChallengerText: textfw "ここで むかえるチャレンジャーは" linefw "とくべつ さんかのかたです!" linefw "ポケモンカードマスター" linefw "さんです!!" done -Text0e01: +CupHostGRCup3Round1DuelStartText: textfw "じゅんびは よろしいですか?" linefw "まずは サイドカード4枚戦です!" linefw "さあ!!" linefw "対戦を はじめてください!" done -Text0e02: +CupHostGRCup1Or2Round1PlayerWonText: textfw "勝ったのは・・・" linefw "さんです!" linefw "さん!" linefw "ひとり 勝ちぬきです!!" done -Text0e03: +CupHostGRCup1Or2Round1PlayerWonOpponentEliminatedText: textfw "まけた さん" linefw "ざんねんでした" linefw "きをつけて おかえりください" done -Text0e04: +CupHostGRCup1Or2Round1NextChallengerText: textfw "さあ つぎの対戦を" linefw "はじめたいと おもいます!!" linefw "つぎの チャレンジャーさん" linefw "ステージに あがってください!" done -Text0e05: +CupHostGRCup3Round1PlayerWonText: textfw "さん 勝ちました!" linefw "さすが ポケモンカードマスター" linefw "スゴイ!!" @@ -442,31 +442,31 @@ Text0e05: linefw "ひとり 勝ちぬきです!!" done -Text0e06: +CupHostGRCup3Round1PlayerWonOpponentEliminatedText: textfw "さんは ざんねんでした" linefw "どうぞ おかえりください" done -Text0e07: +CupHostGRCup3Round1NextChallengerText: textfw "つぎのGR団員さん!" linefw "ステージに どうぞ!" done -Text0e08: +CupHostGRCup1Or2Round1PlayerLostText: textfw "勝ったのは・・・" linefw "さんでーす!!" linefw "さんは ふたり 勝ちぬき!" linefw "あとひとりで カードかくとくです!" done -Text0e09: +CupHostGRCup1Or2Round1PlayerLostEliminatedText: textfw "まけた さん" linefw "ざんねんでした!" linefw "かいだんを おりて" linefw "おかえりください" done -Text0e0a: +CupHostGRCup3Round1PlayerLostText: textfw "なんと! ポケモンカードマスター" linefw "さん やぶれました!" linefw "さんが" @@ -475,48 +475,48 @@ Text0e0a: linefw "あと ひとりで カードゲット!" done -Text0e0b: +CupHostGRCup3Round1PlayerLostEliminatedText: textfw "まけたさんは" linefw "おひきとりください" done -Text0e0c: +CupHostGRCupRound2ChallengerText: textfw "あらたな チャレンジャーは" linefw "さんです!" done -Text0e0d: +CupHostGRCupRound2The4PrizesMatchText: textfw "こんどの対戦も" linefw "サイドカード 4枚です" done -Text0e0e: +CupHostGRCupAreYourDecksReadyText: textfw "ふたりとも" linefw "デッキのじゅんびは いいですか?" done -Text0e0f: +CupHostGRCupMakeYourPreparationsText: textfw "それでは" linefw "じゅんびを してください!" done -Text0e10: +CupHostGRCupRound2DuelStartText: textfw "それでは さん!" linefw "ふたりめの対戦! スタート!" done -Text0e11: +CupHostGRCup1Round2PlayerWonText: textfw "やりました! さん!" linefw "みごとに ふたり 勝ちぬき!!" linefw "ゆうしょうまで あと ひとりです!" done -Text0e12: +CupHostGRCupRound2Or3PlayerWonOpponentEliminatedText: textfw "さんは ざんねんでした" linefw "きをつけて おかえりください" done -Text0e13: +CupHostGRCup1Or2Round2NextChallengerText: textfw "さあ さんの" linefw "さいごの対戦になるのか・・それとも" linefw "つぎのチャレンジャーさんが" @@ -525,40 +525,41 @@ Text0e13: linefw "あがってきて ください" done -Text0e14: +; just a space in CupHostGRCup1Round2PlayerWonText replaced by a linebreak +CupHostGRCup2Round2PlayerWonText: textfw "やりました! さん" linefw "みごとに ふたり 勝ちぬき!!" linefw "ゆうしょうまで" linefw "あと ひとりです!" done -Text0e15: +CupHostGRCup3Round2PlayerWonText: textfw "やりました さん!" linefw "ふたり 勝ちぬきです!!" linefw "つぎの対戦に 勝てば" linefw "ゆうしょうです!" done -Text0e16: +CupHostGRCup3Round2NextChallengerText: textfw "これからの 対戦は" linefw "サイドカード 6枚です!" linefw "さあ GR団のどなたが" linefw "対戦するのでしょうか?" done -Text0e17: +CupHostGRCup1Or2Round2PlayerLostText: textfw "さんの勝ちです!" linefw " " linefw "さん ひとり 勝ちぬき!" linefw "あとふたりで ゆうしょうです!" done -Text0e18: +CupHostGRCup1Or2Round2PlayerLostEliminatedText: textfw "さんは ざんねんでした" linefw "きをつけて おかえりください" done -Text0e19: +CupHostGRCup3Round2PlayerLostText: textfw "さんが 勝ちました!" linefw " " linefw "ポケモンカードマスターを" @@ -567,46 +568,46 @@ Text0e19: linefw "あと ふたりで ゆうしょうです!" done -Text0e1a: +CupHostGRCup3Round2PlayerLostEliminatedText: textfw "やぶれた さんは" linefw "ざんねんでした" linefw "そちらの かいだんから" linefw "きをつけて おかえりください" done -Text0e1b: +CupHostGRCupRound3ChallengerText: textfw "あらたな チャレンジャーは" linefw "さんです!" done -Text0e1c: +CupHostGRCupRound3DuelStartText: textfw "それでは さん!" linefw "さんにんめの対戦! スタート!" done -Text0e1d: +CupHostGRCup1Or2Round3PlayerWonText: textfw "おめでとうございます!" linefw "ついに さんにん勝ちぬきです!" done -Text0e1e: +CupHostGRCup1Or2Round3PlayerChampionText: textfw "GR団杯の ゆうしょうしゃは" linefw "さんです!" done -Text0e1f: +CupHostGRCup3Round3PlayerWonText: textfw "おめでとうございます!" linefw "れんぞく さんにん勝ちぬきです!" done -Text0e20: +CupHostGRCup3Round3PlayerChampionText: textfw "さあ こんかいの「キング杯」の" linefw "ゆうしょうは" linefw "ポケモンカードマスター" linefw "さんです!!" done -Text0e21: +CupHostGRCup1Or2Round3PlayerLostText: textfw "さんの勝ちです!" linefw " " linefw "さんの ゆうしょうを" @@ -615,12 +616,12 @@ Text0e21: linefw "あとふたりで ゆうしょうです!" done -Text0e22: +CupHostGRCup1Or2Round3PlayerLostEliminatedText: textfw "さんは ざんねんでした" linefw "きをつけて おかえりください" done -Text0e23: +CupHostGRCup3Round3PlayerLostText: textfw "あー ざんねん!" linefw "さん はいぼくです!!" linefw "さんの勝ちです!" @@ -628,27 +629,27 @@ Text0e23: linefw "あとふたりで ゆうしょうです!" done -Text0e24: +CupHostGRCup3Round3PlayerLostEliminatedText: textfw "さん" linefw "おかえりください" done -Text0e25: +CupHostGRCup1ChampionPrizeText: textfw "それでは さん!" linefw "「わるいペルシアン」を どうぞ!" done -Text0e26: +CupHostGRCup2ChampionPrizeText: textfw "それでは さん!" linefw "「マサキのパソコン」を どうぞ!" done -Text0e27: +CupHostGRCup3ChampionPrizeText: textfw "それでは 賞品です!" linefw "「」!!" done -Text0e28: +CupHostGRCupPlayer10TimesChampionText: textfw "さん" linefw "きづいておりましたか?" linefw "こんかいで" @@ -657,26 +658,26 @@ Text0e28: linefw "きねんのコインを さしあげます!" done -Text0e29: +CupHostGRCupPlayer10TimesChampionContinueText: textfw "「タッツーコイン」!" linefw "かわいがって あげてくださいね" linefw "さん! ほんとうに!!" linefw "おめでとう ございました!" done -Text0e2a: +CupHostGRCupPlayerChampionCongratsText: textfw "さん! ほんとうに" linefw "おめでとう ございました!" done -Text0e2b: +GRChallengeHallEntranceClerkGRCup1InactiveText: textfw "ここでは GR団員による" linefw "チャレンジカップが ひらかれます" linefw "でも いまは じゅんび中です" linefw "しばらく おまちください" done -Text0e2c: +GRChallengeHallEntranceClerkGRCup1ActiveText: textfw "ここは GR団の" linefw "チャレンジホールです" linefw "ここでは GR団員による" @@ -687,7 +688,7 @@ Text0e2c: linefw "おくに おすすみください" done -Text0e2d: +GRChallengeHallEntranceClerkGRCup2ActiveText: textfw "ここは GR団の" linefw "チャレンジホールです" linefw "ここでは GR団員による" @@ -698,28 +699,28 @@ Text0e2d: linefw "おくに おすすみください" done -Text0e2e: +GRChallengeHallEntranceClerkGRCup2InactiveText: textfw "ここでは GR団員による" linefw "チャレンジカップが ひらかれます" linefw "でも いまは じゅんび中です" linefw "しばらく おまちください" done -Text0e2f: +GRChallengeHallEntranceClerkGRCup3InactiveText: textfw "ビルリッチさまが ひらく" linefw "キング杯が かいさいされます" linefw "いまは じゅんび中ですので" linefw "しばらく おまちください" done -Text0e30: +GRChallengeHallEntranceClerkGRCup3ActiveText: textfw "ただいま ビルリッチさまの大会" linefw "「キング杯」が おこなわれています" linefw "しゅつじょうなさるのでしたら" linefw "おくに おすすみください" done -Text0e31: +GRChallengeHallEntranceClerkGRCupPlayedText: textfw "大会は どうでしたか?" linefw " " linefw "いえ いえ けっかを" @@ -788,7 +789,7 @@ Text0e39: linefw "わたしは すっかり ラッキーよ!" done -Text0e3a: +GRChallengeHallLobbyCupHostStandbyText: textfw "あら くんも" linefw "こっちに きたの?" linefw "わたしよ わからない?" @@ -799,7 +800,7 @@ Text0e3a: linefw "しかいすると つかれるわー" done -Text0e3b: +GRChallengeHallLobbyCupHostStandbyGRCup3Text: textfw "こんど「キング杯」って いうのが" linefw "おこなわれるんですって" linefw "そのしかいも" diff --git a/src/text/text_offsets.asm b/src/text/text_offsets.asm index 4d50ed5..c5fa9e1 100644 --- a/src/text/text_offsets.asm +++ b/src/text/text_offsets.asm @@ -2388,74 +2388,74 @@ TextOffsets:: textpointer Text094b ; 0x094b textpointer Text094c ; 0x094c textpointer Text094d ; 0x094d - textpointer Text094e ; 0x094e - textpointer Text094f ; 0x094f - textpointer Text0950 ; 0x0950 - textpointer Text0951 ; 0x0951 - textpointer Text0952 ; 0x0952 - textpointer Text0953 ; 0x0953 - textpointer Text0954 ; 0x0954 - textpointer Text0955 ; 0x0955 - textpointer Text0956 ; 0x0956 - textpointer Text0957 ; 0x0957 - textpointer Text0958 ; 0x0958 - textpointer Text0959 ; 0x0959 - textpointer Text095a ; 0x095a - textpointer Text095b ; 0x095b - textpointer Text095c ; 0x095c - textpointer Text095d ; 0x095d - textpointer Text095e ; 0x095e - textpointer Text095f ; 0x095f - textpointer Text0960 ; 0x0960 - textpointer Text0961 ; 0x0961 - textpointer Text0962 ; 0x0962 - textpointer Text0963 ; 0x0963 - textpointer Text0964 ; 0x0964 - textpointer Text0965 ; 0x0965 - textpointer Text0966 ; 0x0966 - textpointer Text0967 ; 0x0967 - textpointer Text0968 ; 0x0968 - textpointer Text0969 ; 0x0969 - textpointer Text096a ; 0x096a - textpointer Text096b ; 0x096b - textpointer Text096c ; 0x096c - textpointer Text096d ; 0x096d - textpointer Text096e ; 0x096e - textpointer Text096f ; 0x096f - textpointer Text0970 ; 0x0970 - textpointer Text0971 ; 0x0971 - textpointer Text0972 ; 0x0972 - textpointer Text0973 ; 0x0973 - textpointer Text0974 ; 0x0974 - textpointer Text0975 ; 0x0975 - textpointer Text0976 ; 0x0976 - textpointer Text0977 ; 0x0977 - textpointer Text0978 ; 0x0978 - textpointer Text0979 ; 0x0979 - textpointer Text097a ; 0x097a - textpointer Text097b ; 0x097b - textpointer Text097c ; 0x097c - textpointer Text097d ; 0x097d - textpointer Text097e ; 0x097e - textpointer Text097f ; 0x097f - textpointer Text0980 ; 0x0980 - textpointer Text0981 ; 0x0981 - textpointer Text0982 ; 0x0982 - textpointer Text0983 ; 0x0983 - textpointer Text0984 ; 0x0984 - textpointer Text0985 ; 0x0985 - textpointer Text0986 ; 0x0986 - textpointer Text0987 ; 0x0987 - textpointer Text0988 ; 0x0988 - textpointer Text0989 ; 0x0989 - textpointer Text098a ; 0x098a - textpointer Text098b ; 0x098b - textpointer Text098c ; 0x098c - textpointer Text098d ; 0x098d - textpointer Text098e ; 0x098e - textpointer Text098f ; 0x098f - textpointer Text0990 ; 0x0990 - textpointer Text0991 ; 0x0991 + textpointer TCGCupClerkCup1ActiveText ; 0x094e + textpointer TCGCupClerkCup2ActiveText ; 0x094f + textpointer TCGCupClerkCup3ActiveText ; 0x0950 + textpointer TCGCupClerkPlayerWonText ; 0x0951 + textpointer TCGCupClerkPlayerLostText ; 0x0952 + textpointer TCGCupClerkEnterPromptText ; 0x0953 + textpointer TCGCupClerkEnterAcceptedText ; 0x0954 + textpointer TCGCupClerkEnterDeclinedText ; 0x0955 + textpointer TCGCupClerkRightNoEntryText ; 0x0956 + textpointer TCGChallengeHallManNoCardsText ; 0x0957 + textpointer TCGChallengeHallManGoodLuckText ; 0x0958 + textpointer TCGChallengeHallManTCGCup3Text ; 0x0959 + textpointer CupHostTCGCup1IntroText ; 0x095a + textpointer CupHostTCGCup1Round1ChallengerText ; 0x095b + textpointer CupHostTCGCup2IntroText ; 0x095c + textpointer CupHostTCGCup2Round1ChallengerText ; 0x095d + textpointer CupHostTCGCup3IntroText ; 0x095e + textpointer CupHostTCGCup3Round1ChallengerText ; 0x095f + textpointer CupHostTCGCupRound1DuelStartText ; 0x0960 + textpointer CupHostTCGCup1Or2Round1PlayerWonText ; 0x0961 + textpointer CupHostTCGCup1Round1NextChallengerText ; 0x0962 + textpointer CupHostTCGCup2Round1NextChallengerText ; 0x0963 + textpointer CupHostTCGCup3Round1PlayerWonText ; 0x0964 + textpointer CupHostTCGCup3Round1NextChallengerText ; 0x0965 + textpointer CupHostTCGCup1Round1PlayerLostText ; 0x0966 + textpointer CupHostTCGCup2Round1PlayerLostText ; 0x0967 + textpointer CupHostTCGCup3Round1PlayerLostText ; 0x0968 + textpointer CupHostTCGCupPlayerWonOpponentEliminatedText ; 0x0969 + textpointer CupHostTCGCupRound2ChallengerText ; 0x096a + textpointer CupHostTCGCupRound2The4PrizesMatchText ; 0x096b + textpointer CupHostTCGCupAreYourDecksReadyText ; 0x096c + textpointer CupHostTCGCupMakeYourPreparationsText ; 0x096d + textpointer CupHostTCGCupRound2DuelStartText ; 0x096e + textpointer CupHostTCGCupRound2PlayerWonText ; 0x096f + textpointer CupHostTCGCup1Round2NextChallengerText ; 0x0970 + textpointer CupHostTCGCup2Round2NextChallengerText ; 0x0971 + textpointer CupHostTCGCup3Round2NextChallengerText ; 0x0972 + textpointer CupHostTCGCup1Or2Round2PlayerLostText ; 0x0973 + textpointer CupHostTCGCup3Round2PlayerLostText ; 0x0974 + textpointer CupHostTCGCup1Round3ChallengerText ; 0x0975 + textpointer CupHostTCGCup2Round3ChallengerText ; 0x0976 + textpointer CupHostTCGCup3Round3ChallengerClubMasterText ; 0x0977 + textpointer CupHostTCGCup3Round3ChallengerGRText ; 0x0978 + textpointer CupHostTCGCup3Round3ChallengerRonaldText ; 0x0979 + textpointer RonaldTCGCup3ChallengerText ; 0x097a + textpointer CupHostTCGCupRound3The6PrizesMatchText ; 0x097b + textpointer CupHostTCGCupRound3DuelStartText ; 0x097c + textpointer CupHostTCGCupRound3PlayerWonText ; 0x097d + textpointer CupHostTCGCup1Or2PlayerChampionText ; 0x097e + textpointer CupHostTCGCup3PlayerChampionText ; 0x097f + textpointer CupHostTCGCup1Round3PlayerLostText ; 0x0980 + textpointer CupHostTCGCup2Round3PlayerLostText ; 0x0981 + textpointer CupHostTCGCup3Round3PlayerLostText ; 0x0982 + textpointer CupHostTCGCup1ChampionPrizeText ; 0x0983 + textpointer CupHostTCGCup2ChampionPrizeText ; 0x0984 + textpointer CupHostTCGCup3ChampionPrizeText ; 0x0985 + textpointer CupHostTCGCupPlayer10TimesChampionText ; 0x0986 + textpointer CupHostTCGCupPlayer10TimesChampionContinueText ; 0x0987 + textpointer CupHostTCGCupPlayerChampionCongratsText ; 0x0988 + textpointer CupHostTCGCupPlayerLostEliminatedText ; 0x0989 + textpointer TCGChallengeHallEntranceClerkNoCardsText ; 0x098a + textpointer TCGChallengeHallEntranceClerkTCGCup1ActiveText ; 0x098b + textpointer TCGChallengeHallEntranceClerkTCGCup1OverText ; 0x098c + textpointer TCGChallengeHallEntranceClerkTCGCup2ActiveText ; 0x098d + textpointer TCGChallengeHallEntranceClerkTCGCup2OverText ; 0x098e + textpointer TCGChallengeHallEntranceClerkTCGCup3InactiveText ; 0x098f + textpointer TCGChallengeHallEntranceClerkTCGCup3ActiveText ; 0x0990 + textpointer TCGChallengeHallEntranceClerkTCGCupPlayedText ; 0x0991 textpointer Text0992 ; 0x0992 textpointer Text0993 ; 0x0993 textpointer Text0994 ; 0x0994 @@ -2481,8 +2481,8 @@ TextOffsets:: textpointer Text09a8 ; 0x09a8 textpointer Text09a9 ; 0x09a9 textpointer Text09aa ; 0x09aa - textpointer Text09ab ; 0x09ab - textpointer Text09ac ; 0x09ac + textpointer TCGChallengeHallLobbyCupHostNoCardsText ; 0x09ab + textpointer TCGChallengeHallLobbyCupHostStandbyText ; 0x09ac textpointer Text09ad ; 0x09ad textpointer Text09ae ; 0x09ae textpointer Text09af ; 0x09af @@ -3567,79 +3567,79 @@ TextOffsets:: textpointer Text0de6 ; 0x0de6 textpointer Text0de7 ; 0x0de7 textpointer Text0de8 ; 0x0de8 - textpointer Text0de9 ; 0x0de9 - textpointer Text0dea ; 0x0dea - textpointer Text0deb ; 0x0deb - textpointer Text0dec ; 0x0dec - textpointer Text0ded ; 0x0ded - textpointer Text0dee ; 0x0dee - textpointer Text0def ; 0x0def - textpointer Text0df0 ; 0x0df0 - textpointer Text0df1 ; 0x0df1 - textpointer Text0df2 ; 0x0df2 - textpointer Text0df3 ; 0x0df3 - textpointer Text0df4 ; 0x0df4 - textpointer Text0df5 ; 0x0df5 - textpointer Text0df6 ; 0x0df6 - textpointer Text0df7 ; 0x0df7 - textpointer Text0df8 ; 0x0df8 - textpointer Text0df9 ; 0x0df9 - textpointer Text0dfa ; 0x0dfa - textpointer Text0dfb ; 0x0dfb - textpointer Text0dfc ; 0x0dfc - textpointer Text0dfd ; 0x0dfd - textpointer Text0dfe ; 0x0dfe - textpointer Text0dff ; 0x0dff - textpointer Text0e00 ; 0x0e00 - textpointer Text0e01 ; 0x0e01 - textpointer Text0e02 ; 0x0e02 - textpointer Text0e03 ; 0x0e03 - textpointer Text0e04 ; 0x0e04 - textpointer Text0e05 ; 0x0e05 - textpointer Text0e06 ; 0x0e06 - textpointer Text0e07 ; 0x0e07 - textpointer Text0e08 ; 0x0e08 - textpointer Text0e09 ; 0x0e09 - textpointer Text0e0a ; 0x0e0a - textpointer Text0e0b ; 0x0e0b - textpointer Text0e0c ; 0x0e0c - textpointer Text0e0d ; 0x0e0d - textpointer Text0e0e ; 0x0e0e - textpointer Text0e0f ; 0x0e0f - textpointer Text0e10 ; 0x0e10 - textpointer Text0e11 ; 0x0e11 - textpointer Text0e12 ; 0x0e12 - textpointer Text0e13 ; 0x0e13 - textpointer Text0e14 ; 0x0e14 - textpointer Text0e15 ; 0x0e15 - textpointer Text0e16 ; 0x0e16 - textpointer Text0e17 ; 0x0e17 - textpointer Text0e18 ; 0x0e18 - textpointer Text0e19 ; 0x0e19 - textpointer Text0e1a ; 0x0e1a - textpointer Text0e1b ; 0x0e1b - textpointer Text0e1c ; 0x0e1c - textpointer Text0e1d ; 0x0e1d - textpointer Text0e1e ; 0x0e1e - textpointer Text0e1f ; 0x0e1f - textpointer Text0e20 ; 0x0e20 - textpointer Text0e21 ; 0x0e21 - textpointer Text0e22 ; 0x0e22 - textpointer Text0e23 ; 0x0e23 - textpointer Text0e24 ; 0x0e24 - textpointer Text0e25 ; 0x0e25 - textpointer Text0e26 ; 0x0e26 - textpointer Text0e27 ; 0x0e27 - textpointer Text0e28 ; 0x0e28 - textpointer Text0e29 ; 0x0e29 - textpointer Text0e2a ; 0x0e2a - textpointer Text0e2b ; 0x0e2b - textpointer Text0e2c ; 0x0e2c - textpointer Text0e2d ; 0x0e2d - textpointer Text0e2e ; 0x0e2e - textpointer Text0e2f ; 0x0e2f - textpointer Text0e30 ; 0x0e30 - textpointer Text0e31 ; 0x0e31 + textpointer GRChallengeMachineStaff50WinStreakRewards1Text ; 0x0de9 + textpointer GRChallengeMachineStaff50WinStreakRewards2Text ; 0x0dea + textpointer GRCupClerkCup1ActiveText ; 0x0deb + textpointer GRCupClerkCup2ActiveText ; 0x0dec + textpointer GRCupClerkCup3ActiveText ; 0x0ded + textpointer GRCupClerkCup1PlayerWonText ; 0x0dee + textpointer GRCupClerkCup2PlayerWonText ; 0x0def + textpointer GRCupClerkCup3PlayerWonText ; 0x0df0 + textpointer GRCupClerkPlayerLostText ; 0x0df1 + textpointer GRCupClerkEnterPromptText ; 0x0df2 + textpointer GRCupClerkEnterAcceptedText ; 0x0df3 + textpointer GRCupClerkEnterDeclinedText ; 0x0df4 + textpointer GRCupClerkRightNoEntryText ; 0x0df5 + textpointer GRChallengeMachineStaffUnderConstructionInitialText ; 0x0df6 + textpointer GRChallengeMachineStaffUnderConstructionRepeatText ; 0x0df7 + textpointer GRChallengeMachineStaffWelcomeText ; 0x0df8 + textpointer GRChallengeMachineStaffWelcome50WinStreakDoneText ; 0x0df9 + textpointer CupHostGRCup1IntroText ; 0x0dfa + textpointer CupHostGRCup1Round1ChallengerText ; 0x0dfb + textpointer CupHostGRCup1Round1DuelStartText ; 0x0dfc + textpointer CupHostGRCup2IntroText ; 0x0dfd + textpointer CupHostGRCup2Round1ChallengerText ; 0x0dfe + textpointer CupHostGRCup3IntroText ; 0x0dff + textpointer CupHostGRCup3Round1ChallengerText ; 0x0e00 + textpointer CupHostGRCup3Round1DuelStartText ; 0x0e01 + textpointer CupHostGRCup1Or2Round1PlayerWonText ; 0x0e02 + textpointer CupHostGRCup1Or2Round1PlayerWonOpponentEliminatedText ; 0x0e03 + textpointer CupHostGRCup1Or2Round1NextChallengerText ; 0x0e04 + textpointer CupHostGRCup3Round1PlayerWonText ; 0x0e05 + textpointer CupHostGRCup3Round1PlayerWonOpponentEliminatedText ; 0x0e06 + textpointer CupHostGRCup3Round1NextChallengerText ; 0x0e07 + textpointer CupHostGRCup1Or2Round1PlayerLostText ; 0x0e08 + textpointer CupHostGRCup1Or2Round1PlayerLostEliminatedText ; 0x0e09 + textpointer CupHostGRCup3Round1PlayerLostText ; 0x0e0a + textpointer CupHostGRCup3Round1PlayerLostEliminatedText ; 0x0e0b + textpointer CupHostGRCupRound2ChallengerText ; 0x0e0c + textpointer CupHostGRCupRound2The4PrizesMatchText ; 0x0e0d + textpointer CupHostGRCupAreYourDecksReadyText ; 0x0e0e + textpointer CupHostGRCupMakeYourPreparationsText ; 0x0e0f + textpointer CupHostGRCupRound2DuelStartText ; 0x0e10 + textpointer CupHostGRCup1Round2PlayerWonText ; 0x0e11 + textpointer CupHostGRCupRound2Or3PlayerWonOpponentEliminatedText ; 0x0e12 + textpointer CupHostGRCup1Or2Round2NextChallengerText ; 0x0e13 + textpointer CupHostGRCup2Round2PlayerWonText ; 0x0e14 + textpointer CupHostGRCup3Round2PlayerWonText ; 0x0e15 + textpointer CupHostGRCup3Round2NextChallengerText ; 0x0e16 + textpointer CupHostGRCup1Or2Round2PlayerLostText ; 0x0e17 + textpointer CupHostGRCup1Or2Round2PlayerLostEliminatedText ; 0x0e18 + textpointer CupHostGRCup3Round2PlayerLostText ; 0x0e19 + textpointer CupHostGRCup3Round2PlayerLostEliminatedText ; 0x0e1a + textpointer CupHostGRCupRound3ChallengerText ; 0x0e1b + textpointer CupHostGRCupRound3DuelStartText ; 0x0e1c + textpointer CupHostGRCup1Or2Round3PlayerWonText ; 0x0e1d + textpointer CupHostGRCup1Or2Round3PlayerChampionText ; 0x0e1e + textpointer CupHostGRCup3Round3PlayerWonText ; 0x0e1f + textpointer CupHostGRCup3Round3PlayerChampionText ; 0x0e20 + textpointer CupHostGRCup1Or2Round3PlayerLostText ; 0x0e21 + textpointer CupHostGRCup1Or2Round3PlayerLostEliminatedText ; 0x0e22 + textpointer CupHostGRCup3Round3PlayerLostText ; 0x0e23 + textpointer CupHostGRCup3Round3PlayerLostEliminatedText ; 0x0e24 + textpointer CupHostGRCup1ChampionPrizeText ; 0x0e25 + textpointer CupHostGRCup2ChampionPrizeText ; 0x0e26 + textpointer CupHostGRCup3ChampionPrizeText ; 0x0e27 + textpointer CupHostGRCupPlayer10TimesChampionText ; 0x0e28 + textpointer CupHostGRCupPlayer10TimesChampionContinueText ; 0x0e29 + textpointer CupHostGRCupPlayerChampionCongratsText ; 0x0e2a + textpointer GRChallengeHallEntranceClerkGRCup1InactiveText ; 0x0e2b + textpointer GRChallengeHallEntranceClerkGRCup1ActiveText ; 0x0e2c + textpointer GRChallengeHallEntranceClerkGRCup2ActiveText ; 0x0e2d + textpointer GRChallengeHallEntranceClerkGRCup2InactiveText ; 0x0e2e + textpointer GRChallengeHallEntranceClerkGRCup3InactiveText ; 0x0e2f + textpointer GRChallengeHallEntranceClerkGRCup3ActiveText ; 0x0e30 + textpointer GRChallengeHallEntranceClerkGRCupPlayedText ; 0x0e31 textpointer Text0e32 ; 0x0e32 textpointer Text0e33 ; 0x0e33 textpointer Text0e34 ; 0x0e34 @@ -3648,8 +3648,8 @@ TextOffsets:: textpointer Text0e37 ; 0x0e37 textpointer Text0e38 ; 0x0e38 textpointer Text0e39 ; 0x0e39 - textpointer Text0e3a ; 0x0e3a - textpointer Text0e3b ; 0x0e3b + textpointer GRChallengeHallLobbyCupHostStandbyText ; 0x0e3a + textpointer GRChallengeHallLobbyCupHostStandbyGRCup3Text ; 0x0e3b textpointer Text0e3c ; 0x0e3c textpointer Text0e3d ; 0x0e3d textpointer Text0e3e ; 0x0e3e @@ -3852,7 +3852,7 @@ TextOffsets:: textpointer Text0f03 ; 0x0f03 textpointer Text0f04 ; 0x0f04 textpointer Text0f05 ; 0x0f05 - textpointer Text0f06 ; 0x0f06 + textpointer ChallengeMachineWinStreakRecordCorruptedAndResetText ; 0x0f06 textpointer Text0f07 ; 0x0f07 textpointer Text0f08 ; 0x0f08 textpointer Text0f09 ; 0x0f09 diff --git a/src/wram.asm b/src/wram.asm index e97f841..4af18b6 100644 --- a/src/wram.asm +++ b/src/wram.asm @@ -2319,10 +2319,17 @@ wFilteredListPtr:: ; d575 ; TODO: is this really union? UNION +wNumChallengeCupOpponents:: ; d577 + ds $1 + +wChallengeCupIndex:: ; d578 + ds $1 + +NEXTU + wRemainingIntroCards:: ; d577 ds $1 -wd578:: ; d578 ds $1 wd579:: ; d579 diff --git a/tools/constants.py b/tools/constants.py index 036f8bd..ec6a72f 100644 --- a/tools/constants.py +++ b/tools/constants.py @@ -2996,18 +2996,18 @@ vars = [ "VAR_25", "VAR_26", "VAR_27", - "VAR_28", + "VAR_TCG_CHALLENGE_CUP_STATE", "VAR_TCG_CHALLENGE_CUP_PRIZE_INDEX", - "VAR_2A", - "VAR_2B", - "VAR_2C", - "VAR_2D", - "VAR_2E", - "VAR_2F", - "VAR_30", + "VAR_TIMES_WON_TCG_CHALLENGE_CUP", + "VAR_TCG_CHALLENGE_CUP_RESULT", + "VAR_CHALLENGECUP_CURRENT_ROUND", + "VAR_CHALLENGECUP_ROUND1_OPPONENT_DECK_ID", + "VAR_CHALLENGECUP_ROUND2_OPPONENT_DECK_ID", + "VAR_CHALLENGECUP_ROUND3_OPPONENT_DECK_ID", + "VAR_GR_CHALLENGE_CUP_STATE", "VAR_GR_CHALLENGE_CUP_PRIZE_INDEX", - "VAR_32", - "VAR_33", + "VAR_TIMES_WON_GR_CHALLENGE_CUP", + "VAR_GR_CHALLENGE_CUP_RESULT", "VAR_34", "VAR_35", "VAR_36",