diff options
Diffstat (limited to 'maps/Route43Gate.asm')
-rw-r--r-- | maps/Route43Gate.asm | 263 |
1 files changed, 263 insertions, 0 deletions
diff --git a/maps/Route43Gate.asm b/maps/Route43Gate.asm new file mode 100644 index 00000000..6b4c530d --- /dev/null +++ b/maps/Route43Gate.asm @@ -0,0 +1,263 @@ +ROUTE43GATE_TOLL EQU 1000 + + const_def 2 ; object 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: + priorityjump .RocketTakeover + end + +.DummyScene: + end + +.CheckIfRockets: + checkevent EVENT_CLEARED_ROCKET_HIDEOUT + iftrue .NoRockets + setmapscene ROUTE_43, 0 ; Route 43 does not have a scene variable + return + +.NoRockets: + setmapscene ROUTE_43, 1 ; Route 43 does not have a scene variable + return + +.RocketTakeover: + playmusic MUSIC_ROCKET_ENCOUNTER + checkcode 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 + buttonsound + checkmoney YOUR_MONEY, ROUTE43GATE_TOLL - 1 + ifequal HAVE_MORE, RocketScript_TollSouth + jump RocketScript_YoureBrokeSouth + +RocketScript_TollSouth: + takemoney YOUR_MONEY, ROUTE43GATE_TOLL + writetext RocketText_ThankYou + jump RocketScript_ShakeDownSouth + +RocketScript_YoureBrokeSouth: + takemoney YOUR_MONEY, ROUTE43GATE_TOLL + writetext RocketText_AllYouGot + jump RocketScript_ShakeDownSouth + +RocketScript_ShakeDownSouth: + buttonsound + 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 + buttonsound + checkmoney YOUR_MONEY, ROUTE43GATE_TOLL - 1 + ifequal HAVE_MORE, RocketScript_TollNorth + jump RocketScript_YoureBrokeNorth + +RocketScript_TollNorth: + takemoney YOUR_MONEY, ROUTE43GATE_TOLL + writetext RocketText_ThankYou + jump RocketScript_ShakeDownNorth + +RocketScript_YoureBrokeNorth: + takemoney YOUR_MONEY, ROUTE43GATE_TOLL + writetext RocketText_AllYouGot + jump RocketScript_ShakeDownNorth + +RocketScript_ShakeDownNorth: + buttonsound + 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 + buttonsound + 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 "mister!" + + para "The toll is ¥1000" + line "to go through." + done + +RocketText_ThankYou: + text "Thank you, sir!" + 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 |