ref: e0d07fba3fbc5e5923d3f523afe386ad3fab1393
dir: /maps/OlivinePort.asm/
object_const_def ; object_event constants const OLIVINEPORT_SAILOR1 const OLIVINEPORT_SAILOR2 const OLIVINEPORT_SAILOR3 const OLIVINEPORT_FISHING_GURU1 const OLIVINEPORT_FISHING_GURU2 const OLIVINEPORT_YOUNGSTER const OLIVINEPORT_COOLTRAINER_F OlivinePort_MapScripts: db 2 ; scene scripts scene_script .DummyScene0 ; SCENE_DEFAULT scene_script .LeaveFastShip ; SCENE_OLIVINEPORT_LEAVE_SHIP db 0 ; callbacks .DummyScene0: end .LeaveFastShip: prioritysjump .LeaveFastShipScript end .LeaveFastShipScript: applymovement PLAYER, MovementData_0x74a32 appear OLIVINEPORT_SAILOR1 setscene SCENE_DEFAULT setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 blackoutmod OLIVINE_CITY end OlivinePortSailorAtGangwayScript: faceplayer opentext checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 iftrue OlivinePortAlreadyRodeScript writetext OlivinePortSailorGetOnBoardText waitbutton closetext turnobject OLIVINEPORT_SAILOR1, DOWN pause 10 playsound SFX_EXIT_BUILDING disappear OLIVINEPORT_SAILOR1 waitsfx applymovement PLAYER, MovementData_0x74a30 playsound SFX_EXIT_BUILDING special FadeOutPalettes waitsfx checkevent EVENT_FAST_SHIP_FIRST_TIME iffalse .FirstTime clearevent EVENT_FAST_SHIP_PASSENGERS_EASTBOUND setevent EVENT_FAST_SHIP_PASSENGERS_WESTBOUND clearevent EVENT_BEAT_COOLTRAINERM_SEAN clearevent EVENT_BEAT_COOLTRAINERF_CAROL clearevent EVENT_BEAT_GENTLEMAN_EDWARD clearevent EVENT_BEAT_BEAUTY_CASSIE clearevent EVENT_BEAT_PSYCHIC_RODNEY clearevent EVENT_BEAT_SUPER_NERD_SHAWN clearevent EVENT_BEAT_SAILOR_GARRETT clearevent EVENT_BEAT_FISHER_JONAH clearevent EVENT_BEAT_BLACKBELT_WAI .FirstTime: clearevent EVENT_FAST_SHIP_DESTINATION_OLIVINE appear OLIVINEPORT_SAILOR1 setmapscene FAST_SHIP_1F, SCENE_FASTSHIP1F_ENTER_SHIP warp FAST_SHIP_1F, 25, 1 end OlivinePortAlreadyRodeScript: writetext OlivinePortCantBoardText waitbutton closetext end OlivinePortWalkUpToShipScript: turnobject OLIVINEPORT_SAILOR3, RIGHT checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 iftrue .skip checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2 iftrue .skip turnobject PLAYER, LEFT opentext checkevent EVENT_FAST_SHIP_FIRST_TIME iffalse .FirstTime readvar VAR_WEEKDAY ifequal SUNDAY, .NextShipMonday ifequal SATURDAY, .NextShipMonday ifequal TUESDAY, .NextShipFriday ifequal WEDNESDAY, .NextShipFriday ifequal THURSDAY, .NextShipFriday .FirstTime: writetext OlivinePortAskBoardText yesorno iffalse OlivinePortNotRidingMoveAwayScript writetext OlivinePortAskTicketText promptbutton checkitem S_S_TICKET iffalse .NoTicket writetext OlivinePortFlashTicketText waitbutton closetext setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2 applymovement PLAYER, MovementData_0x74a37 sjump OlivinePortSailorAtGangwayScript .NoTicket: writetext OlivinePortNoTicketText waitbutton closetext applymovement PLAYER, MovementData_0x74a34 end .NextShipMonday: writetext OlivinePortMondayShipText waitbutton closetext applymovement PLAYER, MovementData_0x74a34 end .NextShipFriday: writetext OlivinePortFridayShipText waitbutton closetext applymovement PLAYER, MovementData_0x74a34 end .skip: end OlivinePortNotRidingScript: writetext OlivinePortComeAgainText waitbutton closetext end OlivinePortNotRidingMoveAwayScript: writetext OlivinePortComeAgainText waitbutton closetext applymovement PLAYER, MovementData_0x74a34 end OlivinePortSailorAfterHOFScript: faceplayer opentext checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 iftrue OlivinePortAlreadyRodeScript checkevent EVENT_FAST_SHIP_FIRST_TIME iffalse .FirstTime readvar VAR_WEEKDAY ifequal SUNDAY, .NextShipMonday ifequal SATURDAY, .NextShipMonday ifequal TUESDAY, .NextShipFriday ifequal WEDNESDAY, .NextShipFriday ifequal THURSDAY, .NextShipFriday .FirstTime: writetext OlivinePortAskBoardText yesorno iffalse OlivinePortNotRidingScript writetext OlivinePortAskTicketText promptbutton checkitem S_S_TICKET iffalse .NoTicket writetext OlivinePortFlashTicketText waitbutton closetext setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2 readvar VAR_FACING ifequal RIGHT, .Right applymovement PLAYER, MovementData_0x74a3f sjump OlivinePortSailorAtGangwayScript .Right: applymovement PLAYER, MovementData_0x74a49 sjump OlivinePortSailorAtGangwayScript .NoTicket: writetext OlivinePortNoTicketText waitbutton closetext end .NextShipMonday: writetext OlivinePortMondayShipText waitbutton closetext end .NextShipFriday: writetext OlivinePortFridayShipText waitbutton closetext end OlivinePortSailorBeforeHOFScript: jumptextfaceplayer OlivinePortSailorBeforeHOFText OlivinePortFishingGuru1Script: faceplayer opentext writetext OlivinePortFishingGuru1Text waitbutton closetext turnobject OLIVINEPORT_FISHING_GURU1, UP end OlivinePortFishingGuru2Script: faceplayer opentext writetext OlivinePortFishingGuru2Text waitbutton closetext turnobject OLIVINEPORT_FISHING_GURU2, UP end OlivinePortYoungsterScript: faceplayer opentext writetext OlivinePortYoungsterText waitbutton closetext turnobject OLIVINEPORT_YOUNGSTER, DOWN end OlivinePortCooltrainerFScript: faceplayer opentext writetext OlivinePortCooltrainerFText waitbutton closetext turnobject OLIVINEPORT_COOLTRAINER_F, DOWN end OlivinePortHiddenProtein: hiddenitem PROTEIN, EVENT_OLIVINE_PORT_HIDDEN_PROTEIN MovementData_0x74a30: step DOWN step_end MovementData_0x74a32: step UP step_end MovementData_0x74a34: step RIGHT turn_head LEFT step_end MovementData_0x74a37: step DOWN step DOWN step DOWN step DOWN step DOWN step DOWN step DOWN step_end MovementData_0x74a3f: step RIGHT step DOWN step DOWN step DOWN step DOWN step DOWN step DOWN step DOWN step DOWN step_end MovementData_0x74a49: step UP step RIGHT step RIGHT step DOWN step DOWN step DOWN step DOWN step DOWN step DOWN step DOWN step DOWN step_end OlivinePortSailorGetOnBoardText: text "We're departing" line "soon. Please get" cont "on board." done OlivinePortCantBoardText: text "Sorry. You can't" line "board now." done OlivinePortAskBoardText: text "Welcome to FAST" line "SHIP S.S.AQUA." para "Will you be board-" line "ing today?" done OlivinePortAskTicketText: text "May I see your" line "S.S.TICKET?" done OlivinePortComeAgainText: text "We hope to see you" line "again!" done OlivinePortFlashTicketText: text "<PLAYER> flashed" line "the S.S.TICKET." para "That's it." line "Thank you!" done OlivinePortNoTicketText: text "<PLAYER> tried to" line "show the S.S." cont "TICKET…" para "…But no TICKET!" para "Sorry!" line "You may board only" para "if you have an" line "S.S.TICKET." done OlivinePortMondayShipText: text "The FAST SHIP will" line "sail next Monday." done OlivinePortFridayShipText: text "The FAST SHIP will" line "sail next Friday." done OlivinePortFishingGuru1Text: text "SHELLDER are easy" line "to catch here." para "They're kind of" line "rare elsewhere." done OlivinePortFishingGuru2Text: text "How many RODS do" line "you have?" para "Different RODS" line "catch different" cont "#MON." done OlivinePortYoungsterText: text "S.S.AQUA uses jets" line "to skim over the" cont "waves!" done OlivinePortCooltrainerFText: text "There are lots of" line "#MON in KANTO." para "I wish I could go…" done OlivinePortSailorBeforeHOFText: text "We don't want you" line "to fall into the" para "sea, so you're not" line "allowed in." done OlivinePort_MapEvents: db 0, 0 ; filler db 2 ; warp events warp_event 11, 7, OLIVINE_PORT_PASSAGE, 5 warp_event 7, 23, FAST_SHIP_1F, 1 db 1 ; coord events coord_event 7, 15, SCENE_DEFAULT, OlivinePortWalkUpToShipScript db 1 ; bg events bg_event 1, 22, BGEVENT_ITEM, OlivinePortHiddenProtein db 7 ; object events object_event 7, 23, SPRITE_SAILOR, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OlivinePortSailorAtGangwayScript, EVENT_OLIVINE_PORT_SAILOR_AT_GANGWAY object_event 7, 15, SPRITE_SAILOR, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OlivinePortSailorBeforeHOFScript, EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME object_event 6, 15, SPRITE_SAILOR, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OlivinePortSailorAfterHOFScript, EVENT_OLIVINE_PORT_SPRITES_AFTER_HALL_OF_FAME object_event 4, 14, SPRITE_FISHING_GURU, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OlivinePortFishingGuru1Script, EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME object_event 13, 14, SPRITE_FISHING_GURU, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OlivinePortFishingGuru2Script, EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME object_event 4, 15, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OlivinePortYoungsterScript, EVENT_OLIVINE_PORT_SPRITES_AFTER_HALL_OF_FAME object_event 11, 15, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OlivinePortCooltrainerFScript, EVENT_OLIVINE_PORT_SPRITES_AFTER_HALL_OF_FAME