pokecrystal/maps/FastShip1F.asm

314 lines
6.6 KiB
NASM

object_const_def ; object_event constants
const FASTSHIP1F_SAILOR1
const FASTSHIP1F_SAILOR2
const FASTSHIP1F_SAILOR3
const FASTSHIP1F_GENTLEMAN
FastShip1F_MapScripts:
db 3 ; scene scripts
scene_script .DummyScene0 ; SCENE_DEFAULT
scene_script .EnterFastShip ; SCENE_FASTSHIP1F_ENTER_SHIP
scene_script .DummyScene2 ; SCENE_FASTSHIP1F_MEET_GRANDPA
db 0 ; callbacks
.DummyScene0:
end
.EnterFastShip:
prioritysjump .EnterFastShipScript
end
.DummyScene2:
end
.EnterFastShipScript:
applymovement FASTSHIP1F_SAILOR1, MovementData_0x7520e
applymovement PLAYER, MovementData_0x75217
applymovement FASTSHIP1F_SAILOR1, MovementData_0x75211
pause 30
playsound SFX_BOAT
earthquake 30
blackoutmod FAST_SHIP_CABINS_SW_SSW_NW
clearevent EVENT_FAST_SHIP_HAS_ARRIVED
checkevent EVENT_FAST_SHIP_FIRST_TIME
iftrue .SkipGrandpa
setscene SCENE_FASTSHIP1F_MEET_GRANDPA
end
.SkipGrandpa:
setscene SCENE_DEFAULT
end
FastShip1FSailor1Script:
faceplayer
opentext
checkevent EVENT_FAST_SHIP_HAS_ARRIVED
iftrue .Arrived
checkevent EVENT_FAST_SHIP_DESTINATION_OLIVINE
iftrue .Olivine
writetext FastShip1FSailor1Text_ToVermilion
waitbutton
closetext
end
.Olivine:
writetext FastShip1FSailor1Text_ToOlivine
waitbutton
closetext
end
.Arrived:
checkevent EVENT_FAST_SHIP_DESTINATION_OLIVINE
iftrue ._Olivine
writetext FastShip1FSailor1Text_InVermilion
waitbutton
closetext
scall .LetThePlayerOut
playsound SFX_EXIT_BUILDING
special FadeOutPalettes
waitsfx
setevent EVENT_VERMILION_PORT_SAILOR_AT_GANGWAY
setmapscene VERMILION_PORT, SCENE_VERMILIONPORT_LEAVE_SHIP
warp VERMILION_PORT, 7, 17
end
._Olivine:
writetext FastShip1FSailor1Text_InOlivine
waitbutton
closetext
scall .LetThePlayerOut
playsound SFX_EXIT_BUILDING
special FadeOutPalettes
waitsfx
setevent EVENT_OLIVINE_PORT_SAILOR_AT_GANGWAY
setmapscene OLIVINE_PORT, SCENE_OLIVINEPORT_LEAVE_SHIP
warp OLIVINE_PORT, 7, 23
end
.LetThePlayerOut:
readvar VAR_FACING
ifequal RIGHT, .YouAreFacingRight
applymovement FASTSHIP1F_SAILOR1, MovementData_0x7520e
applymovement PLAYER, MovementData_0x75235
end
.YouAreFacingRight:
applymovement FASTSHIP1F_SAILOR1, MovementData_0x75214
applymovement PLAYER, MovementData_0x75238
end
FastShip1FSailor2Script:
faceplayer
opentext
checkevent EVENT_FAST_SHIP_FIRST_TIME
iftrue .Vermilion
writetext FastShip1FSailor2Text_FirstTime
waitbutton
closetext
end
.Vermilion:
writetext FastShip1FSailor2Text
waitbutton
closetext
end
FastShip1FSailor3Script:
jumptextfaceplayer FastShip1FSailor3Text
WorriedGrandpaSceneRight:
moveobject FASTSHIP1F_GENTLEMAN, 20, 6
WorriedGrandpaSceneLeft:
appear FASTSHIP1F_GENTLEMAN
applymovement FASTSHIP1F_GENTLEMAN, MovementData_0x7521b
playsound SFX_TACKLE
applymovement PLAYER, MovementData_0x7522e
applymovement FASTSHIP1F_GENTLEMAN, MovementData_0x75220
opentext
writetext FastShip1FGrandpaText
waitbutton
closetext
turnobject PLAYER, RIGHT
applymovement FASTSHIP1F_GENTLEMAN, MovementData_0x75222
disappear FASTSHIP1F_GENTLEMAN
setscene SCENE_DEFAULT
end
MovementData_0x7520e:
slow_step LEFT
turn_head RIGHT
step_end
MovementData_0x75211:
slow_step RIGHT
turn_head DOWN
step_end
MovementData_0x75214:
slow_step DOWN
turn_head UP
step_end
MovementData_0x75217:
step DOWN
step DOWN
turn_head DOWN
step_end
MovementData_0x7521b:
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step RIGHT
step_end
MovementData_0x75220:
step RIGHT
step_end
MovementData_0x75222:
big_step DOWN
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step DOWN
big_step DOWN
big_step DOWN
big_step DOWN
step_end
MovementData_0x7522e:
big_step RIGHT
turn_head LEFT
step_end
MovementData_0x75231:
step UP
step_end
MovementData_0x75233:
step DOWN
step_end
MovementData_0x75235:
step UP
step UP
step_end
MovementData_0x75238:
step RIGHT
step UP
step_end
FastShip1FSailor1Text_ToVermilion:
text "FAST SHIP S.S.AQUA"
line "is en route to"
cont "VERMILION CITY."
para "We will make an"
line "announcement when"
cont "we arrive."
done
FastShip1FSailor1Text_ToOlivine:
text "FAST SHIP S.S.AQUA"
line "is en route to"
cont "OLIVINE CITY."
para "We will make an"
line "announcement when"
cont "we arrive."
done
FastShip1FSailor2Text_FirstTime:
text "Here's your cabin."
para "If your #MON"
line "are hurt, take a"
cont "nap in the bed."
para "That will heal"
line "them."
done
FastShip1FSailor2Text:
text "Here's your cabin."
para "You can heal your"
line "#MON by taking"
cont "a nap in the bed."
para "The ship will"
line "arrive while"
cont "you're sleeping."
done
FastShip1FSailor3Text:
text "The passengers are"
line "all trainers."
para "They're all itch-"
line "ing to battle in"
cont "their cabins."
done
FastShip1FGrandpaText:
text "Whoa! Excuse me."
line "I was in a hurry!"
para "My granddaughter"
line "is missing!"
para "She's just a wee"
line "girl. If you see"
para "her, please let me"
line "know!"
done
FastShip1FSailor1Text_InOlivine:
text "FAST SHIP S.S.AQUA"
line "has arrived in"
cont "OLIVINE CITY."
done
FastShip1FSailor1Text_InVermilion:
text "FAST SHIP S.S.AQUA"
line "has arrived in"
cont "VERMILION CITY."
done
FastShip1F_MapEvents:
db 0, 0 ; filler
db 12 ; warp events
warp_event 25, 1, FAST_SHIP_1F, -1
warp_event 27, 8, FAST_SHIP_CABINS_NNW_NNE_NE, 1
warp_event 23, 8, FAST_SHIP_CABINS_NNW_NNE_NE, 2
warp_event 19, 8, FAST_SHIP_CABINS_NNW_NNE_NE, 3
warp_event 15, 8, FAST_SHIP_CABINS_SW_SSW_NW, 1
warp_event 15, 15, FAST_SHIP_CABINS_SW_SSW_NW, 2
warp_event 19, 15, FAST_SHIP_CABINS_SW_SSW_NW, 4
warp_event 23, 15, FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN, 1
warp_event 27, 15, FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN, 3
warp_event 3, 13, FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN, 5
warp_event 6, 12, FAST_SHIP_B1F, 1
warp_event 30, 14, FAST_SHIP_B1F, 2
db 2 ; coord events
coord_event 24, 6, SCENE_FASTSHIP1F_MEET_GRANDPA, WorriedGrandpaSceneLeft
coord_event 25, 6, SCENE_FASTSHIP1F_MEET_GRANDPA, WorriedGrandpaSceneRight
db 0 ; bg events
db 4 ; object events
object_event 25, 2, SPRITE_SAILOR, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, FastShip1FSailor1Script, -1
object_event 14, 7, SPRITE_SAILOR, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, FastShip1FSailor2Script, -1
object_event 22, 17, SPRITE_SAILOR, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 2, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, FastShip1FSailor3Script, -1
object_event 19, 6, SPRITE_GENTLEMAN, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_FAST_SHIP_1F_GENTLEMAN