2019-01-01 20:06:23 +00:00
|
|
|
Route22_Script:
|
2014-05-18 18:19:10 +00:00
|
|
|
call EnableAutoTextBoxDrawing
|
2019-01-01 20:06:23 +00:00
|
|
|
ld hl, Route22_ScriptPointers
|
2015-08-31 02:38:41 +00:00
|
|
|
ld a, [wRoute22CurScript]
|
2014-05-18 18:19:10 +00:00
|
|
|
jp CallFunctionInTable
|
|
|
|
|
2019-01-01 20:06:23 +00:00
|
|
|
Route22_ScriptPointers:
|
2023-07-14 01:27:56 +00:00
|
|
|
def_script_pointers
|
|
|
|
dw_const Route22DefaultScript, SCRIPT_ROUTE22_DEFAULT
|
|
|
|
dw_const Route22Rival1StartBattleScript, SCRIPT_ROUTE22_RIVAL1_START_BATTLE
|
|
|
|
dw_const Route22Rival1AfterBattleScript, SCRIPT_ROUTE22_RIVAL1_AFTER_BATTLE
|
|
|
|
dw_const Route22Rival1ExitScript, SCRIPT_ROUTE22_RIVAL1_EXIT
|
|
|
|
dw_const Route22Rival2StartBattleScript, SCRIPT_ROUTE22_RIVAL2_START_BATTLE
|
|
|
|
dw_const Route22Rival2AfterBattleScript, SCRIPT_ROUTE22_RIVAL2_AFTER_BATTLE
|
|
|
|
dw_const Route22Rival2ExitScript, SCRIPT_ROUTE22_RIVAL2_EXIT
|
|
|
|
dw_const Route22NoopScript, SCRIPT_ROUTE22_NOOP
|
|
|
|
|
|
|
|
Route22SetDefaultScript:
|
|
|
|
xor a ; SCRIPT_ROUTE22_DEFAULT
|
2014-05-25 17:51:53 +00:00
|
|
|
ld [wJoyIgnore], a
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wRoute22CurScript], a
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22NoopScript:
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22GetRivalTrainerNoByStarterScript:
|
2015-08-31 02:38:41 +00:00
|
|
|
ld a, [wRivalStarter]
|
2014-05-18 18:19:10 +00:00
|
|
|
ld b, a
|
2023-07-14 01:27:56 +00:00
|
|
|
.next_trainer_no
|
2014-05-18 18:19:10 +00:00
|
|
|
ld a, [hli]
|
|
|
|
cp b
|
2023-07-14 01:27:56 +00:00
|
|
|
jr z, .got_trainer_no
|
2014-05-18 18:19:10 +00:00
|
|
|
inc hl
|
2023-07-14 01:27:56 +00:00
|
|
|
jr .next_trainer_no
|
|
|
|
.got_trainer_no
|
2014-05-18 18:19:10 +00:00
|
|
|
ld a, [hl]
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wTrainerNo], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22MoveRivalRightScript:
|
2015-07-03 19:38:12 +00:00
|
|
|
ld de, Route22RivalMovementData
|
2023-11-20 23:53:23 +00:00
|
|
|
ld a, [wSavedCoordIndex]
|
2014-05-18 18:19:10 +00:00
|
|
|
cp $1
|
2023-11-19 00:44:03 +00:00
|
|
|
jr z, .skip_first_right
|
2014-05-18 18:19:10 +00:00
|
|
|
inc de
|
2023-11-19 00:44:03 +00:00
|
|
|
.skip_first_right
|
2014-05-18 18:19:10 +00:00
|
|
|
call MoveSprite
|
2015-07-18 15:17:29 +00:00
|
|
|
ld a, SPRITE_FACING_RIGHT
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hSpriteFacingDirection], a
|
2014-09-10 03:55:19 +00:00
|
|
|
jp SetSpriteFacingDirectionAndDelay
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2016-06-12 00:24:04 +00:00
|
|
|
Route22RivalMovementData:
|
2015-07-17 07:52:25 +00:00
|
|
|
db NPC_MOVEMENT_RIGHT
|
|
|
|
db NPC_MOVEMENT_RIGHT
|
|
|
|
db NPC_MOVEMENT_RIGHT
|
|
|
|
db NPC_MOVEMENT_RIGHT
|
2020-07-16 16:32:19 +00:00
|
|
|
db -1 ; end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22DefaultScript:
|
2015-07-24 04:20:20 +00:00
|
|
|
CheckEvent EVENT_ROUTE22_RIVAL_WANTS_BATTLE
|
2014-05-18 18:19:10 +00:00
|
|
|
ret z
|
2015-07-03 19:38:12 +00:00
|
|
|
ld hl, .Route22RivalBattleCoords
|
2014-05-18 18:19:10 +00:00
|
|
|
call ArePlayerCoordsInArray
|
|
|
|
ret nc
|
2015-07-18 15:17:29 +00:00
|
|
|
ld a, [wCoordIndex]
|
2023-11-20 23:53:23 +00:00
|
|
|
ld [wSavedCoordIndex], a
|
2014-05-18 18:19:10 +00:00
|
|
|
xor a
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hJoyHeld], a
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
|
2014-05-25 17:51:53 +00:00
|
|
|
ld [wJoyIgnore], a
|
2015-07-20 00:52:26 +00:00
|
|
|
ld a, PLAYER_DIR_LEFT
|
|
|
|
ld [wPlayerMovingDirection], a
|
2015-07-21 17:36:03 +00:00
|
|
|
CheckEvent EVENT_1ST_ROUTE22_RIVAL_BATTLE
|
2023-07-14 01:27:56 +00:00
|
|
|
jr nz, Route22FirstRivalBattleScript
|
|
|
|
CheckEventReuseA EVENT_2ND_ROUTE22_RIVAL_BATTLE
|
|
|
|
jp nz, Route22SecondRivalBattleScript
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2014-06-09 20:58:02 +00:00
|
|
|
.Route22RivalBattleCoords
|
2020-07-16 16:32:19 +00:00
|
|
|
dbmapcoord 29, 4
|
|
|
|
dbmapcoord 29, 5
|
|
|
|
db -1 ; end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22FirstRivalBattleScript:
|
|
|
|
ld a, ROUTE22_RIVAL1
|
2015-07-14 21:32:49 +00:00
|
|
|
ld [wEmotionBubbleSpriteIndex], a
|
|
|
|
xor a ; EXCLAMATION_BUBBLE
|
|
|
|
ld [wWhichEmotionBubble], a
|
2014-06-16 20:57:26 +00:00
|
|
|
predef EmotionBubble
|
2014-09-13 07:50:56 +00:00
|
|
|
ld a, [wWalkBikeSurfState]
|
2014-05-18 18:19:10 +00:00
|
|
|
and a
|
2023-07-14 01:27:56 +00:00
|
|
|
jr z, .walking
|
2020-07-03 20:37:47 +00:00
|
|
|
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
|
2023-07-14 01:27:56 +00:00
|
|
|
.walking
|
2014-05-18 18:19:10 +00:00
|
|
|
ld c, BANK(Music_MeetRival)
|
|
|
|
ld a, MUSIC_MEET_RIVAL
|
|
|
|
call PlayMusic
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, ROUTE22_RIVAL1
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hSpriteIndex], a
|
2023-07-14 01:27:56 +00:00
|
|
|
call Route22MoveRivalRightScript
|
|
|
|
ld a, SCRIPT_ROUTE22_RIVAL1_START_BATTLE
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wRoute22CurScript], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22Rival1StartBattleScript:
|
2024-07-16 17:02:54 +00:00
|
|
|
ld a, [wStatusFlags5]
|
|
|
|
bit BIT_SCRIPTED_NPC_MOVEMENT, a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret nz
|
2023-11-20 23:53:23 +00:00
|
|
|
ld a, [wSavedCoordIndex]
|
|
|
|
cp 1 ; index of second, lower entry in Route22DefaultScript.Route22RivalBattleCoords
|
2023-07-14 01:27:56 +00:00
|
|
|
jr nz, .set_rival_facing_right
|
2015-07-20 00:52:26 +00:00
|
|
|
ld a, PLAYER_DIR_DOWN
|
|
|
|
ld [wPlayerMovingDirection], a
|
2015-07-18 15:17:29 +00:00
|
|
|
ld a, SPRITE_FACING_UP
|
2023-07-14 01:27:56 +00:00
|
|
|
jr .set_rival_facing_direction
|
|
|
|
.set_rival_facing_right
|
2015-07-18 15:17:29 +00:00
|
|
|
ld a, SPRITE_FACING_RIGHT
|
2023-07-14 01:27:56 +00:00
|
|
|
.set_rival_facing_direction
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hSpriteFacingDirection], a
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, ROUTE22_RIVAL1
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hSpriteIndex], a
|
2014-09-10 03:55:19 +00:00
|
|
|
call SetSpriteFacingDirectionAndDelay
|
2014-05-18 18:19:10 +00:00
|
|
|
xor a
|
2014-05-25 17:51:53 +00:00
|
|
|
ld [wJoyIgnore], a
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, TEXT_ROUTE22_RIVAL1
|
2024-09-19 01:01:18 +00:00
|
|
|
ldh [hTextID], a
|
2014-05-18 18:19:10 +00:00
|
|
|
call DisplayTextID
|
2024-07-16 17:02:54 +00:00
|
|
|
ld hl, wStatusFlags3
|
|
|
|
set BIT_TALKED_TO_TRAINER, [hl]
|
|
|
|
set BIT_PRINT_END_BATTLE_TEXT, [hl]
|
2023-07-14 01:27:56 +00:00
|
|
|
ld hl, Route22Rival1DefeatedText
|
|
|
|
ld de, Route22Rival1VictoryText
|
2014-09-14 18:29:18 +00:00
|
|
|
call SaveEndBattleTextPointers
|
2020-07-17 17:27:27 +00:00
|
|
|
ld a, OPP_RIVAL1
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wCurOpponent], a
|
2023-07-14 01:27:56 +00:00
|
|
|
ld hl, .StarterTable
|
|
|
|
call Route22GetRivalTrainerNoByStarterScript
|
|
|
|
ld a, SCRIPT_ROUTE22_RIVAL1_AFTER_BATTLE
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wRoute22CurScript], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.StarterTable:
|
2014-05-19 14:38:20 +00:00
|
|
|
; starter the rival picked, rival trainer number
|
2020-07-16 16:32:19 +00:00
|
|
|
db STARTER2, 4
|
|
|
|
db STARTER3, 5
|
|
|
|
db STARTER1, 6
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22Rival1AfterBattleScript:
|
2015-08-31 02:38:41 +00:00
|
|
|
ld a, [wIsInBattle]
|
2014-05-18 18:19:10 +00:00
|
|
|
cp $ff
|
2023-07-14 01:27:56 +00:00
|
|
|
jp z, Route22SetDefaultScript
|
2020-07-05 21:29:11 +00:00
|
|
|
ld a, [wSpritePlayerStateData1FacingDirection]
|
2015-07-04 05:44:12 +00:00
|
|
|
and a ; cp SPRITE_FACING_DOWN
|
2023-07-14 01:27:56 +00:00
|
|
|
jr nz, .not_facing_down
|
2015-07-04 05:44:12 +00:00
|
|
|
ld a, SPRITE_FACING_UP
|
2023-07-14 01:27:56 +00:00
|
|
|
jr .set_rival_facing
|
|
|
|
.not_facing_down
|
2015-07-04 05:44:12 +00:00
|
|
|
ld a, SPRITE_FACING_RIGHT
|
2023-07-14 01:27:56 +00:00
|
|
|
.set_rival_facing
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hSpriteFacingDirection], a
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, ROUTE22_RIVAL1
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hSpriteIndex], a
|
2014-09-10 03:55:19 +00:00
|
|
|
call SetSpriteFacingDirectionAndDelay
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
|
2014-05-25 17:51:53 +00:00
|
|
|
ld [wJoyIgnore], a
|
2015-07-24 04:20:20 +00:00
|
|
|
SetEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, TEXT_ROUTE22_RIVAL1
|
2024-09-19 01:01:18 +00:00
|
|
|
ldh [hTextID], a
|
2014-05-18 18:19:10 +00:00
|
|
|
call DisplayTextID
|
2020-07-03 20:37:47 +00:00
|
|
|
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
|
2020-07-07 01:18:22 +00:00
|
|
|
farcall Music_RivalAlternateStart
|
2023-11-20 23:53:23 +00:00
|
|
|
ld a, [wSavedCoordIndex]
|
|
|
|
cp 1 ; index of second, lower entry in Route22DefaultScript.Route22RivalBattleCoords
|
2023-07-14 01:27:56 +00:00
|
|
|
jr nz, .exit_movement_2
|
|
|
|
call .RivalExit1Script
|
|
|
|
jr .next_script
|
|
|
|
.exit_movement_2
|
|
|
|
call .RivalExit2Script
|
|
|
|
.next_script
|
|
|
|
ld a, SCRIPT_ROUTE22_RIVAL1_EXIT
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wRoute22CurScript], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.RivalExit1Script:
|
|
|
|
ld de, Route22Rival1ExitMovementData1
|
2015-07-03 19:38:12 +00:00
|
|
|
jr Route22MoveRival1
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.RivalExit2Script:
|
|
|
|
ld de, Route22Rival1ExitMovementData2
|
2016-06-12 00:24:04 +00:00
|
|
|
Route22MoveRival1:
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, ROUTE22_RIVAL1
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hSpriteIndex], a
|
2014-05-18 18:19:10 +00:00
|
|
|
jp MoveSprite
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22Rival1ExitMovementData1:
|
2015-07-17 07:52:25 +00:00
|
|
|
db NPC_MOVEMENT_RIGHT
|
|
|
|
db NPC_MOVEMENT_RIGHT
|
|
|
|
db NPC_MOVEMENT_DOWN
|
|
|
|
db NPC_MOVEMENT_DOWN
|
|
|
|
db NPC_MOVEMENT_DOWN
|
|
|
|
db NPC_MOVEMENT_DOWN
|
|
|
|
db NPC_MOVEMENT_DOWN
|
2020-07-16 16:32:19 +00:00
|
|
|
db -1 ; end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22Rival1ExitMovementData2:
|
2015-07-17 07:52:25 +00:00
|
|
|
db NPC_MOVEMENT_UP
|
|
|
|
db NPC_MOVEMENT_RIGHT
|
|
|
|
db NPC_MOVEMENT_RIGHT
|
|
|
|
db NPC_MOVEMENT_RIGHT
|
|
|
|
db NPC_MOVEMENT_DOWN
|
|
|
|
db NPC_MOVEMENT_DOWN
|
|
|
|
db NPC_MOVEMENT_DOWN
|
|
|
|
db NPC_MOVEMENT_DOWN
|
|
|
|
db NPC_MOVEMENT_DOWN
|
|
|
|
db NPC_MOVEMENT_DOWN
|
2020-07-16 16:32:19 +00:00
|
|
|
db -1 ; end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22Rival1ExitScript:
|
2024-07-16 17:02:54 +00:00
|
|
|
ld a, [wStatusFlags5]
|
|
|
|
bit BIT_SCRIPTED_NPC_MOVEMENT, a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret nz
|
|
|
|
xor a
|
2014-05-25 17:51:53 +00:00
|
|
|
ld [wJoyIgnore], a
|
2014-09-25 23:21:49 +00:00
|
|
|
ld a, HS_ROUTE_22_RIVAL_1
|
2015-07-25 03:27:59 +00:00
|
|
|
ld [wMissableObjectIndex], a
|
2014-06-16 20:57:26 +00:00
|
|
|
predef HideObject
|
2014-09-10 03:55:19 +00:00
|
|
|
call PlayDefaultMusic
|
2015-07-24 04:20:20 +00:00
|
|
|
ResetEvents EVENT_1ST_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, SCRIPT_ROUTE22_DEFAULT
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wRoute22CurScript], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22SecondRivalBattleScript:
|
|
|
|
ld a, ROUTE22_RIVAL2
|
2015-07-14 21:32:49 +00:00
|
|
|
ld [wEmotionBubbleSpriteIndex], a
|
|
|
|
xor a ; EXCLAMATION_BUBBLE
|
|
|
|
ld [wWhichEmotionBubble], a
|
2014-06-16 20:57:26 +00:00
|
|
|
predef EmotionBubble
|
2014-09-13 07:50:56 +00:00
|
|
|
ld a, [wWalkBikeSurfState]
|
2014-05-18 18:19:10 +00:00
|
|
|
and a
|
2023-07-14 01:27:56 +00:00
|
|
|
jr z, .walking
|
2020-07-03 20:37:47 +00:00
|
|
|
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
|
2023-07-14 01:27:56 +00:00
|
|
|
.walking
|
2020-07-03 20:37:47 +00:00
|
|
|
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
|
2020-07-07 01:18:22 +00:00
|
|
|
farcall Music_RivalAlternateTempo
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, ROUTE22_RIVAL2
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hSpriteIndex], a
|
2023-07-14 01:27:56 +00:00
|
|
|
call Route22MoveRivalRightScript
|
|
|
|
ld a, SCRIPT_ROUTE22_RIVAL2_START_BATTLE
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wRoute22CurScript], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22Rival2StartBattleScript:
|
2024-07-16 17:02:54 +00:00
|
|
|
ld a, [wStatusFlags5]
|
|
|
|
bit BIT_SCRIPTED_NPC_MOVEMENT, a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret nz
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, ROUTE22_RIVAL2
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hSpriteIndex], a
|
2023-11-20 23:53:23 +00:00
|
|
|
ld a, [wSavedCoordIndex]
|
|
|
|
cp 1 ; index of second, lower entry in Route22DefaultScript.Route22RivalBattleCoords
|
2023-07-14 01:27:56 +00:00
|
|
|
jr nz, .set_player_direction_left
|
2015-07-20 00:52:26 +00:00
|
|
|
ld a, PLAYER_DIR_DOWN
|
|
|
|
ld [wPlayerMovingDirection], a
|
2015-07-18 15:17:29 +00:00
|
|
|
ld a, SPRITE_FACING_UP
|
2023-07-14 01:27:56 +00:00
|
|
|
jr .set_rival_facing_direction
|
|
|
|
.set_player_direction_left
|
2015-07-20 00:52:26 +00:00
|
|
|
ld a, PLAYER_DIR_LEFT
|
|
|
|
ld [wPlayerMovingDirection], a
|
2015-07-18 15:17:29 +00:00
|
|
|
ld a, SPRITE_FACING_RIGHT
|
2023-07-14 01:27:56 +00:00
|
|
|
.set_rival_facing_direction
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hSpriteFacingDirection], a
|
2014-09-10 03:55:19 +00:00
|
|
|
call SetSpriteFacingDirectionAndDelay
|
2014-05-18 18:19:10 +00:00
|
|
|
xor a
|
2014-05-25 17:51:53 +00:00
|
|
|
ld [wJoyIgnore], a
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, TEXT_ROUTE22_RIVAL2
|
2024-09-19 01:01:18 +00:00
|
|
|
ldh [hTextID], a
|
2014-05-18 18:19:10 +00:00
|
|
|
call DisplayTextID
|
2024-07-16 17:02:54 +00:00
|
|
|
ld hl, wStatusFlags3
|
|
|
|
set BIT_TALKED_TO_TRAINER, [hl]
|
|
|
|
set BIT_PRINT_END_BATTLE_TEXT, [hl]
|
2023-07-14 01:27:56 +00:00
|
|
|
ld hl, Route22Rival2DefeatedText
|
|
|
|
ld de, Route22Rival2VictoryText
|
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
|
2023-07-14 01:27:56 +00:00
|
|
|
ld hl, .StarterTable
|
|
|
|
call Route22GetRivalTrainerNoByStarterScript
|
|
|
|
ld a, SCRIPT_ROUTE22_RIVAL2_AFTER_BATTLE
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wRoute22CurScript], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.StarterTable:
|
2020-07-16 16:32:19 +00:00
|
|
|
db STARTER2, 10
|
|
|
|
db STARTER3, 11
|
|
|
|
db STARTER1, 12
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22Rival2AfterBattleScript:
|
2015-08-31 02:38:41 +00:00
|
|
|
ld a, [wIsInBattle]
|
2014-05-18 18:19:10 +00:00
|
|
|
cp $ff
|
2023-07-14 01:27:56 +00:00
|
|
|
jp z, Route22SetDefaultScript
|
|
|
|
ld a, ROUTE22_RIVAL2
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hSpriteIndex], a
|
2023-11-20 23:53:23 +00:00
|
|
|
ld a, [wSavedCoordIndex]
|
|
|
|
cp 1 ; index of second, lower entry in Route22DefaultScript.Route22RivalBattleCoords
|
2023-07-14 01:27:56 +00:00
|
|
|
jr nz, .set_player_direction_left
|
2015-07-20 00:52:26 +00:00
|
|
|
ld a, PLAYER_DIR_DOWN
|
|
|
|
ld [wPlayerMovingDirection], a
|
2015-07-18 15:17:29 +00:00
|
|
|
ld a, SPRITE_FACING_UP
|
2023-07-14 01:27:56 +00:00
|
|
|
jr .set_rival_facing_direction
|
|
|
|
.set_player_direction_left
|
2015-07-20 00:52:26 +00:00
|
|
|
ld a, PLAYER_DIR_LEFT
|
|
|
|
ld [wPlayerMovingDirection], a
|
2015-07-18 15:17:29 +00:00
|
|
|
ld a, SPRITE_FACING_RIGHT
|
2023-07-14 01:27:56 +00:00
|
|
|
.set_rival_facing_direction
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hSpriteFacingDirection], a
|
2014-09-10 03:55:19 +00:00
|
|
|
call SetSpriteFacingDirectionAndDelay
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
|
2014-05-25 17:51:53 +00:00
|
|
|
ld [wJoyIgnore], a
|
2015-07-24 04:20:20 +00:00
|
|
|
SetEvent EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, TEXT_ROUTE22_RIVAL2
|
2024-09-19 01:01:18 +00:00
|
|
|
ldh [hTextID], a
|
2014-05-18 18:19:10 +00:00
|
|
|
call DisplayTextID
|
2020-07-03 20:37:47 +00:00
|
|
|
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
|
2020-07-07 01:18:22 +00:00
|
|
|
farcall Music_RivalAlternateStartAndTempo
|
2023-11-20 23:53:23 +00:00
|
|
|
ld a, [wSavedCoordIndex]
|
|
|
|
cp 1 ; index of second, lower entry in Route22DefaultScript.Route22RivalBattleCoords
|
2023-07-14 01:27:56 +00:00
|
|
|
jr nz, .exit_movement_2
|
|
|
|
call .RivalExit1Script
|
|
|
|
jr .next_script
|
|
|
|
.exit_movement_2
|
|
|
|
call .RivalExit2Script
|
|
|
|
.next_script
|
|
|
|
ld a, SCRIPT_ROUTE22_RIVAL2_EXIT
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wRoute22CurScript], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.RivalExit1Script:
|
|
|
|
ld de, Route22Rival2ExitMovementData1
|
2015-07-03 19:38:12 +00:00
|
|
|
jr Route22MoveRival2
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
.RivalExit2Script:
|
|
|
|
ld de, Route22Rival2ExitMovementData2
|
2016-06-12 00:24:04 +00:00
|
|
|
Route22MoveRival2:
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, ROUTE22_RIVAL2
|
2020-07-06 23:03:05 +00:00
|
|
|
ldh [hSpriteIndex], a
|
2014-05-18 18:19:10 +00:00
|
|
|
jp MoveSprite
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22Rival2ExitMovementData1:
|
2015-07-17 07:52:25 +00:00
|
|
|
db NPC_MOVEMENT_LEFT
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22Rival2ExitMovementData2:
|
2015-07-17 07:52:25 +00:00
|
|
|
db NPC_MOVEMENT_LEFT
|
|
|
|
db NPC_MOVEMENT_LEFT
|
|
|
|
db NPC_MOVEMENT_LEFT
|
2020-07-16 16:32:19 +00:00
|
|
|
db -1 ; end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22Rival2ExitScript:
|
2024-07-16 17:02:54 +00:00
|
|
|
ld a, [wStatusFlags5]
|
|
|
|
bit BIT_SCRIPTED_NPC_MOVEMENT, a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret nz
|
|
|
|
xor a
|
2014-05-25 17:51:53 +00:00
|
|
|
ld [wJoyIgnore], a
|
2014-09-25 23:21:49 +00:00
|
|
|
ld a, HS_ROUTE_22_RIVAL_2
|
2015-07-25 03:27:59 +00:00
|
|
|
ld [wMissableObjectIndex], a
|
2014-06-16 20:57:26 +00:00
|
|
|
predef HideObject
|
2014-09-10 03:55:19 +00:00
|
|
|
call PlayDefaultMusic
|
2015-07-24 04:20:20 +00:00
|
|
|
ResetEvents EVENT_2ND_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE
|
2023-07-14 01:27:56 +00:00
|
|
|
ld a, SCRIPT_ROUTE22_NOOP
|
2015-08-31 02:38:41 +00:00
|
|
|
ld [wRoute22CurScript], a
|
2014-05-18 18:19:10 +00:00
|
|
|
ret
|
|
|
|
|
2019-01-01 20:06:23 +00:00
|
|
|
Route22_TextPointers:
|
2023-07-14 01:27:56 +00:00
|
|
|
def_text_pointers
|
|
|
|
dw_const Route22Rival1Text, TEXT_ROUTE22_RIVAL1
|
|
|
|
dw_const Route22Rival2Text, TEXT_ROUTE22_RIVAL2
|
|
|
|
dw_const Route22PokemonLeagueSignText, TEXT_ROUTE22_POKEMON_LEAGUE_SIGN
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22Rival1Text:
|
2020-07-04 21:09:35 +00:00
|
|
|
text_asm
|
2015-07-24 04:20:20 +00:00
|
|
|
CheckEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE
|
2023-07-14 01:27:56 +00:00
|
|
|
jr z, .before_battle
|
2014-05-19 14:38:20 +00:00
|
|
|
ld hl, Route22RivalAfterBattleText1
|
2014-05-18 18:19:10 +00:00
|
|
|
call PrintText
|
2023-07-14 01:27:56 +00:00
|
|
|
jr .text_script_end
|
|
|
|
.before_battle
|
2014-05-19 14:38:20 +00:00
|
|
|
ld hl, Route22RivalBeforeBattleText1
|
2014-05-18 18:19:10 +00:00
|
|
|
call PrintText
|
2023-07-14 01:27:56 +00:00
|
|
|
.text_script_end
|
2014-05-18 18:19:10 +00:00
|
|
|
jp TextScriptEnd
|
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22Rival2Text:
|
2020-07-04 21:09:35 +00:00
|
|
|
text_asm
|
2015-07-24 04:20:20 +00:00
|
|
|
CheckEvent EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE
|
2023-07-14 01:27:56 +00:00
|
|
|
jr z, .before_battle
|
2014-05-19 14:38:20 +00:00
|
|
|
ld hl, Route22RivalAfterBattleText2
|
2014-05-18 18:19:10 +00:00
|
|
|
call PrintText
|
2023-07-14 01:27:56 +00:00
|
|
|
jr .text_script_end
|
|
|
|
.before_battle
|
2014-05-19 14:38:20 +00:00
|
|
|
ld hl, Route22RivalBeforeBattleText2
|
2014-05-18 18:19:10 +00:00
|
|
|
call PrintText
|
2023-07-14 01:27:56 +00:00
|
|
|
.text_script_end
|
2014-05-18 18:19:10 +00:00
|
|
|
jp TextScriptEnd
|
|
|
|
|
2016-06-12 00:24:04 +00:00
|
|
|
Route22RivalBeforeBattleText1:
|
2020-07-04 21:09:35 +00:00
|
|
|
text_far _Route22RivalBeforeBattleText1
|
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2016-06-12 00:24:04 +00:00
|
|
|
Route22RivalAfterBattleText1:
|
2020-07-04 21:09:35 +00:00
|
|
|
text_far _Route22RivalAfterBattleText1
|
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22Rival1DefeatedText:
|
|
|
|
text_far _Route22Rival1DefeatedText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22Rival1VictoryText:
|
|
|
|
text_far _Route22Rival1VictoryText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2016-06-12 00:24:04 +00:00
|
|
|
Route22RivalBeforeBattleText2:
|
2020-07-04 21:09:35 +00:00
|
|
|
text_far _Route22RivalBeforeBattleText2
|
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2016-06-12 00:24:04 +00:00
|
|
|
Route22RivalAfterBattleText2:
|
2020-07-04 21:09:35 +00:00
|
|
|
text_far _Route22RivalAfterBattleText2
|
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22Rival2DefeatedText:
|
|
|
|
text_far _Route22Rival2DefeatedText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22Rival2VictoryText:
|
|
|
|
text_far _Route22Rival2VictoryText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|
2014-05-18 18:19:10 +00:00
|
|
|
|
2023-07-14 01:27:56 +00:00
|
|
|
Route22PokemonLeagueSignText:
|
|
|
|
text_far _Route22PokemonLeagueSignText
|
2020-07-04 21:09:35 +00:00
|
|
|
text_end
|