pokered/scripts/route22.asm

432 lines
7.7 KiB
NASM
Raw Normal View History

2014-05-18 18:19:10 +00:00
Route22Script: ; 50eb2 (14:4eb2)
call EnableAutoTextBoxDrawing
ld hl, Route22ScriptPointers
ld a, [W_ROUTE22CURSCRIPT]
jp CallFunctionInTable
Route22ScriptPointers: ; 50ebe (14:4ebe)
dw Route22Script0
dw Route22Script1
dw Route22Script2
dw Route22Script3
dw Route22Script4
dw Route22Script5
dw Route22Script6
dw Route22Script7
Route22Script_50ece: ; 50ece (14:4ece)
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2014-05-18 18:19:10 +00:00
ld [W_ROUTE22CURSCRIPT], a
Route22Script7: ; 50ed5 (14:4ed5)
ret
Route22Script_50ed6: ; 50ed6 (14:4ed6)
ld a, [W_RIVALSTARTER]
2014-05-18 18:19:10 +00:00
ld b, a
.asm_50eda
ld a, [hli]
cp b
jr z, .asm_50ee1
inc hl
jr .asm_50eda
.asm_50ee1
ld a, [hl]
ld [W_TRAINERNO], a
2014-05-18 18:19:10 +00:00
ret
Route22MoveRivalSprite: ; 50ee6 (14:4ee6)
ld de, Route22RivalMovementData
ld a, [wcf0d]
2014-05-18 18:19:10 +00:00
cp $1
jr z, .asm_50ef1
inc de
.asm_50ef1
call MoveSprite
ld a, $c
ld [$ff8d], a
jp SetSpriteFacingDirectionAndDelay
2014-05-18 18:19:10 +00:00
Route22RivalMovementData: ; 50efb (14:4efb)
db $C0,$C0,$C0,$C0,$FF ; move right 4 times
2014-05-18 18:19:10 +00:00
Route22Script0: ; 50f00 (14:4f00)
ld a, [wd7eb]
2014-05-18 18:19:10 +00:00
bit 7, a
ret z
ld hl, .Route22RivalBattleCoords
2014-05-18 18:19:10 +00:00
call ArePlayerCoordsInArray
ret nc
ld a, [wWhichTrade]
ld [wcf0d], a
2014-05-18 18:19:10 +00:00
xor a
2014-05-25 17:51:53 +00:00
ld [hJoyHeld], a
2014-05-18 18:19:10 +00:00
ld a, $f0
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2014-05-18 18:19:10 +00:00
ld a, $2
ld [wd528], a
ld a, [wd7eb]
bit 0, a ; is this the rival battle at the beginning of the game?
jr nz, .firstRivalBattle
bit 1, a ; is this the rival at the end of the game?
2014-05-18 18:19:10 +00:00
jp nz, Route22Script_5104e
ret
2014-06-09 20:58:02 +00:00
.Route22RivalBattleCoords
2014-05-18 18:19:10 +00:00
db $04, $1D
db $05, $1D
db $FF
.firstRivalBattle
2014-05-18 18:19:10 +00:00
ld a, $1
ld [wcd4f], a
2014-05-18 18:19:10 +00:00
xor a
ld [wcd50], a
predef EmotionBubble
2014-09-13 07:50:56 +00:00
ld a, [wWalkBikeSurfState]
2014-05-18 18:19:10 +00:00
and a
jr z, .asm_50f4e
2014-05-18 18:19:10 +00:00
ld a, $ff
ld [wc0ee], a
2014-05-18 18:19:10 +00:00
call PlaySound
.asm_50f4e
ld c, BANK(Music_MeetRival)
ld a, MUSIC_MEET_RIVAL
call PlayMusic
ld a, $1
ld [$ff8c], a
call Route22MoveRivalSprite
2014-05-18 18:19:10 +00:00
ld a, $1
ld [W_ROUTE22CURSCRIPT], a
ret
Route22Script1: ; 50f62 (14:4f62)
ld a, [wd730]
2014-05-18 18:19:10 +00:00
bit 0, a
ret nz
ld a, [wcf0d]
2014-05-18 18:19:10 +00:00
cp $1
jr nz, .asm_50f78
2014-05-18 18:19:10 +00:00
ld a, $4
ld [wd528], a
2014-05-18 18:19:10 +00:00
ld a, $4
jr .asm_50f7a
2014-05-18 18:19:10 +00:00
.asm_50f78
ld a, $c
.asm_50f7a
ld [$ff8d], a
ld a, $1
ld [$ff8c], a
call SetSpriteFacingDirectionAndDelay
2014-05-18 18:19:10 +00:00
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2014-05-18 18:19:10 +00:00
ld a, $1
ld [$ff8c], a
call DisplayTextID
ld hl, wd72d
2014-05-18 18:19:10 +00:00
set 6, [hl]
set 7, [hl]
ld hl, Route22RivalDefeatedText1
2014-05-18 18:19:10 +00:00
ld de, Route22Text_511bc
2014-09-14 18:29:18 +00:00
call SaveEndBattleTextPointers
2014-05-18 18:19:10 +00:00
ld a, SONY1 + $c8
ld [W_CUROPPONENT], a
ld hl, StarterMons_50faf
2014-05-18 18:19:10 +00:00
call Route22Script_50ed6
ld a, $2
ld [W_ROUTE22CURSCRIPT], a
ret
StarterMons_50faf: ; 50faf (14:4faf)
; starter the rival picked, rival trainer number
2014-05-21 12:48:30 +00:00
db STARTER2,$04
db STARTER3,$05
db STARTER1,$06
2014-05-18 18:19:10 +00:00
Route22Script2: ; 50fb5 (14:4fb5)
ld a, [W_ISINBATTLE]
2014-05-18 18:19:10 +00:00
cp $ff
jp z, Route22Script_50ece
ld a, [wSpriteStateData1 + 9]
2014-05-18 18:19:10 +00:00
and a
jr nz, .asm_50fc7
2014-05-18 18:19:10 +00:00
ld a, $4
jr .asm_50fc9
2014-05-18 18:19:10 +00:00
.asm_50fc7
ld a, $c
.asm_50fc9
ld [$ff8d], a
ld a, $1
ld [$ff8c], a
call SetSpriteFacingDirectionAndDelay
2014-05-18 18:19:10 +00:00
ld a, $f0
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
ld hl, wd7eb
2014-05-18 18:19:10 +00:00
set 5, [hl]
ld a, $1
ld [$ff8c], a
call DisplayTextID
ld a, $ff
ld [wc0ee], a
2014-05-18 18:19:10 +00:00
call PlaySound
callba Music_RivalAlternateStart
ld a, [wcf0d]
2014-05-18 18:19:10 +00:00
cp $1
jr nz, .asm_50fff
2014-05-18 18:19:10 +00:00
call Route22Script_51008
jr .asm_51002
2014-05-18 18:19:10 +00:00
.asm_50fff
call Route22Script_5100d
.asm_51002
ld a, $3
ld [W_ROUTE22CURSCRIPT], a
ret
Route22Script_51008: ; 51008 (14:5008)
ld de, Route22RivalExitMovementData1
jr Route22MoveRival1
2014-05-18 18:19:10 +00:00
Route22Script_5100d: ; 5100d (14:500d)
ld de, Route22RivalExitMovementData2
Route22MoveRival1: ; 51010 (14:5010)
2014-05-18 18:19:10 +00:00
ld a, $1
ld [H_SPRITEHEIGHT], a
jp MoveSprite
Route22RivalExitMovementData1: ; 51017 (14:5017)
2014-05-18 18:19:10 +00:00
db $C0,$C0,$00,$00,$00,$00,$00,$FF
Route22RivalExitMovementData2: ; 5101f (14:501f)
2014-05-18 18:19:10 +00:00
db $40,$C0,$C0,$C0,$00,$00,$00,$00,$00,$00,$FF
Route22Script3: ; 5102a (14:502a)
ld a, [wd730]
2014-05-18 18:19:10 +00:00
bit 0, a
ret nz
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
ld a, HS_ROUTE_22_RIVAL_1
ld [wcc4d], a
predef HideObject
call PlayDefaultMusic
ld hl, wd7eb
2014-05-18 18:19:10 +00:00
res 0, [hl]
res 7, [hl]
ld a, $0
ld [W_ROUTE22CURSCRIPT], a
ret
Route22Script_5104e: ; 5104e (14:504e)
ld a, $2
ld [wcd4f], a
2014-05-18 18:19:10 +00:00
xor a
ld [wcd50], a
predef EmotionBubble
2014-09-13 07:50:56 +00:00
ld a, [wWalkBikeSurfState]
2014-05-18 18:19:10 +00:00
and a
jr z, .skipYVisibilityTesta
ld a, $ff
ld [wc0ee], a
2014-05-18 18:19:10 +00:00
call PlaySound
.skipYVisibilityTesta
ld a, $ff
ld [wc0ee], a
2014-05-18 18:19:10 +00:00
call PlaySound
callba Music_RivalAlternateTempo
2014-05-18 18:19:10 +00:00
ld a, $2
ld [H_DOWNARROWBLINKCNT2], a
call Route22MoveRivalSprite
2014-05-18 18:19:10 +00:00
ld a, $4
ld [W_ROUTE22CURSCRIPT], a
ret
Route22Script4: ; 51087 (14:5087)
ld a, [wd730]
2014-05-18 18:19:10 +00:00
bit 0, a
ret nz
ld a, $2
ld [H_DOWNARROWBLINKCNT2], a
ld a, [wcf0d]
2014-05-18 18:19:10 +00:00
cp $1
jr nz, .asm_510a1
ld a, $4
ld [wd528], a
2014-05-18 18:19:10 +00:00
ld a, $4
jr .asm_510a8
.asm_510a1
ld a, $2
ld [wd528], a
2014-05-18 18:19:10 +00:00
ld a, $c
.asm_510a8
ld [$ff8d], a
call SetSpriteFacingDirectionAndDelay
2014-05-18 18:19:10 +00:00
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2014-05-18 18:19:10 +00:00
ld a, $2
ld [H_DOWNARROWBLINKCNT2], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
ld hl, wd72d
2014-05-18 18:19:10 +00:00
set 6, [hl]
set 7, [hl]
ld hl, Route22RivalDefeatedText2
ld de, Route22Text_511d0
2014-09-14 18:29:18 +00:00
call SaveEndBattleTextPointers
2014-05-18 18:19:10 +00:00
ld a, SONY2 + $c8
ld [W_CUROPPONENT], a
ld hl, StarterMons_510d9
2014-05-18 18:19:10 +00:00
call Route22Script_50ed6
ld a, $5
ld [W_ROUTE22CURSCRIPT], a
ret
StarterMons_510d9: ; 510d9 (14:50d9)
2014-05-21 12:48:30 +00:00
db STARTER2,$0a
db STARTER3,$0b
db STARTER1,$0c
2014-05-18 18:19:10 +00:00
Route22Script5: ; 510df (14:50df)
ld a, [W_ISINBATTLE]
2014-05-18 18:19:10 +00:00
cp $ff
jp z, Route22Script_50ece
ld a, $2
ld [H_DOWNARROWBLINKCNT2], a
ld a, [wcf0d]
2014-05-18 18:19:10 +00:00
cp $1
jr nz, .asm_510fb
ld a, $4
ld [wd528], a
2014-05-18 18:19:10 +00:00
ld a, $4
jr .asm_51102
.asm_510fb
ld a, $2
ld [wd528], a
2014-05-18 18:19:10 +00:00
ld a, $c
.asm_51102
ld [$ff8d], a
call SetSpriteFacingDirectionAndDelay
2014-05-18 18:19:10 +00:00
ld a, $f0
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
ld hl, wd7eb
2014-05-18 18:19:10 +00:00
set 6, [hl]
ld a, $2
ld [H_DOWNARROWBLINKCNT2], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
ld a, $ff
ld [wc0ee], a
2014-05-18 18:19:10 +00:00
call PlaySound
callba Music_RivalAlternateStartAndTempo
ld a, [wcf0d]
2014-05-18 18:19:10 +00:00
cp $1
jr nz, .asm_51134
call Route22Script_5113d
jr .asm_51137
.asm_51134
call Route22Script_51142
.asm_51137
ld a, $6
ld [W_ROUTE22CURSCRIPT], a
ret
Route22Script_5113d: ; 5113d (14:513d)
ld de, MovementData_5114c
jr Route22MoveRival2
2014-05-18 18:19:10 +00:00
Route22Script_51142: ; 51142 (14:5142)
ld de, MovementData_5114d
Route22MoveRival2: ; 51145 (14:5145)
2014-05-18 18:19:10 +00:00
ld a, $2
ld [H_DOWNARROWBLINKCNT2], a
2014-05-18 18:19:10 +00:00
jp MoveSprite
MovementData_5114c: ; 5114c (14:514c)
db $80 ; left
2014-05-18 18:19:10 +00:00
MovementData_5114d: ; 5114d (14:514d)
db $80,$80,$80,$FF ; left x3
2014-05-18 18:19:10 +00:00
Route22Script6: ; 51151 (14:5151)
ld a, [wd730]
2014-05-18 18:19:10 +00:00
bit 0, a
ret nz
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
ld a, HS_ROUTE_22_RIVAL_2
ld [wcc4d], a
predef HideObject
call PlayDefaultMusic
ld hl, wd7eb
2014-05-18 18:19:10 +00:00
res 1, [hl]
res 7, [hl]
ld a, $7
ld [W_ROUTE22CURSCRIPT], a
ret
Route22TextPointers: ; 51175 (14:5175)
dw Route22Text1
dw Route22Text2
dw Route22FrontGateText
2014-05-18 18:19:10 +00:00
Route22Text1: ; 5117b (14:517b)
db $08 ; asm
ld a, [wd7eb]
2014-05-18 18:19:10 +00:00
bit 5, a
jr z, .asm_5118b
ld hl, Route22RivalAfterBattleText1
2014-05-18 18:19:10 +00:00
call PrintText
jr .asm_51191
.asm_5118b
ld hl, Route22RivalBeforeBattleText1
2014-05-18 18:19:10 +00:00
call PrintText
.asm_51191
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
Route22Text2: ; 51194 (14:5194)
db $08 ; asm
ld a, [wd7eb]
2014-05-18 18:19:10 +00:00
bit 6, a
jr z, .asm_511a4
ld hl, Route22RivalAfterBattleText2
2014-05-18 18:19:10 +00:00
call PrintText
jr .asm_511aa
.asm_511a4
ld hl, Route22RivalBeforeBattleText2
2014-05-18 18:19:10 +00:00
call PrintText
.asm_511aa
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
Route22RivalBeforeBattleText1: ; 511ad (14:51ad)
TX_FAR _Route22RivalBeforeBattleText1
2014-05-18 18:19:10 +00:00
db "@"
Route22RivalAfterBattleText1: ; 511b2 (14:51b2)
TX_FAR _Route22RivalAfterBattleText1
2014-05-18 18:19:10 +00:00
db "@"
Route22RivalDefeatedText1: ; 511b7 (14:51b7)
TX_FAR _Route22RivalDefeatedText1
2014-05-18 18:19:10 +00:00
db "@"
Route22Text_511bc: ; 511bc (14:51bc)
TX_FAR _Route22Text_511bc
db "@"
Route22RivalBeforeBattleText2: ; 511c1 (14:51c1)
TX_FAR _Route22RivalBeforeBattleText2
2014-05-18 18:19:10 +00:00
db "@"
Route22RivalAfterBattleText2: ; 511c6 (14:51c6)
TX_FAR _Route22RivalAfterBattleText2
2014-05-18 18:19:10 +00:00
db "@"
Route22RivalDefeatedText2: ; 511cb (14:51cb)
TX_FAR _Route22RivalDefeatedText2
2014-05-18 18:19:10 +00:00
db "@"
Route22Text_511d0: ; 511d0 (14:51d0)
TX_FAR _Route22Text_511d0
db "@"
Route22FrontGateText: ; 511d5 (14:51d5)
TX_FAR _Route22FrontGateText
2014-05-18 18:19:10 +00:00
db "@"