ref: 9e4a00af4523cdfacbb6b245679e2e60fbc6b375
dir: /maps/Route35NationalParkGate.asm/
object_const_def ; object_event constants const ROUTE35NATIONALPARKGATE_OFFICER1 const ROUTE35NATIONALPARKGATE_YOUNGSTER const ROUTE35NATIONALPARKGATE_OFFICER2 Route35NationalParkGate_MapScripts: db 3 ; scene scripts scene_script .DummyScene0 ; SCENE_ROUTE35NATIONALPARKGATE_NOTHING scene_script .DummyScene1 ; SCENE_ROUTE35NATIONALPARKGATE_UNUSED scene_script .LeaveContestEarly ; SCENE_ROUTE35NATIONALPARKGATE_LEAVE_CONTEST_EARLY db 2 ; callbacks callback MAPCALLBACK_NEWMAP, .CheckIfContestRunning callback MAPCALLBACK_OBJECTS, .CheckIfContestAvailable .DummyScene0: end .DummyScene1: end .LeaveContestEarly: prioritysjump .LeavingContestEarly end .CheckIfContestRunning: checkflag ENGINE_BUG_CONTEST_TIMER iftrue .BugContestIsRunning setscene SCENE_ROUTE35NATIONALPARKGATE_NOTHING return .BugContestIsRunning: setscene SCENE_ROUTE35NATIONALPARKGATE_LEAVE_CONTEST_EARLY return .CheckIfContestAvailable: readvar VAR_WEEKDAY ifequal TUESDAY, .SetContestOfficer ifequal THURSDAY, .SetContestOfficer ifequal 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, Route35NationalParkGatePlayerApproachOfficer1Movement turnobject ROUTE35NATIONALPARKGATE_OFFICER1, RIGHT opentext readvar VAR_CONTESTMINUTES addval 1 getnum STRING_BUFFER_3 writetext Route35NationalParkGateOfficer1WantToFinishText yesorno iffalse .GoBackToContest writetext Route35NationalParkGateOfficer1WaitAtNorthGateText waitbutton closetext jumpstd BugContestResultsWarpScript .GoBackToContest: writetext Route35NationalParkGateOfficer1OkGoFinishText waitbutton closetext scall Route35NationalParkGate_EnterContest playsound SFX_ENTER_DOOR special FadeOutPalettes waitsfx warpfacing UP, NATIONAL_PARK_BUG_CONTEST, 10, 47 end Route35OfficerScriptContest: readvar VAR_WEEKDAY ifequal SUNDAY, Route35NationalParkGate_NoContestToday ifequal MONDAY, Route35NationalParkGate_NoContestToday ifequal WEDNESDAY, Route35NationalParkGate_NoContestToday ifequal FRIDAY, Route35NationalParkGate_NoContestToday faceplayer opentext checkflag ENGINE_DAILY_BUG_CONTEST iftrue Route35NationalParkGate_ContestIsOver scall Route35NationalParkGate_GetDayOfWeek writetext Route35NationalParkGateOfficer1AskToParticipateText yesorno iffalse Route35NationalParkGate_DeclinedToParticipate readvar VAR_PARTYCOUNT ifgreater 1, Route35NationalParkGate_LeaveTheRestBehind special ContestDropOffMons clearevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER Route35NationalParkGate_OkayToProceed: setflag ENGINE_BUG_CONTEST_TIMER special PlayMapMusic writetext Route35NationalParkGateOfficer1GiveParkBallsText promptbutton writetext Route35NationalParkGatePlayerReceivedParkBallsText playsound SFX_ITEM waitsfx writetext Route35NationalParkGateOfficer1ExplainsRulesText waitbutton closetext special GiveParkBalls scall Route35NationalParkGate_EnterContest playsound SFX_ENTER_DOOR special FadeOutPalettes waitsfx special SelectRandomBugContestContestants warpfacing UP, NATIONAL_PARK_BUG_CONTEST, 10, 47 end Route35NationalParkGate_EnterContest: readvar VAR_FACING ifequal LEFT, Route35NationalParkGate_FacingLeft applymovement PLAYER, Route35NationalParkGatePlayerGoAroundOfficerAndEnterParkMovement end Route35NationalParkGate_FacingLeft: applymovement PLAYER, Route35NationalParkGatePlayerEnterParkMovement end Route35NationalParkGate_LeaveTheRestBehind: readvar VAR_PARTYCOUNT ifless PARTY_LENGTH, Route35NationalParkGate_LessThanFullParty readvar VAR_BOXSPACE ifequal 0, Route35NationalParkGate_NoRoomInBox Route35NationalParkGate_LessThanFullParty: special CheckFirstMonIsEgg ifequal TRUE, Route35NationalParkGate_FirstMonIsEgg writetext Route35NationalParkGateOfficer1AskToUseFirstMonText yesorno iffalse Route35NationalParkGate_DeclinedToLeaveMonsBehind special ContestDropOffMons iftrue Route35NationalParkGate_FirstMonIsFainted setevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER writetext Route35NationalParkGateOfficer1WellHoldYourMonText promptbutton writetext Route35NationalParkGatePlayersMonLeftWithHelperText playsound SFX_GOT_SAFARI_BALLS waitsfx promptbutton sjump Route35NationalParkGate_OkayToProceed Route35NationalParkGate_DeclinedToParticipate: writetext Route35NationalParkGateOfficer1TakePartInFutureText waitbutton closetext end Route35NationalParkGate_DeclinedToLeaveMonsBehind: writetext Route35NationalParkGateOfficer1ChooseMonAndComeBackText waitbutton closetext end Route35NationalParkGate_FirstMonIsFainted: writetext Route35NationalParkGateOfficer1FirstMonCantBattleText waitbutton closetext end Route35NationalParkGate_NoRoomInBox: writetext Route35NationalParkGateOfficer1MakeRoomText waitbutton closetext end Route35NationalParkGate_FirstMonIsEgg: writetext Route35NationalParkGateOfficer1EggAsFirstMonText waitbutton closetext end Route35NationalParkGate_ContestIsOver: writetext Route35NationalParkGateOfficer1ContestIsOverText waitbutton closetext end Route35NationalParkGate_NoContestToday: jumptextfaceplayer Route35NationalParkGateOfficer1WeHoldContestsText Route35NationalParkGateOfficerScript: faceplayer opentext checkflag ENGINE_DAILY_BUG_CONTEST iftrue Route35NationalParkGate_ContestIsOver writetext Route35NationalParkGateOfficer1WeHoldContestsText waitbutton closetext end Route35NationalParkGateYoungsterScript: jumptextfaceplayer Route35NationalParkGateYoungsterText BugCatchingContestExplanationSign: jumptext BugCatchingContestExplanationText Route35NationalParkGate_GetDayOfWeek: jumpstd DayToTextScript end Route35NationalParkGatePlayerApproachOfficer1Movement: step DOWN turn_head LEFT step_end Route35NationalParkGatePlayerGoAroundOfficerAndEnterParkMovement: step RIGHT step UP step UP step_end Route35NationalParkGatePlayerEnterParkMovement: step UP step_end Route35NationalParkGateOfficer1AskToParticipateText: text "Today's @" text_ram wStringBuffer3 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 Route35NationalParkGateOfficer1GiveParkBallsText: text "Here are the PARK" line "BALLS for the" cont "Contest." done Route35NationalParkGatePlayerReceivedParkBallsText: text "<PLAYER> received" line "20 PARK BALLS." done Route35NationalParkGateOfficer1ExplainsRulesText: 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 Route35NationalParkGateOfficer1AskToUseFirstMonText: text "Uh-oh…" para "You have more than" line "one #MON." para "You'll have to use" line "@" text_ram wStringBuffer3 text ", the" para "first #MON in" line "your party." para "Is that OK with" line "you?" done Route35NationalParkGateOfficer1WellHoldYourMonText: text "Fine, we'll hold" line "your other #MON" cont "while you compete." done Route35NationalParkGatePlayersMonLeftWithHelperText: text "<PLAYER>'s #MON" line "were left with the" cont "CONTEST HELPER." done Route35NationalParkGateOfficer1ChooseMonAndComeBackText: text "Please choose the" line "#MON to be used" para "in the Contest," line "then come see me." done Route35NationalParkGateOfficer1TakePartInFutureText: text "OK. We hope you'll" line "take part in the" cont "future." done Route35NationalParkGateOfficer1FirstMonCantBattleText: 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 Route35NationalParkGateOfficer1MakeRoomText: 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 Route35NationalParkGateOfficer1EggAsFirstMonText: 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 Route35NationalParkGateOfficer1WantToFinishText: text "You still have @" text_ram wStringBuffer3 text_start line "minute(s) left." para "Do you want to" line "finish now?" done Route35NationalParkGateOfficer1WaitAtNorthGateText: text "OK. Please wait at" line "the North Gate for" para "the announcement" line "of the winners." done Route35NationalParkGateOfficer1OkGoFinishText: text "OK. Please get" line "back outside and" cont "finish up." done Route35NationalParkGateOfficer1ContestIsOverText: text "Today's Contest is" line "over. We hope you" para "will participate" line "in the future." done Route35NationalParkGateOfficer1WeHoldContestsText: text "We hold Contests" line "regularly in the" para "PARK. You should" line "give it a shot." done Route35NationalParkGateYoungsterText: text "When is the next" line "Bug-Catching Con-" cont "test going to be?" done BugCatchingContestExplanationText: 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_MapEvents: db 0, 0 ; filler db 4 ; warp events warp_event 3, 0, NATIONAL_PARK, 3 warp_event 4, 0, NATIONAL_PARK, 4 warp_event 3, 7, ROUTE_35, 3 warp_event 4, 7, ROUTE_35, 3 db 0 ; coord events db 1 ; bg events bg_event 5, 0, BGEVENT_READ, BugCatchingContestExplanationSign db 3 ; object events object_event 2, 1, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, Route35OfficerScriptContest, EVENT_ROUTE_35_NATIONAL_PARK_GATE_OFFICER_CONTEST_DAY object_event 6, 5, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, Route35NationalParkGateYoungsterScript, EVENT_ROUTE_35_NATIONAL_PARK_GATE_YOUNGSTER object_event 0, 3, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, Route35NationalParkGateOfficerScript, EVENT_ROUTE_35_NATIONAL_PARK_GATE_OFFICER_NOT_CONTEST_DAY