RocketHideoutB4F_Script: call RocketHideoutB4FDoorCallbackScript call EnableAutoTextBoxDrawing ld hl, RocketHideout4TrainerHeaders ld de, RocketHideoutB4F_ScriptPointers ld a, [wRocketHideoutB4FCurScript] call ExecuteCurMapScriptInTable ld [wRocketHideoutB4FCurScript], a ret RocketHideoutB4FDoorCallbackScript: ld hl, wCurrentMapScriptFlags bit 5, [hl] res 5, [hl] ret z 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 ld a, SFX_GO_INSIDE call PlaySound SetEvent EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED .door_already_unlocked ld a, $e ; Floor block .set_block ld [wNewTileBlockID], a lb bc, 5, 12 predef_jump ReplaceTileBlock RocketHideoutB4FSetDefaultScript: xor a ld [wJoyIgnore], a ld [wRocketHideoutB4FCurScript], a ld [wCurMapScript], a 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 RocketHideoutB4FBeatGiovanniScript: ld a, [wIsInBattle] cp $ff jp z, RocketHideoutB4FSetDefaultScript call UpdateSprites ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN ld [wJoyIgnore], a SetEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI ld a, TEXT_ROCKETHIDEOUTB4F_GIOVANNI_HOPE_WE_MEET_AGAIN ldh [hSpriteIndexOrTextID], a call DisplayTextID call GBFadeOutToBlack ld a, HS_ROCKET_HIDEOUT_B4F_GIOVANNI ld [wMissableObjectIndex], a predef HideObject ld a, HS_ROCKET_HIDEOUT_B4F_ITEM_4 ld [wMissableObjectIndex], a predef ShowObject call UpdateSprites call GBFadeInFromBlack xor a ld [wJoyIgnore], a ld hl, wCurrentMapScriptFlags set 5, [hl] ld a, SCRIPT_ROCKETHIDEOUTB4F_DEFAULT ld [wRocketHideoutB4FCurScript], a ld [wCurMapScript], a 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 RocketHideout4TrainerHeaders: def_trainers 2 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 RocketHideoutB4FGiovanniText: text_asm CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI jp nz, .beat_giovanni ld hl, .ImpressedYouGotHereText call PrintText ld hl, wd72d set 6, [hl] set 7, [hl] ld hl, .WhatCannotBeText ld de, .WhatCannotBeText call SaveEndBattleTextPointers ldh a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters xor a ldh [hJoyHeld], a ld a, SCRIPT_ROCKETHIDEOUTB4F_BEAT_GIOVANNI ld [wRocketHideoutB4FCurScript], a ld [wCurMapScript], a jr .done .beat_giovanni ld hl, RocketHideoutB4FGiovanniHopeWeMeetAgainText call PrintText .done jp TextScriptEnd .ImpressedYouGotHereText: text_far _RocketHideoutB4FGiovanniImpressedYouGotHereText text_end .WhatCannotBeText: text_far _RocketHideoutB4FGiovanniWhatCannotBeText text_end RocketHideoutB4FGiovanniHopeWeMeetAgainText: text_far _RocketHideoutB4FGiovanniHopeWeMeetAgainText text_end RocketHideoutB4FRocket1Text: text_asm ld hl, RocketHideout4TrainerHeader0 call TalkToTrainer jp TextScriptEnd RocketHideoutB4FGiovanniBattleText: text_far _RocketHideoutB4FGiovanniBattleText text_end RocketHideoutB4FGiovanniEndBattleText: text_far _RocketHideoutB4FGiovanniEndBattleText text_end RocketHideoutB4FGiovanniAfterBattleText: text_far _RocketHideoutB4FGiovanniAfterBattleText text_end RocketHideoutB4FRocket2Text: text_asm ld hl, RocketHideout4TrainerHeader1 call TalkToTrainer jp TextScriptEnd RocketHideoutB4FRocket1BattleText: text_far _RocketHideoutB4FRocket1BattleText text_end RocketHideoutB4FRocket1EndBattleText: text_far _RocketHideoutB4FRocket1EndBattleText text_end RocketHideoutB4FRocket1AfterBattleText: text_far _RocketHideoutB4FRocket1AfterBattleText text_end RocketHideoutB4FRocket3Text: text_asm ld hl, RocketHideout4TrainerHeader2 call TalkToTrainer jp TextScriptEnd RocketHideoutB4FRocket2BattleText: text_far _RocketHideoutB4FRocket2BattleText text_end RocketHideoutB4FRocket2EndBattleText: text_far _RocketHideoutB4FRocket2EndBattleText text_end RocketHideoutB4FRocket2AfterBattleText: text_asm ld hl, .Text call PrintText CheckAndSetEvent EVENT_ROCKET_DROPPED_LIFT_KEY jr nz, .done ld a, HS_ROCKET_HIDEOUT_B4F_ITEM_5 ld [wMissableObjectIndex], a predef ShowObject .done jp TextScriptEnd .Text: text_far _RocketHideoutB4FRocket2AfterBattleText text_end