pokecrystal/maps/Route43Gate.asm

265 lines
5.7 KiB
NASM

ROUTE43GATE_TOLL EQU 1000
object_const_def ; object_event constants
const ROUTE43GATE_OFFICER
const ROUTE43GATE_ROCKET1
const ROUTE43GATE_ROCKET2
Route43Gate_MapScripts:
db 2 ; scene scripts
scene_script .RocketShakedown ; SCENE_DEFAULT
scene_script .DummyScene ; SCENE_FINISHED
db 1 ; callbacks
callback MAPCALLBACK_NEWMAP, .CheckIfRockets
.RocketShakedown:
prioritysjump .RocketTakeover
end
.DummyScene:
end
.CheckIfRockets:
checkevent EVENT_CLEARED_ROCKET_HIDEOUT
iftrue .NoRockets
setmapscene ROUTE_43, 0 ; Route 43 does not have a scene variable
endcallback
.NoRockets:
setmapscene ROUTE_43, 1 ; Route 43 does not have a scene variable
endcallback
.RocketTakeover:
playmusic MUSIC_ROCKET_ENCOUNTER
readvar VAR_FACING
ifequal DOWN, RocketScript_Southbound
ifequal UP, RocketScript_Northbound
setscene SCENE_FINISHED
end
RocketScript_Southbound:
applymovement PLAYER, PlayerStepsIn
showemote EMOTE_SHOCK, ROUTE43GATE_ROCKET2, 15
applymovement ROUTE43GATE_ROCKET2, Rocket2Script_BlocksYouSouth
turnobject ROUTE43GATE_ROCKET1, UP
showemote EMOTE_SHOCK, ROUTE43GATE_ROCKET1, 15
applymovement ROUTE43GATE_ROCKET1, Rocket1Script_BlocksYouSouth
opentext
writetext RocketText_TollFee
promptbutton
checkmoney YOUR_MONEY, ROUTE43GATE_TOLL - 1
ifequal HAVE_MORE, RocketScript_TollSouth
sjump RocketScript_YoureBrokeSouth
RocketScript_TollSouth:
takemoney YOUR_MONEY, ROUTE43GATE_TOLL
writetext RocketText_ThankYou
sjump RocketScript_ShakeDownSouth
RocketScript_YoureBrokeSouth:
takemoney YOUR_MONEY, ROUTE43GATE_TOLL
writetext RocketText_AllYouGot
sjump RocketScript_ShakeDownSouth
RocketScript_ShakeDownSouth:
promptbutton
closetext
applymovement ROUTE43GATE_ROCKET1, Rocket1Script_LetsYouPassSouth
applymovement ROUTE43GATE_ROCKET2, Rocket2Script_LetsYouPassSouth
setscene SCENE_FINISHED
special RestartMapMusic
end
RocketScript_Northbound:
showemote EMOTE_SHOCK, ROUTE43GATE_ROCKET1, 15
applymovement ROUTE43GATE_ROCKET1, Rocket1Script_BlocksYouNorth
turnobject ROUTE43GATE_ROCKET2, DOWN
showemote EMOTE_SHOCK, ROUTE43GATE_ROCKET2, 15
applymovement ROUTE43GATE_ROCKET2, Rocket2Script_BlocksYouNorth
opentext
writetext RocketText_TollFee
promptbutton
checkmoney YOUR_MONEY, ROUTE43GATE_TOLL - 1
ifequal HAVE_MORE, RocketScript_TollNorth
sjump RocketScript_YoureBrokeNorth
RocketScript_TollNorth:
takemoney YOUR_MONEY, ROUTE43GATE_TOLL
writetext RocketText_ThankYou
sjump RocketScript_ShakeDownNorth
RocketScript_YoureBrokeNorth:
takemoney YOUR_MONEY, ROUTE43GATE_TOLL
writetext RocketText_AllYouGot
sjump RocketScript_ShakeDownNorth
RocketScript_ShakeDownNorth:
promptbutton
closetext
applymovement ROUTE43GATE_ROCKET2, Rocket2Script_LetsYouPassNorth
applymovement ROUTE43GATE_ROCKET1, Rocket1Script_LetsYouPassNorth
setscene SCENE_FINISHED
special RestartMapMusic
end
RocketScript_MakingABundle:
jumptextfaceplayer RocketText_MakingABundle
OfficerScript_GuardWithSludgeBomb:
faceplayer
opentext
checkevent EVENT_GOT_TM36_SLUDGE_BOMB
iftrue .GotSludgeBomb
writetext OfficerText_FoundTM
promptbutton
verbosegiveitem TM_SLUDGE_BOMB
iffalse .NoRoomForSludgeBomb
setevent EVENT_GOT_TM36_SLUDGE_BOMB
closetext
end
.GotSludgeBomb:
writetext OfficerText_AvoidGrass
waitbutton
.NoRoomForSludgeBomb:
closetext
end
PlayerStepsIn:
step DOWN
step_end
Rocket1Script_BlocksYouSouth:
big_step UP
big_step UP
big_step RIGHT
big_step RIGHT
turn_head UP
step_end
Rocket1Script_LetsYouPassSouth:
big_step LEFT
big_step LEFT
big_step DOWN
big_step DOWN
step_end
Rocket1Script_BlocksYouNorth:
big_step DOWN
big_step DOWN
big_step RIGHT
big_step RIGHT
turn_head DOWN
step_end
Rocket1Script_LetsYouPassNorth:
big_step LEFT
big_step LEFT
big_step UP
big_step UP
turn_head DOWN
step_end
Rocket2Script_BlocksYouSouth:
big_step UP
big_step UP
big_step LEFT
big_step LEFT
turn_head UP
step_end
Rocket2Script_LetsYouPassSouth:
big_step RIGHT
big_step RIGHT
big_step DOWN
big_step DOWN
turn_head UP
step_end
Rocket2Script_BlocksYouNorth:
big_step DOWN
big_step DOWN
big_step LEFT
big_step LEFT
turn_head DOWN
step_end
Rocket2Script_LetsYouPassNorth:
big_step RIGHT
big_step RIGHT
big_step UP
big_step UP
step_end
RocketText_TollFee:
text "Hold it there,"
line "kiddo!"
para "The toll is ¥1000"
line "to go through."
done
RocketText_ThankYou:
text "Thank you very"
line "much!"
done
RocketText_AllYouGot:
text "Then pay what you"
line "have, please."
done
RocketText_MakingABundle:
text "He-he-he. We're"
line "making a bundle."
para "Everyone wants to"
line "see what's going"
para "on up at LAKE OF"
line "RAGE."
done
OfficerText_FoundTM:
text "I got chased from"
line "my post by these"
cont "thugs in black."
para "They left this"
line "behind."
para "It makes me uncom-"
line "fortable. Could"
cont "you take it away?"
done
Text_ReceivedTM30:
text "<PLAYER> received"
line "TM30."
done
OfficerText_AvoidGrass:
text "Use this gate to"
line "avoid walking in"
cont "the grass."
done
Route43Gate_MapEvents:
db 0, 0 ; filler
db 4 ; warp events
warp_event 4, 0, ROUTE_43, 4
warp_event 5, 0, ROUTE_43, 5
warp_event 4, 7, ROUTE_43, 3
warp_event 5, 7, ROUTE_43, 3
db 0 ; coord events
db 0 ; bg events
db 3 ; object events
object_event 0, 4, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, OfficerScript_GuardWithSludgeBomb, EVENT_LAKE_OF_RAGE_CIVILIANS
object_event 2, 4, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, RocketScript_MakingABundle, EVENT_ROUTE_43_GATE_ROCKETS
object_event 7, 4, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, RocketScript_MakingABundle, EVENT_ROUTE_43_GATE_ROCKETS