pokered/scripts/Route24.asm

283 lines
7.1 KiB
NASM
Raw Normal View History

Route24_Script:
2014-05-18 18:19:10 +00:00
call EnableAutoTextBoxDrawing
ld hl, Route24TrainerHeaders
ld de, Route24_ScriptPointers
2015-08-31 02:38:41 +00:00
ld a, [wRoute24CurScript]
2014-05-18 18:19:10 +00:00
call ExecuteCurMapScriptInTable
2015-08-31 02:38:41 +00:00
ld [wRoute24CurScript], a
2014-05-18 18:19:10 +00:00
ret
Route24SetDefaultScript:
xor a ; SCRIPT_ROUTE24_DEFAULT
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2015-08-31 02:38:41 +00:00
ld [wRoute24CurScript], a
ld [wCurMapScript], a
2014-05-18 18:19:10 +00:00
ret
Route24_ScriptPointers:
def_script_pointers
dw_const Route24DefaultScript, SCRIPT_ROUTE24_DEFAULT
dw_const DisplayEnemyTrainerTextAndStartBattle, SCRIPT_ROUTE24_START_BATTLE
dw_const EndTrainerBattle, SCRIPT_ROUTE24_END_BATTLE
dw_const Route24AfterRocketBattleScript, SCRIPT_ROUTE24_AFTER_ROCKET_BATTLE
dw_const Route24PlayerMovingScript, SCRIPT_ROUTE24_PLAYER_MOVING
Route24DefaultScript:
2015-07-21 17:36:03 +00:00
CheckEvent EVENT_GOT_NUGGET
2014-05-18 18:19:10 +00:00
jp nz, CheckFightingMapTrainers
ld hl, .PlayerCoordsArray
2014-05-18 18:19:10 +00:00
call ArePlayerCoordsInArray
jp nc, CheckFightingMapTrainers
xor a
ldh [hJoyHeld], a
ld a, TEXT_ROUTE24_COOLTRAINER_M1
ldh [hTextID], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
2015-07-21 17:36:03 +00:00
CheckAndResetEvent EVENT_NUGGET_REWARD_AVAILABLE
2014-05-18 18:19:10 +00:00
ret z
ld a, D_DOWN
ld [wSimulatedJoypadStatesEnd], a
2014-05-18 18:19:10 +00:00
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
call StartSimulatingJoypadStates
ld a, SCRIPT_ROUTE24_PLAYER_MOVING
2015-08-31 02:38:41 +00:00
ld [wRoute24CurScript], a
ld [wCurMapScript], a
2014-05-18 18:19:10 +00:00
ret
.PlayerCoordsArray:
dbmapcoord 10, 15
db -1 ; end
2014-05-18 18:19:10 +00:00
Route24PlayerMovingScript:
ld a, [wSimulatedJoypadStatesIndex]
2014-05-18 18:19:10 +00:00
and a
ret nz
call Delay3
ld a, SCRIPT_ROUTE24_DEFAULT
2015-08-31 02:38:41 +00:00
ld [wRoute24CurScript], a
ld [wCurMapScript], a
2014-05-18 18:19:10 +00:00
ret
Route24AfterRocketBattleScript:
2015-08-31 02:38:41 +00:00
ld a, [wIsInBattle]
2014-05-18 18:19:10 +00:00
cp $ff
jp z, Route24SetDefaultScript
2014-05-18 18:19:10 +00:00
call UpdateSprites
ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2015-07-21 17:36:03 +00:00
SetEvent EVENT_BEAT_ROUTE24_ROCKET
ld a, TEXT_ROUTE24_COOLTRAINER_M1
ldh [hTextID], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
ld a, SCRIPT_ROUTE24_DEFAULT
2015-08-31 02:38:41 +00:00
ld [wRoute24CurScript], a
ld [wCurMapScript], a
2014-05-18 18:19:10 +00:00
ret
Route24_TextPointers:
def_text_pointers
dw_const Route24CooltrainerM1Text, TEXT_ROUTE24_COOLTRAINER_M1
dw_const Route24CooltrainerM2Text, TEXT_ROUTE24_COOLTRAINER_M2
dw_const Route24CooltrainerM3Text, TEXT_ROUTE24_COOLTRAINER_M3
dw_const Route24CooltrainerF1Text, TEXT_ROUTE24_COOLTRAINER_F1
2023-11-19 22:03:49 +00:00
dw_const Route24Youngster1Text, TEXT_ROUTE24_YOUNGSTER1
dw_const Route24CooltrainerF2Text, TEXT_ROUTE24_COOLTRAINER_F2
2023-11-19 22:03:49 +00:00
dw_const Route24Youngster2Text, TEXT_ROUTE24_YOUNGSTER2
dw_const PickUpItemText, TEXT_ROUTE24_TM_THUNDER_WAVE
2014-05-18 18:19:10 +00:00
Route24TrainerHeaders:
def_trainers 2
2016-06-12 00:24:04 +00:00
Route24TrainerHeader0:
trainer EVENT_BEAT_ROUTE_24_TRAINER_0, 4, Route24CooltrainerM2BattleText, Route24CooltrainerM2EndBattleText, Route24CooltrainerM2AfterBattleText
Route24TrainerHeader1:
trainer EVENT_BEAT_ROUTE_24_TRAINER_1, 1, Route24CooltrainerM3BattleText, Route24CooltrainerM3EndBattleText, Route24CooltrainerM3AfterBattleText
Route24TrainerHeader2:
trainer EVENT_BEAT_ROUTE_24_TRAINER_2, 1, Route24CooltrainerF1BattleText, Route24CooltrainerF1EndBattleText, Route24CooltrainerF1AfterBattleText
Route24TrainerHeader3:
trainer EVENT_BEAT_ROUTE_24_TRAINER_3, 1, Route24Youngster1BattleText, Route24Youngster1EndBattleText, Route24Youngster1AfterBattleText
Route24TrainerHeader4:
trainer EVENT_BEAT_ROUTE_24_TRAINER_4, 1, Route24CooltrainerF2BattleText, Route24CooltrainerF2EndBattleText, Route24CooltrainerF2AfterBattleText
Route24TrainerHeader5:
trainer EVENT_BEAT_ROUTE_24_TRAINER_5, 1, Route24Youngster2BattleText, Route24Youngster2EndBattleText, Route24Youngster2AfterBattleText
db -1 ; end
2014-05-18 18:19:10 +00:00
Route24CooltrainerM1Text:
text_asm
2015-07-21 17:36:03 +00:00
ResetEvent EVENT_NUGGET_REWARD_AVAILABLE
CheckEvent EVENT_GOT_NUGGET
jr nz, .got_item
ld hl, .YouBeatOurContestText
2014-05-18 18:19:10 +00:00
call PrintText
2015-08-05 21:20:29 +00:00
lb bc, NUGGET, 1
2014-05-18 18:19:10 +00:00
call GiveItem
jr nc, .bag_full
2015-07-21 17:36:03 +00:00
SetEvent EVENT_GOT_NUGGET
ld hl, .ReceivedNuggetText
2014-05-18 18:19:10 +00:00
call PrintText
ld hl, .JoinTeamRocketText
2014-05-18 18:19:10 +00:00
call PrintText
ld hl, wStatusFlags3
set BIT_TALKED_TO_TRAINER, [hl]
set BIT_PRINT_END_BATTLE_TEXT, [hl]
ld hl, .DefeatedText
ld de, .DefeatedText
2014-09-14 18:29:18 +00:00
call SaveEndBattleTextPointers
ldh a, [hSpriteIndex]
2014-09-13 07:50:56 +00:00
ld [wSpriteIndex], a
2014-05-18 18:19:10 +00:00
call EngageMapTrainer
call InitBattleEnemyParameters
xor a
ldh [hJoyHeld], a
ld a, SCRIPT_ROUTE24_AFTER_ROCKET_BATTLE
2015-08-31 02:38:41 +00:00
ld [wRoute24CurScript], a
ld [wCurMapScript], a
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
.got_item
ld hl, .YouCouldBecomeATopLeaderText
2014-05-18 18:19:10 +00:00
call PrintText
jp TextScriptEnd
.bag_full
ld hl, .NoRoomText
2014-05-18 18:19:10 +00:00
call PrintText
2015-07-21 17:36:03 +00:00
SetEvent EVENT_NUGGET_REWARD_AVAILABLE
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
.YouBeatOurContestText:
text_far _Route24CooltrainerM1YouBeatOurContestText
sound_get_item_1
text_far _Route24CooltrainerM1YouJustEarnedAPrizeText
text_end
2014-05-18 18:19:10 +00:00
.ReceivedNuggetText:
text_far _Route24CooltrainerM1ReceivedNuggetText
sound_get_item_1
text_promptbutton
text_end
2014-05-18 18:19:10 +00:00
.NoRoomText:
text_far _Route24CooltrainerM1NoRoomText
text_end
2014-05-18 18:19:10 +00:00
.JoinTeamRocketText:
text_far _Route24CooltrainerM1JoinTeamRocketText
text_end
2014-05-18 18:19:10 +00:00
.DefeatedText:
text_far _Route24CooltrainerM1DefeatedText
text_end
2014-05-18 18:19:10 +00:00
.YouCouldBecomeATopLeaderText:
text_far _Route24CooltrainerM1YouCouldBecomeATopLeaderText
text_end
2014-05-18 18:19:10 +00:00
Route24CooltrainerM2Text:
text_asm
2014-05-18 18:19:10 +00:00
ld hl, Route24TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
Route24CooltrainerM3Text:
text_asm
ld hl, Route24TrainerHeader1
2014-05-18 18:19:10 +00:00
call TalkToTrainer
jp TextScriptEnd
Route24CooltrainerF1Text:
text_asm
ld hl, Route24TrainerHeader2
2014-05-18 18:19:10 +00:00
call TalkToTrainer
jp TextScriptEnd
Route24Youngster1Text:
text_asm
ld hl, Route24TrainerHeader3
2014-05-18 18:19:10 +00:00
call TalkToTrainer
jp TextScriptEnd
Route24CooltrainerF2Text:
text_asm
ld hl, Route24TrainerHeader4
2014-05-18 18:19:10 +00:00
call TalkToTrainer
jp TextScriptEnd
Route24Youngster2Text:
text_asm
ld hl, Route24TrainerHeader5
2014-05-18 18:19:10 +00:00
call TalkToTrainer
jp TextScriptEnd
Route24CooltrainerM2BattleText:
text_far _Route24CooltrainerM2BattleText
text_end
2014-05-18 18:19:10 +00:00
Route24CooltrainerM2EndBattleText:
text_far _Route24CooltrainerM2EndBattleText
text_end
2014-05-18 18:19:10 +00:00
Route24CooltrainerM2AfterBattleText:
text_far _Route24CooltrainerM2AfterBattleText
text_end
2014-05-18 18:19:10 +00:00
Route24CooltrainerM3BattleText:
text_far _Route24CooltrainerM3BattleText
text_end
2014-05-18 18:19:10 +00:00
Route24CooltrainerM3EndBattleText:
text_far _Route24CooltrainerM3EndBattleText
text_end
2014-05-18 18:19:10 +00:00
Route24CooltrainerM3AfterBattleText:
text_far _Route24CooltrainerM3AfterBattleText
text_end
2014-05-18 18:19:10 +00:00
Route24CooltrainerF1BattleText:
text_far _Route24CooltrainerF1BattleText
text_end
2014-05-18 18:19:10 +00:00
Route24CooltrainerF1EndBattleText:
text_far _Route24CooltrainerF1EndBattleText
text_end
2014-05-18 18:19:10 +00:00
Route24CooltrainerF1AfterBattleText:
text_far _Route24CooltrainerF1AfterBattleText
text_end
2014-05-18 18:19:10 +00:00
Route24Youngster1BattleText:
text_far _Route24Youngster1BattleText
text_end
2014-05-18 18:19:10 +00:00
Route24Youngster1EndBattleText:
text_far _Route24Youngster1EndBattleText
text_end
2014-05-18 18:19:10 +00:00
Route24Youngster1AfterBattleText:
text_far _Route24Youngster1AfterBattleText
text_end
2014-05-18 18:19:10 +00:00
Route24CooltrainerF2BattleText:
text_far _Route24CooltrainerF2BattleText
text_end
2014-05-18 18:19:10 +00:00
Route24CooltrainerF2EndBattleText:
text_far _Route24CooltrainerF2EndBattleText
text_end
2014-05-18 18:19:10 +00:00
Route24CooltrainerF2AfterBattleText:
text_far _Route24CooltrainerF2AfterBattleText
text_end
2014-05-18 18:19:10 +00:00
Route24Youngster2BattleText:
text_far _Route24Youngster2BattleText
text_end
2014-05-18 18:19:10 +00:00
Route24Youngster2EndBattleText:
text_far _Route24Youngster2EndBattleText
text_end
2014-05-18 18:19:10 +00:00
Route24Youngster2AfterBattleText:
text_far _Route24Youngster2AfterBattleText
text_end