diff options
Diffstat (limited to 'scripts/celadongym.asm')
-rwxr-xr-x | scripts/celadongym.asm | 298 |
1 files changed, 145 insertions, 153 deletions
diff --git a/scripts/celadongym.asm b/scripts/celadongym.asm index b1b1060c..ae7e6846 100755 --- a/scripts/celadongym.asm +++ b/scripts/celadongym.asm @@ -1,82 +1,76 @@ -CeladonGymScript: ; 4890a (12:490a) - ld hl, wd126 +CeladonGymScript: + ld hl, wCurrentMapScriptFlags bit 6, [hl] res 6, [hl] call nz, CeladonGymScript_48927 call EnableAutoTextBoxDrawing - ld hl, CeladonGymTrainerHeaders + ld hl, CeladonGymTrainerHeader0 ld de, CeladonGymScriptPointers - ld a, [W_CELADONGYMCURSCRIPT] + ld a, [wCeladonGymCurScript] call ExecuteCurMapScriptInTable - ld [W_CELADONGYMCURSCRIPT], a + ld [wCeladonGymCurScript], a ret -CeladonGymScript_48927: ; 48927 (12:4927) - ld hl, Gym4CityName ; $4930 - ld de, Gym4LeaderName ; $493d +CeladonGymScript_48927: + ld hl, Gym4CityName + ld de, Gym4LeaderName jp LoadGymLeaderAndCityName -Gym4CityName: ; 48930 (12:4930) +Gym4CityName: db "CELADON CITY@" -Gym4LeaderName: ; 4893d (12:493d) +Gym4LeaderName: db "ERIKA@" -CeladonGymText_48943: ; 48943 (12:4943) +CeladonGymText_48943: xor a ld [wJoyIgnore], a - ld [W_CELADONGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wCeladonGymCurScript], a + ld [wCurMapScript], a ret -CeladonGymScriptPointers: ; 4894e (12:494e) +CeladonGymScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle dw CeladonGymScript3 -CeladonGymScript3: ; 48956 (12:4956) - ld a, [W_ISINBATTLE] ; W_ISINBATTLE +CeladonGymScript3: + ld a, [wIsInBattle] cp $ff jp z, CeladonGymText_48943 ld a, $f0 ld [wJoyIgnore], a -CeladonGymText_48963: ; 48963 (12:4963) +CeladonGymText_48963: ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd77c - set 1, [hl] - ld bc, (TM_21 << 8) | 1 + SetEvent EVENT_BEAT_ERIKA + lb bc, TM_21, 1 call GiveItem jr nc, .BagFull ld a, $a - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd77c - set 0, [hl] + SetEvent EVENT_GOT_TM21 jr .asm_4898c .BagFull ld a, $b - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_4898c - ld hl, W_OBTAINEDBADGES + ld hl, wObtainedBadges set 3, [hl] - ld hl, wd72a + ld hl, wBeatGymFlags set 3, [hl] ; deactivate gym trainers - ld a, [wd77c] - or %11111100 - ld [wd77c], a - ld hl, wd77d - set 0, [hl] + SetEventRange EVENT_BEAT_CELADON_GYM_TRAINER_0, EVENT_BEAT_CELADON_GYM_TRAINER_6 jp CeladonGymText_48943 -CeladonGymTextPointers: ; 489a6 (12:49a6) +CeladonGymTextPointers: dw CeladonGymText1 dw CeladonGymText2 dw CeladonGymText3 @@ -89,87 +83,85 @@ CeladonGymTextPointers: ; 489a6 (12:49a6) dw TM21Text dw TM21NoRoomText -CeladonGymTrainerHeaders: ; 489bc (12:49bc) -CeladonGymTrainerHeader0: ; 489bc (12:49bc) - db $2 ; flag's bit +CeladonGymTrainerHeader0: + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_0 db ($2 << 4) ; trainer's view range - dw wd77c ; flag's byte - dw CeladonGymBattleText2 ; 0x4a8b TextBeforeBattle - dw CeladonGymAfterBattleText2 ; 0x4a95 TextAfterBattle - dw CeladonGymEndBattleText2 ; 0x4a90 TextEndBattle - dw CeladonGymEndBattleText2 ; 0x4a90 TextEndBattle - -CeladonGymTrainerHeader2: ; 489c8 (12:49c8) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_0 + dw CeladonGymBattleText2 ; TextBeforeBattle + dw CeladonGymAfterBattleText2 ; TextAfterBattle + dw CeladonGymEndBattleText2 ; TextEndBattle + dw CeladonGymEndBattleText2 ; TextEndBattle + +CeladonGymTrainerHeader1: + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd77c ; flag's byte - dw CeladonGymBattleText3 ; 0x4aa4 TextBeforeBattle - dw CeladonGymAfterBattleText3 ; 0x4aae TextAfterBattle - dw CeladonGymEndBattleText3 ; 0x4aa9 TextEndBattle - dw CeladonGymEndBattleText3 ; 0x4aa9 TextEndBattle - -CeladonGymTrainerHeader3: ; 489d4 (12:49d4) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_1 + dw CeladonGymBattleText3 ; TextBeforeBattle + dw CeladonGymAfterBattleText3 ; TextAfterBattle + dw CeladonGymEndBattleText3 ; TextEndBattle + dw CeladonGymEndBattleText3 ; TextEndBattle + +CeladonGymTrainerHeader2: + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_2 db ($4 << 4) ; trainer's view range - dw wd77c ; flag's byte - dw CeladonGymBattleText4 ; 0x4abd TextBeforeBattle - dw CeladonGymAfterBattleText4 ; 0x4ac7 TextAfterBattle - dw CeladonGymEndBattleText4 ; 0x4ac2 TextEndBattle - dw CeladonGymEndBattleText4 ; 0x4ac2 TextEndBattle - -CeladonGymTrainerHeader4: ; 489e0 (12:49e0) - db $5 ; flag's bit + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_2 + dw CeladonGymBattleText4 ; TextBeforeBattle + dw CeladonGymAfterBattleText4 ; TextAfterBattle + dw CeladonGymEndBattleText4 ; TextEndBattle + dw CeladonGymEndBattleText4 ; TextEndBattle + +CeladonGymTrainerHeader3: + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_3 db ($4 << 4) ; trainer's view range - dw wd77c ; flag's byte - dw CeladonGymBattleText5 ; 0x4ad6 TextBeforeBattle - dw CeladonGymAfterBattleText5 ; 0x4ae0 TextAfterBattle - dw CeladonGymEndBattleText5 ; 0x4adb TextEndBattle - dw CeladonGymEndBattleText5 ; 0x4adb TextEndBattle - -CeladonGymTrainerHeader5: ; 489ec (12:49ec) - db $6 ; flag's bit + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_3 + dw CeladonGymBattleText5 ; TextBeforeBattle + dw CeladonGymAfterBattleText5 ; TextAfterBattle + dw CeladonGymEndBattleText5 ; TextEndBattle + dw CeladonGymEndBattleText5 ; TextEndBattle + +CeladonGymTrainerHeader4: + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_4 db ($2 << 4) ; trainer's view range - dw wd77c ; flag's byte - dw CeladonGymBattleText6 ; 0x4aef TextBeforeBattle - dw CeladonGymAfterBattleText6 ; 0x4af9 TextAfterBattle - dw CeladonGymEndBattleText6 ; 0x4af4 TextEndBattle - dw CeladonGymEndBattleText6 ; 0x4af4 TextEndBattle - -CeladonGymTrainerHeader6: ; 489f8 (12:49f8) - db $7 ; flag's bit + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_4 + dw CeladonGymBattleText6 ; TextBeforeBattle + dw CeladonGymAfterBattleText6 ; TextAfterBattle + dw CeladonGymEndBattleText6 ; TextEndBattle + dw CeladonGymEndBattleText6 ; TextEndBattle + +CeladonGymTrainerHeader5: + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_5 db ($2 << 4) ; trainer's view range - dw wd77c ; flag's byte - dw CeladonGymBattleText7 ; 0x4b08 TextBeforeBattle - dw CeladonGymAfterBattleText7 ; 0x4b12 TextAfterBattle - dw CeladonGymEndBattleText7 ; 0x4b0d TextEndBattle - dw CeladonGymEndBattleText7 ; 0x4b0d TextEndBattle - -CeladonGymTrainerHeader7: ; 48a04 (12:4a04) - db $8 ; flag's bit + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_5 + dw CeladonGymBattleText7 ; TextBeforeBattle + dw CeladonGymAfterBattleText7 ; TextAfterBattle + dw CeladonGymEndBattleText7 ; TextEndBattle + dw CeladonGymEndBattleText7 ; TextEndBattle + +CeladonGymTrainerHeader6: + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_6, 1 db ($3 << 4) ; trainer's view range - dw wd77c ; flag's byte - dw CeladonGymBattleText8 ; 0x4b21 TextBeforeBattle - dw CeladonGymAfterBattleText8 ; 0x4b2b TextAfterBattle - dw CeladonGymEndBattleText8 ; 0x4b26 TextEndBattle - dw CeladonGymEndBattleText8 ; 0x4b26 TextEndBattle + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_6, 1 + dw CeladonGymBattleText8 ; TextBeforeBattle + dw CeladonGymAfterBattleText8 ; TextAfterBattle + dw CeladonGymEndBattleText8 ; TextEndBattle + dw CeladonGymEndBattleText8 ; TextEndBattle db $ff -CeladonGymText1: ; 48a11 (12:4a11) - db $08 ; asm - ld a, [wd77c] - bit 1, a - jr z, .asm_16064 ; 0x48a17 - bit 0, a - jr nz, .asm_3b22c ; 0x48a1b +CeladonGymText1: + TX_ASM + CheckEvent EVENT_BEAT_ERIKA + jr z, .asm_48a2d + CheckEventReuseA EVENT_GOT_TM21 + jr nz, .asm_48a25 call z, CeladonGymText_48963 call DisableWaitingAfterTextDisplay - jr .asm_96252 ; 0x48a23 -.asm_3b22c ; 0x48a25 + jr .asm_48a5b +.asm_48a25 ld hl, CeladonGymText_48a68 call PrintText - jr .asm_96252 ; 0x48a2b -.asm_16064 ; 0x48a2d + jr .asm_48a5b +.asm_48a2d ld hl, CeladonGymText_48a5e call PrintText ld hl, wd72d @@ -178,166 +170,166 @@ CeladonGymText1: ; 48a11 (12:4a11) ld hl, CeladonGymText_48a63 ld de, CeladonGymText_48a63 call SaveEndBattleTextPointers - ldh a, [$8c] + ld a, [H_SPRITEINDEX] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters ld a, $4 - ld [W_GYMLEADERNO], a + ld [wGymLeaderNo], a ld a, $3 - ld [W_CELADONGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a -.asm_96252 ; 0x48a5b + ld [wCeladonGymCurScript], a + ld [wCurMapScript], a +.asm_48a5b jp TextScriptEnd -CeladonGymText_48a5e: ; 48a5e (12:4a5e) +CeladonGymText_48a5e: TX_FAR _CeladonGymText_48a5e db "@" -CeladonGymText_48a63: ; 48a63 (12:4a63) +CeladonGymText_48a63: TX_FAR _CeladonGymText_48a63 db "@" -CeladonGymText_48a68: ; 48a68 (12:4a68) +CeladonGymText_48a68: TX_FAR _CeladonGymText_48a68 db "@" -CeladonGymText9: ; 48a6d (12:4a6d) +CeladonGymText9: TX_FAR _CeladonGymText9 db "@" -TM21Text: ; 48a72 (12:4a72) +TM21Text: TX_FAR _ReceivedTM21Text - db $0B + TX_SFX_ITEM_1 TX_FAR _TM21ExplanationText db "@" -TM21NoRoomText: ; 48a7c (12:4a7c) +TM21NoRoomText: TX_FAR _TM21NoRoomText db "@" -CeladonGymText2: ; 48a81 (12:4a81) - db $08 ; asm +CeladonGymText2: + TX_ASM ld hl, CeladonGymTrainerHeader0 call TalkToTrainer jp TextScriptEnd -CeladonGymBattleText2: ; 48a8b (12:4a8b) +CeladonGymBattleText2: TX_FAR _CeladonGymBattleText2 db "@" -CeladonGymEndBattleText2: ; 48a90 (12:4a90) +CeladonGymEndBattleText2: TX_FAR _CeladonGymEndBattleText2 db "@" -CeladonGymAfterBattleText2: ; 48a95 (12:4a95) +CeladonGymAfterBattleText2: TX_FAR _CeladonGymAfterBattleText2 db "@" -CeladonGymText3: ; 48a9a (12:4a9a) - db $08 ; asm - ld hl, CeladonGymTrainerHeader2 +CeladonGymText3: + TX_ASM + ld hl, CeladonGymTrainerHeader1 call TalkToTrainer jp TextScriptEnd -CeladonGymBattleText3: ; 48aa4 (12:4aa4) +CeladonGymBattleText3: TX_FAR _CeladonGymBattleText3 db "@" -CeladonGymEndBattleText3: ; 48aa9 (12:4aa9) +CeladonGymEndBattleText3: TX_FAR _CeladonGymEndBattleText3 db "@" -CeladonGymAfterBattleText3: ; 48aae (12:4aae) +CeladonGymAfterBattleText3: TX_FAR _CeladonGymAfterBattleText3 db "@" -CeladonGymText4: ; 48ab3 (12:4ab3) - db $08 ; asm - ld hl, CeladonGymTrainerHeader3 +CeladonGymText4: + TX_ASM + ld hl, CeladonGymTrainerHeader2 call TalkToTrainer jp TextScriptEnd -CeladonGymBattleText4: ; 48abd (12:4abd) +CeladonGymBattleText4: TX_FAR _CeladonGymBattleText4 db "@" -CeladonGymEndBattleText4: ; 48ac2 (12:4ac2) +CeladonGymEndBattleText4: TX_FAR _CeladonGymEndBattleText4 db "@" -CeladonGymAfterBattleText4: ; 48ac7 (12:4ac7) +CeladonGymAfterBattleText4: TX_FAR _CeladonGymAfterBattleText4 db "@" -CeladonGymText5: ; 48acc (12:4acc) - db $08 ; asm - ld hl, CeladonGymTrainerHeader4 +CeladonGymText5: + TX_ASM + ld hl, CeladonGymTrainerHeader3 call TalkToTrainer jp TextScriptEnd -CeladonGymBattleText5: ; 48ad6 (12:4ad6) +CeladonGymBattleText5: TX_FAR _CeladonGymBattleText5 db "@" -CeladonGymEndBattleText5: ; 48adb (12:4adb) +CeladonGymEndBattleText5: TX_FAR _CeladonGymEndBattleText5 db "@" -CeladonGymAfterBattleText5: ; 48ae0 (12:4ae0) +CeladonGymAfterBattleText5: TX_FAR _CeladonGymAfterBattleText5 db "@" -CeladonGymText6: ; 48ae5 (12:4ae5) - db $08 ; asm - ld hl, CeladonGymTrainerHeader5 +CeladonGymText6: + TX_ASM + ld hl, CeladonGymTrainerHeader4 call TalkToTrainer jp TextScriptEnd -CeladonGymBattleText6: ; 48aef (12:4aef) +CeladonGymBattleText6: TX_FAR _CeladonGymBattleText6 db "@" -CeladonGymEndBattleText6: ; 48af4 (12:4af4) +CeladonGymEndBattleText6: TX_FAR _CeladonGymEndBattleText6 db "@" -CeladonGymAfterBattleText6: ; 48af9 (12:4af9) +CeladonGymAfterBattleText6: TX_FAR _CeladonGymAfterBattleText6 db "@" -CeladonGymText7: ; 48afe (12:4afe) - db $08 ; asm - ld hl, CeladonGymTrainerHeader6 +CeladonGymText7: + TX_ASM + ld hl, CeladonGymTrainerHeader5 call TalkToTrainer jp TextScriptEnd -CeladonGymBattleText7: ; 48b08 (12:4b08) +CeladonGymBattleText7: TX_FAR _CeladonGymBattleText7 db "@" -CeladonGymEndBattleText7: ; 48b0d (12:4b0d) +CeladonGymEndBattleText7: TX_FAR _CeladonGymEndBattleText7 db "@" -CeladonGymAfterBattleText7: ; 48b12 (12:4b12) +CeladonGymAfterBattleText7: TX_FAR _CeladonGymAfterBattleText7 db "@" -CeladonGymText8: ; 48b17 (12:4b17) - db $08 ; asm - ld hl, CeladonGymTrainerHeader7 +CeladonGymText8: + TX_ASM + ld hl, CeladonGymTrainerHeader6 call TalkToTrainer jp TextScriptEnd -CeladonGymBattleText8: ; 48b21 (12:4b21) +CeladonGymBattleText8: TX_FAR _CeladonGymBattleText8 db "@" -CeladonGymEndBattleText8: ; 48b26 (12:4b26) +CeladonGymEndBattleText8: TX_FAR _CeladonGymEndBattleText8 db "@" -CeladonGymAfterBattleText8: ; 48b2b (12:4b2b) +CeladonGymAfterBattleText8: TX_FAR _CeladonGymAfterBattleText8 db "@" |