pokefirered/data/maps/ViridianCity/scripts.inc
2022-08-28 16:51:45 +02:00

242 lines
6.9 KiB
C++

.set LOCALID_OLD_MAN, 3
.set LOCALID_TUTORIAL_MAN, 4
.set LOCALID_WOMAN, 5
ViridianCity_MapScripts::
map_script MAP_SCRIPT_ON_TRANSITION, ViridianCity_OnTransition
.byte 0
ViridianCity_OnTransition::
setworldmapflag FLAG_WORLD_MAP_VIRIDIAN_CITY
call_if_eq VAR_MAP_SCENE_VIRIDIAN_CITY_OLD_MAN, 0, ViridianCity_EventScript_SetOldManBlockingRoad
call_if_eq VAR_MAP_SCENE_VIRIDIAN_CITY_OLD_MAN, 1, ViridianCity_EventScript_SetOldManStandingByRoad
call_if_ge VAR_MAP_SCENE_VIRIDIAN_CITY_OLD_MAN, 2, ViridianCity_EventScript_SetOldManNormal
call_if_eq VAR_MAP_SCENE_VIRIDIAN_CITY_GYM_DOOR, 0, ViridianCity_EventScript_TryUnlockGym
end
ViridianCity_EventScript_SetOldManNormal::
setvar VAR_OBJ_GFX_ID_0, OBJ_EVENT_GFX_OLD_MAN_1
return
ViridianCity_EventScript_SetOldManStandingByRoad::
setvar VAR_OBJ_GFX_ID_0, OBJ_EVENT_GFX_OLD_MAN_1
setobjectxyperm LOCALID_TUTORIAL_MAN, 21, 8
setobjectmovementtype LOCALID_TUTORIAL_MAN, MOVEMENT_TYPE_LOOK_AROUND
return
ViridianCity_EventScript_SetOldManBlockingRoad::
setvar VAR_OBJ_GFX_ID_0, OBJ_EVENT_GFX_OLD_MAN_LYING_DOWN
setobjectxyperm LOCALID_TUTORIAL_MAN, 21, 11
setobjectmovementtype LOCALID_TUTORIAL_MAN, MOVEMENT_TYPE_FACE_DOWN
return
ViridianCity_EventScript_TryUnlockGym::
goto_if_unset FLAG_BADGE02_GET, EventScript_Return
goto_if_unset FLAG_BADGE03_GET, EventScript_Return
goto_if_unset FLAG_BADGE04_GET, EventScript_Return
goto_if_unset FLAG_BADGE05_GET, EventScript_Return
goto_if_unset FLAG_BADGE06_GET, EventScript_Return
goto_if_unset FLAG_BADGE07_GET, EventScript_Return
setvar VAR_MAP_SCENE_VIRIDIAN_CITY_GYM_DOOR, 1
return
ViridianCity_EventScript_GymDoorLocked::
lockall
textcolor NPC_TEXT_COLOR_NEUTRAL
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
delay 20
msgbox ViridianCity_Text_GymDoorsAreLocked
closemessage
applymovement OBJ_EVENT_ID_PLAYER, ViridianCity_Movement_JumpDownLedge
waitmovement 0
releaseall
end
ViridianCity_Movement_JumpDownLedge::
jump_2_down
step_end
ViridianCity_EventScript_CitySign::
msgbox ViridianCity_Text_CitySign, MSGBOX_SIGN
end
ViridianCity_EventScript_TrainerTips1::
msgbox ViridianCity_Text_CatchMonsForEasierBattles, MSGBOX_SIGN
end
ViridianCity_EventScript_TrainerTips2::
msgbox ViridianCity_Text_MovesLimitedByPP, MSGBOX_SIGN
end
ViridianCity_EventScript_GymSign::
msgbox ViridianCity_Text_GymSign, MSGBOX_SIGN
end
ViridianCity_EventScript_GymDoor::
msgbox ViridianCity_Text_GymDoorsAreLocked, MSGBOX_SIGN
end
ViridianCity_EventScript_Boy::
msgbox ViridianCity_Text_CanCarryMonsAnywhere, MSGBOX_NPC
end
@ Other old man, not the tutorial old man
ViridianCity_EventScript_OldMan::
lock
faceplayer
goto_if_eq VAR_MAP_SCENE_VIRIDIAN_CITY_GYM_DOOR, 1, ViridianCity_EventScript_OldManGymLeaderReturned
msgbox ViridianCity_Text_GymClosedWonderWhoLeaderIs
closemessage
applymovement LOCALID_OLD_MAN, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
ViridianCity_EventScript_OldManGymLeaderReturned::
msgbox ViridianCity_Text_ViridiansGymLeaderReturned
release
end
ViridianCity_EventScript_TutorialOldMan::
lock
faceplayer
goto_if_set FLAG_BADGE01_GET, ViridianCity_EventScript_AskIfTeachyTVHelpful
goto_if_ge VAR_MAP_SCENE_VIRIDIAN_CITY_OLD_MAN, 2, ViridianCity_EventScript_TutorialCompleted
goto_if_eq VAR_MAP_SCENE_VIRIDIAN_CITY_OLD_MAN, 1, ViridianCity_EventScript_TutorialStart
goto_if_eq VAR_MAP_SCENE_VIRIDIAN_CITY_OLD_MAN, 0, ViridianCity_EventScript_TutorialNotReady
end
ViridianCity_EventScript_AskIfTeachyTVHelpful::
msgbox ViridianCity_Text_HowsTeachyTVHelping, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, ViridianCity_EventScript_TeachyTVNotHelpful
msgbox ViridianCity_Text_MyGrandsonOnTheShow
release
end
ViridianCity_EventScript_TeachyTVNotHelpful::
msgbox ViridianCity_Text_TooBusyForTeachyTV
release
end
ViridianCity_EventScript_TutorialCompleted::
msgbox ViridianCity_Text_WeakenMonsFirstToCatch
release
end
ViridianCity_EventScript_TutorialStart::
call ViridianCity_EventScript_DoTutorialBattle
release
end
@ Unused
ViridianCity_EventScript_WatchToLearnBasics::
msgbox ViridianCity_Text_WatchThatToLearnBasics
release
end
@ Unused. Starts battle after the post battle text, which is odd.
ViridianCity_EventScript_TutorialUnused::
msgbox ViridianCity_Text_ThatWasEducationalTakeThis
goto_if_questlog EventScript_ReleaseEnd
special QuestLog_CutRecording
special StartOldManTutorialBattle
waitstate
release
end
ViridianCity_EventScript_TutorialNotReady::
msgbox ViridianCity_Text_ThisIsPrivateProperty
closemessage
release
end
ViridianCity_EventScript_Youngster::
lock
faceplayer
msgbox ViridianCity_Text_WantToKnowAboutCaterpillarMons, MSGBOX_YESNO
goto_if_eq VAR_RESULT, YES, ViridianCity_EventScript_YoungsterExplainCaterpillars
goto_if_eq VAR_RESULT, NO, ViridianCity_EventScript_YoungsterDeclineExplanation
end
ViridianCity_EventScript_YoungsterExplainCaterpillars::
msgbox ViridianCity_Text_ExplainCaterpieWeedle
release
end
ViridianCity_EventScript_YoungsterDeclineExplanation::
msgbox ViridianCity_Text_OhOkayThen
release
end
ViridianCity_EventScript_Woman::
lock
faceplayer
goto_if_eq VAR_MAP_SCENE_VIRIDIAN_CITY_OLD_MAN, 0, ViridianCity_EventScript_WomanRoadBlocked
msgbox ViridianCity_Text_GoShoppingInPewterOccasionally
release
end
ViridianCity_EventScript_WomanRoadBlocked::
msgbox ViridianCity_Text_GrandpaHasntHadCoffeeYet
closemessage
applymovement LOCALID_WOMAN, Common_Movement_FaceOriginalDirection
waitmovement 0
release
end
ViridianCity_EventScript_DreamEaterTutor::
goto EventScript_DreamEaterTutor
end
ViridianCity_EventScript_RoadBlocked::
lockall
textcolor NPC_TEXT_COLOR_MALE
msgbox ViridianCity_Text_ThisIsPrivateProperty
closemessage
applymovement OBJ_EVENT_ID_PLAYER, ViridianCity_Movement_WalkDown
waitmovement 0
releaseall
end
ViridianCity_Movement_WalkDown::
walk_down
step_end
ViridianCity_EventScript_TutorialTriggerLeft::
lockall
textcolor NPC_TEXT_COLOR_MALE
applymovement LOCALID_TUTORIAL_MAN, Common_Movement_WalkInPlaceFasterLeft
waitmovement 0
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight
waitmovement 0
call ViridianCity_EventScript_DoTutorialBattle
release
end
ViridianCity_EventScript_TutorialTriggerRight::
lockall
textcolor NPC_TEXT_COLOR_MALE
applymovement LOCALID_TUTORIAL_MAN, Common_Movement_WalkInPlaceFasterRight
waitmovement 0
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterLeft
waitmovement 0
call ViridianCity_EventScript_DoTutorialBattle
release
end
ViridianCity_EventScript_DoTutorialBattle::
msgbox ViridianCity_Text_ShowYouHowToCatchMons
closemessage
goto_if_questlog EventScript_ReleaseEnd
special QuestLog_CutRecording
special StartOldManTutorialBattle
waitstate
lock
faceplayer
msgbox ViridianCity_Text_ThatWasEducationalTakeThis
setvar VAR_MAP_SCENE_VIRIDIAN_CITY_OLD_MAN, 2
giveitem ITEM_TEACHY_TV
msgbox ViridianCity_Text_WatchThatToLearnBasics
return