mirror of
https://github.com/pret/pokeyellow.git
synced 2026-05-13 06:21:55 -05:00
316 lines
6.4 KiB
NASM
Executable File
316 lines
6.4 KiB
NASM
Executable File
PokemonTower7Script: ; 60d05 (18:4d05)
|
|
call EnableAutoTextBoxDrawing
|
|
ld hl, PokemonTower7ScriptPointers
|
|
ld a, [W_POKEMONTOWER7CURSCRIPT]
|
|
call JumpTable
|
|
ret
|
|
|
|
PokemonTower7Script_60d01: ; 60d18 (18:4d18)
|
|
xor a
|
|
ld [wJoyIgnore], a
|
|
PokemonTower7Script_60d05:
|
|
ld [W_POKEMONTOWER7CURSCRIPT], a
|
|
ret
|
|
|
|
PokemonTower7ScriptPointers:
|
|
dw PokemonTower7Script0 ; $4d21
|
|
dw PokemonTower7Script1 ; $4d7f
|
|
dw PokemonTower7Script2 ; $4d9e
|
|
dw PokemonTower7Script3 ; $4da9
|
|
dw PokemonTower7Script4 ; $4dbf
|
|
dw PokemonTower7Script5 ; $4dde
|
|
dw PokemonTower7Script6 ; $4de9
|
|
dw PokemonTower7Script7 ; $4e0e
|
|
dw PokemonTower7Script8 ; $4e34
|
|
dw PokemonTower7Script9 ; $4e7a
|
|
dw PokemonTower7Script10 ; $4e9b
|
|
dw PokemonTower7Script11 ; $4ec7
|
|
|
|
PokemonTower7Script0:
|
|
CheckEvent EVENT_BEAT_POKEMONTOWER_7_TRAINER_0
|
|
call z, PokemonTower7Script_60d2a
|
|
ret
|
|
|
|
PokemonTower7Script_60d2a:
|
|
ld a, [wYCoord]
|
|
cp $c
|
|
ret nz
|
|
ResetEvent EVENT_BEAT_POKEMONTOWER_7_TRAINER_1
|
|
ld a, [wXCoord]
|
|
cp $a
|
|
jr z, .asm_60d47
|
|
ld a, [wXCoord] ; why?
|
|
cp $b
|
|
ret nz
|
|
SetEvent EVENT_BEAT_POKEMONTOWER_7_TRAINER_1
|
|
.asm_60d47
|
|
call StopAllMusic
|
|
ld c, BANK(Music_JessieAndJames)
|
|
ld a, MUSIC_JESSIE_AND_JAMES
|
|
call PlayMusic
|
|
xor a
|
|
ld [hJoyHeld], a
|
|
ld a, $FF ^ (A_BUTTON | B_BUTTON)
|
|
ld [wJoyIgnore], a
|
|
ld a, HS_POKEMONTOWER_7_JESSIE
|
|
call PokemonTower7Script_60eaf
|
|
ld a, HS_POKEMONTOWER_7_JAMES
|
|
call PokemonTower7Script_60eaf
|
|
ld a, $1
|
|
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
|
ld a, $4
|
|
ld [hSpriteIndexOrTextID], a
|
|
call DisplayTextID
|
|
ld a, $ff
|
|
ld [wJoyIgnore], a
|
|
ld a, $1
|
|
call PokemonTower7Script_60d05
|
|
ret
|
|
|
|
PokemonTower7MovementData_60d7a:
|
|
db $4
|
|
PokemonTower7MovementData_60d7b:
|
|
db $4
|
|
db $4
|
|
db $4
|
|
db $FF
|
|
|
|
PokemonTower7Script1:
|
|
ld de, PokemonTower7MovementData_60d7b
|
|
CheckEvent EVENT_BEAT_POKEMONTOWER_7_TRAINER_1
|
|
jr z, .asm_60d8c
|
|
ld de, PokemonTower7MovementData_60d7a
|
|
.asm_60d8c
|
|
ld a, $1
|
|
ld [hSpriteIndexOrTextID], a
|
|
call MoveSprite
|
|
ld a, $ff
|
|
ld [wJoyIgnore], a
|
|
ld a, $2
|
|
call PokemonTower7Script_60d05
|
|
ret
|
|
|
|
PokemonTower7Script2:
|
|
ld a, $ff
|
|
ld [wJoyIgnore], a
|
|
ld a, [wd730]
|
|
bit 0, a
|
|
ret nz
|
|
PokemonTower7Script3:
|
|
ld a, $0
|
|
ld [wSpriteStateData1 + 1 * $10 + 9], a
|
|
CheckEvent EVENT_BEAT_POKEMONTOWER_7_TRAINER_1
|
|
jr z, .asm_60dba
|
|
ld a, $c
|
|
ld [wSpriteStateData1 + 1 * $10 + 9], a
|
|
.asm_60dba
|
|
ld a, $2
|
|
ld [wSpriteStateData1 + 1 * $10 + 1], a
|
|
PokemonTower7Script4:
|
|
ld de, PokemonTower7MovementData_60d7a
|
|
CheckEvent EVENT_BEAT_POKEMONTOWER_7_TRAINER_1
|
|
jr z, .asm_60dcc
|
|
ld de, PokemonTower7MovementData_60d7b
|
|
.asm_60dcc
|
|
ld a, $2
|
|
ld [hSpriteIndexOrTextID], a
|
|
call MoveSprite
|
|
ld a, $ff
|
|
ld [wJoyIgnore], a
|
|
ld a, $5
|
|
call PokemonTower7Script_60d05
|
|
ret
|
|
PokemonTower7Script5:
|
|
ld a, $ff
|
|
ld [wJoyIgnore], a
|
|
ld a, [wd730]
|
|
bit 0, a
|
|
ret nz
|
|
PokemonTower7Script6:
|
|
ld a, $2
|
|
ld [wSpriteStateData1 + $2 * $10 + $1], a
|
|
ld a, $8
|
|
ld [wSpriteStateData1 + $2 * $10 + $9], a
|
|
CheckEvent EVENT_BEAT_POKEMONTOWER_7_TRAINER_1
|
|
jr z, .asm_60dff
|
|
ld a, $0
|
|
ld [wSpriteStateData1 + $2 * $10 + $9], a
|
|
.asm_60dff
|
|
call Delay3
|
|
ld a, $FF ^ (A_BUTTON | B_BUTTON)
|
|
ld [wJoyIgnore], a
|
|
ld a, $5
|
|
ld [hSpriteIndexOrTextID], a
|
|
call DisplayTextID
|
|
PokemonTower7Script7:
|
|
ld hl, wd72d
|
|
set 6, [hl]
|
|
set 7, [hl]
|
|
ld hl, PokemonTower7JessieJamesEndBattleText ; 60f2c
|
|
ld de, PokemonTower7JessieJamesEndBattleText ; 60f2c
|
|
call SaveEndBattleTextPointers
|
|
ld a, OPP_ROCKET
|
|
ld [wCurOpponent], a
|
|
ld a, $2c
|
|
ld [wTrainerNo], a
|
|
xor a
|
|
ld [hJoyHeld], a
|
|
ld [wJoyIgnore], a
|
|
ld a, $8
|
|
call PokemonTower7Script_60d05
|
|
ret
|
|
|
|
PokemonTower7Script8:
|
|
ld a, $ff
|
|
ld [wJoyIgnore], a
|
|
ld a, [wIsInBattle]
|
|
cp $ff
|
|
jp z, PokemonTower7Script_60d01
|
|
ld a, $2
|
|
ld [wSpriteStateData1 + 1 * $10 + 1], a
|
|
ld [wSpriteStateData1 + 2 * $10 + 1], a
|
|
xor a
|
|
ld [wSpriteStateData1 + 1 * $10 + 9], a
|
|
ld [wSpriteStateData1 + 2 * $10 + 9], a
|
|
ld a, $FF ^ (A_BUTTON | B_BUTTON)
|
|
ld [wJoyIgnore], a
|
|
ld a, $1
|
|
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
|
ld a, $6
|
|
ld [hSpriteIndexOrTextID], a
|
|
call DisplayTextID
|
|
xor a
|
|
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
|
call StopAllMusic
|
|
ld c, BANK(Music_JessieAndJames)
|
|
ld a, MUSIC_JESSIE_AND_JAMES
|
|
call PlayMusic
|
|
ld a, $ff
|
|
ld [wJoyIgnore], a
|
|
ld a, $9
|
|
call PokemonTower7Script_60d05
|
|
ret
|
|
|
|
PokemonTower7Script9:
|
|
ld a, $ff
|
|
ld [wJoyIgnore], a
|
|
call GBFadeOutToBlack
|
|
ld a, HS_POKEMONTOWER_7_JESSIE
|
|
call PokemonTower7Script_60ebe
|
|
ld a, HS_POKEMONTOWER_7_JAMES
|
|
call PokemonTower7Script_60ebe
|
|
call UpdateSprites
|
|
call Delay3
|
|
call GBFadeInFromBlack
|
|
ld a, $a
|
|
call PokemonTower7Script_60d05
|
|
ret
|
|
|
|
PokemonTower7Script10:
|
|
call PlayDefaultMusic
|
|
xor a
|
|
ld [hJoyHeld], a
|
|
ld [wJoyIgnore], a
|
|
SetEvent EVENT_BEAT_POKEMONTOWER_7_TRAINER_0
|
|
ld a, $0
|
|
call PokemonTower7Script_60d05
|
|
ret
|
|
|
|
PokemonTower7Script_60eaf:
|
|
ld [wMissableObjectIndex], a
|
|
predef ShowObject
|
|
call UpdateSprites
|
|
call Delay3
|
|
ret
|
|
|
|
PokemonTower7Script_60ebe
|
|
ld [wMissableObjectIndex], a
|
|
predef HideObject
|
|
ret
|
|
|
|
PokemonTower7Script11:
|
|
ld a, $ff
|
|
ld [wJoyIgnore], a
|
|
ld a, HS_POKEMONTOWER_7_MR_FUJI
|
|
ld [wMissableObjectIndex], a
|
|
predef HideObject
|
|
ld a, SPRITE_FACING_UP
|
|
ld [wSpriteStateData1 + 9], a
|
|
ld a, LAVENDER_HOUSE_1
|
|
ld [hWarpDestinationMap], a
|
|
ld a, $1
|
|
ld [wDestinationWarpID], a
|
|
ld a, LAVENDER_TOWN
|
|
ld [wLastMap], a
|
|
ld hl, wd72d
|
|
set 3, [hl]
|
|
ld a, $0
|
|
ld [W_POKEMONTOWER7CURSCRIPT], a
|
|
ret
|
|
|
|
PokemonTower7TextPointers:
|
|
dw PokemonTower7Text1
|
|
dw PokemonTower7Text2
|
|
dw PokemonTower7Text3
|
|
dw PokemonTower7Text4
|
|
dw PokemonTower7Text5
|
|
dw PokemonTower7Text6
|
|
|
|
PokemonTower7Text1:
|
|
PokemonTower7Text2:
|
|
db "@"
|
|
|
|
PokemonTower7Text4:
|
|
TX_FAR _PokemonTowerJessieJamesText1
|
|
TX_ASM
|
|
ld c, 10
|
|
call DelayFrames
|
|
ld a, PLAYER_DIR_UP
|
|
ld [wPlayerMovingDirection], a
|
|
ld a, $0
|
|
ld [wEmotionBubbleSpriteIndex], a
|
|
ld a, $0
|
|
ld [wWhichEmotionBubble], a
|
|
predef EmotionBubble
|
|
ld c, 20
|
|
call DelayFrames
|
|
jp TextScriptEnd
|
|
|
|
PokemonTower7Text5:
|
|
TX_FAR _PokemonTowerJessieJamesText2
|
|
db "@"
|
|
|
|
PokemonTower7JessieJamesEndBattleText:
|
|
TX_FAR _PokemonTowerJessieJamesText3
|
|
db "@"
|
|
|
|
PokemonTower7Text6:
|
|
TX_FAR _PokemonTowerJessieJamesText4
|
|
TX_ASM
|
|
ld c, 64
|
|
call DelayFrames
|
|
jp TextScriptEnd
|
|
|
|
PokemonTower7Text3:
|
|
TX_ASM
|
|
ld hl, PokemonTower7Text_60f75
|
|
call PrintText
|
|
SetEvent EVENT_RESCUED_MR_FUJI
|
|
SetEvent EVENT_RESCUED_MR_FUJI_2
|
|
ld a, HS_LAVENDER_HOUSE_1_MR_FUJI
|
|
ld [wMissableObjectIndex], a
|
|
predef ShowObject
|
|
ld a, HS_SAFFRON_CITY_E
|
|
ld [wMissableObjectIndex], a
|
|
predef HideObject
|
|
ld a, HS_SAFFRON_CITY_F
|
|
ld [wMissableObjectIndex], a
|
|
predef ShowObject
|
|
ld a, $b
|
|
ld [W_POKEMONTOWER7CURSCRIPT], a
|
|
jp TextScriptEnd
|
|
|
|
PokemonTower7Text_60f75:
|
|
TX_FAR _TowerRescueFujiText
|
|
db "@"
|