pokered/scripts/PokemonTower2F.asm

193 lines
3.7 KiB
NASM
Raw Normal View History

PokemonTower2F_Script:
2014-05-18 18:19:10 +00:00
call EnableAutoTextBoxDrawing
ld hl, PokemonTower2F_ScriptPointers
ld a, [wPokemonTower2FCurScript]
2014-05-18 18:19:10 +00:00
jp CallFunctionInTable
2016-06-12 00:24:04 +00:00
PokemonTower2Script_604fe:
2014-05-18 18:19:10 +00:00
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
ld [wPokemonTower2FCurScript], a
2015-08-31 02:38:41 +00:00
ld [wCurMapScript], a
2014-05-18 18:19:10 +00:00
ret
PokemonTower2F_ScriptPointers:
2014-05-18 18:19:10 +00:00
dw PokemonTower2Script0
dw PokemonTower2Script1
dw PokemonTower2Script2
2016-06-12 00:24:04 +00:00
PokemonTower2Script0:
2020-07-15 17:35:39 +00:00
IF DEF(_DEBUG)
call DebugPressedOrHeldB
ret nz
ENDC
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, SFX_STOP_ALL_MUSIC
2015-08-09 05:32:44 +00:00
ld [wNewSoundID], 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
ldh [hSpriteIndex], a
2014-05-18 18:19:10 +00:00
ld a, b
ldh [hSpriteFacingDirection], a
call SetSpriteFacingDirectionAndDelay
2014-05-18 18:19:10 +00:00
ld a, $1
ldh [hSpriteIndexOrTextID], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
xor a
ldh [hJoyHeld], a
ldh [hJoyPressed], a
2014-05-18 18:19:10 +00:00
ret
2016-06-12 00:24:04 +00:00
CoordsData_6055e:
dbmapcoord 15, 5
dbmapcoord 14, 6
db $0F ; end? (should be $ff?)
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PokemonTower2Script1:
2015-08-31 02:38:41 +00:00
ld a, [wIsInBattle]
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
ldh [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
ldh [hSpriteIndex], a
2014-05-18 18:19:10 +00:00
call MoveSprite
ld a, SFX_STOP_ALL_MUSIC
2015-08-09 05:32:44 +00:00
ld [wNewSoundID], a
2014-05-18 18:19:10 +00:00
call PlaySound
farcall Music_RivalAlternateStart
2014-05-18 18:19:10 +00:00
ld a, $2
ld [wPokemonTower2FCurScript], a
2015-08-31 02:38:41 +00:00
ld [wCurMapScript], a
2014-05-18 18:19:10 +00:00
ret
2016-06-12 00:24:04 +00:00
MovementData_605a9:
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 -1 ; end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
MovementData_605b2:
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 -1 ; end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PokemonTower2Script2:
ld a, [wd730]
2014-05-18 18:19:10 +00:00
bit 0, a
ret nz
ld a, HS_POKEMON_TOWER_2F_RIVAL
2015-07-25 03:27:59 +00:00
ld [wMissableObjectIndex], 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 [wPokemonTower2FCurScript], a
2015-08-31 02:38:41 +00:00
ld [wCurMapScript], a
2014-05-18 18:19:10 +00:00
ret
PokemonTower2F_TextPointers:
2014-05-18 18:19:10 +00:00
dw PokemonTower2Text1
dw PokemonTower2Text2
2016-06-12 00:24:04 +00:00
PokemonTower2Text1:
text_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
2020-07-17 17:27:27 +00:00
ld a, OPP_RIVAL2
2015-08-31 02:38:41 +00:00
ld [wCurOpponent], a
2014-05-18 18:19:10 +00:00
; select which team to use during the encounter
2015-08-31 02:38:41 +00:00
ld a, [wRivalStarter]
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
2015-08-31 02:38:41 +00:00
ld [wTrainerNo], a
2014-05-18 18:19:10 +00:00
ld a, $1
ld [wPokemonTower2FCurScript], a
2015-08-31 02:38:41 +00:00
ld [wCurMapScript], a
.asm_41852
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
PokemonTower2Text_6062d:
text_far _PokemonTower2Text_6062d
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PokemonTower2Text_60632:
text_far _PokemonTower2Text_60632
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PokemonTower2Text_60637:
text_far _PokemonTower2Text_60637
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PokemonTower2Text_6063c:
text_far _PokemonTower2Text_6063c
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
PokemonTower2Text2:
text_far _PokemonTower2Text2
text_end