pokered/scripts/RocketHideoutB4F.asm

204 lines
5.9 KiB
NASM
Raw Normal View History

RocketHideoutB4F_Script:
call RocketHideoutB4FDoorCallbackScript
2014-05-18 18:19:10 +00:00
call EnableAutoTextBoxDrawing
ld hl, RocketHideout4TrainerHeaders
ld de, RocketHideoutB4F_ScriptPointers
ld a, [wRocketHideoutB4FCurScript]
2014-05-18 18:19:10 +00:00
call ExecuteCurMapScriptInTable
ld [wRocketHideoutB4FCurScript], a
2014-05-18 18:19:10 +00:00
ret
RocketHideoutB4FDoorCallbackScript:
2016-01-03 19:17:10 +00:00
ld hl, wCurrentMapScriptFlags
2014-05-18 18:19:10 +00:00
bit 5, [hl]
res 5, [hl]
ret z
2015-07-21 17:36:03 +00:00
CheckEvent EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED
jr nz, .door_already_unlocked
CheckBothEventsSet EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0, EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1, 1
jr z, .unlock_door
ld a, $2d ; Door block
jr .set_block
.unlock_door
2015-07-19 08:46:12 +00:00
ld a, SFX_GO_INSIDE
2014-05-18 18:19:10 +00:00
call PlaySound
2015-07-21 17:36:03 +00:00
SetEvent EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED
.door_already_unlocked
ld a, $e ; Floor block
.set_block
2015-07-24 21:39:45 +00:00
ld [wNewTileBlockID], a
2015-08-05 21:20:29 +00:00
lb bc, 5, 12
2014-09-14 18:29:18 +00:00
predef_jump ReplaceTileBlock
2014-05-18 18:19:10 +00:00
RocketHideoutB4FSetDefaultScript:
2014-05-18 18:19:10 +00:00
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
ld [wRocketHideoutB4FCurScript], a
2015-08-31 02:38:41 +00:00
ld [wCurMapScript], a
2014-05-18 18:19:10 +00:00
ret
RocketHideoutB4F_ScriptPointers:
def_script_pointers
dw_const CheckFightingMapTrainers, SCRIPT_ROCKETHIDEOUTB4F_DEFAULT
dw_const DisplayEnemyTrainerTextAndStartBattle, SCRIPT_ROCKETHIDEOUTB4F_START_BATTLE
dw_const EndTrainerBattle, SCRIPT_ROCKETHIDEOUTB4F_END_BATTLE
dw_const RocketHideoutB4FBeatGiovanniScript, SCRIPT_ROCKETHIDEOUTB4F_BEAT_GIOVANNI
2014-05-18 18:19:10 +00:00
RocketHideoutB4FBeatGiovanniScript:
2015-08-31 02:38:41 +00:00
ld a, [wIsInBattle]
2014-05-18 18:19:10 +00:00
cp $ff
jp z, RocketHideoutB4FSetDefaultScript
2014-05-18 18:19:10 +00:00
call UpdateSprites
ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2015-07-21 17:36:03 +00:00
SetEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI
ld a, TEXT_ROCKETHIDEOUTB4F_GIOVANNI_HOPE_WE_MEET_AGAIN
ldh [hSpriteIndexOrTextID], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
2014-09-13 07:50:56 +00:00
call GBFadeOutToBlack
ld a, HS_ROCKET_HIDEOUT_B4F_GIOVANNI
2015-07-25 03:27:59 +00:00
ld [wMissableObjectIndex], a
predef HideObject
ld a, HS_ROCKET_HIDEOUT_B4F_ITEM_4
2015-07-25 03:27:59 +00:00
ld [wMissableObjectIndex], a
predef ShowObject
2014-05-18 18:19:10 +00:00
call UpdateSprites
2014-09-13 07:50:56 +00:00
call GBFadeInFromBlack
2014-05-18 18:19:10 +00:00
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2016-01-03 19:17:10 +00:00
ld hl, wCurrentMapScriptFlags
2014-05-18 18:19:10 +00:00
set 5, [hl]
ld a, SCRIPT_ROCKETHIDEOUTB4F_DEFAULT
ld [wRocketHideoutB4FCurScript], a
2015-08-31 02:38:41 +00:00
ld [wCurMapScript], a
2014-05-18 18:19:10 +00:00
ret
RocketHideoutB4F_TextPointers:
def_text_pointers
dw_const RocketHideoutB4FGiovanniText, TEXT_ROCKETHIDEOUTB4F_GIOVANNI
dw_const RocketHideoutB4FRocket1Text, TEXT_ROCKETHIDEOUTB4F_ROCKET1
dw_const RocketHideoutB4FRocket2Text, TEXT_ROCKETHIDEOUTB4F_ROCKET2
dw_const RocketHideoutB4FRocket3Text, TEXT_ROCKETHIDEOUTB4F_ROCKET3
dw_const PickUpItemText, TEXT_ROCKETHIDEOUTB4F_HP_UP
dw_const PickUpItemText, TEXT_ROCKETHIDEOUTB4F_TM_RAZOR_WIND
dw_const PickUpItemText, TEXT_ROCKETHIDEOUTB4F_IRON
dw_const PickUpItemText, TEXT_ROCKETHIDEOUTB4F_SILPH_SCOPE
dw_const PickUpItemText, TEXT_ROCKETHIDEOUTB4F_LIFT_KEY
dw_const RocketHideoutB4FGiovanniHopeWeMeetAgainText, TEXT_ROCKETHIDEOUTB4F_GIOVANNI_HOPE_WE_MEET_AGAIN
2014-05-18 18:19:10 +00:00
RocketHideout4TrainerHeaders:
def_trainers 2
2016-06-12 00:24:04 +00:00
RocketHideout4TrainerHeader0:
trainer EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0, 0, RocketHideoutB4FGiovanniBattleText, RocketHideoutB4FGiovanniEndBattleText, RocketHideoutB4FGiovanniAfterBattleText
RocketHideout4TrainerHeader1:
trainer EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1, 0, RocketHideoutB4FRocket1BattleText, RocketHideoutB4FRocket1EndBattleText, RocketHideoutB4FRocket1AfterBattleText
RocketHideout4TrainerHeader2:
trainer EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2, 1, RocketHideoutB4FRocket2BattleText, RocketHideoutB4FRocket2EndBattleText, RocketHideoutB4FRocket2AfterBattleText
db -1 ; end
2014-05-18 18:19:10 +00:00
RocketHideoutB4FGiovanniText:
text_asm
2015-07-21 17:36:03 +00:00
CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI
jp nz, .beat_giovanni
ld hl, .ImpressedYouGotHereText
2014-05-18 18:19:10 +00:00
call PrintText
ld hl, wd72d
2014-05-18 18:19:10 +00:00
set 6, [hl]
set 7, [hl]
ld hl, .WhatCannotBeText
ld de, .WhatCannotBeText
2014-09-14 18:29:18 +00:00
call SaveEndBattleTextPointers
ldh a, [hSpriteIndex]
2014-09-13 07:50:56 +00:00
ld [wSpriteIndex], a
2014-05-18 18:19:10 +00:00
call EngageMapTrainer
call InitBattleEnemyParameters
xor a
ldh [hJoyHeld], a
ld a, SCRIPT_ROCKETHIDEOUTB4F_BEAT_GIOVANNI
ld [wRocketHideoutB4FCurScript], a
2015-08-31 02:38:41 +00:00
ld [wCurMapScript], a
2023-11-19 00:44:03 +00:00
jr .done
.beat_giovanni
ld hl, RocketHideoutB4FGiovanniHopeWeMeetAgainText
2014-05-18 18:19:10 +00:00
call PrintText
2023-11-19 00:44:03 +00:00
.done
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
.ImpressedYouGotHereText:
text_far _RocketHideoutB4FGiovanniImpressedYouGotHereText
text_end
2014-05-18 18:19:10 +00:00
.WhatCannotBeText:
text_far _RocketHideoutB4FGiovanniWhatCannotBeText
text_end
2014-05-18 18:19:10 +00:00
RocketHideoutB4FGiovanniHopeWeMeetAgainText:
text_far _RocketHideoutB4FGiovanniHopeWeMeetAgainText
text_end
2014-05-18 18:19:10 +00:00
RocketHideoutB4FRocket1Text:
text_asm
2014-05-18 18:19:10 +00:00
ld hl, RocketHideout4TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
RocketHideoutB4FGiovanniBattleText:
text_far _RocketHideoutB4FGiovanniBattleText
text_end
2014-05-18 18:19:10 +00:00
RocketHideoutB4FGiovanniEndBattleText:
text_far _RocketHideoutB4FGiovanniEndBattleText
text_end
2014-05-18 18:19:10 +00:00
RocketHideoutB4FGiovanniAfterBattleText:
text_far _RocketHideoutB4FGiovanniAfterBattleText
text_end
2014-05-18 18:19:10 +00:00
RocketHideoutB4FRocket2Text:
text_asm
ld hl, RocketHideout4TrainerHeader1
2014-05-18 18:19:10 +00:00
call TalkToTrainer
jp TextScriptEnd
RocketHideoutB4FRocket1BattleText:
text_far _RocketHideoutB4FRocket1BattleText
text_end
2014-05-18 18:19:10 +00:00
RocketHideoutB4FRocket1EndBattleText:
text_far _RocketHideoutB4FRocket1EndBattleText
text_end
2014-05-18 18:19:10 +00:00
RocketHideoutB4FRocket1AfterBattleText:
text_far _RocketHideoutB4FRocket1AfterBattleText
text_end
2014-05-18 18:19:10 +00:00
RocketHideoutB4FRocket3Text:
text_asm
ld hl, RocketHideout4TrainerHeader2
2014-05-18 18:19:10 +00:00
call TalkToTrainer
jp TextScriptEnd
RocketHideoutB4FRocket2BattleText:
text_far _RocketHideoutB4FRocket2BattleText
text_end
2014-05-18 18:19:10 +00:00
RocketHideoutB4FRocket2EndBattleText:
text_far _RocketHideoutB4FRocket2EndBattleText
text_end
2014-05-18 18:19:10 +00:00
RocketHideoutB4FRocket2AfterBattleText:
text_asm
ld hl, .Text
2014-05-18 18:19:10 +00:00
call PrintText
2015-07-21 17:36:03 +00:00
CheckAndSetEvent EVENT_ROCKET_DROPPED_LIFT_KEY
2023-11-19 00:44:03 +00:00
jr nz, .done
ld a, HS_ROCKET_HIDEOUT_B4F_ITEM_5
2015-07-25 03:27:59 +00:00
ld [wMissableObjectIndex], a
predef ShowObject
2023-11-19 00:44:03 +00:00
.done
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
.Text:
text_far _RocketHideoutB4FRocket2AfterBattleText
text_end