diff options
Diffstat (limited to 'scripts/silphco2.asm')
-rwxr-xr-x | scripts/silphco2.asm | 107 |
1 files changed, 53 insertions, 54 deletions
diff --git a/scripts/silphco2.asm b/scripts/silphco2.asm index 63803acd..ecb3b5a5 100755 --- a/scripts/silphco2.asm +++ b/scripts/silphco2.asm @@ -13,28 +13,29 @@ SilphCo2Script_59d07: ; 59d07 (16:5d07) bit 5, [hl] res 5, [hl] ret z - ld hl, DataTable_59d3e + ld hl, SilphCo2GateCoords call SilphCo2Script_59d43 call SilphCo2Script_59d6f - ld a, [wd826] - bit 5, a + CheckEvent EVENT_SILPH_CO_2_UNLOCKED_DOOR1 jr nz, .asm_59d2e push af ld a, $54 - ld [wd09f], a - ld bc, $0202 + ld [wNewTileBlockID], a + lb bc, 2, 2 predef ReplaceTileBlock pop af .asm_59d2e - bit 6, a + CheckEventAfterBranchReuseA EVENT_SILPH_CO_2_UNLOCKED_DOOR2, EVENT_SILPH_CO_2_UNLOCKED_DOOR1 ret nz ld a, $54 - ld [wd09f], a - ld bc, $0502 + ld [wNewTileBlockID], a + lb bc, 5, 2 predef_jump ReplaceTileBlock -DataTable_59d3e: ; 59d3e (16:5d3e) - db $02,$02,$05,$02,$FF +SilphCo2GateCoords: ; 59d3e (16:5d3e) + db $02,$02 + db $05,$02 + db $FF SilphCo2Script_59d43: ; 59d43 (16:5d43) push hl @@ -73,16 +74,16 @@ SilphCo2Script_59d43: ; 59d43 (16:5d43) ret SilphCo2Script_59d6f: ; 59d6f (16:5d6f) - ld hl, wd826 + EventFlagAddress hl, EVENT_SILPH_CO_2_UNLOCKED_DOOR1 ld a, [$ffe0] and a ret z cp $1 - jr nz, .asm_59d7d - set 5, [hl] + jr nz, .next + SetEventReuseHL EVENT_SILPH_CO_2_UNLOCKED_DOOR1 ret -.asm_59d7d - set 6, [hl] +.next + SetEventAfterBranchReuseHL EVENT_SILPH_CO_2_UNLOCKED_DOOR2, EVENT_SILPH_CO_2_UNLOCKED_DOOR1 ret SilphCo2ScriptPointers: ; 59d80 (16:5d80) @@ -99,61 +100,59 @@ SilphCo2TextPointers: ; 59d86 (16:5d86) SilphCo2TrainerHeaders: ; 59d90 (16:5d90) SilphCo2TrainerHeader0: ; 59d90 (16:5d90) - db $2 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_0 db ($3 << 4) ; trainer's view range - dw wd825 ; flag's byte - dw SilphCo2BattleText1 ; 0x5e2a TextBeforeBattle - dw SilphCo2AfterBattleText1 ; 0x5e34 TextAfterBattle - dw SilphCo2EndBattleText1 ; 0x5e2f TextEndBattle - dw SilphCo2EndBattleText1 ; 0x5e2f TextEndBattle + dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_0 + dw SilphCo2BattleText1 ; TextBeforeBattle + dw SilphCo2AfterBattleText1 ; TextAfterBattle + dw SilphCo2EndBattleText1 ; TextEndBattle + dw SilphCo2EndBattleText1 ; TextEndBattle SilphCo2TrainerHeader1: ; 59d9c (16:5d9c) - db $3 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd825 ; flag's byte - dw SilphCo2BattleText2 ; 0x5e39 TextBeforeBattle - dw SilphCo2AfterBattleText2 ; 0x5e43 TextAfterBattle - dw SilphCo2EndBattleText2 ; 0x5e3e TextEndBattle - dw SilphCo2EndBattleText2 ; 0x5e3e TextEndBattle + dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_1 + dw SilphCo2BattleText2 ; TextBeforeBattle + dw SilphCo2AfterBattleText2 ; TextAfterBattle + dw SilphCo2EndBattleText2 ; TextEndBattle + dw SilphCo2EndBattleText2 ; TextEndBattle SilphCo2TrainerHeader2: ; 59da8 (16:5da8) - db $4 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_2 db ($3 << 4) ; trainer's view range - dw wd825 ; flag's byte - dw SilphCo2BattleText3 ; 0x5e48 TextBeforeBattle - dw SilphCo2AfterBattleText3 ; 0x5e52 TextAfterBattle - dw SilphCo2EndBattleText3 ; 0x5e4d TextEndBattle - dw SilphCo2EndBattleText3 ; 0x5e4d TextEndBattle + dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_2 + dw SilphCo2BattleText3 ; TextBeforeBattle + dw SilphCo2AfterBattleText3 ; TextAfterBattle + dw SilphCo2EndBattleText3 ; TextEndBattle + dw SilphCo2EndBattleText3 ; TextEndBattle SilphCo2TrainerHeader3: ; 59db4 (16:5db4) - db $5 ; flag's bit + dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_3 db ($3 << 4) ; trainer's view range - dw wd825 ; flag's byte - dw SilphCo2BattleText4 ; 0x5e57 TextBeforeBattle - dw SilphCo2AfterBattleText4 ; 0x5e61 TextAfterBattle - dw SilphCo2EndBattleText4 ; 0x5e5c TextEndBattle - dw SilphCo2EndBattleText4 ; 0x5e5c TextEndBattle + dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_3 + dw SilphCo2BattleText4 ; TextBeforeBattle + dw SilphCo2AfterBattleText4 ; TextAfterBattle + dw SilphCo2EndBattleText4 ; TextEndBattle + dw SilphCo2EndBattleText4 ; TextEndBattle db $ff SilphCo2Text1: ; 59dc1 (16:5dc1) - db $08 ; asm - ld a, [wd826] - bit 7, a - jr nz, asm_b8a0d ; 0x59dc7 + TX_ASM + CheckEvent EVENT_GOT_TM36 + jr nz, .asm_59de4 ld hl, SilphCo2Text_59ded call PrintText - ld bc, (TM_36 << 8) | 1 + lb bc, TM_36, 1 call GiveItem ld hl, TM36NoRoomText - jr nc, asm_2c1e0 ; 0x59dd8 - ld hl, wd826 - set 7, [hl] + jr nc, .asm_59de7 + SetEvent EVENT_GOT_TM36 ld hl, ReceivedTM36Text - jr asm_2c1e0 ; 0x59de2 -asm_b8a0d ; 0x59de4 + jr .asm_59de7 +.asm_59de4 ld hl, TM36ExplanationText -asm_2c1e0 ; 0x59de7 +.asm_59de7 call PrintText jp TextScriptEnd @@ -174,25 +173,25 @@ TM36NoRoomText: ; 59dfd (16:5dfd) db "@" SilphCo2Text2: ; 59e02 (16:5e02) - db $08 ; asm + TX_ASM ld hl, SilphCo2TrainerHeader0 call TalkToTrainer jp TextScriptEnd SilphCo2Text3: ; 59e0c (16:5e0c) - db $08 ; asm + TX_ASM ld hl, SilphCo2TrainerHeader1 call TalkToTrainer jp TextScriptEnd SilphCo2Text4: ; 59e16 (16:5e16) - db $08 ; asm + TX_ASM ld hl, SilphCo2TrainerHeader2 call TalkToTrainer jp TextScriptEnd SilphCo2Text5: ; 59e20 (16:5e20) - db $08 ; asm + TX_ASM ld hl, SilphCo2TrainerHeader3 call TalkToTrainer jp TextScriptEnd |