mirror of
https://github.com/pret/pokeyellow.git
synced 2026-05-08 06:43:11 -05:00
416 lines
8.7 KiB
NASM
416 lines
8.7 KiB
NASM
RocketHideoutB4F_Script:
|
|
call EnableAutoTextBoxDrawing
|
|
ld hl, RocketHideout4TrainerHeaders
|
|
ld de, RocketHideoutB4F_ScriptPointers
|
|
ld a, [wRocketHideoutB4FCurScript]
|
|
call ExecuteCurMapScriptInTable
|
|
ld [wRocketHideoutB4FCurScript], a
|
|
ret
|
|
|
|
RocketHideout4Script_45510:
|
|
CheckAndResetEvent EVENT_6A0
|
|
call nz, RocketHideout4Script_45525
|
|
xor a
|
|
ld [wJoyIgnore], a
|
|
RocketHideout4Script_4551e:
|
|
ld [wRocketHideoutB4FCurScript], a
|
|
ld [wCurMapScript], a
|
|
ret
|
|
|
|
RocketHideout4Script_45525:
|
|
ld a, HS_ROCKET_HIDEOUT_B4F_JAMES
|
|
call RocketHideout4Script_45756
|
|
ld a, HS_ROCKET_HIDEOUT_B4F_JESSIE
|
|
call RocketHideout4Script_45756
|
|
ret
|
|
|
|
RocketHideoutB4F_ScriptPointers:
|
|
dw RocketHideout4Script0
|
|
dw DisplayEnemyTrainerTextAndStartBattle
|
|
dw EndTrainerBattle
|
|
dw RocketHideout4Script3
|
|
dw RocketHideout4Script4
|
|
dw RocketHideout4Script5
|
|
dw RocketHideout4Script6
|
|
dw RocketHideout4Script7
|
|
dw RocketHideout4Script8
|
|
dw RocketHideout4Script9
|
|
dw RocketHideout4Script10
|
|
dw RocketHideout4Script11
|
|
dw RocketHideout4Script12
|
|
dw RocketHideout4Script13
|
|
|
|
RocketHideout4Script3:
|
|
ld a, [wIsInBattle]
|
|
cp $ff
|
|
jp z, RocketHideout4Script_45510
|
|
ld a, $fc
|
|
ld [wJoyIgnore], a
|
|
SetEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI
|
|
ld a, $a
|
|
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, $0
|
|
ld [wRocketHideoutB4FCurScript], a
|
|
ld [wCurMapScript], a
|
|
ret
|
|
|
|
RocketHideout4Script0:
|
|
IF DEF(_DEBUG)
|
|
call DebugPressedOrHeldB
|
|
ret nz
|
|
ENDC
|
|
CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0
|
|
call z, RocketHideout4Script_455a5
|
|
CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2
|
|
call z, CheckFightingMapTrainers
|
|
ret
|
|
|
|
RocketHideout4Script_455a5:
|
|
ld a, [wYCoord]
|
|
cp $e
|
|
ret nz
|
|
ResetEvent EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1
|
|
ld a, [wXCoord]
|
|
cp $18
|
|
jr z, .asm_455c2
|
|
ld a, [wXCoord]
|
|
cp $19
|
|
ret nz
|
|
SetEvent EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1
|
|
.asm_455c2
|
|
xor a
|
|
ldh [hJoyHeld], a
|
|
ld a, $fc
|
|
ld [wJoyIgnore], a
|
|
call StopAllMusic
|
|
ld c, BANK(Music_MeetJessieJames)
|
|
ld a, MUSIC_MEET_JESSIE_JAMES
|
|
call PlayMusic
|
|
call UpdateSprites
|
|
call Delay3
|
|
call UpdateSprites
|
|
call Delay3
|
|
ld a, $1
|
|
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
|
ld a, $b
|
|
ldh [hSpriteIndexOrTextID], a
|
|
call DisplayTextID
|
|
xor a
|
|
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
|
ld a, $ff
|
|
ld [wJoyIgnore], a
|
|
ld a, HS_ROCKET_HIDEOUT_B4F_JAMES
|
|
call RocketHideout4Script_45747
|
|
ld a, HS_ROCKET_HIDEOUT_B4F_JESSIE
|
|
call RocketHideout4Script_45747
|
|
ld a, $4
|
|
call RocketHideout4Script_4551e
|
|
ret
|
|
|
|
RocketHideout4JessieJamesMovementData_45605:
|
|
db $4
|
|
RocketHideout4JessieJamesMovementData_45606:
|
|
db $4
|
|
db $4
|
|
db $4
|
|
db $ff
|
|
|
|
RocketHideout4Script4:
|
|
ld de, RocketHideout4JessieJamesMovementData_45605
|
|
CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1
|
|
jr z, .asm_45617
|
|
ld de, RocketHideout4JessieJamesMovementData_45606
|
|
.asm_45617
|
|
ld a, $2
|
|
ldh [hSpriteIndexOrTextID], a
|
|
call MoveSprite
|
|
ld a, $ff
|
|
ld [wJoyIgnore], a
|
|
ld a, $5
|
|
call RocketHideout4Script_4551e
|
|
ret
|
|
|
|
RocketHideout4Script5:
|
|
ld a, $ff
|
|
ld [wJoyIgnore], a
|
|
ld a, [wd730]
|
|
bit 0, a
|
|
ret nz
|
|
RocketHideout4Script6:
|
|
ld a, $2
|
|
ld [wSprite02StateData1MovementStatus], a
|
|
ld a, SPRITE_FACING_LEFT
|
|
ld [wSprite02StateData1FacingDirection], a
|
|
CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1
|
|
jr z, .asm_4564a
|
|
ld a, SPRITE_FACING_DOWN
|
|
ld [wSprite02StateData1FacingDirection], a
|
|
.asm_4564a
|
|
call Delay3
|
|
ld a, $fc
|
|
ld [wJoyIgnore], a
|
|
RocketHideout4Script7:
|
|
ld de, RocketHideout4JessieJamesMovementData_45606
|
|
CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1
|
|
jr z, .asm_4565f
|
|
ld de, RocketHideout4JessieJamesMovementData_45605
|
|
.asm_4565f
|
|
ld a, $3
|
|
ldh [hSpriteIndexOrTextID], a
|
|
call MoveSprite
|
|
ld a, $ff
|
|
ld [wJoyIgnore], a
|
|
ld a, $8
|
|
call RocketHideout4Script_4551e
|
|
ret
|
|
|
|
RocketHideout4Script8:
|
|
ld a, $ff
|
|
ld [wJoyIgnore], a
|
|
ld a, [wd730]
|
|
bit 0, a
|
|
ret nz
|
|
ld a, $fc
|
|
ld [wJoyIgnore], a
|
|
RocketHideout4Script9:
|
|
ld a, $2
|
|
ld [wSprite03StateData1MovementStatus], a
|
|
ld a, SPRITE_FACING_DOWN
|
|
ld [wSprite03StateData1FacingDirection], a
|
|
CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1
|
|
jr z, .asm_45697
|
|
ld a, SPRITE_FACING_RIGHT
|
|
ld [wSprite03StateData1FacingDirection], a
|
|
.asm_45697
|
|
call Delay3
|
|
ld a, $c
|
|
ldh [hSpriteIndexOrTextID], a
|
|
call DisplayTextID
|
|
RocketHideout4Script10:
|
|
ld hl, wd72d
|
|
set 6, [hl]
|
|
set 7, [hl]
|
|
ld hl, RocketHideout4JessieJamesEndBattleText
|
|
ld de, RocketHideout4JessieJamesEndBattleText
|
|
call SaveEndBattleTextPointers
|
|
ld a, OPP_ROCKET
|
|
ld [wCurOpponent], a
|
|
ld a, $2b
|
|
ld [wTrainerNo], a
|
|
xor a
|
|
ldh [hJoyHeld], a
|
|
ld [wJoyIgnore], a
|
|
SetEvent EVENT_6A0
|
|
ld a, $b
|
|
call RocketHideout4Script_4551e
|
|
ret
|
|
|
|
RocketHideout4Script11:
|
|
ld a, $ff
|
|
ld [wJoyIgnore], a
|
|
ld a, [wIsInBattle]
|
|
cp $ff
|
|
jp z, RocketHideout4Script_45510
|
|
ld a, $2
|
|
ld [wSprite02StateData1MovementStatus], a
|
|
ld [wSprite03StateData1MovementStatus], a
|
|
xor a
|
|
ld [wSprite02StateData1FacingDirection], a
|
|
ld [wSprite03StateData1FacingDirection], a
|
|
ld a, $fc
|
|
ld [wJoyIgnore], a
|
|
ld a, $1
|
|
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
|
ld a, $d
|
|
ldh [hSpriteIndexOrTextID], a
|
|
call DisplayTextID
|
|
xor a
|
|
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
|
call StopAllMusic
|
|
ld c, BANK(Music_MeetJessieJames)
|
|
ld a, MUSIC_MEET_JESSIE_JAMES
|
|
call PlayMusic
|
|
ld a, $ff
|
|
ld [wJoyIgnore], a
|
|
ld a, $c
|
|
call RocketHideout4Script_4551e
|
|
ret
|
|
|
|
RocketHideout4Script12:
|
|
ld a, $ff
|
|
ld [wJoyIgnore], a
|
|
call GBFadeOutToBlack
|
|
ld a, HS_ROCKET_HIDEOUT_B4F_JAMES
|
|
call RocketHideout4Script_45756
|
|
ld a, HS_ROCKET_HIDEOUT_B4F_JESSIE
|
|
call RocketHideout4Script_45756
|
|
call UpdateSprites
|
|
call Delay3
|
|
call GBFadeInFromBlack
|
|
ld a, $d
|
|
call RocketHideout4Script_4551e
|
|
ret
|
|
|
|
RocketHideout4Script13:
|
|
call PlayDefaultMusic
|
|
xor a
|
|
ldh [hJoyHeld], a
|
|
ld [wJoyIgnore], a
|
|
SetEvent EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0
|
|
ld a, $0
|
|
call RocketHideout4Script_4551e
|
|
ret
|
|
|
|
RocketHideout4Script_45747:
|
|
ld [wMissableObjectIndex], a
|
|
predef ShowObject
|
|
call UpdateSprites
|
|
call Delay3
|
|
ret
|
|
|
|
RocketHideout4Script_45756:
|
|
ld [wMissableObjectIndex], a
|
|
predef HideObject
|
|
ret
|
|
|
|
RocketHideoutB4F_TextPointers:
|
|
dw RocketHideout4Text0
|
|
dw RocketHideout4Text1
|
|
dw RocketHideout4Text2
|
|
dw RocketHideout4Text3
|
|
dw PickUpItemText
|
|
dw PickUpItemText
|
|
dw PickUpItemText
|
|
dw PickUpItemText
|
|
dw PickUpItemText
|
|
dw RocketHideout4Text9
|
|
dw RocketHideout4Text10
|
|
dw RocketHideout4Text11
|
|
dw RocketHideout4Text12
|
|
|
|
RocketHideout4TrainerHeaders:
|
|
def_trainers 4
|
|
RocketHideout4TrainerHeader0:
|
|
trainer EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2, 1, RocketHideout4Trainer0BeforeText, RocketHideout4Trainer0EndBattleText, RocketHideout4Trainer0AfterText
|
|
db -1 ; end
|
|
|
|
RocketHideout4Text1:
|
|
RocketHideout4Text2:
|
|
text_end
|
|
|
|
RocketHideout4Text10:
|
|
text_far _RocketHideoutJessieJamesText1
|
|
text_asm
|
|
ld c, 10
|
|
call DelayFrames
|
|
ld a, $8
|
|
ld [wPlayerMovingDirection], a
|
|
ld a, $0
|
|
ld [wEmotionBubbleSpriteIndex], a
|
|
ld a, EXCLAMATION_BUBBLE
|
|
ld [wWhichEmotionBubble], a
|
|
predef EmotionBubble
|
|
ld c, 20
|
|
call DelayFrames
|
|
jp TextScriptEnd
|
|
|
|
RocketHideout4Text11:
|
|
text_far _RocketHideoutJessieJamesText2
|
|
text_end
|
|
|
|
RocketHideout4JessieJamesEndBattleText:
|
|
text_far _RocketHideoutJessieJamesText3
|
|
text_end
|
|
|
|
RocketHideout4Text12:
|
|
text_far _RocketHideoutJessieJamesText4
|
|
text_asm
|
|
ld c, 64
|
|
call DelayFrames
|
|
jp TextScriptEnd
|
|
|
|
RocketHideout4Text0:
|
|
text_asm
|
|
CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI
|
|
jp nz, .asm_457fb
|
|
ld hl, RocketHideout4Text_45804
|
|
call PrintText
|
|
ld hl, wd72d
|
|
set 6, [hl]
|
|
set 7, [hl]
|
|
ld hl, RocketHideout4Text_45809
|
|
ld de, RocketHideout4Text_45809
|
|
call SaveEndBattleTextPointers
|
|
ldh a, [hSpriteIndex]
|
|
ld [wSpriteIndex], a
|
|
call EngageMapTrainer
|
|
call InitBattleEnemyParameters
|
|
xor a
|
|
ldh [hJoyHeld], a
|
|
ld a, $3
|
|
ld [wRocketHideoutB4FCurScript], a
|
|
ld [wCurMapScript], a
|
|
jr .asm_45801
|
|
|
|
.asm_457fb
|
|
ld hl, RocketHideout4Text9
|
|
call PrintText
|
|
.asm_45801
|
|
jp TextScriptEnd
|
|
|
|
RocketHideout4Text_45804:
|
|
text_far _RocketHideout4Text_4557a
|
|
text_end
|
|
|
|
RocketHideout4Text_45809:
|
|
text_far _RocketHideout4Text_4557f
|
|
text_end
|
|
|
|
RocketHideout4Text9:
|
|
text_far _RocketHideout4Text_45584
|
|
text_end
|
|
|
|
RocketHideout4Text3:
|
|
text_asm
|
|
ld hl, RocketHideout4TrainerHeader0
|
|
call TalkToTrainer
|
|
jp TextScriptEnd
|
|
|
|
RocketHideout4Trainer0BeforeText:
|
|
text_far _RocketHideout4BattleText4
|
|
text_end
|
|
|
|
RocketHideout4Trainer0EndBattleText:
|
|
text_far _RocketHideout4EndBattleText4
|
|
text_promptbutton
|
|
text_asm
|
|
SetEvent EVENT_ROCKET_DROPPED_LIFT_KEY
|
|
ld a, HS_ROCKET_HIDEOUT_B4F_ITEM_5
|
|
ld [wMissableObjectIndex], a
|
|
predef ShowObject
|
|
jp TextScriptEnd
|
|
|
|
RocketHideout4Trainer0AfterText:
|
|
text_asm
|
|
ld hl, RocketHideout4Text_45844
|
|
call PrintText
|
|
jp TextScriptEnd
|
|
|
|
RocketHideout4Text_45844:
|
|
text_far _RocketHideout4Text_455ec
|
|
text_end
|