pokered/scripts/SSAnne2F.asm

215 lines
3.6 KiB
NASM
Raw Normal View History

SSAnne2F_Script:
2014-05-18 18:19:10 +00:00
call EnableAutoTextBoxDrawing
ld hl, SSAnne2F_ScriptPointers
ld a, [wSSAnne2FCurScript]
2014-05-18 18:19:10 +00:00
jp CallFunctionInTable
2016-06-12 00:24:04 +00:00
SSAnne2Script_613ab:
2014-05-18 18:19:10 +00:00
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
ld [wSSAnne2FCurScript], a
2014-05-18 18:19:10 +00:00
ret
SSAnne2F_ScriptPointers:
2014-05-18 18:19:10 +00:00
dw SSAnne2Script0
dw SSAnne2Script1
dw SSAnne2Script2
dw SSAnne2Script3
dw SSAnne2Script4
2016-06-12 00:24:04 +00:00
SSAnne2Script4:
2014-05-18 18:19:10 +00:00
ret
2016-06-12 00:24:04 +00:00
SSAnne2Script0:
ld hl, CoordsData_61411
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-18 15:17:29 +00:00
ld a, [wCoordIndex]
ldh [hSavedCoordIndex], a
ld a, HS_SS_ANNE_2F_RIVAL
2015-07-25 03:27:59 +00:00
ld [wMissableObjectIndex], a
predef ShowObject
2014-05-18 18:19:10 +00:00
call Delay3
ld a, $2
ldh [hSpriteIndex], a
2014-05-18 18:19:10 +00:00
call SetSpriteMovementBytesToFF
xor a
ldh [hJoyHeld], a
2014-05-18 18:19:10 +00:00
ld a, $f0
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
ldh a, [hSavedCoordIndex]
2014-05-18 18:19:10 +00:00
cp $2
jr nz, .asm_61400
2014-05-18 18:19:10 +00:00
ld de, MovementData_6140c
jr .asm_61403
2014-05-18 18:19:10 +00:00
.asm_61400
ld de, MovementData_6140d
.asm_61403
call MoveSprite
ld a, $1
ld [wSSAnne2FCurScript], a
2014-05-18 18:19:10 +00:00
ret
2016-06-12 00:24:04 +00:00
MovementData_6140c:
db NPC_MOVEMENT_DOWN
2016-06-12 00:24:04 +00:00
MovementData_6140d:
db NPC_MOVEMENT_DOWN
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
CoordsData_61411:
dbmapcoord 36, 8
dbmapcoord 37, 8
db -1 ; end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
SSAnne2Script_61416:
2015-08-31 02:38:41 +00:00
ld a, [wXCoord]
cp 37
2014-05-18 18:19:10 +00:00
jr nz, .asm_61426
2015-07-20 00:52:26 +00:00
ld a, PLAYER_DIR_LEFT
ld [wPlayerMovingDirection], a
ld a, SPRITE_FACING_RIGHT
2014-05-18 18:19:10 +00:00
jr .asm_61427
.asm_61426
2015-07-18 15:17:29 +00:00
xor a ; SPRITE_FACING_DOWN
2014-05-18 18:19:10 +00:00
.asm_61427
ldh [hSpriteFacingDirection], a
2014-05-18 18:19:10 +00:00
ld a, $2
ldh [hSpriteIndex], a
jp SetSpriteFacingDirectionAndDelay
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
SSAnne2Script1:
ld a, [wd730]
2014-05-18 18:19:10 +00:00
bit 0, a
ret nz
call SSAnne2Script_61416
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2014-05-18 18:19:10 +00:00
ld a, $2
ldh [hSpriteIndexOrTextID], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
call Delay3
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, $1
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, $2
jr .done
.Charmander
ld a, $3
.done
2015-08-31 02:38:41 +00:00
ld [wTrainerNo], a
2014-05-18 18:19:10 +00:00
call SSAnne2Script_61416
ld a, $2
ld [wSSAnne2FCurScript], a
2014-05-18 18:19:10 +00:00
ret
2016-06-12 00:24:04 +00:00
SSAnne2Script2:
2015-08-31 02:38:41 +00:00
ld a, [wIsInBattle]
2014-05-18 18:19:10 +00:00
cp $ff
jp z, SSAnne2Script_613ab
call SSAnne2Script_61416
ld a, $f0
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2014-05-18 18:19:10 +00:00
ld a, $3
ldh [hSpriteIndexOrTextID], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
ld a, $2
ldh [hSpriteIndex], a
2014-05-18 18:19:10 +00:00
call SetSpriteMovementBytesToFF
2015-08-31 02:38:41 +00:00
ld a, [wXCoord]
cp 37
jr nz, .asm_61497
2014-05-18 18:19:10 +00:00
ld de, MovementData_614b9
jr .asm_6149a
2014-05-18 18:19:10 +00:00
.asm_61497
ld de, MovementData_614b7
.asm_6149a
ld a, $2
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, $3
ld [wSSAnne2FCurScript], a
2014-05-18 18:19:10 +00:00
ret
2016-06-12 00:24:04 +00:00
MovementData_614b7:
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_DOWN
2016-06-12 00:24:04 +00:00
MovementData_614b9:
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
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
SSAnne2Script3:
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_SS_ANNE_2F_RIVAL
2015-07-25 03:27:59 +00:00
ld [wMissableObjectIndex], a
predef HideObject
call PlayDefaultMusic
2014-05-18 18:19:10 +00:00
ld a, $4
ld [wSSAnne2FCurScript], a
2014-05-18 18:19:10 +00:00
ret
SSAnne2F_TextPointers:
2014-05-18 18:19:10 +00:00
dw SSAnne2Text1
dw SSAnne2Text2
dw SSAnne2Text3
2016-06-12 00:24:04 +00:00
SSAnne2Text1:
text_far _SSAnne2Text1
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
SSAnne2Text2:
text_asm
2014-05-18 18:19:10 +00:00
ld hl, SSAnneRivalBeforeBattleText
call PrintText
ld hl, wd72d
2014-05-18 18:19:10 +00:00
set 6, [hl]
set 7, [hl]
ld hl, SSAnneRivalDefeatedText
ld de, SSAnneRivalWonText
2014-09-14 18:29:18 +00:00
call SaveEndBattleTextPointers
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
SSAnneRivalBeforeBattleText:
text_far _SSAnneRivalBeforeBattleText
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
SSAnneRivalDefeatedText:
text_far _SSAnneRivalDefeatedText
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
SSAnneRivalWonText:
text_far _SSAnneRivalWonText
text_end
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
SSAnne2Text3:
text_far _SSAnneRivalCaptainText
text_end