.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 compare VAR_MAP_SCENE_VERMILION_CITY, 3 goto_if_eq VermilionCity_EventScript_OldMan1SSAnneLeft msgbox VermilionCity_Text_DidYouSeeSSAnneInHarbor release end VermilionCity_EventScript_OldMan1SSAnneLeft:: msgbox VermilionCity_Text_SSAnneHasDepartedForYear release end VermilionCity_EventScript_FerrySailor:: lock faceplayer compare VAR_MAP_SCENE_VERMILION_CITY, 3 goto_if_eq 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, 1 compare VAR_RESULT, FALSE goto_if_eq EventScript_SetResultFalse goto EventScript_SetResultTrue end VermilionCity_EventScript_CheckHasAuroraTicket:: goto_if_unset FLAG_ENABLE_SHIP_BIRTH_ISLAND, EventScript_SetResultFalse checkitem ITEM_AURORA_TICKET, 1 compare VAR_RESULT, FALSE goto_if_eq EventScript_SetResultFalse goto EventScript_SetResultTrue end VermilionCity_EventScript_CheckSeagallopPresent:: setvar VAR_0x8004, SEAGALLOP_VERMILION_CITY compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 5 goto_if_ge VermilionCity_EventScript_ChooseSeagallopDestRainbowPass compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 1 goto_if_ge VermilionCity_EventScript_ChooseSeagallopDestTriPass msgbox VermilionCity_Text_TheShipSetSail release end VermilionCity_EventScript_ChooseSeagallopDestRainbowPass:: goto_if_questlog EventScript_ReleaseEnd special QuestLog_CutRecording call VermilionCity_EventScript_CheckHasMysticTicket compare VAR_RESULT, TRUE goto_if_eq VermilionCity_EventScript_HasMysticTicket call VermilionCity_EventScript_CheckHasAuroraTicket compare VAR_RESULT, TRUE goto_if_eq 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 compare VAR_RESULT, TRUE goto_if_eq 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 0 applymovement LOCALID_FERRY_SAILOR, Movement_WalkInPlaceFastestLeft applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight waitmovement 0 compare VAR_MAP_SCENE_VERMILION_CITY, 3 goto_if_eq 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 compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 5 goto_if_ge VermilionCity_EventScript_ChooseSeagallopDestRainbowPass compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 1 goto_if_ge 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