pokered/scripts/pokemontower2.asm

189 lines
3.8 KiB
NASM
Raw Normal View History

2014-05-18 18:19:10 +00:00
PokemonTower2Script: ; 604f2 (18:44f2)
call EnableAutoTextBoxDrawing
ld hl, PokemonTower2ScriptPointers
ld a, [W_POKEMONTOWER2CURSCRIPT]
jp CallFunctionInTable
PokemonTower2Script_604fe: ; 604fe (18:44fe)
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2014-05-18 18:19:10 +00:00
ld [W_POKEMONTOWER2CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
PokemonTower2ScriptPointers: ; 60509 (18:4509)
dw PokemonTower2Script0
dw PokemonTower2Script1
dw PokemonTower2Script2
PokemonTower2Script0: ; 6050f (18:450f)
2015-07-21 17:36:03 +00:00
CheckEvent EVENT_BEAT_POKEMON_TOWER_RIVAL
2014-05-18 18:19:10 +00:00
ret nz
ld hl, CoordsData_6055e
2014-05-18 18:19:10 +00:00
call ArePlayerCoordsInArray
ret nc
ld a, $ff
ld [wc0ee], a
2014-05-18 18:19:10 +00:00
call PlaySound
ld c, BANK(Music_MeetRival)
ld a, MUSIC_MEET_RIVAL
call PlayMusic
2015-07-21 17:36:03 +00:00
ResetEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT
2015-07-18 15:17:29 +00:00
ld a, [wCoordIndex]
2014-05-18 18:19:10 +00:00
cp $1
2015-07-20 00:52:26 +00:00
ld a, PLAYER_DIR_UP
ld b, SPRITE_FACING_DOWN
jr nz, .asm_60544
2015-07-21 17:36:03 +00:00
; the rival is on the left side and the player is on the right side
SetEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT
2015-07-20 00:52:26 +00:00
ld a, PLAYER_DIR_LEFT
ld b, SPRITE_FACING_RIGHT
2014-05-18 18:19:10 +00:00
.asm_60544
2015-07-20 00:52:26 +00:00
ld [wPlayerMovingDirection], a
2014-05-18 18:19:10 +00:00
ld a, $1
2015-07-18 15:17:29 +00:00
ld [H_SPRITEINDEX], a
2014-05-18 18:19:10 +00:00
ld a, b
2015-07-18 15:17:29 +00:00
ld [hSpriteFacingDirection], a
call SetSpriteFacingDirectionAndDelay
2014-05-18 18:19:10 +00:00
ld a, $1
2015-07-18 15:17:29 +00:00
ld [hSpriteIndexOrTextID], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
xor a
2014-05-25 17:51:53 +00:00
ld [hJoyHeld], a
ld [hJoyPressed], a
2014-05-18 18:19:10 +00:00
ret
CoordsData_6055e: ; 6055e (18:455e)
db $05,$0F
db $06,$0E
db $0F ; isn't this supposed to end in $ff?
PokemonTower2Script1: ; 60563 (18:4563)
ld a, [W_ISINBATTLE]
2014-05-18 18:19:10 +00:00
cp $ff
jp z, PokemonTower2Script_604fe
ld a, $f0
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2015-07-21 17:36:03 +00:00
SetEvent EVENT_BEAT_POKEMON_TOWER_RIVAL
2014-05-18 18:19:10 +00:00
ld a, $1
2015-07-18 15:17:29 +00:00
ld [hSpriteIndexOrTextID], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
ld de, MovementData_605b2
2015-07-21 17:36:03 +00:00
CheckEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT
jr nz, .asm_60589
2014-05-18 18:19:10 +00:00
ld de, MovementData_605a9
.asm_60589
ld a, $1
2015-07-18 15:17:29 +00:00
ld [H_SPRITEINDEX], a
2014-05-18 18:19:10 +00:00
call MoveSprite
ld a, $ff
ld [wc0ee], a
2014-05-18 18:19:10 +00:00
call PlaySound
callba Music_RivalAlternateStart
2014-05-18 18:19:10 +00:00
ld a, $2
ld [W_POKEMONTOWER2CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
MovementData_605a9: ; 605a9 (18:45a9)
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT
db $FF
2014-05-18 18:19:10 +00:00
MovementData_605b2: ; 605b2 (18:45b2)
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db $FF
2014-05-18 18:19:10 +00:00
PokemonTower2Script2: ; 605bb (18:45bb)
ld a, [wd730]
2014-05-18 18:19:10 +00:00
bit 0, a
ret nz
ld a, HS_POKEMONTOWER_2_RIVAL
ld [wcc4d], a
predef HideObject
2014-05-18 18:19:10 +00:00
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
call PlayDefaultMusic
2014-05-18 18:19:10 +00:00
ld a, $0
ld [W_POKEMONTOWER2CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
PokemonTower2TextPointers: ; 605db (18:45db)
dw PokemonTower2Text1
dw PokemonTower2Text2
PokemonTower2Text1: ; 605df (18:45df)
2015-07-03 19:58:50 +00:00
TX_ASM
2015-07-21 17:36:03 +00:00
CheckEvent EVENT_BEAT_POKEMON_TOWER_RIVAL
jr z, .asm_16f24
2014-05-18 18:19:10 +00:00
ld hl, PokemonTower2Text_6063c
call PrintText
jr .asm_41852
.asm_16f24
2014-05-18 18:19:10 +00:00
ld hl, PokemonTower2Text_6062d
call PrintText
ld hl, wd72d
2014-05-18 18:19:10 +00:00
set 6, [hl]
set 7, [hl]
ld hl, PokemonTower2Text_60632
ld de, PokemonTower2Text_60637
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
; select which team to use during the encounter
ld a, [W_RIVALSTARTER]
2014-05-21 12:48:30 +00:00
cp STARTER2
jr nz, .NotSquirtle
2014-05-18 18:19:10 +00:00
ld a, $4
jr .done
.NotSquirtle
2014-05-21 12:48:30 +00:00
cp STARTER3
jr nz, .Charmander
2014-05-18 18:19:10 +00:00
ld a, $5
jr .done
.Charmander
2014-05-18 18:19:10 +00:00
ld a, $6
.done
ld [W_TRAINERNO], a
ld a, $1
ld [W_POKEMONTOWER2CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
.asm_41852
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
PokemonTower2Text_6062d: ; 6062d (18:462d)
TX_FAR _PokemonTower2Text_6062d
db "@"
PokemonTower2Text_60632: ; 60632 (18:4632)
TX_FAR _PokemonTower2Text_60632
db "@"
PokemonTower2Text_60637: ; 60637 (18:4637)
TX_FAR _PokemonTower2Text_60637
db "@"
PokemonTower2Text_6063c: ; 6063c (18:463c)
TX_FAR _PokemonTower2Text_6063c
db "@"
PokemonTower2Text2: ; 60641 (18:4641)
TX_FAR _PokemonTower2Text2
db "@"