pokered/scripts/vermiliongym.asm

269 lines
6 KiB
NASM
Raw Normal View History

2014-05-18 18:19:10 +00:00
VermilionGymScript: ; 5ca26 (17:4a26)
ld hl, wd126
2014-05-18 18:19:10 +00:00
bit 5, [hl]
res 5, [hl]
push hl
call nz, VermilionGymScript_5ca4c
pop hl
bit 6, [hl]
res 6, [hl]
call nz, VermilionGymScript_5ca6d
call EnableAutoTextBoxDrawing
ld hl, VermilionGymTrainerHeader0
ld de, VermilionGymScriptPointers
ld a, [W_VERMILIONGYMCURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_VERMILIONGYMCURSCRIPT], a
ret
VermilionGymScript_5ca4c: ; 5ca4c (17:4a4c)
ld hl, Gym3CityName
ld de, Gym3LeaderName
2014-05-18 18:19:10 +00:00
jp LoadGymLeaderAndCityName
Gym3CityName: ; 5ca55 (17:4a55)
db "VERMILION CITY@"
Gym3LeaderName: ; 5ca64 (17:4a64)
db "LT.SURGE@"
VermilionGymScript_5ca6d: ; 5ca6d (17:4a6d)
2015-07-21 01:32:02 +00:00
CheckEvent EVENT_2ND_LOCK_OPENED
2014-05-18 18:19:10 +00:00
jr nz, .asm_5ca78
ld a, $24
jr .asm_5ca7f
.asm_5ca78
2015-07-19 08:46:12 +00:00
ld a, SFX_GO_INSIDE
2014-05-18 18:19:10 +00:00
call PlaySound
ld a, $5
.asm_5ca7f
2015-07-24 21:39:45 +00:00
ld [wNewTileBlockID], a
2014-05-18 18:19:10 +00:00
ld bc, $202
2014-09-14 18:29:18 +00:00
predef_jump ReplaceTileBlock
2014-05-18 18:19:10 +00:00
VermilionGymScript_5ca8a: ; 5ca8a (17:4a8a)
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2014-05-18 18:19:10 +00:00
ld [W_VERMILIONGYMCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
VermilionGymScriptPointers: ; 5ca95 (17:4a95)
dw CheckFightingMapTrainers
2014-09-14 18:29:18 +00:00
dw DisplayEnemyTrainerTextAndStartBattle
2014-05-18 18:19:10 +00:00
dw EndTrainerBattle
dw VermilionGymScript3
VermilionGymScript3: ; 5ca9d (17:4a9d)
ld a, [W_ISINBATTLE]
2014-05-18 18:19:10 +00:00
cp $ff
jp z, VermilionGymScript_5ca8a
ld a, $f0
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2014-05-18 18:19:10 +00:00
VermilionGymScript_5caaa: ; 5caaa (17:4aaa)
ld a, $6
2015-07-18 15:17:29 +00:00
ld [hSpriteIndexOrTextID], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
2015-07-21 02:41:23 +00:00
SetEvent EVENT_BEAT_LT_SURGE
2014-05-18 18:19:10 +00:00
ld bc, (TM_24 << 8) | 1
call GiveItem
jr nc, .BagFull
ld a, $7
2015-07-18 15:17:29 +00:00
ld [hSpriteIndexOrTextID], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
2015-07-21 02:41:23 +00:00
SetEvent EVENT_GOT_TM24
2014-05-18 18:19:10 +00:00
jr .asm_5cad3
.BagFull
ld a, $8
2015-07-18 15:17:29 +00:00
ld [hSpriteIndexOrTextID], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
.asm_5cad3
ld hl, W_OBTAINEDBADGES
set 2, [hl]
ld hl, wd72a
2014-05-18 18:19:10 +00:00
set 2, [hl]
; deactivate gym trainers
2015-07-21 01:32:02 +00:00
SetEventRange EVENT_BEAT_VERMILION_GYM_TRAINER_0, EVENT_BEAT_VERMILION_GYM_TRAINER_2
2014-05-18 18:19:10 +00:00
jp VermilionGymScript_5ca8a
VermilionGymTextPointers: ; 5cae8 (17:4ae8)
dw VermilionGymText1
dw VermilionGymText2
dw VermilionGymText3
dw VermilionGymText4
dw VermilionGymText5
dw VermilionGymText6
dw VermilionGymText7
dw VermilionGymText8
VermilionGymTrainerHeaders: ; 5caf8 (17:4af8)
VermilionGymTrainerHeader0: ; 5caf8 (17:4af8)
2015-07-21 01:32:02 +00:00
dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_0
2014-05-18 18:19:10 +00:00
db ($3 << 4) ; trainer's view range
2015-07-21 01:32:02 +00:00
dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_0
dw VermilionGymBattleText1 ; TextBeforeBattle
dw VermilionGymAfterBattleText1 ; TextAfterBattle
dw VermilionGymEndBattleText1 ; TextEndBattle
dw VermilionGymEndBattleText1 ; TextEndBattle
2014-05-18 18:19:10 +00:00
VermilionGymTrainerHeader1: ; 5cb04 (17:4b04)
2015-07-21 01:32:02 +00:00
dbEventFlagBit EVENT_BEAT_VERMILION_GYM_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_VERMILION_GYM_TRAINER_1
dw VermilionGymBattleText2 ; TextBeforeBattle
dw VermilionGymAfterBattleText2 ; TextAfterBattle
dw VermilionGymEndBattleText2 ; TextEndBattle
dw VermilionGymEndBattleText2 ; TextEndBattle
2014-05-18 18:19:10 +00:00
VermilionGymTrainerHeader2: ; 5cb10 (17:4b10)
2015-07-21 01:32:02 +00:00
dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_2
2014-05-18 18:19:10 +00:00
db ($3 << 4) ; trainer's view range
2015-07-21 01:32:02 +00:00
dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_2
dw VermilionGymBattleText3 ; TextBeforeBattle
dw VermilionGymAfterBattleText3 ; TextAfterBattle
dw VermilionGymEndBattleText3 ; TextEndBattle
dw VermilionGymEndBattleText3 ; TextEndBattle
2014-05-18 18:19:10 +00:00
db $ff
VermilionGymText1: ; 5cb1d (17:4b1d)
2015-07-03 19:58:50 +00:00
TX_ASM
2015-07-21 02:41:23 +00:00
CheckEvent EVENT_BEAT_LT_SURGE
jr z, .asm_5cb39
2015-07-21 02:41:23 +00:00
CheckEventReuseA EVENT_GOT_TM24
jr nz, .asm_5cb31
2014-05-18 18:19:10 +00:00
call z, VermilionGymScript_5caaa
call DisableWaitingAfterTextDisplay
jr .asm_5cb6a
.asm_5cb31
2014-05-18 18:19:10 +00:00
ld hl, VermilionGymText_5cb72
call PrintText
jr .asm_5cb6a
.asm_5cb39
2014-05-18 18:19:10 +00:00
ld hl, VermilionGymText_5cb6d
call PrintText
ld hl, wd72d
2014-05-18 18:19:10 +00:00
set 6, [hl]
set 7, [hl]
ld hl, ReceivedThunderbadgeText
ld de, ReceivedThunderbadgeText
2014-09-14 18:29:18 +00:00
call SaveEndBattleTextPointers
2015-07-03 20:13:35 +00:00
ld a, [H_SPRITEINDEX]
2014-09-13 07:50:56 +00:00
ld [wSpriteIndex], a
2014-05-18 18:19:10 +00:00
call EngageMapTrainer
call InitBattleEnemyParameters
ld a, $3
ld [W_GYMLEADERNO], a
2014-05-18 18:19:10 +00:00
xor a
2015-07-03 20:13:35 +00:00
ld [hJoyHeld], a
2014-05-18 18:19:10 +00:00
ld a, $3
ld [W_VERMILIONGYMCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
.asm_5cb6a
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
VermilionGymText_5cb6d: ; 5cb6d (17:4b6d)
TX_FAR _VermilionGymText_5cb6d
db "@"
VermilionGymText_5cb72: ; 5cb72 (17:4b72)
TX_FAR _VermilionGymText_5cb72
db "@"
VermilionGymText6: ; 5cb77 (17:4b77)
TX_FAR _VermilionGymText_5cb77
db "@"
VermilionGymText7: ; 5cb7c (17:4b7c)
TX_FAR _ReceivedTM24Text
db $11
TX_FAR _TM24ExplanationText
db "@"
VermilionGymText8: ; 5cb86 (17:4b86)
TX_FAR _TM24NoRoomText
db "@"
ReceivedThunderbadgeText: ; 5cb8b (17:4b8b)
TX_FAR _ReceivedThunderbadgeText
db "@"
VermilionGymText2: ; 5cb90 (17:4b90)
2015-07-03 19:58:50 +00:00
TX_ASM
2014-05-18 18:19:10 +00:00
ld hl, VermilionGymTrainerHeader0
call TalkToTrainer
jp TextScriptEnd
VermilionGymBattleText1: ; 5cb9a (17:4b9a)
TX_FAR _VermilionGymBattleText1
db "@"
VermilionGymEndBattleText1: ; 5cb9f (17:4b9f)
TX_FAR _VermilionGymEndBattleText1
db "@"
VermilionGymAfterBattleText1: ; 5cba4 (17:4ba4)
TX_FAR _VermilionGymAfterBattleText1
db "@"
VermilionGymText3: ; 5cba9 (17:4ba9)
2015-07-03 19:58:50 +00:00
TX_ASM
2014-05-18 18:19:10 +00:00
ld hl, VermilionGymTrainerHeader1
call TalkToTrainer
jp TextScriptEnd
VermilionGymBattleText2: ; 5cbb3 (17:4bb3)
TX_FAR _VermilionGymBattleText2
db "@"
VermilionGymEndBattleText2: ; 5cbb8 (17:4bb8)
TX_FAR _VermilionGymEndBattleText2
db "@"
VermilionGymAfterBattleText2: ; 5cbbd (17:4bbd)
TX_FAR _VermilionGymAfterBattleText2
db "@"
VermilionGymText4: ; 5cbc2 (17:4bc2)
2015-07-03 19:58:50 +00:00
TX_ASM
2014-05-18 18:19:10 +00:00
ld hl, VermilionGymTrainerHeader2
call TalkToTrainer
jp TextScriptEnd
VermilionGymBattleText3: ; 5cbcc (17:4bcc)
TX_FAR _VermilionGymBattleText3
db "@"
VermilionGymEndBattleText3: ; 5cbd1 (17:4bd1)
TX_FAR _VermilionGymEndBattleText3
db "@"
VermilionGymAfterBattleText3: ; 5cbd6 (17:4bd6)
TX_FAR _VermilionGymAfterBattleText3
db "@"
VermilionGymText5: ; 5cbdb (17:4bdb)
2015-07-03 19:58:50 +00:00
TX_ASM
ld a, [wd72a]
2014-05-18 18:19:10 +00:00
bit 2, a
jr nz, .asm_5cbeb
2014-05-18 18:19:10 +00:00
ld hl, VermilionGymText_5cbf4
call PrintText
jr .asm_5cbf1
.asm_5cbeb
2014-05-18 18:19:10 +00:00
ld hl, VermilionGymText_5cbf9
call PrintText
.asm_5cbf1
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
VermilionGymText_5cbf4: ; 5cbf4 (17:4bf4)
TX_FAR _VermilionGymText_5cbf4
db "@"
VermilionGymText_5cbf9: ; 5cbf9 (17:4bf9)
TX_FAR _VermilionGymText_5cbf9
db "@"