pokered/scripts/silphco9.asm

242 lines
5.1 KiB
NASM
Raw Normal View History

2014-05-18 18:19:10 +00:00
SilphCo9Script: ; 5d7bb (17:57bb)
call SilphCo9Script_5d7d1
call EnableAutoTextBoxDrawing
ld hl, SilphCo9TrainerHeaders
ld de, SilphCo9ScriptPointers
ld a, [W_SILPHCO9CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_SILPHCO9CURSCRIPT], a
ret
SilphCo9Script_5d7d1: ; 5d7d1 (17:57d1)
ld hl, wd126
2014-05-18 18:19:10 +00:00
bit 5, [hl]
res 5, [hl]
ret z
ld hl, DataTable_5d82e
2014-05-18 18:19:10 +00:00
call SilphCo9Script_5d837
call SilphCo9Script_5d863
2015-07-21 17:36:03 +00:00
CheckEvent EVENT_SILPH_CO_9_UNLOCKED_DOOR1
2014-05-18 18:19:10 +00:00
jr nz, .asm_5d7f8
push af
ld a, $5f
ld [wd09f], a
2014-05-18 18:19:10 +00:00
ld bc, $401
2014-09-14 18:29:18 +00:00
predef ReplaceTileBlock
2014-05-18 18:19:10 +00:00
pop af
.asm_5d7f8
2015-07-21 17:36:03 +00:00
CheckEventAfterBranchReuseA EVENT_SILPH_CO_9_UNLOCKED_DOOR2, EVENT_SILPH_CO_9_UNLOCKED_DOOR1
2014-05-18 18:19:10 +00:00
jr nz, .asm_5d80b
push af
ld a, $54
ld [wd09f], a
2014-05-18 18:19:10 +00:00
ld bc, $209
2014-09-14 18:29:18 +00:00
predef ReplaceTileBlock
2014-05-18 18:19:10 +00:00
pop af
.asm_5d80b
2015-07-21 17:36:03 +00:00
CheckEventAfterBranchReuseA EVENT_SILPH_CO_9_UNLOCKED_DOOR3, EVENT_SILPH_CO_9_UNLOCKED_DOOR2
2014-05-18 18:19:10 +00:00
jr nz, .asm_5d81e
push af
ld a, $54
ld [wd09f], a
2014-05-18 18:19:10 +00:00
ld bc, $509
2014-09-14 18:29:18 +00:00
predef ReplaceTileBlock
2014-05-18 18:19:10 +00:00
pop af
.asm_5d81e
2015-07-21 17:36:03 +00:00
CheckEventAfterBranchReuseA EVENT_SILPH_CO_9_UNLOCKED_DOOR4, EVENT_SILPH_CO_9_UNLOCKED_DOOR3
2014-05-18 18:19:10 +00:00
ret nz
ld a, $5f
ld [wd09f], a
2014-05-18 18:19:10 +00:00
ld bc, $605
2014-09-14 18:29:18 +00:00
predef_jump ReplaceTileBlock
2014-05-18 18:19:10 +00:00
DataTable_5d82e: ; 5d82e (17:582e)
db $04,$01,$02,$09,$05,$09,$06,$05,$FF
SilphCo9Script_5d837: ; 5d837 (17:5837)
push hl
2014-09-14 18:29:18 +00:00
ld hl, wCardKeyDoorY
2014-05-18 18:19:10 +00:00
ld a, [hli]
ld b, a
ld a, [hl]
ld c, a
xor a
ld [$ffe0], a
pop hl
.asm_5d843
ld a, [hli]
cp $ff
jr z, .asm_5d85f
push hl
ld hl, $ffe0
inc [hl]
pop hl
cp b
jr z, .asm_5d854
inc hl
jr .asm_5d843
.asm_5d854
ld a, [hli]
cp c
jr nz, .asm_5d843
2014-09-14 18:29:18 +00:00
ld hl, wCardKeyDoorY
2014-05-18 18:19:10 +00:00
xor a
ld [hli], a
ld [hl], a
ret
.asm_5d85f
xor a
ld [$ffe0], a
ret
SilphCo9Script_5d863: ; 5d863 (17:5863)
2015-07-21 17:36:03 +00:00
EventFlagAddress hl, EVENT_SILPH_CO_9_UNLOCKED_DOOR1
2014-05-18 18:19:10 +00:00
ld a, [$ffe0]
and a
ret z
cp $1
2015-07-21 01:32:02 +00:00
jr nz, .next1
2015-07-21 17:36:03 +00:00
SetEventReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR1
2014-05-18 18:19:10 +00:00
ret
2015-07-21 01:32:02 +00:00
.next1
2014-05-18 18:19:10 +00:00
cp $2
2015-07-21 01:32:02 +00:00
jr nz, .next2
2015-07-21 17:36:03 +00:00
SetEventAfterBranchReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR2, EVENT_SILPH_CO_9_UNLOCKED_DOOR1
2014-05-18 18:19:10 +00:00
ret
2015-07-21 01:32:02 +00:00
.next2
2014-05-18 18:19:10 +00:00
cp $3
2015-07-21 01:32:02 +00:00
jr nz, .next3
2015-07-21 17:36:03 +00:00
SetEventAfterBranchReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR3, EVENT_SILPH_CO_9_UNLOCKED_DOOR1
2014-05-18 18:19:10 +00:00
ret
2015-07-21 01:32:02 +00:00
.next3
2014-05-18 18:19:10 +00:00
cp $4
ret nz
2015-07-21 17:36:03 +00:00
SetEventAfterBranchReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR4, EVENT_SILPH_CO_9_UNLOCKED_DOOR1
2014-05-18 18:19:10 +00:00
ret
SilphCo9ScriptPointers: ; 5d885 (17:5885)
dw CheckFightingMapTrainers
2014-09-14 18:29:18 +00:00
dw DisplayEnemyTrainerTextAndStartBattle
2014-05-18 18:19:10 +00:00
dw EndTrainerBattle
SilphCo9TextPointers: ; 5d88b (17:588b)
dw SilphCo9Text1
dw SilphCo9Text2
dw SilphCo9Text3
dw SilphCo9Text4
SilphCo9TrainerHeaders: ; 5d893 (17:5893)
SilphCo9TrainerHeader0: ; 5d893 (17:5893)
2015-07-21 01:32:02 +00:00
dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_0
2014-05-18 18:19:10 +00:00
db ($4 << 4) ; trainer's view range
2015-07-21 01:32:02 +00:00
dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_0
dw SilphCo9BattleText1 ; TextBeforeBattle
dw SilphCo9AfterBattleText1 ; TextAfterBattle
dw SilphCo9EndBattleText1 ; TextEndBattle
dw SilphCo9EndBattleText1 ; TextEndBattle
2014-05-18 18:19:10 +00:00
SilphCo9TrainerHeader1: ; 5d89f (17:589f)
2015-07-21 01:32:02 +00:00
dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_1
2014-05-18 18:19:10 +00:00
db ($2 << 4) ; trainer's view range
2015-07-21 01:32:02 +00:00
dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_1
dw SilphCo9BattleText2 ; TextBeforeBattle
dw SilphCo9AfterBattleText2 ; TextAfterBattle
dw SilphCo9EndBattleText2 ; TextEndBattle
dw SilphCo9EndBattleText2 ; TextEndBattle
2014-05-18 18:19:10 +00:00
SilphCo9TrainerHeader2: ; 5d8ab (17:58ab)
2015-07-21 01:32:02 +00:00
dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_2
2014-05-18 18:19:10 +00:00
db ($4 << 4) ; trainer's view range
2015-07-21 01:32:02 +00:00
dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_2
dw SilphCo9BattleText3 ; TextBeforeBattle
dw SilphCo9AfterBattleText3 ; TextAfterBattle
dw SilphCo9EndBattleText3 ; TextEndBattle
dw SilphCo9EndBattleText3 ; TextEndBattle
2014-05-18 18:19:10 +00:00
db $ff
SilphCo9Text1: ; 5d8b8 (17:58b8)
2015-07-03 19:58:50 +00:00
TX_ASM
2015-07-21 17:36:03 +00:00
CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
jr nz, .asm_5d8dc
2014-05-18 18:19:10 +00:00
ld hl, SilphCo9Text_5d8e5
call PrintText
predef HealParty
2014-09-13 07:50:56 +00:00
call GBFadeOutToWhite
2014-05-18 18:19:10 +00:00
call Delay3
2014-09-13 07:50:56 +00:00
call GBFadeInFromWhite
2014-05-18 18:19:10 +00:00
ld hl, SilphCo9Text_5d8ea
call PrintText
jr .asm_5d8e2
.asm_5d8dc
2014-05-18 18:19:10 +00:00
ld hl, SilphCo9Text_5d8ef
call PrintText
.asm_5d8e2
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
SilphCo9Text_5d8e5: ; 5d8e5 (17:58e5)
TX_FAR _SilphCo9Text_5d8e5
db "@"
SilphCo9Text_5d8ea: ; 5d8ea (17:58ea)
TX_FAR _SilphCo9Text_5d8ea
db "@"
SilphCo9Text_5d8ef: ; 5d8ef (17:58ef)
TX_FAR _SilphCo9Text_5d8ef
db "@"
SilphCo9Text2: ; 5d8f4 (17:58f4)
2015-07-03 19:58:50 +00:00
TX_ASM
2014-05-18 18:19:10 +00:00
ld hl, SilphCo9TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
SilphCo9Text3: ; 5d8fe (17:58fe)
2015-07-03 19:58:50 +00:00
TX_ASM
2014-05-18 18:19:10 +00:00
ld hl, SilphCo9TrainerHeader1
call TalkToTrainer
jp TextScriptEnd
SilphCo9Text4: ; 5d908 (17:5908)
2015-07-03 19:58:50 +00:00
TX_ASM
2014-05-18 18:19:10 +00:00
ld hl, SilphCo9TrainerHeader2
call TalkToTrainer
jp TextScriptEnd
SilphCo9BattleText1: ; 5d912 (17:5912)
TX_FAR _SilphCo9BattleText1
db "@"
SilphCo9EndBattleText1: ; 5d917 (17:5917)
TX_FAR _SilphCo9EndBattleText1
db "@"
SilphCo9AfterBattleText1: ; 5d91c (17:591c)
TX_FAR _SilphCo9AfterBattleText1
db "@"
SilphCo9BattleText2: ; 5d921 (17:5921)
TX_FAR _SilphCo9BattleText2
db "@"
SilphCo9EndBattleText2: ; 5d926 (17:5926)
TX_FAR _SilphCo9EndBattleText2
db "@"
SilphCo9AfterBattleText2: ; 5d92b (17:592b)
TX_FAR _SilphCo9AfterBattleText2
db "@"
SilphCo9BattleText3: ; 5d930 (17:5930)
TX_FAR _SilphCo9BattleText3
db "@"
SilphCo9EndBattleText3: ; 5d935 (17:5935)
TX_FAR _SilphCo9EndBattleText3
db "@"
SilphCo9AfterBattleText3: ; 5d93a (17:593a)
TX_FAR _SilphCo9AfterBattleText3
db "@"