diff options
Diffstat (limited to 'scripts/vermiliongym.asm')
-rwxr-xr-x | scripts/vermiliongym.asm | 209 |
1 files changed, 101 insertions, 108 deletions
diff --git a/scripts/vermiliongym.asm b/scripts/vermiliongym.asm index 6178dafb..c22ce9ce 100755 --- a/scripts/vermiliongym.asm +++ b/scripts/vermiliongym.asm @@ -1,5 +1,5 @@ -VermilionGymScript: ; 5ca26 (17:4a26) - ld hl, wd126 +VermilionGymScript: + ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] push hl @@ -11,90 +11,85 @@ VermilionGymScript: ; 5ca26 (17:4a26) call EnableAutoTextBoxDrawing ld hl, VermilionGymTrainerHeader0 ld de, VermilionGymScriptPointers - ld a, [W_VERMILIONGYMCURSCRIPT] + ld a, [wVermilionGymCurScript] call ExecuteCurMapScriptInTable - ld [W_VERMILIONGYMCURSCRIPT], a + ld [wVermilionGymCurScript], a ret -VermilionGymScript_5ca4c: ; 5ca4c (17:4a4c) - ld hl, Gym3CityName ; $4a55 - ld de, Gym3LeaderName ; $4a64 +VermilionGymScript_5ca4c: + ld hl, Gym3CityName + ld de, Gym3LeaderName jp LoadGymLeaderAndCityName -Gym3CityName: ; 5ca55 (17:4a55) +Gym3CityName: db "VERMILION CITY@" -Gym3LeaderName: ; 5ca64 (17:4a64) +Gym3LeaderName: db "LT.SURGE@" -VermilionGymScript_5ca6d: ; 5ca6d (17:4a6d) - ld a, [wd773] - bit 0, a +VermilionGymScript_5ca6d: + CheckEvent EVENT_2ND_LOCK_OPENED jr nz, .asm_5ca78 ld a, $24 jr .asm_5ca7f .asm_5ca78 - ld a, (SFX_02_57 - SFX_Headers_02) / 3 + ld a, SFX_GO_INSIDE call PlaySound ld a, $5 .asm_5ca7f - ld [wd09f], a - ld bc, $202 + ld [wNewTileBlockID], a + lb bc, 2, 2 predef_jump ReplaceTileBlock -VermilionGymScript_5ca8a: ; 5ca8a (17:4a8a) +VermilionGymScript_5ca8a: xor a ld [wJoyIgnore], a - ld [W_VERMILIONGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a + ld [wVermilionGymCurScript], a + ld [wCurMapScript], a ret -VermilionGymScriptPointers: ; 5ca95 (17:4a95) +VermilionGymScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle dw VermilionGymScript3 -VermilionGymScript3: ; 5ca9d (17:4a9d) - ld a, [W_ISINBATTLE] ; W_ISINBATTLE +VermilionGymScript3: + ld a, [wIsInBattle] cp $ff jp z, VermilionGymScript_5ca8a ld a, $f0 ld [wJoyIgnore], a -VermilionGymScript_5caaa: ; 5caaa (17:4aaa) +VermilionGymScript_5caaa: ld a, $6 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd773 - set 7, [hl] - ld bc, (TM_24 << 8) | 1 + SetEvent EVENT_BEAT_LT_SURGE + lb bc, TM_24, 1 call GiveItem jr nc, .BagFull ld a, $7 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld hl, wd773 - set 6, [hl] + SetEvent EVENT_GOT_TM24 jr .asm_5cad3 .BagFull ld a, $8 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld [hSpriteIndexOrTextID], a call DisplayTextID .asm_5cad3 - ld hl, W_OBTAINEDBADGES + ld hl, wObtainedBadges set 2, [hl] - ld hl, wd72a + ld hl, wBeatGymFlags set 2, [hl] ; deactivate gym trainers - ld a, [wd773] - or %00011100 - ld [wd773], a + SetEventRange EVENT_BEAT_VERMILION_GYM_TRAINER_0, EVENT_BEAT_VERMILION_GYM_TRAINER_2 jp VermilionGymScript_5ca8a -VermilionGymTextPointers: ; 5cae8 (17:4ae8) +VermilionGymTextPointers: dw VermilionGymText1 dw VermilionGymText2 dw VermilionGymText3 @@ -104,51 +99,49 @@ VermilionGymTextPointers: ; 5cae8 (17:4ae8) dw VermilionGymText7 dw VermilionGymText8 -VermilionGymTrainerHeaders: ; 5caf8 (17:4af8) -VermilionGymTrainerHeader0: ; 5caf8 (17:4af8) - db $2 ; flag's bit +VermilionGymTrainerHeader0: + dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd773 ; flag's byte - dw VermilionGymBattleText1 ; 0x4b9a TextBeforeBattle - dw VermilionGymAfterBattleText1 ; 0x4ba4 TextAfterBattle - dw VermilionGymEndBattleText1 ; 0x4b9f TextEndBattle - dw VermilionGymEndBattleText1 ; 0x4b9f TextEndBattle - -VermilionGymTrainerHeader1: ; 5cb04 (17:4b04) - db $3 ; flag's bit + dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_0 + dw VermilionGymBattleText1 ; TextBeforeBattle + dw VermilionGymAfterBattleText1 ; TextAfterBattle + dw VermilionGymEndBattleText1 ; TextEndBattle + dw VermilionGymEndBattleText1 ; TextEndBattle + +VermilionGymTrainerHeader1: + dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_1 db ($2 << 4) ; trainer's view range - dw wd773 ; flag's byte - dw VermilionGymBattleText2 ; 0x4bb3 TextBeforeBattle - dw VermilionGymAfterBattleText2 ; 0x4bbd TextAfterBattle - dw VermilionGymEndBattleText2 ; 0x4bb8 TextEndBattle - dw VermilionGymEndBattleText2 ; 0x4bb8 TextEndBattle - -VermilionGymTrainerHeader2: ; 5cb10 (17:4b10) - db $4 ; flag's bit + dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_1 + dw VermilionGymBattleText2 ; TextBeforeBattle + dw VermilionGymAfterBattleText2 ; TextAfterBattle + dw VermilionGymEndBattleText2 ; TextEndBattle + dw VermilionGymEndBattleText2 ; TextEndBattle + +VermilionGymTrainerHeader2: + dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd773 ; flag's byte - dw VermilionGymBattleText3 ; 0x4bcc TextBeforeBattle - dw VermilionGymAfterBattleText3 ; 0x4bd6 TextAfterBattle - dw VermilionGymEndBattleText3 ; 0x4bd1 TextEndBattle - dw VermilionGymEndBattleText3 ; 0x4bd1 TextEndBattle + dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_2 + dw VermilionGymBattleText3 ; TextBeforeBattle + dw VermilionGymAfterBattleText3 ; TextAfterBattle + dw VermilionGymEndBattleText3 ; TextEndBattle + dw VermilionGymEndBattleText3 ; TextEndBattle db $ff -VermilionGymText1: ; 5cb1d (17:4b1d) - db $08 ; asm - ld a, [wd773] - bit 7, a - jr z, .asm_7cc29 ; 0x5cb23 - bit 6, a - jr nz, .asm_41203 ; 0x5cb27 +VermilionGymText1: + TX_ASM + CheckEvent EVENT_BEAT_LT_SURGE + jr z, .asm_5cb39 + CheckEventReuseA EVENT_GOT_TM24 + jr nz, .asm_5cb31 call z, VermilionGymScript_5caaa call DisableWaitingAfterTextDisplay - jr .asm_23621 ; 0x5cb2f -.asm_41203 ; 0x5cb31 + jr .asm_5cb6a +.asm_5cb31 ld hl, VermilionGymText_5cb72 call PrintText - jr .asm_23621 ; 0x5cb37 -.asm_7cc29 ; 0x5cb39 + jr .asm_5cb6a +.asm_5cb39 ld hl, VermilionGymText_5cb6d call PrintText ld hl, wd72d @@ -157,118 +150,118 @@ VermilionGymText1: ; 5cb1d (17:4b1d) ld hl, ReceivedThunderbadgeText ld de, ReceivedThunderbadgeText call SaveEndBattleTextPointers - ldh a, [$8c] + ld a, [H_SPRITEINDEX] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters ld a, $3 - ld [W_GYMLEADERNO], a + ld [wGymLeaderNo], a xor a - ldh [$b4], a + ld [hJoyHeld], a ld a, $3 - ld [W_VERMILIONGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a -.asm_23621 ; 0x5cb6a + ld [wVermilionGymCurScript], a + ld [wCurMapScript], a +.asm_5cb6a jp TextScriptEnd -VermilionGymText_5cb6d: ; 5cb6d (17:4b6d) +VermilionGymText_5cb6d: TX_FAR _VermilionGymText_5cb6d db "@" -VermilionGymText_5cb72: ; 5cb72 (17:4b72) +VermilionGymText_5cb72: TX_FAR _VermilionGymText_5cb72 db "@" -VermilionGymText6: ; 5cb77 (17:4b77) +VermilionGymText6: TX_FAR _VermilionGymText_5cb77 db "@" -VermilionGymText7: ; 5cb7c (17:4b7c) +VermilionGymText7: TX_FAR _ReceivedTM24Text - db $11 + TX_SFX_KEY_ITEM TX_FAR _TM24ExplanationText db "@" -VermilionGymText8: ; 5cb86 (17:4b86) +VermilionGymText8: TX_FAR _TM24NoRoomText db "@" -ReceivedThunderbadgeText: ; 5cb8b (17:4b8b) +ReceivedThunderbadgeText: TX_FAR _ReceivedThunderbadgeText db "@" -VermilionGymText2: ; 5cb90 (17:4b90) - db $08 ; asm +VermilionGymText2: + TX_ASM ld hl, VermilionGymTrainerHeader0 call TalkToTrainer jp TextScriptEnd -VermilionGymBattleText1: ; 5cb9a (17:4b9a) +VermilionGymBattleText1: TX_FAR _VermilionGymBattleText1 db "@" -VermilionGymEndBattleText1: ; 5cb9f (17:4b9f) +VermilionGymEndBattleText1: TX_FAR _VermilionGymEndBattleText1 db "@" -VermilionGymAfterBattleText1: ; 5cba4 (17:4ba4) +VermilionGymAfterBattleText1: TX_FAR _VermilionGymAfterBattleText1 db "@" -VermilionGymText3: ; 5cba9 (17:4ba9) - db $08 ; asm +VermilionGymText3: + TX_ASM ld hl, VermilionGymTrainerHeader1 call TalkToTrainer jp TextScriptEnd -VermilionGymBattleText2: ; 5cbb3 (17:4bb3) +VermilionGymBattleText2: TX_FAR _VermilionGymBattleText2 db "@" -VermilionGymEndBattleText2: ; 5cbb8 (17:4bb8) +VermilionGymEndBattleText2: TX_FAR _VermilionGymEndBattleText2 db "@" -VermilionGymAfterBattleText2: ; 5cbbd (17:4bbd) +VermilionGymAfterBattleText2: TX_FAR _VermilionGymAfterBattleText2 db "@" -VermilionGymText4: ; 5cbc2 (17:4bc2) - db $08 ; asm +VermilionGymText4: + TX_ASM ld hl, VermilionGymTrainerHeader2 call TalkToTrainer jp TextScriptEnd -VermilionGymBattleText3: ; 5cbcc (17:4bcc) +VermilionGymBattleText3: TX_FAR _VermilionGymBattleText3 db "@" -VermilionGymEndBattleText3: ; 5cbd1 (17:4bd1) +VermilionGymEndBattleText3: TX_FAR _VermilionGymEndBattleText3 db "@" -VermilionGymAfterBattleText3: ; 5cbd6 (17:4bd6) +VermilionGymAfterBattleText3: TX_FAR _VermilionGymAfterBattleText3 db "@" -VermilionGymText5: ; 5cbdb (17:4bdb) - db $08 ; asm - ld a, [wd72a] +VermilionGymText5: + TX_ASM + ld a, [wBeatGymFlags] bit 2, a - jr nz, .asm_13b67 ; 0x5cbe1 + jr nz, .asm_5cbeb ld hl, VermilionGymText_5cbf4 call PrintText - jr .asm_c2b38 ; 0x5cbe9 -.asm_13b67 ; 0x5cbeb + jr .asm_5cbf1 +.asm_5cbeb ld hl, VermilionGymText_5cbf9 call PrintText -.asm_c2b38 ; 0x5cbf1 +.asm_5cbf1 jp TextScriptEnd -VermilionGymText_5cbf4: ; 5cbf4 (17:4bf4) +VermilionGymText_5cbf4: TX_FAR _VermilionGymText_5cbf4 db "@" -VermilionGymText_5cbf9: ; 5cbf9 (17:4bf9) +VermilionGymText_5cbf9: TX_FAR _VermilionGymText_5cbf9 db "@" |