diff options
Diffstat (limited to 'maps/Route35NationalParkGate.asm')
-rw-r--r-- | maps/Route35NationalParkGate.asm | 462 |
1 files changed, 462 insertions, 0 deletions
diff --git a/maps/Route35NationalParkGate.asm b/maps/Route35NationalParkGate.asm new file mode 100644 index 000000000..1214827f8 --- /dev/null +++ b/maps/Route35NationalParkGate.asm @@ -0,0 +1,462 @@ +const_value set 2 + const ROUTE35NATIONALPARKGATE_OFFICER1 + const ROUTE35NATIONALPARKGATE_YOUNGSTER + const ROUTE35NATIONALPARKGATE_OFFICER2 + +Route35NationalParkGate_MapScriptHeader: +.MapTriggers: + db 3 + maptrigger .DummyTrigger0 + maptrigger .DummyTrigger1 + maptrigger .LeaveContestEarly + +.MapCallbacks: + db 2 + dbw MAPCALLBACK_NEWMAP, .CheckIfContestRunning + dbw MAPCALLBACK_OBJECTS, .CheckIfContestAvailable + +.DummyTrigger0: + end + +.DummyTrigger1: + end + +.LeaveContestEarly: + priorityjump .LeavingContestEarly + end + +.CheckIfContestRunning: + checkflag ENGINE_BUG_CONTEST_TIMER + iftrue .BugContestIsRunning + dotrigger $0 + return + +.BugContestIsRunning: + dotrigger $2 + return + +.CheckIfContestAvailable: + checkcode VAR_WEEKDAY + if_equal TUESDAY, .SetContestOfficer + if_equal THURSDAY, .SetContestOfficer + if_equal SATURDAY, .SetContestOfficer + checkflag ENGINE_BUG_CONTEST_TIMER + iftrue .BugContestIsRunning + disappear ROUTE35NATIONALPARKGATE_OFFICER1 + appear ROUTE35NATIONALPARKGATE_YOUNGSTER + appear ROUTE35NATIONALPARKGATE_OFFICER2 + return + +.SetContestOfficer: + appear ROUTE35NATIONALPARKGATE_OFFICER1 + disappear ROUTE35NATIONALPARKGATE_YOUNGSTER + disappear ROUTE35NATIONALPARKGATE_OFFICER2 + return + +.LeavingContestEarly: + applymovement PLAYER, MovementData_0x6a2e2 + spriteface ROUTE35NATIONALPARKGATE_OFFICER1, RIGHT + opentext + checkcode VAR_CONTESTMINUTES + addvar $1 + RAM2MEM $0 + writetext UnknownText_0x6a79a + yesorno + iffalse .GoBackToContest + writetext UnknownText_0x6a7db + waitbutton + closetext + jumpstd bugcontestresultswarp + +.GoBackToContest: + writetext UnknownText_0x6a823 + waitbutton + closetext + scall Route35NationalParkGate_EnterContest + playsound SFX_ENTER_DOOR + special FadeOutPalettes + waitsfx + warpfacing UP, NATIONAL_PARK_BUG_CONTEST, $a, $2f + end + +OfficerScript_0x6a204: + checkcode VAR_WEEKDAY + if_equal SUNDAY, Route35NationalParkGate_NoContestToday + if_equal MONDAY, Route35NationalParkGate_NoContestToday + if_equal WEDNESDAY, Route35NationalParkGate_NoContestToday + if_equal FRIDAY, Route35NationalParkGate_NoContestToday + faceplayer + opentext + checkflag ENGINE_DAILY_BUG_CONTEST + iftrue Route35NationalParkGate_ContestIsOver + scall Route35NationalParkGate_GetDayOfWeek + writetext UnknownText_0x6a2eb + yesorno + iffalse Route35NationalParkGate_DeclinedToParticipate + checkcode VAR_PARTYCOUNT + if_greater_than $1, Route35NationalParkGate_LeaveTheRestBehind + special ContestDropOffMons + clearevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER +Route35NationalParkGate_OkayToProceed: + setflag ENGINE_BUG_CONTEST_TIMER + special PlayMapMusic + writetext UnknownText_0x6a39d + buttonsound + writetext UnknownText_0x6a3c7 + playsound SFX_ITEM + waitsfx + writetext UnknownText_0x6a3e2 + waitbutton + closetext + special Special_GiveParkBalls + scall Route35NationalParkGate_EnterContest + playsound SFX_ENTER_DOOR + special FadeOutPalettes + waitsfx + special Special_SelectRandomBugContestContestants + warpfacing UP, NATIONAL_PARK_BUG_CONTEST, $a, $2f + end + +Route35NationalParkGate_EnterContest: + checkcode VAR_FACING + if_equal LEFT, Route35NationalParkGate_FacingLeft + applymovement PLAYER, MovementData_0x6a2e5 + end + +Route35NationalParkGate_FacingLeft: + applymovement PLAYER, MovementData_0x6a2e9 + end + +Route35NationalParkGate_LeaveTheRestBehind: + checkcode VAR_PARTYCOUNT + if_less_than 6, Route35NationalParkGate_LessThanFullParty + checkcode VAR_BOXSPACE + if_equal 0, Route35NationalParkGate_NoRoomInBox + +Route35NationalParkGate_LessThanFullParty: ; 6a27d + special CheckFirstMonIsEgg + if_equal $1, Route35NationalParkGate_FirstMonIsEgg + writetext UnknownText_0x6a4c6 + yesorno + iffalse Route35NationalParkGate_DeclinedToLeaveMonsBehind + special ContestDropOffMons + iftrue Route35NationalParkGate_FirstMonIsFainted + setevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER + writetext UnknownText_0x6a537 + buttonsound + writetext UnknownText_0x6a56b + playsound SFX_GOT_SAFARI_BALLS + waitsfx + buttonsound + jump Route35NationalParkGate_OkayToProceed + +Route35NationalParkGate_DeclinedToParticipate: + writetext UnknownText_0x6a5dc + waitbutton + closetext + end + +Route35NationalParkGate_DeclinedToLeaveMonsBehind: + writetext UnknownText_0x6a597 + waitbutton + closetext + end + +Route35NationalParkGate_FirstMonIsFainted: + writetext UnknownText_0x6a608 + waitbutton + closetext + end + +Route35NationalParkGate_NoRoomInBox: + writetext UnknownText_0x6a67c + waitbutton + closetext + end + +Route35NationalParkGate_FirstMonIsEgg: + writetext UnknownText_0x6a71f + waitbutton + closetext + end + +Route35NationalParkGate_ContestIsOver: + writetext UnknownText_0x6a84f + waitbutton + closetext + end + +Route35NationalParkGate_NoContestToday: + jumptextfaceplayer UnknownText_0x6a894 + +OfficerScript_0x6a2ca: + faceplayer + opentext + checkflag ENGINE_DAILY_BUG_CONTEST + iftrue Route35NationalParkGate_ContestIsOver + writetext UnknownText_0x6a894 + waitbutton + closetext + end + +YoungsterScript_0x6a2d8: + jumptextfaceplayer UnknownText_0x6a8d8 + +MapRoute36NationalParkGateSignpost0Script: + jumptext UnknownText_0x6a90e + +Route35NationalParkGate_GetDayOfWeek: + jumpstd daytotext + end + +MovementData_0x6a2e2: + step DOWN + turn_head LEFT + step_end + +MovementData_0x6a2e5: + step RIGHT + step UP + step UP + step_end + +MovementData_0x6a2e9: + step UP + step_end + +UnknownText_0x6a2eb: + text "Today's @" + text_from_ram StringBuffer3 + text "." + line "That means the" + + para "Bug-Catching Con-" + line "test is on today." + + para "The rules are sim-" + line "ple." + + para "Using one of your" + line "#MON, catch a" + + para "bug #MON to be" + line "judged." + + para "Would you like to" + line "give it a try?" + done + +UnknownText_0x6a39d: + text "Here are the PARK" + line "BALLS for the" + cont "Contest." + done + +UnknownText_0x6a3c7: + text "<PLAYER> received" + line "20 PARK BALLS." + done + +UnknownText_0x6a3e2: + text "The person who" + line "gets the strong-" + cont "est bug #MON" + cont "is the winner." + + para "You have 20" + line "minutes." + + para "If you run out of" + line "PARK BALLS, you're" + cont "done." + + para "You can keep the" + line "last #MON you" + cont "catch as your own." + + para "Go out and catch" + line "the strongest bug" + + para "#MON you can" + line "find!" + done + +UnknownText_0x6a4c6: + text "Uh-oh…" + + para "You have more than" + line "one #MON." + + para "You'll have to use" + line "@" + text_from_ram StringBuffer3 + text ", the" + + para "first #MON in" + line "your party." + + para "Is that OK with" + line "you?" + done + +UnknownText_0x6a537: + text "Fine, we'll hold" + line "your other #MON" + cont "while you compete." + done + +UnknownText_0x6a56b: + text "<PLAYER>'s #MON" + line "were left with the" + cont "CONTEST HELPER." + done + +UnknownText_0x6a597: + text "Please choose the" + line "#MON to be used" + + para "in the Contest," + line "then come see me." + done + +UnknownText_0x6a5dc: + text "OK. We hope you'll" + line "take part in the" + cont "future." + done + +UnknownText_0x6a608: + text "Uh-oh…" + line "The first #MON" + + para "in your party" + line "can't battle." + + para "Please switch it" + line "with the #MON" + + para "you want to use," + line "then come see me." + done + +UnknownText_0x6a67c: + text "Uh-oh…" + line "Both your party" + + para "and your PC BOX" + line "are full." + + para "You have no room" + line "to put the bug" + cont "#MON you catch." + + para "Please make room" + line "in your party or" + + para "your PC BOX, then" + line "come see me." + done + +UnknownText_0x6a71f: + text "Uh-oh…" + line "You have an EGG as" + + para "the first #MON" + line "in your party." + + para "Please switch it" + line "with the #MON" + + para "you want to use," + line "then come see me." + done + +UnknownText_0x6a79a: + text "You still have @" + text_from_ram StringBuffer3 + text "" + line "minute(s) left." + + para "Do you want to" + line "finish now?" + done + +UnknownText_0x6a7db: + text "OK. Please wait at" + line "the North Gate for" + + para "the announcement" + line "of the winners." + done + +UnknownText_0x6a823: + text "OK. Please get" + line "back outside and" + cont "finish up." + done + +UnknownText_0x6a84f: + text "Today's Contest is" + line "over. We hope you" + + para "will participate" + line "in the future." + done + +UnknownText_0x6a894: + text "We hold Contests" + line "regularly in the" + + para "PARK. You should" + line "give it a shot." + done + +UnknownText_0x6a8d8: + text "When is the next" + line "Bug-Catching Con-" + cont "test going to be?" + done + +UnknownText_0x6a90e: + text "The Bug-Catching" + line "Contest is held on" + + para "Tuesday, Thursday" + line "and Saturday." + + para "Not only do you" + line "earn a prize just" + + para "for participating," + line "you also get to" + + para "keep the bug" + line "#MON you may" + + para "have at the end of" + line "the contest." + done + +Route35NationalParkGate_MapEventHeader: + ; filler + db 0, 0 + +.Warps: + db 4 + warp_def $0, $3, 3, NATIONAL_PARK + warp_def $0, $4, 4, NATIONAL_PARK + warp_def $7, $3, 3, ROUTE_35 + warp_def $7, $4, 3, ROUTE_35 + +.XYTriggers: + db 0 + +.Signposts: + db 1 + signpost 0, 5, SIGNPOST_READ, MapRoute36NationalParkGateSignpost0Script + +.PersonEvents: + db 3 + person_event SPRITE_OFFICER, 1, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, OfficerScript_0x6a204, EVENT_ROUTE_35_NATIONAL_PARK_GATE_OFFICER_CONTEST_DAY + person_event SPRITE_YOUNGSTER, 5, 6, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, PERSONTYPE_SCRIPT, 0, YoungsterScript_0x6a2d8, EVENT_ROUTE_35_NATIONAL_PARK_GATE_YOUNGSTER + person_event SPRITE_OFFICER, 3, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, PERSONTYPE_SCRIPT, 0, OfficerScript_0x6a2ca, EVENT_ROUTE_35_NATIONAL_PARK_GATE_OFFICER_NOT_CONTEST_DAY |