mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-27 20:24:18 +01:00
995 lines
28 KiB
PHP
995 lines
28 KiB
PHP
.set LOCALID_CHALLENGE_BIKER, 21
|
|
.set LOCALID_RIVAL, 28
|
|
.set LOCALID_RIVAL_ON_BIKE, 29
|
|
.set LOCALID_BIRCH, 36
|
|
|
|
Route110_MapScripts::
|
|
map_script MAP_SCRIPT_ON_RESUME, Route110_OnResume
|
|
map_script MAP_SCRIPT_ON_TRANSITION, Route110_OnTransition
|
|
map_script MAP_SCRIPT_ON_FRAME_TABLE, Route110_OnFrame
|
|
.byte 0
|
|
|
|
Route110_OnResume:
|
|
special UpdateCyclingRoadState
|
|
end
|
|
|
|
Route110_OnTransition:
|
|
call Common_EventScript_SetupRivalGfxId
|
|
call Common_EventScript_SetupRivalOnBikeGfxId
|
|
call_if_eq VAR_CYCLING_CHALLENGE_STATE, 1, Route110_EventScript_SaveCyclingMusic
|
|
end
|
|
|
|
Route110_EventScript_SaveCyclingMusic::
|
|
savebgm MUS_CYCLING
|
|
return
|
|
|
|
Route110_OnFrame:
|
|
map_script_2 VAR_CYCLING_CHALLENGE_STATE, 1, Route110_EventScript_BeginCylcingRoadChallenge
|
|
.2byte 0
|
|
|
|
Route110_EventScript_BeginCylcingRoadChallenge::
|
|
special Special_BeginCyclingRoadChallenge
|
|
setvar VAR_CYCLING_CHALLENGE_STATE, 2
|
|
return
|
|
|
|
Route110_EventScript_AquaGrunt1::
|
|
lock
|
|
faceplayer
|
|
msgbox Route110_Text_WeCantTalkAboutAquaActivities, MSGBOX_DEFAULT
|
|
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
|
|
waitmovement 0
|
|
release
|
|
end
|
|
|
|
Route110_EventScript_AquaGrunt2::
|
|
lock
|
|
faceplayer
|
|
msgbox Route110_Text_KickUpARuckus, MSGBOX_DEFAULT
|
|
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
|
|
waitmovement 0
|
|
release
|
|
end
|
|
|
|
Route110_EventScript_AquaGrunt3::
|
|
lock
|
|
faceplayer
|
|
msgbox Route110_Text_MyFirstJobInAqua, MSGBOX_DEFAULT
|
|
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
|
|
waitmovement 0
|
|
release
|
|
end
|
|
|
|
Route110_EventScript_AquaGrunt4::
|
|
lock
|
|
faceplayer
|
|
msgbox Route110_Text_AquaActionsBringSmiles, MSGBOX_DEFAULT
|
|
applymovement VAR_LAST_TALKED, Common_Movement_FaceOriginalDirection
|
|
waitmovement 0
|
|
release
|
|
end
|
|
|
|
Route110_EventScript_Boy1::
|
|
msgbox Route110_Text_RideBikeAtFullSpeed, MSGBOX_NPC
|
|
end
|
|
|
|
Route110_EventScript_CyclingGirl1::
|
|
msgbox Route110_Text_HairStreamsBehindMe, MSGBOX_NPC
|
|
end
|
|
|
|
Route110_EventScript_CyclingGuy1::
|
|
msgbox Route110_Text_YouGotBikeFromRydel, MSGBOX_NPC
|
|
end
|
|
|
|
Route110_EventScript_OldMan::
|
|
msgbox Route110_Text_TwoRoads, MSGBOX_NPC
|
|
end
|
|
|
|
Route110_EventScript_OldWoman::
|
|
msgbox Route110_Text_WalkOnTheLowRoad, MSGBOX_NPC
|
|
end
|
|
|
|
Route110_EventScript_CyclingGuy2::
|
|
msgbox Route110_Text_BikeTechniques, MSGBOX_NPC
|
|
end
|
|
|
|
Route110_EventScript_Boy2::
|
|
msgbox Route110_Text_WhichShouldIChoose, MSGBOX_NPC
|
|
end
|
|
|
|
Route110_EventScript_SlateportCitySign::
|
|
msgbox Route110_Text_SlateportCitySign, MSGBOX_SIGN
|
|
end
|
|
|
|
Route110_EventScript_CyclingRoadSign::
|
|
msgbox Route110_Text_CyclingRoadSign, MSGBOX_SIGN
|
|
end
|
|
|
|
Route110_EventScript_VandalizedSign::
|
|
msgbox Route110_Text_AquaWasHere, MSGBOX_SIGN
|
|
end
|
|
|
|
Route110_EventScript_Route103Sign::
|
|
msgbox Route110_Text_Route103Sign, MSGBOX_SIGN
|
|
end
|
|
|
|
Route110_EventScript_SeasideParkingSign::
|
|
msgbox Route110_Text_SeasideParkingSign, MSGBOX_SIGN
|
|
end
|
|
|
|
Route110_EventScript_MauvilleCitySign::
|
|
msgbox Route110_Text_MauvilleCitySign, MSGBOX_SIGN
|
|
end
|
|
|
|
Route110_EventScript_TrainerTipsPrlzSleep::
|
|
msgbox Route110_Text_TrainerTipsPrlzSleep, MSGBOX_SIGN
|
|
end
|
|
|
|
Route110_EventScript_TrainerTipsRegisterItems::
|
|
msgbox Route110_Text_TrainerTipsRegisterItems, MSGBOX_SIGN
|
|
end
|
|
|
|
Route110_EventScript_TrickHouseSign::
|
|
msgbox Route110_Text_TrickHouseSign, MSGBOX_SIGN
|
|
end
|
|
|
|
Route110_EventScript_CyclingRoadResultsSign::
|
|
lockall
|
|
specialvar VAR_RESULT, GetRecordedCyclingRoadResults
|
|
goto_if_eq VAR_RESULT, FALSE, Route110_EventScript_NoRecordSet
|
|
msgbox Route110_Text_BestRecord, MSGBOX_DEFAULT
|
|
releaseall
|
|
end
|
|
|
|
Route110_EventScript_NoRecordSet::
|
|
msgbox Route110_Text_ThereIsNoRecord, MSGBOX_DEFAULT
|
|
releaseall
|
|
end
|
|
|
|
Route110_EventScript_ChallengeGuy::
|
|
lock
|
|
faceplayer
|
|
specialvar VAR_RESULT, GetPlayerAvatarBike
|
|
goto_if_eq VAR_RESULT, 1, Route110_EventScript_PlayerRidingAcroBike
|
|
goto_if_eq VAR_CYCLING_CHALLENGE_STATE, 0, Route110_EventScript_PlayerNotRidingBike
|
|
msgbox Route110_Text_AlwaysAimHigher, MSGBOX_DEFAULT
|
|
release
|
|
end
|
|
|
|
Route110_EventScript_PlayerNotRidingBike::
|
|
msgbox Route110_Text_RatedForNumberOfCollisions, MSGBOX_DEFAULT
|
|
release
|
|
end
|
|
|
|
Route110_EventScript_PlayerRidingAcroBike::
|
|
msgbox Route110_Text_AcroBikesDoNotQualify, MSGBOX_DEFAULT
|
|
release
|
|
end
|
|
|
|
Route110_EventScript_Edward::
|
|
trainerbattle_single TRAINER_EDWARD, Route110_Text_EdwardIntro, Route110_Text_EdwardDefeated
|
|
msgbox Route110_Text_EdwardPostBattle, MSGBOX_AUTOCLOSE
|
|
end
|
|
|
|
Route110_EventScript_Jaclyn::
|
|
trainerbattle_single TRAINER_JACLYN, Route110_Text_JaclynIntro, Route110_Text_JaclynDefeated
|
|
msgbox Route110_Text_JaclynPostBattle, MSGBOX_AUTOCLOSE
|
|
end
|
|
|
|
Route110_EventScript_Edwin::
|
|
trainerbattle_single TRAINER_EDWIN_1, Route110_Text_EdwinIntro, Route110_Text_EdwinDefeated, Route110_EventScript_EdwinRegisterMatchCallAfterBattle
|
|
specialvar VAR_RESULT, ShouldTryRematchBattle
|
|
goto_if_eq VAR_RESULT, TRUE, Route110_EventScript_EdwinRematch
|
|
msgbox Route110_Text_EdwinPostBattle, MSGBOX_DEFAULT
|
|
release
|
|
end
|
|
|
|
Route110_EventScript_EdwinRegisterMatchCallAfterBattle::
|
|
special PlayerFaceTrainerAfterBattle
|
|
waitmovement 0
|
|
msgbox Route110_Text_EdwinRegister, MSGBOX_DEFAULT
|
|
register_matchcall TRAINER_EDWIN_1
|
|
release
|
|
end
|
|
|
|
Route110_EventScript_EdwinRematch::
|
|
trainerbattle_rematch TRAINER_EDWIN_1, Route110_Text_EdwinRematchIntro, Route110_Text_EdwinRematchDefeated
|
|
msgbox Route110_Text_EdwinRematchPostBattle, MSGBOX_AUTOCLOSE
|
|
end
|
|
|
|
Route110_EventScript_Dale::
|
|
trainerbattle_single TRAINER_DALE, Route110_Text_DaleIntro, Route110_Text_DaleDefeated
|
|
msgbox Route110_Text_DalePostBattle, MSGBOX_AUTOCLOSE
|
|
end
|
|
|
|
Route110_EventScript_Jacob::
|
|
trainerbattle_single TRAINER_JACOB, Route110_Text_JacobIntro, Route110_Text_JacobDefeated
|
|
msgbox Route110_Text_JacobPostBattle, MSGBOX_AUTOCLOSE
|
|
end
|
|
|
|
Route110_EventScript_Anthony::
|
|
trainerbattle_single TRAINER_ANTHONY, Route110_Text_AnthonyIntro, Route110_Text_AnthonyDefeated
|
|
msgbox Route110_Text_AnthonyPostBattle, MSGBOX_AUTOCLOSE
|
|
end
|
|
|
|
Route110_EventScript_Benjamin::
|
|
trainerbattle_single TRAINER_BENJAMIN_1, Route110_Text_BenjaminIntro, Route110_Text_BenjaminDefeated, Route110_EventScript_BenjaminRegisterMatchCallAfterBattle
|
|
specialvar VAR_RESULT, ShouldTryRematchBattle
|
|
goto_if_eq VAR_RESULT, TRUE, Route110_EventScript_BenjaminRematch
|
|
msgbox Route110_Text_BenjaminPostBattle, MSGBOX_DEFAULT
|
|
release
|
|
end
|
|
|
|
Route110_EventScript_BenjaminRegisterMatchCallAfterBattle::
|
|
special PlayerFaceTrainerAfterBattle
|
|
waitmovement 0
|
|
msgbox Route110_Text_BenjaminRegister, MSGBOX_DEFAULT
|
|
register_matchcall TRAINER_BENJAMIN_1
|
|
release
|
|
end
|
|
|
|
Route110_EventScript_BenjaminRematch::
|
|
trainerbattle_rematch TRAINER_BENJAMIN_1, Route110_Text_BenjaminRematchIntro, Route110_Text_BenjaminRematchDefeated
|
|
msgbox Route110_Text_BenjaminRematchPostBattle, MSGBOX_AUTOCLOSE
|
|
end
|
|
|
|
Route110_EventScript_Jasmine::
|
|
trainerbattle_single TRAINER_JASMINE, Route110_Text_JasmineIntro, Route110_Text_JasmineDefeated
|
|
msgbox Route110_Text_JasminePostBattle, MSGBOX_AUTOCLOSE
|
|
end
|
|
|
|
Route110_EventScript_Abigail::
|
|
trainerbattle_single TRAINER_ABIGAIL_1, Route110_Text_AbigailIntro, Route110_Text_AbigailDefeated, Route110_EventScript_AbigailRegisterMatchCallAfterBattle
|
|
specialvar VAR_RESULT, ShouldTryRematchBattle
|
|
goto_if_eq VAR_RESULT, TRUE, Route110_EventScript_AbigailRematch
|
|
msgbox Route110_Text_AbigailPostBattle, MSGBOX_DEFAULT
|
|
release
|
|
end
|
|
|
|
Route110_EventScript_AbigailRegisterMatchCallAfterBattle::
|
|
special PlayerFaceTrainerAfterBattle
|
|
waitmovement 0
|
|
msgbox Route110_Text_AbigailRegister, MSGBOX_DEFAULT
|
|
register_matchcall TRAINER_ABIGAIL_1
|
|
release
|
|
end
|
|
|
|
Route110_EventScript_AbigailRematch::
|
|
trainerbattle_rematch TRAINER_ABIGAIL_1, Route110_Text_AbigailRematchIntro, Route110_Text_AbigailRematchDefeated
|
|
msgbox Route110_Text_AbigailRematchPostBattle, MSGBOX_AUTOCLOSE
|
|
end
|
|
|
|
Route110_EventScript_Isabel::
|
|
trainerbattle_single TRAINER_ISABEL_1, Route110_Text_IsabelIntro, Route110_Text_IsabelDefeated, Route110_EventScript_IsabelRegisterMatchCallAfterBattle
|
|
specialvar VAR_RESULT, ShouldTryRematchBattle
|
|
goto_if_eq VAR_RESULT, TRUE, Route110_EventScript_IsabelRematch
|
|
msgbox Route110_Text_IsabelPostBattle, MSGBOX_DEFAULT
|
|
release
|
|
end
|
|
|
|
Route110_EventScript_IsabelRegisterMatchCallAfterBattle::
|
|
special PlayerFaceTrainerAfterBattle
|
|
waitmovement 0
|
|
msgbox Route110_Text_IsabelRegister, MSGBOX_DEFAULT
|
|
register_matchcall TRAINER_ISABEL_1
|
|
release
|
|
end
|
|
|
|
Route110_EventScript_IsabelRematch::
|
|
trainerbattle_rematch TRAINER_ISABEL_1, Route110_Text_IsabelRematchIntro, Route110_Text_IsabelRematchDefeated
|
|
msgbox Route110_Text_IsabelRematchPostBattle, MSGBOX_AUTOCLOSE
|
|
end
|
|
|
|
Route110_EventScript_Timmy::
|
|
trainerbattle_single TRAINER_TIMMY, Route110_Text_TimmyIntro, Route110_Text_TimmyDefeated
|
|
msgbox Route110_Text_TimmyPostBattle, MSGBOX_AUTOCLOSE
|
|
end
|
|
|
|
Route110_EventScript_Unused::
|
|
end
|
|
|
|
Route110_EventScript_Kaleb::
|
|
trainerbattle_single TRAINER_KALEB, Route110_Text_KalebIntro, Route110_Text_KalebDefeated
|
|
msgbox Route110_Text_KalebPostBattle, MSGBOX_AUTOCLOSE
|
|
end
|
|
|
|
Route110_EventScript_Joseph::
|
|
trainerbattle_single TRAINER_JOSEPH, Route110_Text_JosephIntro, Route110_Text_JosephDefeated
|
|
msgbox Route110_Text_JosephPostBattle, MSGBOX_AUTOCLOSE
|
|
end
|
|
|
|
Route110_EventScript_Alyssa::
|
|
trainerbattle_single TRAINER_ALYSSA, Route110_Text_AlyssaIntro, Route110_Text_AlyssaDefeated
|
|
msgbox Route110_Text_AlyssaPostBattle, MSGBOX_AUTOCLOSE
|
|
end
|
|
|
|
Route110_EventScript_CyclingChallengeEnd::
|
|
lockall
|
|
applymovement LOCALID_CHALLENGE_BIKER, Common_Movement_WalkInPlaceFasterRight
|
|
waitmovement 0
|
|
call Route110_EventScript_CyclingChallengeResults
|
|
releaseall
|
|
end
|
|
|
|
Route110_EventScript_CyclingChallengeResults::
|
|
special FinishCyclingRoadChallenge
|
|
msgbox Route110_Text_CyclingChallengeResultSummary, MSGBOX_DEFAULT
|
|
switch VAR_RESULT
|
|
case 10, Route110_EventScript_ChallengeReactionBest
|
|
case 9, Route110_EventScript_ChallengeReactionGood
|
|
case 8, Route110_EventScript_ChallengeReactionGood
|
|
case 7, Route110_EventScript_ChallengeReactionGood
|
|
case 6, Route110_EventScript_ChallengeReactionOk
|
|
case 5, Route110_EventScript_ChallengeReactionOk
|
|
case 4, Route110_EventScript_ChallengeReactionOk
|
|
case 3, Route110_EventScript_ChallengeReactionBad
|
|
case 2, Route110_EventScript_ChallengeReactionBad
|
|
case 1, Route110_EventScript_ChallengeReactionBad
|
|
case 0, Route110_EventScript_ChallengeReactionWorst
|
|
end
|
|
|
|
Route110_EventScript_ChallengeReactionBest::
|
|
msgbox Route110_Text_ChallengeReactionBest, MSGBOX_DEFAULT
|
|
goto Route110_EventScript_EndChallenge
|
|
end
|
|
|
|
Route110_EventScript_ChallengeReactionGood::
|
|
msgbox Route110_Text_ChallengeReactionGood, MSGBOX_DEFAULT
|
|
goto Route110_EventScript_EndChallenge
|
|
end
|
|
|
|
Route110_EventScript_ChallengeReactionOk::
|
|
msgbox Route110_Text_ChallengeReactionOk, MSGBOX_DEFAULT
|
|
goto Route110_EventScript_EndChallenge
|
|
end
|
|
|
|
Route110_EventScript_ChallengeReactionBad::
|
|
msgbox Route110_Text_ChallengeReactionBad, MSGBOX_DEFAULT
|
|
goto Route110_EventScript_EndChallenge
|
|
end
|
|
|
|
Route110_EventScript_ChallengeReactionWorst::
|
|
msgbox Route110_Text_ChallengeReactionWorst, MSGBOX_DEFAULT
|
|
goto Route110_EventScript_EndChallenge
|
|
end
|
|
|
|
Route110_EventScript_EndChallenge::
|
|
setvar VAR_CYCLING_CHALLENGE_STATE, 3
|
|
savebgm MUS_DUMMY
|
|
fadedefaultbgm
|
|
return
|
|
|
|
Route110_EventScript_RivalTrigger1::
|
|
setvar VAR_0x8008, 1
|
|
goto Route110_EventScript_RivalScene
|
|
end
|
|
|
|
Route110_EventScript_RivalTrigger2::
|
|
setvar VAR_0x8008, 2
|
|
goto Route110_EventScript_RivalScene
|
|
end
|
|
|
|
Route110_EventScript_RivalTrigger3::
|
|
setvar VAR_0x8008, 3
|
|
goto Route110_EventScript_RivalScene
|
|
end
|
|
|
|
Route110_EventScript_RivalScene::
|
|
lockall
|
|
checkplayergender
|
|
call_if_eq VAR_RESULT, MALE, Route110_EventScript_PlayMayMusic
|
|
call_if_eq VAR_RESULT, FEMALE, Route110_EventScript_PlayBrendanMusic
|
|
applymovement LOCALID_RIVAL, Common_Movement_WalkInPlaceFasterDown
|
|
waitmovement 0
|
|
applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark
|
|
waitmovement 0
|
|
applymovement LOCALID_RIVAL, Common_Movement_Delay48
|
|
waitmovement 0
|
|
delay 30
|
|
call_if_eq VAR_0x8008, 1, Route110_EventScript_RivalApproachPlayer1
|
|
call_if_eq VAR_0x8008, 2, Route110_EventScript_RivalApproachPlayer2
|
|
call_if_eq VAR_0x8008, 3, Route110_EventScript_RivalApproachPlayer3
|
|
checkplayergender
|
|
goto_if_eq VAR_RESULT, MALE, Route110_EventScript_MayBattle
|
|
goto_if_eq VAR_RESULT, FEMALE, Route110_EventScript_BrendanBattle
|
|
releaseall
|
|
end
|
|
|
|
Route110_EventScript_PlayMayMusic::
|
|
playbgm MUS_ENCOUNTER_MAY, TRUE
|
|
return
|
|
|
|
Route110_EventScript_PlayBrendanMusic::
|
|
playbgm MUS_ENCOUNTER_BRENDAN, TRUE
|
|
return
|
|
|
|
Route110_EventScript_MayBattle::
|
|
msgbox Route110_Text_MayLetsBattle, MSGBOX_DEFAULT
|
|
switch VAR_STARTER_MON
|
|
case 0, Route110_EventScript_MayBattleTreecko
|
|
case 1, Route110_EventScript_MayBattleTorchic
|
|
case 2, Route110_EventScript_MayBattleMudkip
|
|
end
|
|
|
|
Route110_EventScript_MayBattleTreecko::
|
|
trainerbattle_no_intro TRAINER_MAY_ROUTE_110_TREECKO, Route110_Text_MayDefeated
|
|
goto Route110_EventScript_MayDefeated
|
|
end
|
|
|
|
Route110_EventScript_MayBattleTorchic::
|
|
trainerbattle_no_intro TRAINER_MAY_ROUTE_110_TORCHIC, Route110_Text_MayDefeated
|
|
goto Route110_EventScript_MayDefeated
|
|
end
|
|
|
|
Route110_EventScript_MayBattleMudkip::
|
|
trainerbattle_no_intro TRAINER_MAY_ROUTE_110_MUDKIP, Route110_Text_MayDefeated
|
|
goto Route110_EventScript_MayDefeated
|
|
end
|
|
|
|
Route110_EventScript_MayDefeated::
|
|
msgbox Route110_Text_MayTakeThis, MSGBOX_DEFAULT
|
|
call Route110_EventScript_GiveItemfinder
|
|
msgbox Route110_Text_MayExplainItemfinder, MSGBOX_DEFAULT
|
|
goto Route110_EventScript_RivalExit
|
|
end
|
|
|
|
Route110_EventScript_BrendanBattle::
|
|
msgbox Route110_Text_BrendanLetsBattle, MSGBOX_DEFAULT
|
|
switch VAR_STARTER_MON
|
|
case 0, Route110_EventScript_BrendanBattleTreecko
|
|
case 1, Route110_EventScript_BrendanBattleTorchic
|
|
case 2, Route110_EventScript_BrendanBattleMudkip
|
|
end
|
|
|
|
Route110_EventScript_BrendanBattleTreecko::
|
|
trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_110_TREECKO, Route110_Text_BrendanDefeated
|
|
goto Route110_EventScript_BrendanDefeated
|
|
end
|
|
|
|
Route110_EventScript_BrendanBattleTorchic::
|
|
trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_110_TORCHIC, Route110_Text_BrendanDefeated
|
|
goto Route110_EventScript_BrendanDefeated
|
|
end
|
|
|
|
Route110_EventScript_BrendanBattleMudkip::
|
|
trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_110_MUDKIP, Route110_Text_BrendanDefeated
|
|
goto Route110_EventScript_BrendanDefeated
|
|
end
|
|
|
|
Route110_EventScript_BrendanDefeated::
|
|
msgbox Route110_Text_BrendanTakeThis, MSGBOX_DEFAULT
|
|
call Route110_EventScript_GiveItemfinder
|
|
msgbox Route110_Text_BrendanExplainItemfinder, MSGBOX_DEFAULT
|
|
goto Route110_EventScript_RivalExit
|
|
end
|
|
|
|
Route110_EventScript_GiveItemfinder::
|
|
giveitem ITEM_DOWSING_MACHINE
|
|
return
|
|
|
|
Route110_EventScript_RivalExit::
|
|
closemessage
|
|
call_if_eq VAR_0x8008, 1, Route110_EventScript_MoveRival1
|
|
call_if_eq VAR_0x8008, 2, Route110_EventScript_MoveRival2
|
|
call_if_eq VAR_0x8008, 3, Route110_EventScript_MoveRival3
|
|
setobjectmovementtype LOCALID_RIVAL, MOVEMENT_TYPE_FACE_RIGHT
|
|
setobjectmovementtype LOCALID_RIVAL_ON_BIKE, MOVEMENT_TYPE_FACE_RIGHT
|
|
removeobject LOCALID_RIVAL
|
|
addobject LOCALID_RIVAL_ON_BIKE
|
|
delay 45
|
|
call_if_eq VAR_0x8008, 1, Route110_EventScript_RivalExit1
|
|
call_if_eq VAR_0x8008, 2, Route110_EventScript_RivalExit2
|
|
call_if_eq VAR_0x8008, 3, Route110_EventScript_RivalExit3
|
|
removeobject LOCALID_RIVAL_ON_BIKE
|
|
setvar VAR_ROUTE110_STATE, 1
|
|
savebgm MUS_DUMMY
|
|
fadedefaultbgm
|
|
releaseall
|
|
end
|
|
|
|
Route110_EventScript_RivalApproachPlayer1::
|
|
applymovement LOCALID_RIVAL, Route110_Movement_RivalApproachPlayer1
|
|
waitmovement 0
|
|
return
|
|
|
|
Route110_EventScript_RivalApproachPlayer2::
|
|
applymovement LOCALID_RIVAL, Route110_Movement_RivalApproachPlayer2
|
|
waitmovement 0
|
|
return
|
|
|
|
Route110_EventScript_RivalApproachPlayer3::
|
|
applymovement LOCALID_RIVAL, Route110_Movement_RivalApproachPlayer3
|
|
waitmovement 0
|
|
return
|
|
|
|
Route110_EventScript_RivalExit1::
|
|
applymovement LOCALID_RIVAL_ON_BIKE, Route110_Movement_RivalExit1
|
|
waitmovement 0
|
|
return
|
|
|
|
Route110_EventScript_RivalExit2::
|
|
applymovement LOCALID_RIVAL_ON_BIKE, Route110_Movement_RivalExit2
|
|
waitmovement 0
|
|
return
|
|
|
|
Route110_EventScript_RivalExit3::
|
|
applymovement LOCALID_RIVAL_ON_BIKE, Route110_Movement_RivalExit3
|
|
waitmovement 0
|
|
return
|
|
|
|
Route110_EventScript_MoveRival1::
|
|
setobjectxyperm LOCALID_RIVAL_ON_BIKE, 33, 55
|
|
return
|
|
|
|
Route110_EventScript_MoveRival2::
|
|
setobjectxyperm LOCALID_RIVAL_ON_BIKE, 34, 55
|
|
return
|
|
|
|
Route110_EventScript_MoveRival3::
|
|
setobjectxyperm LOCALID_RIVAL_ON_BIKE, 35, 55
|
|
return
|
|
|
|
Route110_Movement_RivalApproachPlayer1:
|
|
walk_down
|
|
walk_left
|
|
walk_in_place_faster_down
|
|
step_end
|
|
|
|
Route110_Movement_RivalApproachPlayer2:
|
|
walk_down
|
|
step_end
|
|
|
|
Route110_Movement_RivalApproachPlayer3:
|
|
walk_down
|
|
walk_right
|
|
walk_in_place_faster_down
|
|
step_end
|
|
|
|
Route110_Movement_RivalExit1:
|
|
walk_fast_up
|
|
walk_fast_up
|
|
walk_fast_up
|
|
walk_fast_up
|
|
walk_fast_up
|
|
walk_fast_up
|
|
walk_fast_up
|
|
step_end
|
|
|
|
Route110_Movement_RivalExit2:
|
|
walk_fast_up
|
|
walk_fast_up
|
|
walk_fast_up
|
|
walk_fast_up
|
|
walk_fast_up
|
|
walk_fast_up
|
|
walk_fast_up
|
|
walk_fast_down
|
|
step_end
|
|
|
|
Route110_Movement_RivalExit3:
|
|
walk_fast_up
|
|
walk_fast_up
|
|
walk_fast_up
|
|
walk_fast_up
|
|
walk_fast_up
|
|
walk_fast_up
|
|
walk_fast_up
|
|
step_end
|
|
|
|
Route110_EventScript_BirchScene1::
|
|
lockall
|
|
setvar VAR_0x8008, 1
|
|
goto Route110_EventScript_BirchScene
|
|
|
|
Route110_EventScript_BirchScene2::
|
|
lockall
|
|
setvar VAR_0x8008, 2
|
|
goto Route110_EventScript_BirchScene
|
|
|
|
Route110_EventScript_BirchScene3::
|
|
lockall
|
|
setvar VAR_0x8008, 3
|
|
goto Route110_EventScript_BirchScene
|
|
|
|
Route110_EventScript_BirchScene4::
|
|
lockall
|
|
setvar VAR_0x8008, 4
|
|
goto Route110_EventScript_BirchScene
|
|
|
|
Route110_EventScript_BirchScene::
|
|
addobject LOCALID_BIRCH
|
|
applymovement LOCALID_BIRCH, Route110_Movement_BirchEntrance
|
|
waitmovement 0
|
|
playse SE_PIN
|
|
applymovement LOCALID_BIRCH, Common_Movement_ExclamationMark
|
|
waitmovement 0
|
|
applymovement LOCALID_BIRCH, Common_Movement_Delay48
|
|
waitmovement 0
|
|
call_if_eq VAR_0x8008, 1, Route110_EventScript_BirchApproachPlayer1
|
|
call_if_eq VAR_0x8008, 2, Route110_EventScript_BirchApproachPlayer2
|
|
call_if_eq VAR_0x8008, 3, Route110_EventScript_BirchApproachPlayer3
|
|
call_if_eq VAR_0x8008, 4, Route110_EventScript_BirchApproachPlayer4
|
|
msgbox Route110_Text_ImagineSeeingYouHere, MSGBOX_DEFAULT
|
|
closemessage
|
|
delay 20
|
|
applymovement LOCALID_BIRCH, Common_Movement_WalkInPlaceFasterLeft
|
|
waitmovement 0
|
|
delay 10
|
|
applymovement LOCALID_BIRCH, Common_Movement_WalkInPlaceFasterRight
|
|
waitmovement 0
|
|
delay 20
|
|
applymovement LOCALID_BIRCH, Common_Movement_WalkInPlaceFasterDown
|
|
waitmovement 0
|
|
delay 30
|
|
msgbox Route110_Text_HeardYouInstallMatchCall, MSGBOX_DEFAULT
|
|
closemessage
|
|
delay 30
|
|
playfanfare MUS_REGISTER_MATCH_CALL
|
|
msgbox Route110_Text_RegisteredBirchInPokenav, MSGBOX_DEFAULT
|
|
waitfanfare
|
|
closemessage
|
|
delay 30
|
|
setflag FLAG_ENABLE_PROF_BIRCH_MATCH_CALL
|
|
msgbox Route110_Text_KeepAnEyeOutForRival, MSGBOX_DEFAULT
|
|
closemessage
|
|
call_if_eq VAR_0x8008, 1, Route110_EventScript_BirchExit1
|
|
call_if_eq VAR_0x8008, 2, Route110_EventScript_BirchExit2
|
|
call_if_eq VAR_0x8008, 3, Route110_EventScript_BirchExit3
|
|
call_if_eq VAR_0x8008, 4, Route110_EventScript_BirchExit4
|
|
removeobject LOCALID_BIRCH
|
|
setvar VAR_REGISTER_BIRCH_STATE, 2
|
|
releaseall
|
|
end
|
|
|
|
Route110_EventScript_BirchApproachPlayer1::
|
|
applymovement LOCALID_BIRCH, Route110_Movement_BirchApproachPlayer1
|
|
waitmovement 0
|
|
return
|
|
|
|
Route110_EventScript_BirchApproachPlayer2::
|
|
applymovement LOCALID_BIRCH, Route110_Movement_BirchApproachPlayer2
|
|
waitmovement 0
|
|
return
|
|
|
|
Route110_EventScript_BirchApproachPlayer3::
|
|
applymovement LOCALID_BIRCH, Route110_Movement_BirchApproachPlayer3
|
|
waitmovement 0
|
|
return
|
|
|
|
Route110_EventScript_BirchApproachPlayer4::
|
|
applymovement LOCALID_BIRCH, Route110_Movement_BirchApproachPlayer4
|
|
waitmovement 0
|
|
return
|
|
|
|
Route110_EventScript_BirchExit1::
|
|
applymovement LOCALID_BIRCH, Route110_Movement_BirchExit1
|
|
waitmovement 0
|
|
return
|
|
|
|
Route110_EventScript_BirchExit2::
|
|
applymovement LOCALID_BIRCH, Route110_Movement_BirchExit2
|
|
waitmovement 0
|
|
return
|
|
|
|
Route110_EventScript_BirchExit3::
|
|
applymovement LOCALID_BIRCH, Route110_Movement_BirchExit3
|
|
waitmovement 0
|
|
return
|
|
|
|
Route110_EventScript_BirchExit4::
|
|
applymovement LOCALID_BIRCH, Route110_Movement_BirchExit4
|
|
waitmovement 0
|
|
return
|
|
|
|
Route110_Movement_BirchEntrance:
|
|
walk_down
|
|
walk_down
|
|
walk_down
|
|
step_end
|
|
|
|
Route110_Movement_BirchApproachPlayer1:
|
|
walk_down
|
|
walk_left
|
|
walk_left
|
|
walk_down
|
|
step_end
|
|
|
|
Route110_Movement_BirchApproachPlayer2:
|
|
walk_down
|
|
walk_left
|
|
walk_down
|
|
step_end
|
|
|
|
Route110_Movement_BirchApproachPlayer3:
|
|
walk_down
|
|
walk_down
|
|
step_end
|
|
|
|
Route110_Movement_BirchApproachPlayer4:
|
|
walk_down
|
|
walk_right
|
|
walk_down
|
|
step_end
|
|
|
|
Route110_Movement_BirchExit1:
|
|
walk_up
|
|
walk_up
|
|
walk_right
|
|
walk_up
|
|
walk_up
|
|
walk_up
|
|
step_end
|
|
|
|
Route110_Movement_BirchExit2:
|
|
walk_up
|
|
walk_up
|
|
walk_up
|
|
walk_up
|
|
walk_up
|
|
step_end
|
|
|
|
Route110_Movement_BirchExit3:
|
|
walk_up
|
|
walk_up
|
|
walk_up
|
|
walk_up
|
|
walk_up
|
|
step_end
|
|
|
|
Route110_Movement_BirchExit4:
|
|
walk_up
|
|
walk_up
|
|
walk_up
|
|
walk_up
|
|
walk_up
|
|
step_end
|
|
|
|
Route110_Text_WeCantTalkAboutAquaActivities:
|
|
.string "TEAM AQUA's activities…\n"
|
|
.string "We can't talk about them yet.$"
|
|
|
|
Route110_Text_KickUpARuckus:
|
|
.string "I want to get going to SLATEPORT and\n"
|
|
.string "kick up a ruckus!$"
|
|
|
|
Route110_Text_MyFirstJobInAqua:
|
|
.string "This is my first job after joining\n"
|
|
.string "TEAM AQUA. It's a little scary.$"
|
|
|
|
Route110_Text_AquaActionsBringSmiles:
|
|
.string "TEAM AQUA's actions should bring\n"
|
|
.string "smiles to people's faces!$"
|
|
|
|
Route110_Text_MayLetsBattle:
|
|
.string "MAY: Hi, {PLAYER}{KUN}, long time no see!\p"
|
|
.string "While I was searching for other\n"
|
|
.string "POKéMON, my POKéMON grew stronger.\p"
|
|
.string "So…\n"
|
|
.string "How about a little battle?$"
|
|
|
|
Route110_Text_MayDefeated:
|
|
.string "Yikes!\n"
|
|
.string "You're better than I expected!$"
|
|
|
|
Route110_Text_MayTakeThis:
|
|
.string "MAY: {PLAYER}{KUN}, you've been busy\n"
|
|
.string "training, too, haven't you?\p"
|
|
.string "I think you deserve a reward!\n"
|
|
.string "This is from me!$"
|
|
|
|
Route110_Text_MayExplainItemfinder:
|
|
.string "MAY: That's an ITEMFINDER.\p"
|
|
.string "Try it out. If there is an item that's\n"
|
|
.string "not visible, it emits a sound.\p"
|
|
.string "Okay, {PLAYER}{KUN}, let's meet again!\p"
|
|
.string "I know it's a little silly coming from\n"
|
|
.string "me, but I think you should train a lot\l"
|
|
.string "harder for the next time.$"
|
|
|
|
Route110_Text_BrendanLetsBattle:
|
|
.string "BRENDAN: Hey, {PLAYER}.\n"
|
|
.string "So this is where you were.\l"
|
|
.string "How's it going?\p"
|
|
.string "Have you been raising your POKéMON?\n"
|
|
.string "I'll check for you.$"
|
|
|
|
Route110_Text_BrendanDefeated:
|
|
.string "Hmm…\n"
|
|
.string "You're pretty good.$"
|
|
|
|
Route110_Text_BrendanTakeThis:
|
|
.string "BRENDAN: {PLAYER}, you've trained\n"
|
|
.string "without me noticing…\p"
|
|
.string "Good enough!\n"
|
|
.string "Here, take this.$"
|
|
|
|
Route110_Text_BrendanExplainItemfinder:
|
|
.string "BRENDAN: That's an ITEMFINDER.\p"
|
|
.string "Use it to root around for items that\n"
|
|
.string "aren't visible.\p"
|
|
.string "If it senses something, it emits\n"
|
|
.string "a sound.\p"
|
|
.string "Anyway, I'm off to look for new\n"
|
|
.string "POKéMON.$"
|
|
|
|
Route110_Text_RideBikeAtFullSpeed:
|
|
.string "Wouldn't it be great to ride a BIKE\n"
|
|
.string "at full speed on CYCLING ROAD?$"
|
|
|
|
Route110_Text_HairStreamsBehindMe:
|
|
.string "How do you like the way my raven-\n"
|
|
.string "colored hair streams behind me?\p"
|
|
.string "I grew my hair out just for that.$"
|
|
|
|
Route110_Text_YouGotBikeFromRydel:
|
|
.string "Oh, hey, you got that BIKE from RYDEL!\p"
|
|
.string "Oh, it's glaringly obvious.\n"
|
|
.string "It says right on your bike…\p"
|
|
.string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\n"
|
|
.string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\p"
|
|
.string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\n"
|
|
.string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\p"
|
|
.string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\n"
|
|
.string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\p"
|
|
.string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\n"
|
|
.string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\p"
|
|
.string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL…\n"
|
|
.string "That name's everywhere.\p"
|
|
.string "You should ride it around all over\n"
|
|
.string "the place--it's good advertising!$"
|
|
|
|
Route110_Text_TwoRoads:
|
|
.string "The two roads, one above, one below…\p"
|
|
.string "A road each for people and POKéMON.\n"
|
|
.string "Perhaps that is right and fair.$"
|
|
|
|
Route110_Text_WalkOnTheLowRoad:
|
|
.string "I don't have a BIKE, so I'll take\n"
|
|
.string "a leisurely walk on the low road.$"
|
|
|
|
Route110_Text_BikeTechniques:
|
|
.string "Learning techniques will make BIKE\n"
|
|
.string "riding even more fun.\p"
|
|
.string "There are some places that you can\n"
|
|
.string "reach only by using a BIKE technique.$"
|
|
|
|
Route110_Text_WhichShouldIChoose:
|
|
.string "Which should I choose?\p"
|
|
.string "Make a beeline for MAUVILLE on\n"
|
|
.string "CYCLING ROAD, or take the low road\l"
|
|
.string "and look for POKéMON?$"
|
|
|
|
Route110_Text_CyclingChallengeResultSummary:
|
|
.string "Number of collisions:\n"
|
|
.string "… … {STR_VAR_1}!\p"
|
|
.string "Total time:\n"
|
|
.string "… … {STR_VAR_2}!$"
|
|
|
|
Route110_Text_ChallengeReactionBest:
|
|
.string "Bravo! Splendid showing!\p"
|
|
.string "Your love of cycling comes from deep\n"
|
|
.string "within your heart.\l"
|
|
.string "You've shaken me to my very soul!$"
|
|
|
|
Route110_Text_ChallengeReactionGood:
|
|
.string "Your technique is remarkable.\p"
|
|
.string "I suggest you speed up a bit while\n"
|
|
.string "still avoiding collisions.$"
|
|
|
|
Route110_Text_ChallengeReactionOk:
|
|
.string "I would consider you a work in\n"
|
|
.string "progress.\p"
|
|
.string "Still, I hope you don't forget the\n"
|
|
.string "sheer pleasure of cycling.$"
|
|
|
|
Route110_Text_ChallengeReactionBad:
|
|
.string "My word… Your cycling skills border\n"
|
|
.string "on terrifying.\p"
|
|
.string "Most certainly, you need much more\n"
|
|
.string "practice riding.$"
|
|
|
|
Route110_Text_ChallengeReactionWorst:
|
|
.string "…I am aghast…\p"
|
|
.string "You're perhaps not cut out for this\n"
|
|
.string "unfortunate cycling business.\p"
|
|
.string "You ought to give serious thought to\n"
|
|
.string "returning that BIKE to RYDEL.$"
|
|
|
|
Route110_Text_RatedForNumberOfCollisions:
|
|
.string "This is CYCLING ROAD.\p"
|
|
.string "If you were to ride from MAUVILLE to\n"
|
|
.string "SLATEPORT on a MACH BIKE, you would\l"
|
|
.string "be rated for the number of collisions\l"
|
|
.string "and your total time.$"
|
|
|
|
Route110_Text_AlwaysAimHigher:
|
|
.string "Regardless of the results, I count on\n"
|
|
.string "seeing more challenges from you.\l"
|
|
.string "Always aim higher!$"
|
|
|
|
Route110_Text_AcroBikesDoNotQualify:
|
|
.string "On this CYCLING ROAD, those riding\n"
|
|
.string "MACH BIKES are rated for their number\l"
|
|
.string "of collisions and their total times.\p"
|
|
.string "ACRO BIKES do not qualify for rating.\n"
|
|
.string "They are easy to turn, so it's not fair.$"
|
|
|
|
Route110_Text_SlateportCitySign:
|
|
.string "ROUTE 110\n"
|
|
.string "{DOWN_ARROW} SLATEPORT CITY$"
|
|
|
|
Route110_Text_CyclingRoadSign:
|
|
.string "SEASIDE CYCLING ROAD$"
|
|
|
|
Route110_Text_AquaWasHere:
|
|
.string "“TEAM AQUA was here!”\p"
|
|
.string "Someone painted that onto this sign,\n"
|
|
.string "but then someone else painted over it.\p"
|
|
.string "“TEAM MAGMA rules!” is what it\n"
|
|
.string "says now.$"
|
|
|
|
Route110_Text_Route103Sign:
|
|
.string "ROUTE 110\n"
|
|
.string "{LEFT_ARROW} ROUTE 103$"
|
|
|
|
Route110_Text_SeasideParkingSign:
|
|
.string "SEASIDE PARKING$"
|
|
|
|
Route110_Text_MauvilleCitySign:
|
|
.string "ROUTE 110\n"
|
|
.string "{UP_ARROW} MAUVILLE CITY$"
|
|
|
|
Route110_Text_TrainerTipsPrlzSleep:
|
|
.string "TRAINER TIPS\p"
|
|
.string "The foe can be made helpless by\n"
|
|
.string "paralyzing it or causing it to sleep.\p"
|
|
.string "It is an important technique for\n"
|
|
.string "POKéMON battles.$"
|
|
|
|
Route110_Text_TrainerTipsRegisterItems:
|
|
.string "TRAINER TIPS\p"
|
|
.string "The items in the BAG can be reorganized\n"
|
|
.string "by pressing SELECT.$"
|
|
|
|
Route110_Text_TrickHouseSign:
|
|
.string "“Three steps {RIGHT_ARROW} and two steps {UP_ARROW}\n"
|
|
.string "to reach the wondrous TRICK HOUSE.”$"
|
|
|
|
Route110_Text_BestRecord:
|
|
.string "THE BEST RECORD TO DATE…\p"
|
|
.string "No. of collisions: {STR_VAR_1}\p"
|
|
.string "Elapsed time: {STR_VAR_2}$"
|
|
|
|
Route110_Text_ThereIsNoRecord:
|
|
.string "THE BEST RECORD TO DATE…\p"
|
|
.string "No one seems to have taken the\n"
|
|
.string "challenge. There is no record…$"
|
|
|
|
Route110_Text_ImagineSeeingYouHere:
|
|
.string "PROF. BIRCH: Oh, {PLAYER}{KUN}!\n"
|
|
.string "Imagine seeing you here!\p"
|
|
.string "And where might my {RIVAL} be?$"
|
|
|
|
Route110_Text_HeardYouInstallMatchCall:
|
|
.string "Oh, I see!\n"
|
|
.string "You two are running separately.\l"
|
|
.string "Well, that's fine.\p"
|
|
.string "Oh, yes, I heard that your POKéNAV\n"
|
|
.string "had the MATCH CALL system installed.\p"
|
|
.string "Well, then, I should register you in\n"
|
|
.string "my POKéNAV as well.\p"
|
|
.string "That way, even when we're apart,\n"
|
|
.string "I can rate your POKéDEX anytime.\p"
|
|
.string "… … … … … …$"
|
|
|
|
Route110_Text_RegisteredBirchInPokenav:
|
|
.string "Registered PROF. BIRCH\n"
|
|
.string "in the POKéNAV.$"
|
|
|
|
Route110_Text_KeepAnEyeOutForRival:
|
|
.string "PROF. BIRCH: {PLAYER}{KUN}…\p"
|
|
.string "Please keep an eye out for my {RIVAL}.\n"
|
|
.string "… … … … … …\p"
|
|
.string "Well, I had better get going.\n"
|
|
.string "See you again, {PLAYER}{KUN}!$"
|
|
|