pokeemerald/data/maps/RustboroCity/scripts.inc
2025-06-11 09:45:39 -04:00

1030 lines
30 KiB
C++

RustboroCity_MapScripts::
map_script MAP_SCRIPT_ON_TRANSITION, RustboroCity_OnTransition
map_script MAP_SCRIPT_ON_FRAME_TABLE, RustboroCity_OnFrame
.byte 0
RustboroCity_OnTransition:
setflag FLAG_VISITED_RUSTBORO_CITY
call Common_EventScript_SetupRivalGfxId
call_if_eq VAR_RUSTBORO_CITY_STATE, 6, RustboroCity_EventScript_HideMapNamePopup
getplayerxy VAR_TEMP_0, VAR_TEMP_1
goto_if_eq VAR_RUSTBORO_CITY_STATE, 6, RustboroCity_EventScript_PositionScientistForExit
end
RustboroCity_EventScript_PositionScientistForExit::
goto_if_eq VAR_TEMP_0, 11, RustboroCity_EventScript_PositionScientistLeftExit
setobjectxyperm LOCALID_RUSTBORO_SCIENTIST, 12, 15
end
RustboroCity_EventScript_PositionScientistLeftExit::
setobjectxyperm LOCALID_RUSTBORO_SCIENTIST, 11, 15
end
RustboroCity_EventScript_HideMapNamePopup::
setflag FLAG_HIDE_MAP_NAME_POPUP
return
RustboroCity_OnFrame:
map_script_2 VAR_RUSTBORO_CITY_STATE, 6, RustboroCity_EventScript_ScientistAddMatchCall
.2byte 0
RustboroCity_EventScript_ScientistAddMatchCall::
lockall
setvar VAR_ROUTE104_STATE, 1
applymovement LOCALID_PLAYER, RustboroCity_Movement_PlayerWalkDown
waitmovement 0
playse SE_EXIT
delay 10
addobject LOCALID_RUSTBORO_SCIENTIST
applymovement LOCALID_RUSTBORO_SCIENTIST, RustboroCity_Movement_ScientistApproachPlayer
waitmovement 0
playse SE_PIN
applymovement LOCALID_RUSTBORO_SCIENTIST, Common_Movement_ExclamationMark
waitmovement 0
applymovement LOCALID_RUSTBORO_SCIENTIST, Common_Movement_Delay48
waitmovement 0
applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
applymovement LOCALID_RUSTBORO_SCIENTIST, RustboroCity_Movement_ScientistWalkInPlaceDown
waitmovement 0
msgbox RustboroCity_Text_DevelopedNewPokenavFeature, MSGBOX_DEFAULT
closemessage
setflag FLAG_HAS_MATCH_CALL
applymovement LOCALID_RUSTBORO_SCIENTIST, Common_Movement_WalkInPlaceFasterLeft
waitmovement 0
playse SE_CLICK
delay 10
playse SE_CLICK
delay 10
playse SE_CLICK
delay 10
playse SE_CLICK
delay 20
applymovement LOCALID_RUSTBORO_SCIENTIST, Common_Movement_WalkInPlaceFasterDown
waitmovement 0
msgbox RustboroCity_Text_AddedMatchCallPleaseCallMrStone, MSGBOX_DEFAULT
closemessage
delay 20
goto RustboroCity_EventScript_MatchCallTutorial
RustboroCity_EventScript_PleaseSelectPokenav::
msgbox RustboroCity_Text_PleaseSelectPokenav, MSGBOX_DEFAULT
closemessage
delay 10
goto RustboroCity_EventScript_MatchCallTutorial
RustboroCity_EventScript_MatchCallTutorial::
setflag FLAG_ADDED_MATCH_CALL_TO_POKENAV
special ScriptMenu_CreateStartMenuForPokenavTutorial
waitstate
switch VAR_RESULT
case 0, RustboroCity_EventScript_PleaseSelectPokenav
case 1, RustboroCity_EventScript_PleaseSelectPokenav
case 2, RustboroCity_EventScript_PleaseSelectPokenav
case 4, RustboroCity_EventScript_PleaseSelectPokenav
case 5, RustboroCity_EventScript_PleaseSelectPokenav
case 6, RustboroCity_EventScript_PleaseSelectPokenav
case 7, RustboroCity_EventScript_PleaseSelectPokenav
case MULTI_B_PRESSED, RustboroCity_EventScript_PleaseSelectPokenav
special OpenPokenavForTutorial
waitstate
delay 20
msgbox RustboroCity_Text_IdBetterGetBackToWork, MSGBOX_DEFAULT
closemessage
applymovement LOCALID_RUSTBORO_SCIENTIST, RustboroCity_Movement_ScientistLeave
waitmovement 0
playse SE_EXIT
removeobject LOCALID_RUSTBORO_SCIENTIST
setflag FLAG_HIDE_RUSTBORO_CITY_SCIENTIST
setvar VAR_RUSTBORO_CITY_STATE, 7
clearflag FLAG_HIDE_MAP_NAME_POPUP
releaseall
end
RustboroCity_Movement_ScientistWalkInPlaceDown:
walk_in_place_down
step_end
RustboroCity_Movement_PlayerWalkDown:
walk_down
step_end
RustboroCity_Movement_ScientistApproachPlayer:
walk_down
delay_16
step_end
@ Unused
RustboroCity_Movement_ScientistWalkAroundPlayer:
delay_16
walk_left
walk_down
walk_down
walk_right
walk_in_place_faster_up
delay_16
step_end
RustboroCity_Movement_ScientistLeave:
walk_up
step_end
RustboroCity_EventScript_FatMan::
lock
faceplayer
goto_if_set FLAG_DEVON_GOODS_STOLEN, RustboroCity_EventScript_FatManSawGrunt
msgbox RustboroCity_Text_WeShortenItToDevon, MSGBOX_DEFAULT
release
end
RustboroCity_EventScript_FatManSawGrunt::
msgbox RustboroCity_Text_SneakyLookingManWentAroundCorner, MSGBOX_DEFAULT
release
end
RustboroCity_EventScript_DevonEmployee2::
lock
faceplayer
msgbox RustboroCity_Text_YoureNewAroundHere, MSGBOX_DEFAULT
release
end
RustboroCity_EventScript_Woman::
msgbox RustboroCity_Text_GymLeaderIsntEasyWithFire, MSGBOX_NPC
end
RustboroCity_EventScript_Man1::
lock
faceplayer
goto_if_set FLAG_BADGE01_GET, RustboroCity_EventScript_Man1HaveBadge
msgbox RustboroCity_Text_HaveYouChallengedGym, MSGBOX_DEFAULT
release
end
RustboroCity_EventScript_Man1HaveBadge::
msgbox RustboroCity_Text_HeyThatsRustborosGymBadge, MSGBOX_DEFAULT
release
end
RustboroCity_EventScript_Boy2::
lock
faceplayer
goto_if_set FLAG_RECEIVED_POKENAV, RustboroCity_EventScript_Boy2BrineyLeftTunnel
msgbox RustboroCity_Text_MrBrineyWalksInTheTunnel, MSGBOX_DEFAULT
release
end
RustboroCity_EventScript_Boy2BrineyLeftTunnel::
msgbox RustboroCity_Text_MrBrineyLovesPeeko, MSGBOX_DEFAULT
release
end
RustboroCity_EventScript_Twin::
msgbox RustboroCity_Text_WowYouHavePokemon, MSGBOX_NPC
end
RustboroCity_EventScript_NinjaBoy::
msgbox RustboroCity_Text_CatchRarePokemonIfIGoToSchool, MSGBOX_SIGN
end
RustboroCity_EventScript_TunnelSign::
msgbox RustboroCity_Text_TunnelNearingCompletion, MSGBOX_SIGN
end
RustboroCity_EventScript_DevonCorpSign::
msgbox RustboroCity_Text_DevonCorpSign, MSGBOX_SIGN
end
RustboroCity_EventScript_GymSign::
msgbox RustboroCity_Text_GymSign, MSGBOX_SIGN
end
@ Unused
RustboroCity_EventScript_DevonCorpBranchOfficeSign::
msgbox RustboroCity_Text_DevonCorpBranchOfficeSign, MSGBOX_SIGN
end
RustboroCity_EventScript_CitySign::
msgbox RustboroCity_Text_CitySign, MSGBOX_SIGN
end
RustboroCity_EventScript_TrainersSchoolSign::
msgbox RustboroCity_Text_TrainersSchoolSign, MSGBOX_SIGN
end
RustboroCity_EventScript_CuttersHouseSign::
msgbox RustboroCity_Text_CuttersHouse, MSGBOX_SIGN
end
RustboroCity_EventScript_LittleBoy::
lock
faceplayer
msgbox RustboroCity_Text_PokemonCanChangeLookFromExp, MSGBOX_DEFAULT
applymovement LOCALID_RUSTBORO_LITTLE_BOY, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
RustboroCity_EventScript_LittleGirl::
lock
faceplayer
msgbox RustboroCity_Text_PokemonChangeShape, MSGBOX_DEFAULT
applymovement LOCALID_RUSTBORO_LITTLE_GIRL, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
RustboroCity_EventScript_Man2::
lock
faceplayer
msgbox RustboroCity_Text_TradePokemonGrowFast, MSGBOX_DEFAULT
release
end
RustboroCity_EventScript_StolenGoodsTrigger0::
lockall
setobjectxyperm LOCALID_RUSTBORO_DEVON_EMPLOYEE, 14, 21
setobjectmovementtype LOCALID_RUSTBORO_DEVON_EMPLOYEE, MOVEMENT_TYPE_FACE_RIGHT
setvar VAR_0x8004, 0
goto RustboroCity_EventScript_StolenGoodsScene
end
RustboroCity_EventScript_StolenGoodsTrigger1::
lockall
setobjectxyperm LOCALID_RUSTBORO_DEVON_EMPLOYEE, 14, 21
setobjectmovementtype LOCALID_RUSTBORO_DEVON_EMPLOYEE, MOVEMENT_TYPE_FACE_RIGHT
setvar VAR_0x8004, 1
goto RustboroCity_EventScript_StolenGoodsScene
end
RustboroCity_EventScript_StolenGoodsTrigger2::
lockall
setobjectxyperm LOCALID_RUSTBORO_DEVON_EMPLOYEE, 14, 21
setobjectmovementtype LOCALID_RUSTBORO_DEVON_EMPLOYEE, MOVEMENT_TYPE_FACE_RIGHT
setvar VAR_0x8004, 2
goto RustboroCity_EventScript_StolenGoodsScene
end
RustboroCity_EventScript_StolenGoodsTrigger3::
lockall
setobjectxyperm LOCALID_RUSTBORO_DEVON_EMPLOYEE, 14, 21
setobjectmovementtype LOCALID_RUSTBORO_DEVON_EMPLOYEE, MOVEMENT_TYPE_FACE_RIGHT
setvar VAR_0x8004, 3
goto RustboroCity_EventScript_StolenGoodsScene
end
RustboroCity_EventScript_StolenGoodsTrigger4::
lockall
setobjectxyperm LOCALID_RUSTBORO_DEVON_EMPLOYEE, 14, 21
setobjectmovementtype LOCALID_RUSTBORO_DEVON_EMPLOYEE, MOVEMENT_TYPE_FACE_RIGHT
setvar VAR_0x8004, 4
goto RustboroCity_EventScript_StolenGoodsScene
end
RustboroCity_EventScript_StolenGoodsScene::
msgbox RustboroCity_Text_OutOfTheWay, MSGBOX_DEFAULT
closemessage
playbgm MUS_ENCOUNTER_AQUA, FALSE
addobject LOCALID_RUSTBORO_GRUNT
addobject LOCALID_RUSTBORO_DEVON_EMPLOYEE
applymovement LOCALID_RUSTBORO_GRUNT, RustboroCity_Movement_GruntEscape
waitmovement 0
removeobject LOCALID_RUSTBORO_GRUNT
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeChaseGrunt1
waitmovement 0
msgbox RustboroCity_Text_WaitDontTakeMyGoods, MSGBOX_DEFAULT
closemessage
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeChaseGrunt2
waitmovement 0
fadedefaultbgm
removeobject LOCALID_RUSTBORO_DEVON_EMPLOYEE
setobjectxyperm LOCALID_RUSTBORO_DEVON_EMPLOYEE, 30, 10
clearflag FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1
setflag FLAG_DEVON_GOODS_STOLEN
setvar VAR_RUSTBORO_CITY_STATE, 2
setvar VAR_RUSTURF_TUNNEL_STATE, 2
setvar VAR_ROUTE116_STATE, 1
clearflag FLAG_HIDE_ROUTE_116_MR_BRINEY
clearflag FLAG_HIDE_RUSTURF_TUNNEL_PEEKO
clearflag FLAG_HIDE_RUSTURF_TUNNEL_AQUA_GRUNT
setflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
setflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO
releaseall
end
@ Unused
RustboroCity_EventScript_ShadyCharacterTookOff::
msgbox RustboroCity_Text_ShadyCharacterTookOffTowardsTunnel, MSGBOX_DEFAULT
return
@ Unused
RustboroCity_EventScript_YouGotItThankYou::
msgbox RustboroCity_Text_YouGotItThankYou, MSGBOX_DEFAULT
return
@ Unknown, unused employee movements. Based on the differences in movement theyre for approaching an object (probably the player) in different positions
RustboroCity_EventScript_EmployeeApproachUp::
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeApproachUp
waitmovement 0
return
@ Unused, see above
RustboroCity_EventScript_EmployeeApproachLeft::
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeApproachLeft
waitmovement 0
return
@ Unused, see above
RustboroCity_EventScript_EmployeeApproachRight::
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeApproachRight
waitmovement 0
return
@ Unused, see above
RustboroCity_EventScript_EmployeeApproachDown::
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeApproachDown
waitmovement 0
return
@ Unused, similar movement to the above scripts
RustboroCity_EventScript_EmployeeApproachPlayerFar::
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeApproachPlayerFar
waitmovement 0
applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
return
@ Unused
RustboroCity_Movement_GruntEscapeExtended:
walk_faster_right
walk_faster_right
walk_fast_right
walk_fast_right
walk_fast_right
walk_fast_right
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
step_end
RustboroCity_Movement_GruntEscape:
walk_faster_right
walk_faster_right
walk_fast_right
walk_fast_right
walk_fast_right
walk_fast_right
walk_fast_right
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
step_end
RustboroCity_Movement_EmployeeChaseGrunt1:
walk_right
walk_right
walk_right
walk_right
walk_right
walk_right
walk_in_place_faster_up
step_end
RustboroCity_Movement_EmployeeChaseGrunt2:
walk_up
walk_up
walk_up
walk_up
walk_up
walk_up
walk_up
step_end
@ Functionally unused
RustboroCity_Movement_EmployeeApproachUp:
walk_down
walk_right
walk_right
step_end
@ Functionally unused
RustboroCity_Movement_EmployeeApproachLeft:
walk_down
walk_down
walk_right
walk_right
step_end
@ Functionally unused
RustboroCity_Movement_EmployeeApproachRight:
walk_down
walk_down
walk_right
walk_right
step_end
@ Functionally unused
RustboroCity_Movement_EmployeeApproachDown:
walk_down
walk_down
walk_down
walk_right
walk_right
step_end
@ Functionally unused
RustboroCity_Movement_EmployeeApproachPlayerFar:
walk_down
walk_down
walk_down
walk_right
walk_right
walk_right
walk_in_place_faster_down
step_end
RustboroCity_EventScript_DevonEmployee1::
lock
faceplayer
goto_if_set FLAG_RECOVERED_DEVON_GOODS, RustboroCity_EventScript_ReturnGoodsSpokeToEmployee
msgbox RustboroCity_Text_ShadyCharacterTookOffTowardsTunnel, MSGBOX_DEFAULT
release
end
RustboroCity_EventScript_ReturnGoodsSpokeToEmployee::
waitse
setvar VAR_TEMP_1, 4
goto RustboroCity_EventScript_ReturnGoods
end
RustboroCity_EventScript_HelpGetGoodsTrigger0::
lockall
setvar VAR_TEMP_1, 0
goto RustboroCity_EventScript_EmployeeAskToGetGoods
end
RustboroCity_EventScript_HelpGetGoodsTrigger1::
lockall
setvar VAR_TEMP_1, 1
goto RustboroCity_EventScript_EmployeeAskToGetGoods
end
RustboroCity_EventScript_HelpGetGoodsTrigger2::
lockall
setvar VAR_TEMP_1, 2
goto RustboroCity_EventScript_EmployeeAskToGetGoods
end
RustboroCity_EventScript_HelpGetGoodsTrigger3::
lockall
setvar VAR_TEMP_1, 3
goto RustboroCity_EventScript_EmployeeAskToGetGoods
end
RustboroCity_EventScript_EmployeeAskToGetGoods::
call_if_eq VAR_TEMP_1, 0, RustboroCity_EventScript_EmployeeFacePlayerUp1
call_if_eq VAR_TEMP_1, 1, RustboroCity_EventScript_EmployeeFacePlayerLeft1
call_if_eq VAR_TEMP_1, 2, RustboroCity_EventScript_EmployeeFacePlayerDown1
call_if_eq VAR_TEMP_1, 3, RustboroCity_EventScript_EmployeeApproachPlayerDown1
setflag FLAG_INTERACTED_WITH_DEVON_EMPLOYEE_GOODS_STOLEN
setvar VAR_RUSTBORO_CITY_STATE, 3
copyobjectxytoperm LOCALID_RUSTBORO_DEVON_EMPLOYEE
msgbox RustboroCity_Text_HelpMeIWasRobbed, MSGBOX_DEFAULT
releaseall
end
@ The below movement scripts are either partially or fully duplicated by the movement scripts when the player returns the goods
RustboroCity_EventScript_EmployeeFacePlayerUp1::
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
playse SE_PIN
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_ExclamationMark
waitmovement 0
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_Delay48
waitmovement 0
applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown
waitmovement 0
return
RustboroCity_EventScript_EmployeeFacePlayerLeft1::
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterLeft
waitmovement 0
playse SE_PIN
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_ExclamationMark
waitmovement 0
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_Delay48
waitmovement 0
applymovement LOCALID_PLAYER, Common_Movement_FaceRight
waitmovement 0
return
RustboroCity_EventScript_EmployeeFacePlayerDown1::
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterDown
waitmovement 0
playse SE_PIN
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_ExclamationMark
waitmovement 0
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_Delay48
waitmovement 0
applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
return
RustboroCity_EventScript_EmployeeApproachPlayerDown1::
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterDown
waitmovement 0
playse SE_PIN
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_ExclamationMark
waitmovement 0
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_Delay48
waitmovement 0
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeApproachPlayerDown
waitmovement 0
applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
return
RustboroCity_Movement_EmployeeApproachPlayerDown:
walk_down
step_end
RustboroCity_EventScript_ReturnGoodsTrigger0::
lockall
setvar VAR_TEMP_1, 0
goto RustboroCity_EventScript_ReturnGoods
end
RustboroCity_EventScript_ReturnGoodsTrigger1::
lockall
setvar VAR_TEMP_1, 1
goto RustboroCity_EventScript_ReturnGoods
end
RustboroCity_EventScript_ReturnGoodsTrigger2::
lockall
setvar VAR_TEMP_1, 2
goto RustboroCity_EventScript_ReturnGoods
end
RustboroCity_EventScript_ReturnGoodsTrigger3::
lockall
setvar VAR_TEMP_1, 3
goto RustboroCity_EventScript_ReturnGoods
end
RustboroCity_EventScript_ReturnGoods::
call_if_eq VAR_TEMP_1, 0, RustboroCity_EventScript_EmployeeFacePlayerUp2
call_if_eq VAR_TEMP_1, 1, RustboroCity_EventScript_EmployeeFacePlayerLeft2
call_if_eq VAR_TEMP_1, 2, RustboroCity_EventScript_EmployeeFacePlayerDown2
call_if_eq VAR_TEMP_1, 3, RustboroCity_EventScript_EmployeeApproachPlayerDown2
call_if_eq VAR_TEMP_1, 4, RustboroCity_EventScript_EmployeeFacePlayerRight
msgbox RustboroCity_Text_YouGotItThankYou, MSGBOX_DEFAULT
giveitem ITEM_GREAT_BALL
call_if_eq VAR_RESULT, FALSE, RustboroCity_EventScript_BagFull
msgbox RustboroCity_Text_PleaseComeWithMe, MSGBOX_DEFAULT
closemessage
setflag FLAG_RETURNED_DEVON_GOODS
setflag FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1
setvar VAR_RUSTBORO_CITY_STATE, 5
delay 30
warp MAP_RUSTBORO_CITY_DEVON_CORP_3F, 2, 2
waitstate
releaseall
end
RustboroCity_EventScript_BagFull::
msgbox RustboroCity_Text_YoureLoadedWithItems, MSGBOX_DEFAULT
return
RustboroCity_EventScript_EmployeeFacePlayerUp2::
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
playse SE_PIN
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_ExclamationMark
waitmovement 0
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_Delay48
waitmovement 0
applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterDown
waitmovement 0
return
RustboroCity_EventScript_EmployeeFacePlayerLeft2::
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterRight
waitmovement 0
playse SE_PIN
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_ExclamationMark
waitmovement 0
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_Delay48
waitmovement 0
applymovement LOCALID_PLAYER, Common_Movement_FaceLeft
waitmovement 0
return
RustboroCity_EventScript_EmployeeFacePlayerDown2::
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterDown
waitmovement 0
playse SE_PIN
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_ExclamationMark
waitmovement 0
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_Delay48
waitmovement 0
applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
return
RustboroCity_EventScript_EmployeeApproachPlayerDown2::
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterDown
waitmovement 0
playse SE_PIN
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_ExclamationMark
waitmovement 0
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_Delay48
waitmovement 0
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, RustboroCity_Movement_EmployeeApproachPlayerDown
waitmovement 0
applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
return
RustboroCity_EventScript_EmployeeFacePlayerRight::
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_WalkInPlaceFasterLeft
waitmovement 0
playse SE_PIN
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_ExclamationMark
waitmovement 0
applymovement LOCALID_RUSTBORO_DEVON_EMPLOYEE, Common_Movement_Delay48
waitmovement 0
return
RustboroCity_EventScript_Rival::
lockall
call_if_unset FLAG_MET_RIVAL_RUSTBORO, RustboroCity_EventScript_PlayRivalMusic
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_FacePlayer
waitmovement 0
goto RustboroCity_EventScript_RivalEncounter
RustboroCity_EventScript_PlayRivalMusic::
checkplayergender
goto_if_eq VAR_RESULT, MALE, RustboroCity_EventScript_PlayMayMusic
goto_if_eq VAR_RESULT, FEMALE, RustboroCity_EventScript_PlayBrendanMusic
return
RustboroCity_EventScript_PlayMayMusic::
playbgm MUS_ENCOUNTER_MAY, TRUE
return
RustboroCity_EventScript_PlayBrendanMusic::
playbgm MUS_ENCOUNTER_BRENDAN, TRUE
return
RustboroCity_EventScript_RivalTrigger0::
lockall
call RustboroCity_EventScript_PlayRivalMusic
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_WalkInPlaceFasterDown
waitmovement 0
playse SE_PIN
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_ExclamationMark
waitmovement 0
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_Delay48
waitmovement 0
applymovement LOCALID_RUSTBORO_RIVAL, RustboroCity_Movement_RivalApproachPlayer0
waitmovement 0
applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
goto RustboroCity_EventScript_RivalEncounter
RustboroCity_EventScript_RivalTrigger1::
lockall
call RustboroCity_EventScript_PlayRivalMusic
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_WalkInPlaceFasterDown
waitmovement 0
playse SE_PIN
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_ExclamationMark
waitmovement 0
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_Delay48
waitmovement 0
applymovement LOCALID_RUSTBORO_RIVAL, RustboroCity_Movement_RivalApproachPlayer1
waitmovement 0
applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
goto RustboroCity_EventScript_RivalEncounter
RustboroCity_EventScript_RivalTrigger2::
lockall
call RustboroCity_EventScript_PlayRivalMusic
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_WalkInPlaceFasterDown
waitmovement 0
playse SE_PIN
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_ExclamationMark
waitmovement 0
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_Delay48
waitmovement 0
applymovement LOCALID_RUSTBORO_RIVAL, RustboroCity_Movement_RivalApproachPlayer2
waitmovement 0
applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
goto RustboroCity_EventScript_RivalEncounter
RustboroCity_EventScript_RivalTrigger3::
lockall
call RustboroCity_EventScript_PlayRivalMusic
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_WalkInPlaceFasterDown
waitmovement 0
playse SE_PIN
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_ExclamationMark
waitmovement 0
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_Delay48
waitmovement 0
applymovement LOCALID_RUSTBORO_RIVAL, RustboroCity_Movement_RivalApproachPlayer3
waitmovement 0
applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
goto RustboroCity_EventScript_RivalEncounter
RustboroCity_EventScript_RivalTrigger4::
lockall
call RustboroCity_EventScript_PlayRivalMusic
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_WalkInPlaceFasterDown
waitmovement 0
playse SE_PIN
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_ExclamationMark
waitmovement 0
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_Delay48
waitmovement 0
applymovement LOCALID_RUSTBORO_RIVAL, RustboroCity_Movement_RivalApproachPlayer4
waitmovement 0
applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
goto RustboroCity_EventScript_RivalEncounter
RustboroCity_EventScript_RivalTrigger5::
lockall
call RustboroCity_EventScript_PlayRivalMusic
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_WalkInPlaceFasterDown
waitmovement 0
playse SE_PIN
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_ExclamationMark
waitmovement 0
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_Delay48
waitmovement 0
applymovement LOCALID_RUSTBORO_RIVAL, RustboroCity_Movement_RivalApproachPlayer5
waitmovement 0
applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
goto RustboroCity_EventScript_RivalEncounter
RustboroCity_EventScript_RivalTrigger6::
lockall
call RustboroCity_EventScript_PlayRivalMusic
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_WalkInPlaceFasterDown
waitmovement 0
playse SE_PIN
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_ExclamationMark
waitmovement 0
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_Delay48
waitmovement 0
applymovement LOCALID_RUSTBORO_RIVAL, RustboroCity_Movement_RivalApproachPlayer6
waitmovement 0
applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
goto RustboroCity_EventScript_RivalEncounter
RustboroCity_EventScript_RivalTrigger7::
lockall
call RustboroCity_EventScript_PlayRivalMusic
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_WalkInPlaceFasterDown
waitmovement 0
playse SE_PIN
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_ExclamationMark
waitmovement 0
applymovement LOCALID_RUSTBORO_RIVAL, Common_Movement_Delay48
waitmovement 0
applymovement LOCALID_RUSTBORO_RIVAL, RustboroCity_Movement_RivalApproachPlayer7
waitmovement 0
applymovement LOCALID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
goto RustboroCity_EventScript_RivalEncounter
RustboroCity_EventScript_RivalEncounter::
checkplayergender
goto_if_eq VAR_RESULT, MALE, RustboroCity_EventScript_MayEncounter
goto_if_eq VAR_RESULT, FEMALE, RustboroCity_EventScript_BrendanEncounter
end
RustboroCity_EventScript_MayEncounter::
goto_if_set FLAG_DEFEATED_RIVAL_RUSTBORO, RustboroCity_EventScript_MayBrineyHint
goto_if_set FLAG_MET_RIVAL_RUSTBORO, RustboroCity_EventScript_MayAskToBattle
setflag FLAG_MET_RIVAL_RUSTBORO
msgbox RustboroCity_Text_MayHiLetsRegister, MSGBOX_DEFAULT
closemessage
delay 30
playfanfare MUS_REGISTER_MATCH_CALL
msgbox RustboroCity_Text_RegisteredMay, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
setflag FLAG_ENABLE_RIVAL_MATCH_CALL
setvar VAR_RUSTBORO_CITY_STATE, 8
setvar VAR_ROUTE104_STATE, 2
setvar VAR_0x8008, 0
msgbox RustboroCity_Text_MayPassedBrineyWantToBattle, MSGBOX_YESNO
goto_if_eq VAR_RESULT, YES, RustboroCity_EventScript_BattleMay
msgbox RustboroCity_Text_MayOhHaventRaisedPokemonEnough, MSGBOX_DEFAULT
call RustboroCity_EventScript_RestoreBgm
releaseall
end
RustboroCity_EventScript_MayAskToBattle::
setvar VAR_0x8008, 1
msgbox RustboroCity_Text_MayWantToBattle, MSGBOX_YESNO
goto_if_eq VAR_RESULT, YES, RustboroCity_EventScript_BattleMay
msgbox RustboroCity_Text_MayOhHaventRaisedPokemonEnough, MSGBOX_DEFAULT
releaseall
end
RustboroCity_EventScript_BattleMay::
msgbox RustboroCity_Text_MayImNotGoingToLose, MSGBOX_DEFAULT
switch VAR_STARTER_MON
case 0, RustboroCity_EventScript_BattleMayTreecko
case 1, RustboroCity_EventScript_BattleMayTorchic
case 2, RustboroCity_EventScript_BattleMayMudkip
end
RustboroCity_EventScript_MayBrineyHint::
msgbox RustboroCity_Text_MayMrBrineyHint, MSGBOX_DEFAULT
call_if_eq VAR_0x8008, 0, RustboroCity_EventScript_RestoreBgm
releaseall
end
RustboroCity_EventScript_RestoreBgm::
savebgm MUS_DUMMY
fadedefaultbgm
return
RustboroCity_EventScript_BattleMayTreecko::
trainerbattle_no_intro TRAINER_MAY_RUSTBORO_TREECKO, RustboroCity_Text_MayDefeat
setflag FLAG_DEFEATED_RIVAL_RUSTBORO
goto RustboroCity_EventScript_MayBrineyHint
end
RustboroCity_EventScript_BattleMayTorchic::
trainerbattle_no_intro TRAINER_MAY_RUSTBORO_TORCHIC, RustboroCity_Text_MayDefeat
setflag FLAG_DEFEATED_RIVAL_RUSTBORO
goto RustboroCity_EventScript_MayBrineyHint
end
RustboroCity_EventScript_BattleMayMudkip::
trainerbattle_no_intro TRAINER_MAY_RUSTBORO_MUDKIP, RustboroCity_Text_MayDefeat
setflag FLAG_DEFEATED_RIVAL_RUSTBORO
goto RustboroCity_EventScript_MayBrineyHint
end
RustboroCity_EventScript_BrendanEncounter::
goto_if_set FLAG_DEFEATED_RIVAL_RUSTBORO, RustboroCity_EventScript_BrendanBrineyHint
goto_if_set FLAG_MET_RIVAL_RUSTBORO, RustboroCity_EventScript_BrendanAskToBattle
setflag FLAG_MET_RIVAL_RUSTBORO
msgbox RustboroCity_Text_BrendanHiLetsRegister, MSGBOX_DEFAULT
closemessage
delay 30
playfanfare MUS_REGISTER_MATCH_CALL
msgbox RustboroCity_Text_RegisteredBrendan, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
setflag FLAG_ENABLE_RIVAL_MATCH_CALL
setvar VAR_RUSTBORO_CITY_STATE, 8
setvar VAR_ROUTE104_STATE, 2
msgbox RustboroCity_Text_BrendanPassedBrineyWantToBattle, MSGBOX_YESNO
goto_if_eq VAR_RESULT, YES, RustboroCity_EventScript_BattleBrendan
msgbox RustboroCity_Text_BrendanNoConfidenceInPokemon, MSGBOX_DEFAULT
call RustboroCity_EventScript_RestoreBgm
releaseall
end
RustboroCity_EventScript_BrendanAskToBattle::
msgbox RustboroCity_Text_BrendanWantToBattle, MSGBOX_YESNO
goto_if_eq VAR_RESULT, YES, RustboroCity_EventScript_BattleBrendan
msgbox RustboroCity_Text_BrendanNoConfidenceInPokemon, MSGBOX_DEFAULT
releaseall
end
RustboroCity_EventScript_BattleBrendan::
msgbox RustboroCity_Text_BrendanIWontGoEasy, MSGBOX_DEFAULT
switch VAR_STARTER_MON
case 0, RustboroCity_EventScript_BattleBrendanTreecko
case 1, RustboroCity_EventScript_BattleBrendanTorchic
case 2, RustboroCity_EventScript_BattleBrendanMudkip
end
RustboroCity_EventScript_BrendanBrineyHint::
msgbox RustboroCity_Text_BrendanMrBrineyHint, MSGBOX_DEFAULT
call_if_eq VAR_0x8008, 0, RustboroCity_EventScript_RestoreBgm
releaseall
end
RustboroCity_EventScript_BattleBrendanTreecko::
trainerbattle_no_intro TRAINER_BRENDAN_RUSTBORO_TREECKO, RustboroCity_Text_BrendanDefeat
setflag FLAG_DEFEATED_RIVAL_RUSTBORO
goto RustboroCity_EventScript_BrendanBrineyHint
end
RustboroCity_EventScript_BattleBrendanTorchic::
trainerbattle_no_intro TRAINER_BRENDAN_RUSTBORO_TORCHIC, RustboroCity_Text_BrendanDefeat
setflag FLAG_DEFEATED_RIVAL_RUSTBORO
goto RustboroCity_EventScript_BrendanBrineyHint
end
RustboroCity_EventScript_BattleBrendanMudkip::
trainerbattle_no_intro TRAINER_BRENDAN_RUSTBORO_MUDKIP, RustboroCity_Text_BrendanDefeat
setflag FLAG_DEFEATED_RIVAL_RUSTBORO
goto RustboroCity_EventScript_BrendanBrineyHint
end
RustboroCity_Movement_RivalApproachPlayer0:
walk_down
walk_left
walk_left
walk_left
walk_left
walk_down
step_end
RustboroCity_Movement_RivalApproachPlayer1:
walk_down
walk_left
walk_left
walk_left
walk_down
step_end
RustboroCity_Movement_RivalApproachPlayer2:
walk_down
walk_left
walk_left
walk_down
step_end
RustboroCity_Movement_RivalApproachPlayer3:
walk_down
walk_left
walk_down
step_end
RustboroCity_Movement_RivalApproachPlayer4:
walk_down
walk_down
step_end
RustboroCity_Movement_RivalApproachPlayer5:
walk_down
walk_right
walk_down
step_end
RustboroCity_Movement_RivalApproachPlayer6:
walk_down
walk_right
walk_right
walk_down
step_end
RustboroCity_Movement_RivalApproachPlayer7:
walk_down
walk_right
walk_right
walk_right
walk_down
step_end
RustboroCity_EventScript_Boy1::
msgbox RustboroCity_Text_YouCanHave2On2Battle, MSGBOX_NPC
end
.ifdef FRENCH
.include "data/maps/RustboroCity/text_fr.inc"
.else
.ifdef ITALIAN
.include "data/maps/RustboroCity/text_it.inc"
.else
.ifdef SPANISH
.include "data/maps/RustboroCity/text_es.inc"
.else
.include "data/maps/RustboroCity/text.inc"
.endif
.endif
.endif