object_const_def ; object_event constants const ROUTE36NATIONALPARKGATE_OFFICER1 const ROUTE36NATIONALPARKGATE_YOUNGSTER1 const ROUTE36NATIONALPARKGATE_YOUNGSTER2 const ROUTE36NATIONALPARKGATE_ROCKER const ROUTE36NATIONALPARKGATE_POKEFAN_M const ROUTE36NATIONALPARKGATE_YOUNGSTER3 const ROUTE36NATIONALPARKGATE_YOUNGSTER4 const ROUTE36NATIONALPARKGATE_LASS const ROUTE36NATIONALPARKGATE_YOUNGSTER5 const ROUTE36NATIONALPARKGATE_YOUNGSTER6 const ROUTE36NATIONALPARKGATE_YOUNGSTER7 const ROUTE36NATIONALPARKGATE_OFFICER2 Route36NationalParkGate_MapScripts: db 3 ; scene scripts scene_script .DummyScene0 ; SCENE_ROUTE36NATIONALPARKGATE_NOTHING scene_script .DummyScene1 ; SCENE_ROUTE36NATIONALPARKGATE_UNUSED scene_script .LeaveContestEarly ; SCENE_ROUTE36NATIONALPARKGATE_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_ROUTE36NATIONALPARKGATE_NOTHING return .BugContestIsRunning: setscene SCENE_ROUTE36NATIONALPARKGATE_LEAVE_CONTEST_EARLY return .CheckIfContestAvailable: checkevent EVENT_WARPED_FROM_ROUTE_35_NATIONAL_PARK_GATE iftrue .Return readvar VAR_WEEKDAY ifequal TUESDAY, .SetContestOfficer ifequal THURSDAY, .SetContestOfficer ifequal SATURDAY, .SetContestOfficer checkflag ENGINE_BUG_CONTEST_TIMER iftrue .SetContestOfficer disappear ROUTE36NATIONALPARKGATE_OFFICER1 appear ROUTE36NATIONALPARKGATE_OFFICER2 return .SetContestOfficer: appear ROUTE36NATIONALPARKGATE_OFFICER1 disappear ROUTE36NATIONALPARKGATE_OFFICER2 .Return: return .LeavingContestEarly: turnobject PLAYER, UP opentext readvar VAR_CONTESTMINUTES addval 1 getnum STRING_BUFFER_3 writetext Route36NationalParkGateOfficer1WantToFinishText yesorno iffalse .GoBackToContest writetext Route36NationalParkGateOfficer1WaitHereForAnnouncementText waitbutton closetext special FadeBlackQuickly special ReloadSpritesNoPalettes scall .CopyContestants disappear ROUTE36NATIONALPARKGATE_OFFICER1 appear ROUTE36NATIONALPARKGATE_OFFICER2 applymovement PLAYER, Route36NationalParkGatePlayerWaitWithContestantsMovement pause 15 special FadeInQuickly jumpstd BugContestResultsScript .GoBackToContest: writetext Route36NationalParkGateOfficer1OkGoFinishText waitbutton closetext turnobject PLAYER, LEFT playsound SFX_EXIT_BUILDING special FadeOutPalettes waitsfx warpfacing LEFT, NATIONAL_PARK_BUG_CONTEST, 33, 18 end .CopyContestants: checkevent EVENT_BUG_CATCHING_CONTESTANT_1A iftrue .Not1 appear ROUTE36NATIONALPARKGATE_YOUNGSTER1 .Not1: checkevent EVENT_BUG_CATCHING_CONTESTANT_2A iftrue .Not2 appear ROUTE36NATIONALPARKGATE_YOUNGSTER2 .Not2: checkevent EVENT_BUG_CATCHING_CONTESTANT_3A iftrue .Not3 appear ROUTE36NATIONALPARKGATE_ROCKER .Not3: checkevent EVENT_BUG_CATCHING_CONTESTANT_4A iftrue .Not4 appear ROUTE36NATIONALPARKGATE_POKEFAN_M .Not4: checkevent EVENT_BUG_CATCHING_CONTESTANT_5A iftrue .Not5 appear ROUTE36NATIONALPARKGATE_YOUNGSTER3 .Not5: checkevent EVENT_BUG_CATCHING_CONTESTANT_6A iftrue .Not6 appear ROUTE36NATIONALPARKGATE_YOUNGSTER4 .Not6: checkevent EVENT_BUG_CATCHING_CONTESTANT_7A iftrue .Not7 appear ROUTE36NATIONALPARKGATE_LASS .Not7: checkevent EVENT_BUG_CATCHING_CONTESTANT_8A iftrue .Not8 appear ROUTE36NATIONALPARKGATE_YOUNGSTER5 .Not8: checkevent EVENT_BUG_CATCHING_CONTESTANT_9A iftrue .Not9 appear ROUTE36NATIONALPARKGATE_YOUNGSTER6 .Not9: checkevent EVENT_BUG_CATCHING_CONTESTANT_10A iftrue .Not10 appear ROUTE36NATIONALPARKGATE_YOUNGSTER7 .Not10: special UpdateSprites end Route36OfficerScriptContest: readvar VAR_WEEKDAY ifequal SUNDAY, _ContestNotOn ifequal MONDAY, _ContestNotOn ifequal WEDNESDAY, _ContestNotOn ifequal FRIDAY, _ContestNotOn faceplayer opentext checkflag ENGINE_DAILY_BUG_CONTEST iftrue Route36Officer_ContestHasConcluded scall Route36ParkGate_DayToText writetext Route36NationalParkGateOfficer1AskToParticipateText yesorno iffalse .DecidedNotToJoinContest readvar VAR_PARTYCOUNT ifgreater 1, .LeaveMonsWithOfficer special ContestDropOffMons clearevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER .ResumeStartingContest: setflag ENGINE_BUG_CONTEST_TIMER special PlayMapMusic writetext Route36NationalParkGateOfficer1GiveParkBallsText promptbutton waitsfx writetext Route36NationalParkGatePlayerReceivedParkBallsText playsound SFX_ITEM waitsfx writetext Route36NationalParkGateOfficer1ExplainsRulesText waitbutton closetext setflag ENGINE_BUG_CONTEST_TIMER special GiveParkBalls turnobject PLAYER, LEFT playsound SFX_EXIT_BUILDING special FadeOutPalettes waitsfx special SelectRandomBugContestContestants warpfacing LEFT, NATIONAL_PARK_BUG_CONTEST, 33, 18 end .LeaveMonsWithOfficer: readvar VAR_PARTYCOUNT ifless PARTY_LENGTH, .ContinueLeavingMons readvar VAR_BOXSPACE ifequal 0, .BoxFull .ContinueLeavingMons: special CheckFirstMonIsEgg ifequal TRUE, .FirstMonIsEgg writetext Route36NationalParkGateOfficer1AskToUseFirstMonText yesorno iffalse .RefusedToLeaveMons special ContestDropOffMons iftrue .FirstMonIsFainted setevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER writetext Route36NationalParkGateOfficer1WellHoldYourMonText promptbutton writetext Route36NationalParkGatePlayersMonLeftWithHelperText playsound SFX_GOT_SAFARI_BALLS waitsfx promptbutton sjump .ResumeStartingContest .DecidedNotToJoinContest: writetext Route36NationalParkGateOfficer1TakePartInFutureText waitbutton closetext end .RefusedToLeaveMons: writetext Route36NationalParkGateOfficer1ChooseMonAndComeBackText waitbutton closetext end .FirstMonIsFainted: writetext Route36NationalParkGateOfficer1FirstMonCantBattleText waitbutton closetext end .BoxFull: writetext Route36NationalParkGateOfficer1MakeRoomText waitbutton closetext end .FirstMonIsEgg: writetext Route36NationalParkGateOfficer1EggAsFirstMonText waitbutton closetext end Route36Officer_ContestHasConcluded: checkevent EVENT_CONTEST_OFFICER_HAS_SUN_STONE iftrue .Sunstone checkevent EVENT_CONTEST_OFFICER_HAS_EVERSTONE iftrue .Everstone checkevent EVENT_CONTEST_OFFICER_HAS_GOLD_BERRY iftrue .GoldBerry checkevent EVENT_CONTEST_OFFICER_HAS_BERRY iftrue .Berry writetext Route36NationalParkGateOfficer1ContestIsOverText waitbutton closetext end .Sunstone: writetext Route36NationalParkGateOfficer1HeresThePrizeText promptbutton verbosegiveitem SUN_STONE iffalse .BagFull clearevent EVENT_CONTEST_OFFICER_HAS_SUN_STONE closetext end .Everstone: writetext Route36NationalParkGateOfficer1HeresThePrizeText promptbutton verbosegiveitem EVERSTONE iffalse .BagFull clearevent EVENT_CONTEST_OFFICER_HAS_EVERSTONE closetext end .GoldBerry: writetext Route36NationalParkGateOfficer1HeresThePrizeText promptbutton verbosegiveitem GOLD_BERRY iffalse .BagFull clearevent EVENT_CONTEST_OFFICER_HAS_GOLD_BERRY closetext end .Berry: writetext Route36NationalParkGateOfficer1HeresThePrizeText promptbutton verbosegiveitem BERRY iffalse .BagFull clearevent EVENT_CONTEST_OFFICER_HAS_BERRY closetext end .BagFull: writetext Route36NationalParkGateOfficer1WellHoldPrizeText waitbutton closetext end _ContestNotOn: jumptextfaceplayer Route36NationalParkGateOfficer1SomeMonOnlySeenInParkText Route36NationalParkGateOfficerScript: faceplayer opentext checkflag ENGINE_DAILY_BUG_CONTEST iftrue Route36Officer_ContestHasConcluded writetext Route36NationalParkGateOfficer1SomeMonOnlySeenInParkText waitbutton closetext end Route36ParkGate_DayToText: jumpstd DayToTextScript end BugCatchingContestant1BScript: faceplayer opentext checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 iffalse .StillCompeting writetext BugCatchingContestant1BText waitbutton closetext end .StillCompeting: writetext BugCatchingContestant1BStillCompetingText waitbutton closetext end BugCatchingContestant2BScript: faceplayer opentext checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 iffalse .StillCompeting writetext BugCatchingContestant2BText waitbutton closetext end .StillCompeting: writetext BugCatchingContestant2BStillCompetingText waitbutton closetext end BugCatchingContestant3BScript: faceplayer opentext checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 iffalse .StillCompeting writetext BugCatchingContestant3BText waitbutton closetext end .StillCompeting: writetext BugCatchingContestant3BStillCompetingText waitbutton closetext end BugCatchingContestant4BScript: faceplayer opentext checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 iffalse .StillCompeting writetext BugCatchingContestant4BText waitbutton closetext end .StillCompeting: writetext BugCatchingContestant4BStillCompetingText waitbutton closetext end BugCatchingContestant5BScript: faceplayer opentext checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 iffalse .StillCompeting writetext BugCatchingContestant5BText waitbutton closetext end .StillCompeting: writetext BugCatchingContestant5BStillCompetingText waitbutton closetext end BugCatchingContestant6BScript: faceplayer opentext checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 iffalse .StillCompeting writetext BugCatchingContestant6BText waitbutton closetext end .StillCompeting: writetext BugCatchingContestant6BStillCompetingText waitbutton closetext end BugCatchingContestant7BScript: faceplayer opentext checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 iffalse .StillCompeting writetext BugCatchingContestant7BText waitbutton closetext end .StillCompeting: writetext BugCatchingContestant7BStillCompetingText waitbutton closetext end BugCatchingContestant8BScript: faceplayer opentext checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 iffalse .StillCompeting writetext BugCatchingContestant8BText waitbutton closetext end .StillCompeting: writetext BugCatchingContestant8BStillCompetingText waitbutton closetext end BugCatchingContestant9BScript: faceplayer opentext checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 iffalse .StillCompeting writetext BugCatchingContestant9BText waitbutton closetext end .StillCompeting: writetext BugCatchingContestant9BStillCompetingText waitbutton closetext end BugCatchingContestant10BScript: faceplayer opentext checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 iffalse .StillCompeting writetext BugCatchingContestant10BText waitbutton closetext end .StillCompeting: writetext BugCatchingContestant10BStillCompetingText waitbutton closetext end UnusedBugCatchingContestExplanationSign: ; duplicate of BugCatchingContestExplanationSign in Route35NationalParkGate.asm jumptext UnusedBugCatchingContestExplanationText Route36NationalParkGatePlayerWaitWithContestantsMovement: big_step DOWN big_step RIGHT turn_head UP step_end Route36NationalParkGateOfficer1AskToParticipateText: 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 Route36NationalParkGateOfficer1GiveParkBallsText: text "Here are the PARK" line "BALLS for the" cont "Contest." done Route36NationalParkGatePlayerReceivedParkBallsText: text " received" line "20 PARK BALLS." done Route36NationalParkGateOfficer1ExplainsRulesText: 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 Route36NationalParkGateOfficer1AskToUseFirstMonText: 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 Route36NationalParkGateOfficer1WellHoldYourMonText: text "Fine, we'll hold" line "your other #MON" cont "while you compete." done Route36NationalParkGatePlayersMonLeftWithHelperText: text "'s #MON" line "were left with the" cont "CONTEST HELPER." done Route36NationalParkGateOfficer1ChooseMonAndComeBackText: text "Please choose the" line "#MON to be used" para "in the Contest," line "then come see me." done Route36NationalParkGateOfficer1TakePartInFutureText: text "OK. We hope you'll" line "take part in the" cont "future." done Route36NationalParkGateOfficer1FirstMonCantBattleText: 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 Route36NationalParkGateOfficer1MakeRoomText: 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 Route36NationalParkGateOfficer1EggAsFirstMonText: 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 Route36NationalParkGateOfficer1WantToFinishText: text "You still have @" text_ram wStringBuffer3 text_start line "minute(s) left." para "Do you want to" line "finish now?" done Route36NationalParkGateOfficer1WaitHereForAnnouncementText: text "OK. Please wait" line "here for the" para "announcement of" line "the winners." done Route36NationalParkGateOfficer1OkGoFinishText: text "OK. Please go back" line "outside and finish" cont "up." done Route36NationalParkGateOfficer1ContestIsOverText: text "Today's Contest is" line "over. We hope you" para "will participate" line "in the future." done Route36NationalParkGateOfficer1SomeMonOnlySeenInParkText: text "Some #MON can" line "only be seen in" cont "the PARK." done BugCatchingContestant1BText: text "DON: Wow, you beat" line "me. You're pretty" cont "good." done BugCatchingContestant1BStillCompetingText: text "DON: Luck plays a" line "big part in this." para "You never know" line "what #MON will" cont "appear." done BugCatchingContestant2BText: text "ED: I envy you." line "I just couldn't" cont "do it this time." done BugCatchingContestant2BStillCompetingText: text "ED: Maybe you win" line "with big #MON?" done BugCatchingContestant3BText: text "NICK: Well done!" line "I'm going to raise" cont "my #MON better." done BugCatchingContestant3BStillCompetingText: text "NICK: Maybe you" line "get a higher score" para "for a #MON of" line "an unusual color." done BugCatchingContestant4BText: text "WILLIAM: You're" line "the winner? What" cont "did you catch?" done BugCatchingContestant4BStillCompetingText: text "WILLIAM: Well, I'm" line "satisfied because" para "I caught a #MON" line "that I wanted." done BugCatchingContestant5BText: text "BENNY: Congrats!" line "You have earned my" cont "respect!" done BugCatchingContestant5BStillCompetingText: text "BENNY: I caught a" line "SCYTHER before," cont "but I didn't win." done BugCatchingContestant6BText: text "BARRY: That #-" line "MON you caught…" cont "it's awesome!" done BugCatchingContestant6BStillCompetingText: text "BARRY: It's easier" line "to win if you get" para "a high-level bug" line "#MON." para "But I think they" line "also consider some" cont "other points." done BugCatchingContestant7BText: text "CINDY: You won?" line "That's great!" para "Do you feel like" line "looking for bug" cont "#MON with me?" done BugCatchingContestant7BStillCompetingText: text "CINDY: I really" line "love bug #MON!" done BugCatchingContestant8BText: text "JOSH: I… I can't" line "believe I lost at" cont "bug-catching…" done BugCatchingContestant8BStillCompetingText: text "JOSH: I heard that" line "somebody won with" cont "a CATERPIE!" done BugCatchingContestant9BText: text "SAMUEL: Next time," line "I'm going to win." done BugCatchingContestant9BStillCompetingText: text "SAMUEL: Darn." line "I thought I would" cont "score higher…" done BugCatchingContestant10BText: text "KIPP: Could you" line "give me some tips?" para "I want to study" line "your style." done BugCatchingContestant10BStillCompetingText: text "KIPP: I study a" line "lot, but that's" para "not good enough to" line "win." done UnusedSudowoodoText: ; This text is unused and unreferenced in the final game. ; The tree Pokémon is Sudowoodo. ; The Silph Scope 2 was later reworked into the Squirtbottle. text "I hear there's a" line "#MON that looks" cont "just like a tree." para "You can reveal its" line "identity using a" cont "SILPHSCOPE 2." done UnusedBugCatchingContestExplanationText: ; duplicate of BugCatchingContestExplanationText in Route35NationalParkGate.asm 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 Route36NationalParkGateOfficer1WellHoldPrizeText: text "Uh-oh… Your PACK" line "is full." para "We'll hold on to" line "your prize, but" cont "only for today." para "Please make room," line "then come see me." done Route36NationalParkGateOfficer1HeresThePrizeText: text "?" para "Here's the prize" line "we were holding" cont "for you." done Route36NationalParkGate_MapEvents: db 0, 0 ; filler db 4 ; warp events warp_event 0, 4, NATIONAL_PARK, 1 warp_event 0, 5, NATIONAL_PARK, 2 warp_event 9, 4, ROUTE_36, 1 warp_event 9, 5, ROUTE_36, 2 db 0 ; coord events db 1 ; bg events bg_event 6, 0, BGEVENT_READ, BugCatchingContestExplanationSign db 12 ; object events object_event 0, 3, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, Route36OfficerScriptContest, EVENT_ROUTE_36_NATIONAL_PARK_GATE_OFFICER_CONTEST_DAY object_event 2, 5, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, BugCatchingContestant1BScript, EVENT_BUG_CATCHING_CONTESTANT_1B object_event 4, 5, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, BugCatchingContestant2BScript, EVENT_BUG_CATCHING_CONTESTANT_2B object_event 2, 6, SPRITE_ROCKER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, BugCatchingContestant3BScript, EVENT_BUG_CATCHING_CONTESTANT_3B object_event 6, 5, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, BugCatchingContestant4BScript, EVENT_BUG_CATCHING_CONTESTANT_4B object_event 2, 7, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, BugCatchingContestant5BScript, EVENT_BUG_CATCHING_CONTESTANT_5B object_event 5, 6, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, BugCatchingContestant6BScript, EVENT_BUG_CATCHING_CONTESTANT_6B object_event 3, 6, SPRITE_LASS, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, BugCatchingContestant7BScript, EVENT_BUG_CATCHING_CONTESTANT_7B object_event 4, 7, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, BugCatchingContestant8BScript, EVENT_BUG_CATCHING_CONTESTANT_8B object_event 6, 7, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, BugCatchingContestant9BScript, EVENT_BUG_CATCHING_CONTESTANT_9B object_event 6, 6, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, BugCatchingContestant10BScript, EVENT_BUG_CATCHING_CONTESTANT_10B object_event 3, 2, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, Route36NationalParkGateOfficerScript, EVENT_ROUTE_36_NATIONAL_PARK_GATE_OFFICER_NOT_CONTEST_DAY