mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-09 21:25:42 -05:00
269 lines
8.0 KiB
C++
269 lines
8.0 KiB
C++
.equ LOCALID_FERRY_SAILOR, 6
|
|
|
|
VermilionCity_MapScripts::
|
|
map_script MAP_SCRIPT_ON_TRANSITION, VermilionCity_OnTransition
|
|
map_script MAP_SCRIPT_ON_FRAME_TABLE, VermilionCity_OnFrame
|
|
.byte 0
|
|
|
|
VermilionCity_OnFrame::
|
|
map_script_2 VAR_MAP_SCENE_VERMILION_CITY, 2, VermilionCity_EventScript_ExitSSAnne
|
|
.2byte 0
|
|
|
|
VermilionCity_EventScript_ExitSSAnne::
|
|
lockall
|
|
applymovement OBJ_EVENT_ID_PLAYER, VermilionCity_Movement_ExitSSAnne
|
|
waitmovement 0
|
|
setvar VAR_MAP_SCENE_VERMILION_CITY, 3
|
|
releaseall
|
|
end
|
|
|
|
VermilionCity_Movement_ExitSSAnne::
|
|
walk_up
|
|
walk_up
|
|
step_end
|
|
|
|
VermilionCity_OnTransition::
|
|
setworldmapflag FLAG_WORLD_MAP_VERMILION_CITY
|
|
call_if_set FLAG_TALKED_TO_OAKS_AIDE_IN_VERMILION, VermilionCity_EventScript_HideOaksAide
|
|
end
|
|
|
|
VermilionCity_EventScript_HideOaksAide::
|
|
setflag FLAG_HIDE_VERMILION_CITY_OAKS_AIDE
|
|
return
|
|
|
|
VermilionCity_EventScript_Woman::
|
|
msgbox VermilionCity_Text_GrimerMultipliesInSludge, MSGBOX_NPC
|
|
end
|
|
|
|
VermilionCity_EventScript_OldMan1::
|
|
lock
|
|
faceplayer
|
|
goto_if_eq VAR_MAP_SCENE_VERMILION_CITY, 3, VermilionCity_EventScript_OldMan1SSAnneLeft
|
|
msgbox VermilionCity_Text_DidYouSeeSSAnneInHarbor
|
|
release
|
|
end
|
|
|
|
VermilionCity_EventScript_OldMan1SSAnneLeft::
|
|
msgbox VermilionCity_Text_SSAnneHasDepartedForYear
|
|
release
|
|
end
|
|
|
|
VermilionCity_EventScript_FerrySailor::
|
|
lock
|
|
faceplayer
|
|
goto_if_eq VAR_MAP_SCENE_VERMILION_CITY, 3, VermilionCity_EventScript_CheckSeagallopPresent
|
|
msgbox VermilionCity_Text_WelcomeToTheSSAnne
|
|
release
|
|
end
|
|
|
|
VermilionCity_EventScript_CheckHasMysticTicket::
|
|
goto_if_unset FLAG_ENABLE_SHIP_NAVEL_ROCK, EventScript_SetResultFalse
|
|
checkitem ITEM_MYSTIC_TICKET
|
|
goto_if_eq VAR_RESULT, FALSE, EventScript_SetResultFalse
|
|
goto EventScript_SetResultTrue
|
|
end
|
|
|
|
VermilionCity_EventScript_CheckHasAuroraTicket::
|
|
goto_if_unset FLAG_ENABLE_SHIP_BIRTH_ISLAND, EventScript_SetResultFalse
|
|
checkitem ITEM_AURORA_TICKET
|
|
goto_if_eq VAR_RESULT, FALSE, EventScript_SetResultFalse
|
|
goto EventScript_SetResultTrue
|
|
end
|
|
|
|
VermilionCity_EventScript_CheckSeagallopPresent::
|
|
setvar VAR_0x8004, SEAGALLOP_VERMILION_CITY
|
|
goto_if_ge VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 5, VermilionCity_EventScript_ChooseSeagallopDestRainbowPass
|
|
goto_if_ge VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 1, VermilionCity_EventScript_ChooseSeagallopDestTriPass
|
|
msgbox VermilionCity_Text_TheShipSetSail
|
|
release
|
|
end
|
|
|
|
VermilionCity_EventScript_ChooseSeagallopDestRainbowPass::
|
|
goto_if_questlog EventScript_ReleaseEnd
|
|
special QuestLog_CutRecording
|
|
call VermilionCity_EventScript_CheckHasMysticTicket
|
|
goto_if_eq VAR_RESULT, TRUE, VermilionCity_EventScript_HasMysticTicket
|
|
call VermilionCity_EventScript_CheckHasAuroraTicket
|
|
goto_if_eq VAR_RESULT, TRUE, VermilionCity_EventScript_HasAuroraTicket
|
|
setvar VAR_0x8004, SEAGALLOP_VERMILION_CITY
|
|
message VermilionCity_Text_BoardSeagallopRainbowPass
|
|
waitmessage
|
|
goto EventScript_SeviiDestinationsPage1
|
|
end
|
|
|
|
VermilionCity_EventScript_HasMysticTicket::
|
|
call VermilionCity_EventScript_CheckHasAuroraTicket
|
|
goto_if_eq VAR_RESULT, TRUE, VermilionCity_EventScript_HasMysticAndAuroraTickets
|
|
call_if_unset FLAG_SHOWN_MYSTIC_TICKET, VermilionCity_EventScript_ShowMysticTicket
|
|
message VermilionCity_Text_BoardSeagallopFerry
|
|
waitmessage
|
|
multichoice 17, 6, MULTICHOICE_SEVII_NAVEL, FALSE
|
|
switch VAR_RESULT
|
|
case 0, EventScript_SeviiDestinationsPage1
|
|
case 1, EventScript_SailToNavelRock
|
|
case 2, EventScript_CancelSail
|
|
case 127, EventScript_CancelSail
|
|
end
|
|
|
|
VermilionCity_EventScript_ShowMysticTicket::
|
|
setflag FLAG_SHOWN_MYSTIC_TICKET
|
|
msgbox VermilionCity_Text_OhMysticTicketTakeYouToNavelRock
|
|
return
|
|
|
|
VermilionCity_EventScript_HasAuroraTicket::
|
|
call_if_unset FLAG_SHOWN_AURORA_TICKET, VermilionCity_EventScript_ShowAuroraTicket
|
|
message VermilionCity_Text_BoardSeagallopFerry
|
|
waitmessage
|
|
multichoice 13, 6, MULTICHOICE_SEVII_BIRTH, FALSE
|
|
switch VAR_RESULT
|
|
case 0, EventScript_SeviiDestinationsPage1
|
|
case 1, EventScript_SailToBirthIsland
|
|
case 2, EventScript_CancelSail
|
|
case 127, EventScript_CancelSail
|
|
end
|
|
|
|
VermilionCity_EventScript_ShowAuroraTicket::
|
|
setflag FLAG_SHOWN_AURORA_TICKET
|
|
msgbox VermilionCity_Text_OhAuroraTicketTakeYouToBirthIsland
|
|
return
|
|
|
|
VermilionCity_EventScript_HasMysticAndAuroraTickets::
|
|
call_if_unset FLAG_SHOWN_MYSTIC_TICKET, VermilionCity_EventScript_ShowMysticTicket
|
|
call_if_unset FLAG_SHOWN_AURORA_TICKET, VermilionCity_EventScript_ShowAuroraTicket
|
|
message VermilionCity_Text_BoardSeagallopFerry
|
|
waitmessage
|
|
multichoice 13, 5, MULTICHOICE_SEVII_NAVEL_BIRTH, FALSE
|
|
switch VAR_RESULT
|
|
case 0, EventScript_SeviiDestinationsPage1
|
|
case 1, EventScript_SailToNavelRock
|
|
case 2, EventScript_SailToBirthIsland
|
|
case 3, EventScript_CancelSail
|
|
case 127, EventScript_CancelSail
|
|
end
|
|
|
|
EventScript_SailToNavelRock::
|
|
msgbox VermilionCity_Text_Seagallop10Departing
|
|
setvar VAR_0x8004, SEAGALLOP_VERMILION_CITY
|
|
setvar VAR_0x8006, SEAGALLOP_NAVEL_ROCK
|
|
goto EventScript_SetSail
|
|
end
|
|
|
|
EventScript_SailToBirthIsland::
|
|
msgbox VermilionCity_Text_Seagallop12Departing
|
|
setvar VAR_0x8004, SEAGALLOP_VERMILION_CITY
|
|
setvar VAR_0x8006, SEAGALLOP_BIRTH_ISLAND
|
|
goto EventScript_SetSail
|
|
end
|
|
|
|
VermilionCity_EventScript_ChooseSeagallopDestTriPass::
|
|
message VermilionCity_Text_BoardSeagallopTriPass
|
|
waitmessage
|
|
setvar VAR_0x8004, SEAGALLOP_VERMILION_CITY
|
|
multichoice 19, 5, MULTICHOICE_SEAGALLOP_123, FALSE
|
|
switch VAR_RESULT
|
|
case 0, EventScript_SailToOneIsland2
|
|
case 1, EventScript_SailToTwoIsland2
|
|
case 2, EventScript_SailToThreeIsland2
|
|
case 3, EventScript_CancelSail
|
|
case 127, EventScript_CancelSail
|
|
end
|
|
|
|
@ Unreachable
|
|
Vermilion_EventScript_Unused::
|
|
release
|
|
end
|
|
|
|
VermilionCity_EventScript_CheckTicketLeft::
|
|
lockall
|
|
goto VermilionCity_EventScript_CheckTicket
|
|
end
|
|
|
|
VermilionCity_EventScript_CheckTicketRight::
|
|
lockall
|
|
goto VermilionCity_EventScript_CheckTicket
|
|
end
|
|
|
|
VermilionCity_EventScript_ExitedTicketCheck::
|
|
lockall
|
|
setvar VAR_VERMILION_CITY_TICKET_CHECK_TRIGGER, 0
|
|
releaseall
|
|
end
|
|
|
|
VermilionCity_EventScript_CheckTicket::
|
|
textcolor NPC_TEXT_COLOR_MALE
|
|
applymovement LOCALID_FERRY_SAILOR, Common_Movement_WalkInPlaceFasterLeft
|
|
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight
|
|
waitmovement 0
|
|
goto_if_eq VAR_MAP_SCENE_VERMILION_CITY, 3, VermilionCity_EventScript_CheckSeagallopPresentTrigger
|
|
msgbox VermilionCity_Text_DoYouHaveATicket
|
|
goto_if_unset FLAG_GOT_SS_TICKET, VermilionCity_EventScript_DontHaveSSTicket
|
|
msgbox VermilionCity_Text_FlashedSSTicket
|
|
setvar VAR_VERMILION_CITY_TICKET_CHECK_TRIGGER, 1
|
|
releaseall
|
|
end
|
|
|
|
VermilionCity_EventScript_DontHaveSSTicket::
|
|
msgbox VermilionCity_Text_DontHaveNeededSSTicket
|
|
closemessage
|
|
goto VermilionCity_EventScript_WalkUpPier
|
|
end
|
|
|
|
VermilionCity_EventScript_CheckSeagallopPresentTrigger::
|
|
setvar VAR_0x8004, SEAGALLOP_VERMILION_CITY
|
|
goto_if_ge VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 5, VermilionCity_EventScript_ChooseSeagallopDestRainbowPass
|
|
goto_if_ge VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 1, VermilionCity_EventScript_ChooseSeagallopDestTriPass
|
|
msgbox VermilionCity_Text_TheShipSetSail
|
|
closemessage
|
|
goto VermilionCity_EventScript_WalkUpPier
|
|
end
|
|
|
|
VermilionCity_EventScript_Sailor::
|
|
msgbox VermilionCity_Text_SSAnneVisitsOnceAYear, MSGBOX_NPC
|
|
end
|
|
|
|
VermilionCity_EventScript_OaksAide::
|
|
lock
|
|
faceplayer
|
|
setflag FLAG_TALKED_TO_OAKS_AIDE_IN_VERMILION
|
|
msgbox VermilionCity_Text_Route2AideHasPackageForYou
|
|
release
|
|
end
|
|
|
|
VermilionCity_EventScript_OldMan2::
|
|
msgbox VermilionCity_Text_BuildingOnThisLand, MSGBOX_NPC
|
|
end
|
|
|
|
VermilionCity_EventScript_Machop::
|
|
lock
|
|
faceplayer
|
|
waitse
|
|
playmoncry SPECIES_MACHOP, CRY_MODE_NORMAL
|
|
msgbox VermilionCity_Text_Machop
|
|
waitmoncry
|
|
msgbox VermilionCity_Text_MachopStompingLandFlat
|
|
release
|
|
end
|
|
|
|
VermilionCity_EventScript_CitySign::
|
|
msgbox VermilionCity_Text_CitySign, MSGBOX_SIGN
|
|
end
|
|
|
|
VermilionCity_EventScript_SnorlaxNotice::
|
|
msgbox VermilionCity_Text_SnorlaxBlockingRoute12, MSGBOX_SIGN
|
|
end
|
|
|
|
VermilionCity_EventScript_PokemonFanClubSign::
|
|
msgbox VermilionCity_Text_PokemonFanClubSign, MSGBOX_SIGN
|
|
end
|
|
|
|
VermilionCity_EventScript_GymSign::
|
|
lockall
|
|
famechecker FAMECHECKER_LTSURGE, 0
|
|
msgbox VermilionCity_Text_GymSign
|
|
releaseall
|
|
end
|
|
|
|
VermilionCity_EventScript_HarborSign::
|
|
msgbox VermilionCity_Text_VermilionHarbor, MSGBOX_SIGN
|
|
end
|