diff options
| author | IIMarckus <iimarckus@gmail.com> | 2018-10-03 23:15:33 -0600 |
|---|---|---|
| committer | IIMarckus <iimarckus@gmail.com> | 2018-10-03 23:15:49 -0600 |
| commit | 6910c7a29002fd01fe4bb330b63294eafdb92865 (patch) | |
| tree | d6644927ce08479553637b0a29142fbe4655e8aa /maps | |
| parent | ecda8b81ae8f3836927f36d42e122d4e29097366 (diff) | |
Add map objects from bank 4B.
Diffstat (limited to 'maps')
| -rw-r--r-- | maps/Route32.asm | 874 | ||||
| -rw-r--r-- | maps/Route33.asm | 136 | ||||
| -rw-r--r-- | maps/Route34.asm | 673 | ||||
| -rw-r--r-- | maps/Route35.asm | 466 | ||||
| -rw-r--r-- | maps/Route36.asm | 490 |
5 files changed, 2639 insertions, 0 deletions
diff --git a/maps/Route32.asm b/maps/Route32.asm new file mode 100644 index 00000000..799c7e9d --- /dev/null +++ b/maps/Route32.asm @@ -0,0 +1,874 @@ + const_def 2 ; object constants + const ROUTE32_FISHER1 + const ROUTE32_FISHER2 + const ROUTE32_FISHER3 + const ROUTE32_YOUNGSTER1 + const ROUTE32_YOUNGSTER2 + const ROUTE32_YOUNGSTER3 + const ROUTE32_LASS1 + const ROUTE32_COOLTRAINER_M + const ROUTE32_YOUNGSTER4 + const ROUTE32_FISHER4 + const ROUTE32_POKE_BALL1 + const ROUTE32_FISHER5 + const ROUTE32_FRIEDA + const ROUTE32_POKE_BALL2 + +Route32_MapScripts: + db 3 ; scene scripts + scene_script .DummyScene0 ; SCENE_DEFAULT + scene_script .DummyScene1 ; SCENE_ROUTE32_OFFER_SLOWPOKETAIL + scene_script .DummyScene2 ; SCENE_ROUTE32_NOTHING + + db 1 ; callbacks + callback MAPCALLBACK_OBJECTS, .Frieda + +.DummyScene0: + end + +.DummyScene1: + end + +.DummyScene2: + end + +.Frieda: + checkcode VAR_WEEKDAY + ifequal FRIDAY, .FriedaAppears + disappear ROUTE32_FRIEDA + return + +.FriedaAppears: + appear ROUTE32_FRIEDA + return + +Route32CooltrainerMScript: + faceplayer +Route32CooltrainerMContinueScene: + opentext + checkevent EVENT_GOT_MIRACLE_SEED_IN_ROUTE_32 + iftrue .GotMiracleSeed + checkflag ENGINE_ZEPHYRBADGE + iffalse .DontHaveZephyrBadge + checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE + iftrue .GiveMiracleSeed + writetext Route32CooltrainerMText_AideIsWaiting + waitbutton + closetext + end + +.Unreferenced: + writetext Route32CooltrainerMText_UnusedSproutTower + waitbutton + closetext + end + +.GiveMiracleSeed: + writetext Route32CooltrainerMText_HaveThisSeed + buttonsound + verbosegiveitem MIRACLE_SEED + iffalse .BagFull + setevent EVENT_GOT_MIRACLE_SEED_IN_ROUTE_32 + jump .GotMiracleSeed + +.DontHaveZephyrBadge: + writetext Route32CooltrainerMText_VioletGym + waitbutton + closetext + end + +.GotMiracleSeed: + writetext Route32CooltrainerMText_ExperiencesShouldBeUseful + waitbutton +.BagFull: + closetext + end + +Route32CooltrainerMStopsYouScene: + turnobject ROUTE32_COOLTRAINER_M, LEFT + turnobject PLAYER, RIGHT + opentext + writetext Route32CooltrainerMText_WhatsTheHurry + waitbutton + closetext + follow PLAYER, ROUTE32_COOLTRAINER_M + applymovement PLAYER, Movement_Route32CooltrainerMPushesYouBackToViolet + stopfollow + turnobject PLAYER, DOWN + scall Route32CooltrainerMContinueScene + applymovement ROUTE32_COOLTRAINER_M, Movement_Route32CooltrainerMReset1 + applymovement ROUTE32_COOLTRAINER_M, Movement_Route32CooltrainerMReset2 + end + +Route32RoarTMGuyScript: + faceplayer + opentext + checkevent EVENT_GOT_TM05_ROAR + iftrue .AlreadyHaveRoar + writetext Text_RoarIntro + buttonsound + verbosegiveitem TM_ROAR + iffalse .Finish + setevent EVENT_GOT_TM05_ROAR +.AlreadyHaveRoar: + writetext Text_RoarOutro + waitbutton +.Finish: + closetext + end + +Route32WannaBuyASlowpokeTailScript: + turnobject ROUTE32_FISHER4, DOWN + turnobject PLAYER, UP + jump _OfferToSellSlowpokeTail + +SlowpokeTailSalesmanScript: + faceplayer +_OfferToSellSlowpokeTail: + setscene SCENE_ROUTE32_NOTHING + opentext + writetext Text_MillionDollarSlowpokeTail + yesorno + iffalse .refused + writetext Text_ThoughtKidsWereLoaded + waitbutton + closetext + end + +.refused + writetext Text_RefusedToBuySlowpokeTail + waitbutton + closetext + end + +TrainerCamperRoland: + trainer CAMPER, ROLAND, EVENT_BEAT_CAMPER_ROLAND, CamperRolandSeenText, CamperRolandBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext CamperRolandAfterText + waitbutton + closetext + end + +TrainerFisherJustin: + trainer FISHER, JUSTIN, EVENT_BEAT_FISHER_JUSTIN, FisherJustinSeenText, FisherJustinBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext FisherJustinAfterText + waitbutton + closetext + end + +TrainerFisherRalph1: + trainer FISHER, RALPH1, EVENT_BEAT_FISHER_RALPH, FisherRalph1SeenText, FisherRalph1BeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + checkevent EVENT_RALPH_READY_FOR_REMATCH + iftrue .Rematch + checkcellnum PHONE_FISHER_RALPH + iftrue .NumberAccepted + checkevent EVENT_RALPH_ASKED_FOR_PHONE_NUMBER + iftrue .AskAgain + writetext FisherRalphAfterText + buttonsound + setevent EVENT_RALPH_ASKED_FOR_PHONE_NUMBER + scall .AskNumber1 + jump .AskForNumber + +.AskAgain: + scall .AskNumber2 +.AskForNumber: + askforphonenumber PHONE_FISHER_RALPH + ifequal PHONE_CONTACTS_FULL, .PhoneFull + ifequal PHONE_CONTACT_REFUSED, .NumberDeclined + trainertotext FISHER, RALPH1, MEM_BUFFER_0 + scall .RegisteredNumber + jump .NumberAccepted + +.Rematch: + scall .RematchStd + winlosstext FisherRalph1BeatenText, 0 + checkflag ENGINE_FLYPOINT_LAKE_OF_RAGE + iftrue .LoadFight2 + checkflag ENGINE_FLYPOINT_ECRUTEAK + iftrue .LoadFight1 + loadtrainer FISHER, RALPH1 + startbattle + reloadmapafterbattle + clearevent EVENT_RALPH_READY_FOR_REMATCH + end + +.LoadFight1: + loadtrainer FISHER, RALPH2 + startbattle + reloadmapafterbattle + clearevent EVENT_RALPH_READY_FOR_REMATCH + end + +.LoadFight2: + loadtrainer FISHER, RALPH3 + startbattle + reloadmapafterbattle + clearevent EVENT_RALPH_READY_FOR_REMATCH + end + +.AskNumber1: + jumpstd asknumber1m + end + +.AskNumber2: + jumpstd asknumber2m + end + +.RegisteredNumber: + jumpstd registerednumberm + end + +.NumberAccepted: + jumpstd numberacceptedm + end + +.NumberDeclined: + jumpstd numberdeclinedm + end + +.PhoneFull: + jumpstd phonefullm + end + +.RematchStd: + jumpstd rematchm + end + +TrainerFisherHenry: + trainer FISHER, HENRY, EVENT_BEAT_FISHER_HENRY, FisherHenrySeenText, FisherHenryBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext FisherHenryAfterText + waitbutton + closetext + end + +TrainerPicnickerLiz1: + trainer PICNICKER, LIZ1, EVENT_BEAT_PICNICKER_LIZ, PicnickerLiz1SeenText, PicnickerLiz1BeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + checkevent EVENT_LIZ_READY_FOR_REMATCH + iftrue .Rematch + checkcellnum PHONE_PICNICKER_LIZ + iftrue .NumberAccepted + checkevent EVENT_LIZ_ASKED_FOR_PHONE_NUMBER + iftrue .AskAgain + writetext PicnickerLiz1AfterText + buttonsound + setevent EVENT_LIZ_ASKED_FOR_PHONE_NUMBER + scall .AskNumber1 + jump .AskForNumber + +.AskAgain: + scall .AskNumber2 +.AskForNumber: + askforphonenumber PHONE_PICNICKER_LIZ + ifequal PHONE_CONTACTS_FULL, .PhoneFull + ifequal PHONE_CONTACT_REFUSED, .NumberDeclined + trainertotext PICNICKER, LIZ1, MEM_BUFFER_0 + scall .RegisteredNumber + jump .NumberAccepted + +.Rematch: + scall .RematchStd + winlosstext PicnickerLiz1BeatenText, 0 + checkevent EVENT_CLEARED_ROCKET_HIDEOUT + iftrue .LoadFight2 + checkflag ENGINE_FLYPOINT_ECRUTEAK + iftrue .LoadFight1 + loadtrainer PICNICKER, LIZ1 + startbattle + reloadmapafterbattle + clearevent EVENT_LIZ_READY_FOR_REMATCH + end + +.LoadFight1: + loadtrainer PICNICKER, LIZ2 + startbattle + reloadmapafterbattle + clearevent EVENT_LIZ_READY_FOR_REMATCH + end + +.LoadFight2: + loadtrainer PICNICKER, LIZ3 + startbattle + reloadmapafterbattle + clearevent EVENT_LIZ_READY_FOR_REMATCH + end + +.AskNumber1: + jumpstd asknumber1f + end + +.AskNumber2: + jumpstd asknumber2f + end + +.RegisteredNumber: + jumpstd registerednumberf + end + +.NumberAccepted: + jumpstd numberacceptedf + end + +.NumberDeclined: + jumpstd numberdeclinedf + end + +.PhoneFull: + jumpstd phonefullf + end + +.RematchStd: + jumpstd rematchf + end + +TrainerYoungsterAlbert: + trainer YOUNGSTER, ALBERT, EVENT_BEAT_YOUNGSTER_ALBERT, YoungsterAlbertSeenText, YoungsterAlbertBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext YoungsterAlbertAfterText + waitbutton + closetext + end + +TrainerYoungsterGordon: + trainer YOUNGSTER, GORDON, EVENT_BEAT_YOUNGSTER_GORDON, YoungsterGordonSeenText, YoungsterGordonBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext YoungsterGordonAfterText + waitbutton + closetext + end + +TrainerBirdKeeperPeter: + trainer BIRD_KEEPER, PETER, EVENT_BEAT_BIRD_KEEPER_PETER, BirdKeeperPeterSeenText, BirdKeeperPeterBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext BirdKeeperPeterAfterText + waitbutton + closetext + end + +FriedaScript: + faceplayer + opentext + checkevent EVENT_GOT_POISON_BARB_FROM_FRIEDA + iftrue .Friday + checkcode VAR_WEEKDAY + ifnotequal FRIDAY, .NotFriday + checkevent EVENT_MET_FRIEDA_OF_FRIDAY + iftrue .MetFrieda + writetext MeetFriedaText + buttonsound + setevent EVENT_MET_FRIEDA_OF_FRIDAY +.MetFrieda: + writetext FriedaGivesGiftText + buttonsound + verbosegiveitem POISON_BARB + iffalse .Done + setevent EVENT_GOT_POISON_BARB_FROM_FRIEDA + writetext FriedaGaveGiftText + waitbutton + closetext + end + +.Friday: + writetext FriedaFridayText + waitbutton +.Done: + closetext + end + +.NotFriday: + writetext FriedaNotFridayText + waitbutton + closetext + end + +Route32GreatBall: + itemball GREAT_BALL + +Route32Potion: + itemball POTION + +Route32Sign: + jumptext Route32SignText + +Route32RuinsSign: + jumptext Route32RuinsSignText + +Route32UnionCaveSign: + jumptext Route32UnionCaveSignText + +Route32PokecenterSign: + jumpstd pokecentersign + +Route32HiddenGreatBall: + hiddenitem GREAT_BALL, EVENT_ROUTE_32_HIDDEN_GREAT_BALL + +Route32HiddenSuperPotion: + hiddenitem SUPER_POTION, EVENT_ROUTE_32_HIDDEN_SUPER_POTION + +Movement_Route32CooltrainerMPushesYouBackToViolet: + step UP + step UP + step_end + +Movement_Route32CooltrainerMReset1: + step DOWN + step_end + +Movement_Route32CooltrainerMReset2: + step RIGHT + step_end + +Route32CooltrainerMText_WhatsTheHurry: + text "Wait up!" + line "What's the hurry?" + done + +Route32CooltrainerMText_AideIsWaiting: + text "<PLAYER>, right?" + line "Some guy wearing" + + para "glasses was look-" + line "ing for you." + + para "See for yourself." + line "He's waiting for" + + para "you at the #MON" + line "CENTER." + done + +Route32CooltrainerMText_UnusedSproutTower: +; unused + text "Have you gone to" + line "SPROUT TOWER?" + + para "If you ever visit" + line "VIOLET CITY, " + + para "they'll expect you" + line "to train there." + + para "That's basic for" + line "trainers. Go to" + cont "SPROUT TOWER!" + done + +Route32CooltrainerMText_VioletGym: + text "Have you gone to" + line "the #MON GYM?" + + para "You can test your" + line "#MON and your-" + cont "self there." + + para "It's a rite of" + line "passage for all" + cont "trainers!" + done + +Route32CooltrainerMText_HaveThisSeed: + text "You have some good" + line "#MON there." + + para "It must be from" + line "the training you" + + para "gave them around" + line "VIOLET CITY." + + para "The training at" + line "the GYM must have" + + para "been especially" + line "helpful." + + para "As a souvenir of" + line "VIOLET CITY, take" + cont "this." + + para "It increases the" + line "power of grass-" + cont "type moves." + done + +Route32CooltrainerMText_ExperiencesShouldBeUseful: + text "Your experiences" + line "in VIOLET CITY" + + para "should be useful" + line "for your journey." + done + +Text_MillionDollarSlowpokeTail: + text "How would you like" + line "to have this" + + para "tasty, nutritious" + line "SLOWPOKETAIL?" + + para "For you right now," + line "just ¥1,000,000!" + + para "You'll want this!" + done + +Text_ThoughtKidsWereLoaded: + text "Tch! I thought" + line "kids these days" + cont "were loaded…" + done + +Text_RefusedToBuySlowpokeTail: + text "You don't want it?" + line "Then scram. Shoo!" + done + +FisherJustinSeenText: + text "Whoa!" + + para "You made me lose" + line "that fish!" + done + +FisherJustinBeatenText: + text "Sploosh!" + done + +FisherJustinAfterText: + text "Calm, collected…" + line "The essence of" + + para "fishing and #-" + line "MON is the same." + done + +FisherRalph1SeenText: + text "I'm a good angler," + line "but an even better" + cont "trainer!" + done + +FisherRalph1BeatenText: + text "Tch! I tried to" + line "rush things…" + done + +FisherRalphAfterText: + text "Fishing is a life-" + line "long passion." + + para "#MON are life-" + line "long friends!" + done + +; --- start a segment of unused text + +Route32UnusedFisher1SeenText: + text "I keep catching" + line "the same #MON…" + + para "Maybe a battle" + line "will turn things" + cont "around for me." + done + +Route32UnusedFisher1BeatenText: + text "Nothing ever goes" + line "right for me now…" + done + +Route32UnusedFisher1AfterText: + text "How come the guy" + line "next to me catches" + cont "good #MON?" + done + +Route32UnusedFisher2SeenText: + text "Heh, I'm on a roll" + line "today. How about a" + cont "battle, kid?" + done + +Route32UnusedFisher2BeatenText: + text "Oof. I wasn't" + line "lucky that time." + done + +Route32UnusedFisher2AfterText: + text "You have to have a" + line "good ROD if you" + + para "want to catch good" + line "#MON." + done + +; --- end a segment of unused texts + +FisherHenrySeenText: + text "My #MON?" + line "Freshly caught!" + done + +FisherHenryBeatenText: + text "SPLASH?" + done + +FisherHenryAfterText: + text "Freshly caught" + line "#MON are no" + + para "match for properly" + line "raised ones." + done + +YoungsterAlbertSeenText: + text "I haven't seen you" + line "around before." + + para "So you think you" + line "are pretty tough?" + done + +YoungsterAlbertBeatenText: + text "You're strong!" + done + +YoungsterAlbertAfterText: + text "I'm going to try" + line "to be the best" + cont "with my favorites." + + para "I'm not using the" + line "same tough #MON" + cont "as everyone else." + done + +YoungsterGordonSeenText: + text "I found some good" + line "#MON in the" + cont "grass!" + + para "I think they'll do" + line "it for me!" + done + +YoungsterGordonBeatenText: + text "Darn. I thought I" + line "could win." + done + +YoungsterGordonAfterText: + text "The grass is full" + line "of clingy things." + done + +CamperRolandSeenText: + text "That glance…" + line "It's intriguing." + done + +CamperRolandBeatenText: + text "Hmmm. This is" + line "disappointing." + done + +CamperRolandAfterText: + text "If you don't want" + line "to battle, just" + cont "avoid eye contact." + done + +PicnickerLiz1SeenText: + text "Uh-huh. Yeah, and" + line "you know…" + + para "Pardon? Battle?" + line "I'm on the phone." + + para "Oh, all right. But" + line "make it fast." + done + +PicnickerLiz1BeatenText: + text "Take it easy!" + line "That's mean!" + done + +PicnickerLiz1AfterText: + text "I was having a" + line "nice chat too." + done + +BirdKeeperPeterSeenText: + text "That BADGE! It's" + line "from VIOLET CITY!" + + para "You beat FALKNER?" + done + +BirdKeeperPeterBeatenText: + text "I know what my" + line "weaknesses are." + done + +BirdKeeperPeterAfterText: + text "I should train" + line "again at the GYM" + cont "in VIOLET CITY." + done + +Route32UnusedText: +; unused + text "The fishermen" + line "yelled at me for" + cont "bugging them…" + done + +Text_RoarIntro: + text "WROOOOAR!" + line "PEOPLE RUN WHEN I" + + para "ROAR! BUT YOU" + line "CAME LOOKING!" + + para "THAT PLEASES ME!" + line "NOW TAKE THIS!" + done + +Text_RoarOutro: + text "WROOOAR!" + line "IT'S ROAR!" + + para "EVEN #MON RUN" + line "FROM A GOOD ROAR!" + done + +MeetFriedaText: + text "FRIEDA: Yahoo!" + line "It's Friday!" + + para "I'm FRIEDA of" + line "Friday!" + + para "Nice to meet you!" + done + +FriedaGivesGiftText: + text "Here's a POISON" + line "BARB for you!" + done + +FriedaGaveGiftText: + text "FRIEDA: Give it to" + line "a #MON that has" + cont "poison-type moves." + + para "Oh!" + + para "It's wicked!" + + para "You'll be shocked" + line "how good it makes" + cont "poison moves!" + done + +FriedaFridayText: + text "FRIEDA: Hiya! What" + line "day do you like?" + + para "I love Friday. No" + line "doubt about it!" + + para "Don't you think" + line "it's great too?" + done + +FriedaNotFridayText: + text "FRIEDA: Isn't it" + line "Friday today?" + + para "It's so boring" + line "when it's not!" + done + +Route32SignText: + text "ROUTE 32" + + para "VIOLET CITY -" + line "AZALEA TOWN" + done + +Route32RuinsSignText: + text "RUINS OF ALPH" + line "EAST ENTRANCE" + done + +Route32UnionCaveSignText: + text "UNION CAVE" + line "Ahead" + done + +Route32_MapEvents: + db 0, 0 ; filler + + db 4 ; warp events + warp_event 11, 73, ROUTE_32_POKECENTER_1F, 1 + warp_event 4, 2, ROUTE_32_RUINS_OF_ALPH_GATE, 3 + warp_event 4, 3, ROUTE_32_RUINS_OF_ALPH_GATE, 4 + warp_event 6, 79, UNION_CAVE_1F, 4 + + db 2 ; coord events + coord_event 18, 8, SCENE_DEFAULT, Route32CooltrainerMStopsYouScene + coord_event 7, 71, SCENE_ROUTE32_OFFER_SLOWPOKETAIL, Route32WannaBuyASlowpokeTailScript + + db 6 ; bg events + bg_event 13, 5, BGEVENT_READ, Route32Sign + bg_event 9, 1, BGEVENT_READ, Route32RuinsSign + bg_event 10, 84, BGEVENT_READ, Route32UnionCaveSign + bg_event 12, 73, BGEVENT_READ, Route32PokecenterSign + bg_event 12, 67, BGEVENT_ITEM, Route32HiddenGreatBall + bg_event 11, 40, BGEVENT_ITEM, Route32HiddenSuperPotion + + db 14 ; object events + object_event 8, 49, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 1, TrainerFisherJustin, -1 + object_event 12, 56, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 3, TrainerFisherRalph1, -1 + object_event 6, 48, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 1, TrainerFisherHenry, -1 + object_event 13, 23, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerYoungsterAlbert, -1 + object_event 4, 65, SPRITE_YOUNGSTER, SPRITEMOVEDATA_SPINCLOCKWISE, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerYoungsterGordon, -1 + object_event 1, 56, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 4, TrainerCamperRoland, -1 + object_event 10, 30, SPRITE_LASS, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 1, TrainerPicnickerLiz1, -1 + object_event 19, 8, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route32CooltrainerMScript, -1 + object_event 11, 82, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerBirdKeeperPeter, -1 + object_event 7, 70, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SlowpokeTailSalesmanScript, EVENT_SLOWPOKE_WELL_ROCKETS + object_event 6, 53, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route32GreatBall, EVENT_ROUTE_32_GREAT_BALL + object_event 15, 13, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route32RoarTMGuyScript, -1 + object_event 12, 67, SPRITE_LASS, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, FriedaScript, EVENT_ROUTE_32_FRIEDA_OF_FRIDAY + object_event 3, 30, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route32Potion, EVENT_ROUTE_32_POTION diff --git a/maps/Route33.asm b/maps/Route33.asm new file mode 100644 index 00000000..29e7d497 --- /dev/null +++ b/maps/Route33.asm @@ -0,0 +1,136 @@ + const_def 2 ; object constants + const ROUTE33_POKEFAN_M + const ROUTE33_LASS + const ROUTE33_FRUIT_TREE + +Route33_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +TrainerHikerAnthony: + trainer HIKER, ANTHONY2, EVENT_BEAT_HIKER_ANTHONY, HikerAnthony2SeenText, HikerAnthony2BeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + checkevent EVENT_ANTHONY_READY_FOR_REMATCH + iftrue .Rematch + checkcellnum PHONE_HIKER_ANTHONY + iftrue .NumberAccepted + checkevent EVENT_ANTHONY_ASKED_FOR_PHONE_NUMBER + iftrue .AskAgain + writetext HikerAnthony2AfterText + buttonsound + setevent EVENT_ANTHONY_ASKED_FOR_PHONE_NUMBER + scall .AskNumber1 + jump .AskForPhoneNumber + +.AskAgain: + scall .AskNumber2 +.AskForPhoneNumber: + askforphonenumber PHONE_HIKER_ANTHONY + ifequal PHONE_CONTACTS_FULL, .PhoneFull + ifequal PHONE_CONTACT_REFUSED, .NumberDeclined + trainertotext HIKER, ANTHONY2, MEM_BUFFER_0 + scall .RegisteredNumber + jump .NumberAccepted + +.Rematch: + scall .RematchStd + winlosstext HikerAnthony2BeatenText, 0 + checkevent EVENT_CLEARED_RADIO_TOWER + iftrue .LoadFight2 + checkflag ENGINE_FLYPOINT_OLIVINE + iftrue .LoadFight1 + loadtrainer HIKER, ANTHONY2 + startbattle + reloadmapafterbattle + clearevent EVENT_ANTHONY_READY_FOR_REMATCH + end + +.LoadFight1: + loadtrainer HIKER, ANTHONY1 + startbattle + reloadmapafterbattle + clearevent EVENT_ANTHONY_READY_FOR_REMATCH + end + +.LoadFight2: + loadtrainer HIKER, ANTHONY3 + startbattle + reloadmapafterbattle + clearevent EVENT_ANTHONY_READY_FOR_REMATCH + end + +.AskNumber1: + jumpstd asknumber1m + end + +.AskNumber2: + jumpstd asknumber2m + end + +.RegisteredNumber: + jumpstd registerednumberm + end + +.NumberAccepted: + jumpstd numberacceptedm + end + +.NumberDeclined: + jumpstd numberdeclinedm + end + +.PhoneFull: + jumpstd phonefullm + end + +.RematchStd: + jumpstd rematchm + end + +Route33Sign: + jumptext Route33SignText + +Route33FruitTree: + fruittree FRUITTREE_ROUTE_33 + +HikerAnthony2SeenText: + text "I came through the" + line "tunnel, but I" + + para "still have plenty" + line "of energy left." + done + +HikerAnthony2BeatenText: + text "Whoa, boy! You've" + line "got more zip." + done + +HikerAnthony2AfterText: + text "We HIKERS are at" + line "our best in the" + cont "mountains." + done + +Route33SignText: + text "ROUTE 33" + done + +Route33_MapEvents: + db 0, 0 ; filler + + db 1 ; warp events + warp_event 11, 9, UNION_CAVE_1F, 3 + + db 0 ; coord events + + db 1 ; bg events + bg_event 11, 11, BGEVENT_READ, Route33Sign + + db 2 ; object events + object_event 6, 13, SPRITE_POKEFAN_M, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 2, TrainerHikerAnthony, -1 + object_event 14, 16, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route33FruitTree, -1 diff --git a/maps/Route34.asm b/maps/Route34.asm new file mode 100644 index 00000000..be42a190 --- /dev/null +++ b/maps/Route34.asm @@ -0,0 +1,673 @@ + const_def 2 ; object constants + const ROUTE34_YOUNGSTER1 + const ROUTE34_YOUNGSTER2 + const ROUTE34_YOUNGSTER3 + const ROUTE34_LASS + const ROUTE34_OFFICER + const ROUTE34_POKEFAN_M + const ROUTE34_GRAMPS + const ROUTE34_DAY_CARE_MON_1 + const ROUTE34_DAY_CARE_MON_2 + const ROUTE34_COOLTRAINER_F1 + const ROUTE34_COOLTRAINER_F2 + const ROUTE34_COOLTRAINER_F3 + const ROUTE34_POKE_BALL + +Route34_MapScripts: + db 0 ; scene scripts + + db 1 ; callbacks + callback MAPCALLBACK_OBJECTS, .EggCheckCallback + +.EggCheckCallback: + checkflag ENGINE_DAY_CARE_MAN_HAS_EGG + iftrue .PutDayCareManOutside + clearevent EVENT_DAY_CARE_MAN_IN_DAY_CARE + setevent EVENT_DAY_CARE_MAN_ON_ROUTE_34 + jump .CheckMon1 + +.PutDayCareManOutside: + setevent EVENT_DAY_CARE_MAN_IN_DAY_CARE + clearevent EVENT_DAY_CARE_MAN_ON_ROUTE_34 + jump .CheckMon1 + +.CheckMon1: + checkflag ENGINE_DAY_CARE_MAN_HAS_MON + iffalse .HideMon1 + clearevent EVENT_DAY_CARE_MON_1 + jump .CheckMon2 + +.HideMon1: + setevent EVENT_DAY_CARE_MON_1 + jump .CheckMon2 + +.CheckMon2: + checkflag ENGINE_DAY_CARE_LADY_HAS_MON + iffalse .HideMon2 + clearevent EVENT_DAY_CARE_MON_2 + return + +.HideMon2: + setevent EVENT_DAY_CARE_MON_2 + return + +DayCareManScript_Outside: + faceplayer + opentext + special DayCareManOutside + waitbutton + closetext + ifequal TRUE, .end_fail + clearflag ENGINE_DAY_CARE_MAN_HAS_EGG + checkcode VAR_FACING + ifequal RIGHT, .walk_around_player + applymovement ROUTE34_GRAMPS, Route34MovementData_DayCareManWalksBackInside + playsound SFX_ENTER_DOOR + disappear ROUTE34_GRAMPS +.end_fail + end + +.walk_around_player + applymovement ROUTE34_GRAMPS, Route34MovementData_DayCareManWalksBackInside_WalkAroundPlayer + playsound SFX_ENTER_DOOR + disappear ROUTE34_GRAMPS + end + +DayCareMon1Script: + opentext + special DayCareMon1 + closetext + end + +DayCareMon2Script: + opentext + special DayCareMon2 + closetext + end + +TrainerCamperTodd1: + trainer CAMPER, TODD1, EVENT_BEAT_CAMPER_TODD, CamperTodd1SeenText, CamperTodd1BeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + checkevent EVENT_TODD_READY_FOR_REMATCH + iftrue .Rematch + checkcellnum PHONE_CAMPER_TODD + iftrue .NumberAccepted + checkevent EVENT_TODD_ASKED_FOR_PHONE_NUMBER + iftrue .AskAgain + writetext CamperTodd1AfterText + buttonsound + setevent EVENT_TODD_ASKED_FOR_PHONE_NUMBER + scall .AskNumber + jump .FinishAsk + +.AskAgain: + scall .AskNumber2 +.FinishAsk: + askforphonenumber PHONE_CAMPER_TODD + ifequal PHONE_CONTACTS_FULL, .PhoneFull + ifequal PHONE_CONTACT_REFUSED, .NumberDeclined + trainertotext CAMPER, TODD1, MEM_BUFFER_0 + scall .RegisteredNumber + jump .NumberAccepted + +.Rematch: + scall .RematchStd + winlosstext CamperTodd1BeatenText, 0 + checkflag ENGINE_FLYPOINT_BLACKTHORN + iftrue .LoadFight2 + checkflag ENGINE_FLYPOINT_CIANWOOD + iftrue .LoadFight1 + loadtrainer CAMPER, TODD1 + startbattle + reloadmapafterbattle + clearevent EVENT_TODD_READY_FOR_REMATCH + end + +.LoadFight1: + loadtrainer CAMPER, TODD2 + startbattle + reloadmapafterbattle + clearevent EVENT_TODD_READY_FOR_REMATCH + end + +.LoadFight2: + loadtrainer CAMPER, TODD3 + startbattle + reloadmapafterbattle + clearevent EVENT_TODD_READY_FOR_REMATCH + end + +.AskNumber: + jumpstd asknumber1m + end + +.AskNumber2: + jumpstd asknumber2m + end + +.RegisteredNumber: + jumpstd registerednumberm + end + +.NumberAccepted: + jumpstd numberacceptedm + end + +.NumberDeclined: + jumpstd numberdeclinedm + end + +.PhoneFull: + jumpstd phonefullm + end + +.RematchStd: + jumpstd rematchm + end + +TrainerPicnickerGina1: + trainer PICNICKER, GINA1, EVENT_BEAT_PICNICKER_GINA, PicnickerGina1SeenText, PicnickerGina1BeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + checkevent EVENT_GINA_READY_FOR_REMATCH + iftrue .Rematch + checkcellnum PHONE_PICNICKER_GINA + iftrue .NumberAccepted + checkevent EVENT_GINA_ASKED_FOR_PHONE_NUMBER + iftrue .AskAgain + writetext PicnickerGina1AfterText + buttonsound + setevent EVENT_GINA_ASKED_FOR_PHONE_NUMBER + scall .AskNumber1 + jump .FinishAsk + +.AskAgain: + scall .AskNumber2 +.FinishAsk: + askforphonenumber PHONE_PICNICKER_GINA + ifequal PHONE_CONTACTS_FULL, .PhoneFull + ifequal PHONE_CONTACT_REFUSED, .NumberDeclined + trainertotext PICNICKER, GINA1, MEM_BUFFER_0 + scall .RegisteredNumber + jump .NumberAccepted + +.Rematch: + scall .RematchStd + winlosstext PicnickerGina1BeatenText, 0 + checkevent EVENT_CLEARED_RADIO_TOWER + iftrue .LoadFight2 + checkflag ENGINE_FLYPOINT_MAHOGANY + iftrue .LoadFight1 + loadtrainer PICNICKER, GINA1 + startbattle + reloadmapafterbattle + clearevent EVENT_GINA_READY_FOR_REMATCH + end + +.LoadFight1: + loadtrainer PICNICKER, GINA2 + startbattle + reloadmapafterbattle + clearevent EVENT_GINA_READY_FOR_REMATCH + end + +.LoadFight2: + loadtrainer PICNICKER, GINA3 + startbattle + reloadmapafterbattle + clearevent EVENT_GINA_READY_FOR_REMATCH + end + +.AskNumber1: + jumpstd asknumber1f + end + +.AskNumber2: + jumpstd asknumber2f + end + +.RegisteredNumber: + jumpstd registerednumberf + end + +.NumberAccepted: + jumpstd numberacceptedf + end + +.NumberDeclined: + jumpstd numberdeclinedf + end + +.PhoneFull: + jumpstd phonefullf + end + +.RematchStd: + jumpstd rematchf + end + +OfficerKeithScript: + faceplayer + opentext + checktime NITE + iffalse .NoFight + checkevent EVENT_BEAT_OFFICER_KEITH + iftrue .AfterScript + playmusic MUSIC_OFFICER_ENCOUNTER + writetext OfficerKeithSeenText + waitbutton + closetext + winlosstext OfficerKeithWinText, 0 + loadtrainer OFFICER, KEITH + startbattle + reloadmapafterbattle + setevent EVENT_BEAT_OFFICER_KEITH + closetext + end + +.AfterScript: + writetext OfficerKeithAfterText + waitbutton + closetext + end + +.NoFight: + writetext OfficerKeithDaytimeText + waitbutton + closetext + end + +TrainerYoungsterSamuel: + trainer YOUNGSTER, SAMUEL, EVENT_BEAT_YOUNGSTER_SAMUEL, YoungsterSamuelSeenText, YoungsterSamuelBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext YoungsterSamuelAfterText + waitbutton + closetext + end + +TrainerYoungsterIan: + trainer YOUNGSTER, IAN, EVENT_BEAT_YOUNGSTER_IAN, YoungsterIanSeenText, YoungsterIanBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext YoungsterIanAfterText + waitbutton + closetext + end + +TrainerPokefanmBrandon: + trainer POKEFANM, BRANDON, EVENT_BEAT_POKEFANM_BRANDON, PokefanmBrandonSeenText, PokefanmBrandonBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext PokefanmBrandonAfterText + waitbutton + closetext + end + +TrainerCooltrainerfIrene: + trainer COOLTRAINERF, IRENE, EVENT_BEAT_COOLTRAINERF_IRENE, CooltrainerfIreneSeenText, CooltrainerfIreneBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + checkevent EVENT_GOT_SOFT_SAND_FROM_KATE + iftrue .GotSoftSand + writetext CooltrainerfIreneAfterText1 + waitbutton + closetext + end + +.GotSoftSand: + writetext CooltrainerfIreneAfterText2 + waitbutton + closetext + end + +TrainerCooltrainerfJenn: + trainer COOLTRAINERF, JENN, EVENT_BEAT_COOLTRAINERF_JENN, CooltrainerfJennSeenText, CooltrainerfJennBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + checkevent EVENT_GOT_SOFT_SAND_FROM_KATE + iftrue .GotSoftSand + writetext CooltrainerfJennAfterText1 + waitbutton + closetext + end + +.GotSoftSand: + writetext CooltrainerfJennAfterText2 + waitbutton + closetext + end + +TrainerCooltrainerfKate: + trainer COOLTRAINERF, KATE, EVENT_BEAT_COOLTRAINERF_KATE, CooltrainerfKateSeenText, CooltrainerfKateBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + checkevent EVENT_GOT_SOFT_SAND_FROM_KATE + iftrue .GotSoftSand + writetext CooltrainerfKateOfferSoftSandText + buttonsound + verbosegiveitem SOFT_SAND + iffalse .BagFull + setevent EVENT_GOT_SOFT_SAND_FROM_KATE +.GotSoftSand: + writetext CooltrainerfKateAfterText + waitbutton +.BagFull: + closetext + end + +Route34IlexForestSign: +; unused + jumptext Route34IlexForestSignText + +Route34Sign: + jumptext Route34SignText + +Route34TrainerTips: + jumptext Route34TrainerTipsText + +DayCareSign: + jumptext DayCareSignText + +Route34HiddenRareCandy: + hiddenitem RARE_CANDY, EVENT_ROUTE_34_HIDDEN_RARE_CANDY + +Route34HiddenSuperPotion: + hiddenitem SUPER_POTION, EVENT_ROUTE_34_HIDDEN_SUPER_POTION + +Route34MovementData_DayCareManWalksBackInside: + slow_step LEFT + slow_step LEFT + slow_step UP + step_end + +Route34MovementData_DayCareManWalksBackInside_WalkAroundPlayer: + slow_step DOWN + slow_step LEFT + slow_step LEFT + slow_step UP + slow_step UP + step_end + +YoungsterSamuelSeenText: + text "This is where I do" + line "my training!" + done + +YoungsterSamuelBeatenText: + text "What happened?" + done + +YoungsterSamuelAfterText: + text "I'm going to train" + line "even harder." + + para "After all, I'm" + line "trying to become" + cont "a GYM LEADER." + done + +YoungsterIanSeenText: + text "I'm the best in my" + line "class at #MON." + done + +YoungsterIanBeatenText: + text "No! There are bet-" + line "ter trainers…" + done + +YoungsterIanAfterText: + text "I'm trying hard so" + line "I can be the star" + cont "in my class." + done + +CamperTodd1SeenText: + text "I'm confident in" + line "my ability to" + cont "raise #MON." + + para "Want to see?" + done + +CamperTodd1BeatenText: + text "I didn't do a good" + line "enough job?" + done + +CamperTodd1AfterText: + text "Maybe I should" + line "leave one in DAY-" + cont "CARE." + cont "What should I do?" + done + +PicnickerGina1SeenText: + text "Are you a trainer?" + + para "Let's have a" + line "practice battle." + done + +PicnickerGina1BeatenText: + text "Oh, no! I just" + line "can't win…" + done + +PicnickerGina1AfterText: + text "You're too strong" + line "to be a practice" + cont "partner." + done + +OfficerKeithSeenText: + text "Who goes there?" + line "What are you up" + cont "to?" + done + +OfficerKeithWinText: + text "You're a tough" + line "little guy." + done + +OfficerKeithAfterText: + text "Yep, I see nothing" + line "wrong today. You" + + para "be good and stay" + line "out of trouble." + done + +OfficerKeithDaytimeText: + text "I'm on patrol for" + line "suspicious indi-" + cont "viduals." + done + +PokefanmBrandonSeenText: + text "I just got my" + line "#MON back from" + cont "DAY-CARE." + + para "Let's see how much" + line "stronger it got!" + done + +PokefanmBrandonBeatenText: + text "Why does it end" + line "this way?" + done + +PokefanmBrandonAfterText: + text "My #MON knew" + line "moves I didn't" + cont "know it had." + + para "That confounded me" + line "to no end!" + done + +CooltrainerfIreneSeenText: + text "IRENE: Kyaaah!" + line "A boy found us!" + done + +CooltrainerfIreneBeatenText: + text "IRENE: Ohhhh!" + line "He's too strong!" + done + +CooltrainerfIreneAfterText1: + text "IRENE: My sister" + line "KATE will get you" + cont "for this!" + done + +CooltrainerfIreneAfterText2: + text "IRENE: Isn't this" + line "beach great?" + + para "It's our secret" + line "little getaway!" + done + +CooltrainerfJennSeenText: + text "JENN: You can't" + line "beat IRENE and go" + cont "unpunished!" + done + +CooltrainerfJennBeatenText: + text "JENN: So sorry," + line "IRENE! Sis!" + done + +CooltrainerfJennAfterText1: + text "JENN: Don't get" + line "cocky! My sister" + cont "KATE is tough!" + done + +CooltrainerfJennAfterText2: + text "JENN: Sunlight" + line "makes your body" + cont "stronger." + done + +CooltrainerfKateSeenText: + text "KATE: You sure" + line "were mean to my" + cont "little sisters!" + done + +CooltrainerfKateBeatenText: + text "KATE: No! I can't" + line "believe I lost." + done + +CooltrainerfKateOfferSoftSandText: + text "KATE: You're too" + line "strong. I didn't" + cont "stand a chance." + + para "Here. You deserve" + line "this." + done + +CooltrainerfKateAfterText: + text "KATE: I'm sorry we" + line "jumped you." + + para "We never expected" + line "anyone to find us" + + para "here. You sure" + line "startled us." + done + +Route34IlexForestSignText: +; unused + text "ILEX FOREST" + line "Through the Gate" + done + +Route34SignText: + text "ROUTE 34" + + para "GOLDENROD CITY -" + line "AZALEA TOWN" + + para "ILEX FOREST" + line "Somewhere Between" + done + +Route34TrainerTipsText: + text "TRAINER TIPS" + + para "BERRY trees grow" + line "new BERRIES" + cont "everyday." + + para "Make a note of" + line "which trees bear" + cont "which BERRIES." + done + +DayCareSignText: + text "DAY-CARE" + + para "Let Us Raise Your" + line "#MON for You!" + done + +Route34_MapEvents: + db 0, 0 ; filler + + db 5 ; warp events + warp_event 13, 37, ROUTE_34_ILEX_FOREST_GATE, 1 + warp_event 14, 37, ROUTE_34_ILEX_FOREST_GATE, 2 + warp_event 11, 14, DAY_CARE, 1 + warp_event 11, 15, DAY_CARE, 2 + warp_event 13, 15, DAY_CARE, 3 + + db 0 ; coord events + + db 5 ; bg events + bg_event 12, 6, BGEVENT_READ, Route34Sign + bg_event 13, 33, BGEVENT_READ, Route34TrainerTips + bg_event 10, 13, BGEVENT_READ, DayCareSign + bg_event 8, 32, BGEVENT_ITEM, Route34HiddenRareCandy + bg_event 17, 19, BGEVENT_ITEM, Route34HiddenSuperPotion + + db 12 ; object events + object_event 13, 7, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 5, TrainerCamperTodd1, -1 + object_event 15, 33, SPRITE_YOUNGSTER, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 2, TrainerYoungsterSamuel, -1 + object_event 17, 22, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerYoungsterIan, -1 + object_event 10, 26, SPRITE_LASS, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 3, TrainerPicnickerGina1, -1 + object_event 9, 11, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, OfficerKeithScript, -1 + object_event 19, 28, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 2, TrainerPokefanmBrandon, -1 + object_event 15, 16, SPRITE_GRAMPS, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DayCareManScript_Outside, EVENT_DAY_CARE_MAN_ON_ROUTE_34 + object_event 14, 18, SPRITE_DAY_CARE_MON_1, SPRITEMOVEDATA_POKEMON, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DayCareMon1Script, EVENT_DAY_CARE_MON_1 + object_event 17, 19, SPRITE_DAY_CARE_MON_2, SPRITEMOVEDATA_POKEMON, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DayCareMon2Script, EVENT_DAY_CARE_MON_2 + object_event 11, 48, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 5, TrainerCooltrainerfIrene, -1 + object_event 3, 48, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 3, TrainerCooltrainerfJenn, -1 + object_event 6, 51, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 2, TrainerCooltrainerfKate, -1 diff --git a/maps/Route35.asm b/maps/Route35.asm new file mode 100644 index 00000000..fc2c80fa --- /dev/null +++ b/maps/Route35.asm @@ -0,0 +1,466 @@ + const_def 2 ; object constants + const ROUTE35_YOUNGSTER1 + const ROUTE35_YOUNGSTER2 + const ROUTE35_LASS1 + const ROUTE35_LASS2 + const ROUTE35_YOUNGSTER3 + const ROUTE35_FISHER + const ROUTE35_BUG_CATCHER + const ROUTE35_SUPER_NERD + const ROUTE35_OFFICER + const ROUTE35_FRUIT_TREE + const ROUTE35_POKE_BALL + +Route35_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +TrainerBirdKeeperBryan: + trainer BIRD_KEEPER, BRYAN, EVENT_BEAT_BIRD_KEEPER_BRYAN, BirdKeeperBryanSeenText, BirdKeeperBryanBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext BirdKeeperBryanAfterBattleText + waitbutton + closetext + end + +TrainerJugglerIrwin: + trainer JUGGLER, IRWIN1, EVENT_BEAT_JUGGLER_IRWIN, JugglerIrwin1SeenText, JugglerIrwin1BeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + checkevent EVENT_IRWIN_READY_FOR_REMATCH + iftrue .WantsBattle + checkcellnum PHONE_JUGGLER_IRWIN + iftrue Route35NumberAcceptedM + checkevent EVENT_IRWIN_ASKED_FOR_PHONE_NUMBER + iftrue .AskedAlready + writetext JugglerIrwinAfterBattleText + buttonsound + setevent EVENT_IRWIN_ASKED_FOR_PHONE_NUMBER + scall Route35AskNumber1M + jump .AskForNumber + +.AskedAlready: + scall Route35AskNumber2M +.AskForNumber: + askforphonenumber PHONE_JUGGLER_IRWIN + ifequal PHONE_CONTACTS_FULL, Route35PhoneFullM + ifequal PHONE_CONTACT_REFUSED, Route35NumberDeclinedM + trainertotext JUGGLER, IRWIN1, MEM_BUFFER_0 + scall Route35RegisteredNumberM + jump Route35NumberAcceptedM + +.WantsBattle: + scall Route35RematchM + winlosstext JugglerIrwin1BeatenText, 0 + checkevent EVENT_CLEARED_RADIO_TOWER + iftrue .LoadFight2 + checkflag ENGINE_FLYPOINT_CIANWOOD + iftrue .LoadFight1 + loadtrainer JUGGLER, IRWIN1 + startbattle + reloadmapafterbattle + clearevent EVENT_IRWIN_READY_FOR_REMATCH + end + +.LoadFight1: + loadtrainer JUGGLER, IRWIN2 + startbattle + reloadmapafterbattle + clearevent EVENT_IRWIN_READY_FOR_REMATCH + end + +.LoadFight2: + loadtrainer JUGGLER, IRWIN3 + startbattle + reloadmapafterbattle + clearevent EVENT_IRWIN_READY_FOR_REMATCH + end + +Route35AskNumber1M: + jumpstd asknumber1m + end + +Route35AskNumber2M: + jumpstd asknumber2m + end + +Route35RegisteredNumberM: + jumpstd registerednumberm + end + +Route35NumberAcceptedM: + jumpstd numberacceptedm + end + +Route35NumberDeclinedM: + jumpstd numberdeclinedm + end + +Route35PhoneFullM: + jumpstd phonefullm + end + +Route35RematchM: + jumpstd rematchm + end + +TrainerCamperIvan: + trainer CAMPER, IVAN, EVENT_BEAT_CAMPER_IVAN, CamperIvanSeenText, CamperIvanBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext CamperIvanAfterBattleText + waitbutton + closetext + end + +TrainerCamperElliot: + trainer CAMPER, ELLIOT, EVENT_BEAT_CAMPER_ELLIOT, CamperElliotSeenText, CamperElliotBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext CamperElliotAfterBattleText + waitbutton + closetext + end + +TrainerPicnickerBrooke: + trainer PICNICKER, BROOKE, EVENT_BEAT_PICNICKER_BROOKE, PicnickerBrookeSeenText, PicnickerBrookeBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext PicnickerBrookeAfterBattleText + waitbutton + closetext + end + +TrainerPicnickerKim: + trainer PICNICKER, KIM, EVENT_BEAT_PICNICKER_KIM, PicnickerKimSeenText, PicnickerKimBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext PicnickerKimAfterBattleText + waitbutton + closetext + end + +TrainerBugCatcherArnie: + trainer BUG_CATCHER, ARNIE1, EVENT_BEAT_BUG_CATCHER_ARNIE, BugCatcherArnieSeenText, BugCatcherArnieBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + checkevent EVENT_ARNIE_READY_FOR_REMATCH + iftrue .WantsBattle + checkcellnum PHONE_BUG_CATCHER_ARNIE + iftrue Route35NumberAcceptedM + checkevent EVENT_ARNIE_ASKED_FOR_PHONE_NUMBER + iftrue .AskedAlready + writetext BugCatcherArnieAfterBattleText + buttonsound + setevent EVENT_ARNIE_ASKED_FOR_PHONE_NUMBER + scall Route35AskNumber1M + jump .AskForNumber + +.AskedAlready: + scall Route35AskNumber2M +.AskForNumber: + askforphonenumber PHONE_BUG_CATCHER_ARNIE + ifequal PHONE_CONTACTS_FULL, Route35PhoneFullM + ifequal PHONE_CONTACT_REFUSED, Route35NumberDeclinedM + trainertotext BUG_CATCHER, ARNIE1, MEM_BUFFER_0 + scall Route35RegisteredNumberM + jump Route35NumberAcceptedM + +.WantsBattle: + scall Route35RematchM + winlosstext BugCatcherArnieBeatenText, 0 + checkflag ENGINE_FLYPOINT_BLACKTHORN + iftrue .LoadFight2 + checkflag ENGINE_FLYPOINT_LAKE_OF_RAGE + iftrue .LoadFight1 + loadtrainer BUG_CATCHER, ARNIE1 + startbattle + reloadmapafterbattle + clearevent EVENT_ARNIE_READY_FOR_REMATCH + end + +.LoadFight1: + loadtrainer BUG_CATCHER, ARNIE2 + startbattle + reloadmapafterbattle + clearevent EVENT_ARNIE_READY_FOR_REMATCH + end + +.LoadFight2: + loadtrainer BUG_CATCHER, ARNIE3 + startbattle + reloadmapafterbattle + clearevent EVENT_ARNIE_READY_FOR_REMATCH + end + +TrainerFirebreatherWalt: + trainer FIREBREATHER, WALT, EVENT_BEAT_FIREBREATHER_WALT, FirebreatherWaltSeenText, FirebreatherWaltBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext FirebreatherWaltAfterBattleText + waitbutton + closetext + end + +TrainerOfficerDirk: + faceplayer + opentext + checktime NITE + iffalse .NotNight + checkevent EVENT_BEAT_OFFICER_DIRK + iftrue .AfterBattle + playmusic MUSIC_OFFICER_ENCOUNTER + writetext OfficerDirkSeenText + waitbutton + closetext + winlosstext OfficerDirkBeatenText, 0 + loadtrainer OFFICER, DIRK + startbattle + reloadmapafterbattle + setevent EVENT_BEAT_OFFICER_DIRK + closetext + end + +.AfterBattle: + writetext OfficerDirkAfterBattleText + waitbutton + closetext + end + +.NotNight: + writetext OfficerDirkPrettyToughText + waitbutton + closetext + end + +Route35Sign: + jumptext Route35SignText + +Route35TMRollout: + itemball TM_ROLLOUT + +Route35FruitTree: + fruittree FRUITTREE_ROUTE_35 + +CamperIvanSeenText: + text "I've been getting" + line "#MON data off" + + para "my radio. I think" + line "I'm good." + done + +CamperIvanBeatenText: + text "I give!" + done + +CamperIvanAfterBattleText: + text "Music on the radio" + line "changes the moods" + cont "of wild #MON." + done + +CamperElliotSeenText: + text "I'm gonna show my" + line "girlfriend I'm hot" + cont "stuff!" + done + +CamperElliotBeatenText: + text "I wish you would" + line "have lost for me…" + done + +CamperElliotAfterBattleText: + text "I was humiliated" + line "in front of my" + cont "girlfriend…" + done + +PicnickerBrookeSeenText: + text "My boyfriend's" + line "weak, so I can't" + cont "rely on him." + done + +PicnickerBrookeBeatenText: + text "Oh, my! You're so" + line "strong!" + done + +PicnickerBrookeAfterBattleText: + text "I can count on my" + line "#MON more than" + cont "my boyfriend." + done + +PicnickerKimSeenText: + text "Are you going to" + line "the GYM? Me too!" + done + +PicnickerKimBeatenText: + text "Oh. I couldn't" + line "win…" + done + +PicnickerKimAfterBattleText: + text "The GYM BADGES are" + line "pretty. I collect" + cont "them." + done + +BirdKeeperBryanSeenText: + text "What kinds of #" + line "BALL do you use?" + done + +BirdKeeperBryanBeatenText: + text "Yikes! Not fast" + line "enough!" + done + +BirdKeeperBryanAfterBattleText: + text "Some #MON flee" + line "right away." + + para "Try catching them" + line "with KURT's FAST" + cont "BALL." + + para "Whenever I find a" + line "WHT APRICORN, I" + cont "take it to KURT." + + para "He turns it into a" + line "custom # BALL." + done + +JugglerIrwin1SeenText: + text "Behold my graceful" + line "BALL dexterity!" + done + +JugglerIrwin1BeatenText: + text "Whew! That was a" + line "jolt!" + done + +JugglerIrwinAfterBattleText: + text "I was going to" + line "dazzle you with my" + cont "prize #MON." + + para "But your prowess" + line "electrified me!" + done + +BugCatcherArnieSeenText: + text "I'll go anywhere" + line "if bug #MON" + cont "appear there." + done + +BugCatcherArnieBeatenText: + text "I see. So you" + line "battle that way." + done + +BugCatcherArnieAfterBattleText: + text "My VENONAT won me" + line "the Bug-Catching" + + para "Contest at the" + line "NATIONAL PARK." + done + +FirebreatherWaltSeenText: + text "I'm practicing my" + line "fire breathing." + done + +FirebreatherWaltBeatenText: + text "Ow! I scorched the" + line "tip of my nose!" + done + +FirebreatherWaltAfterBattleText: + text "The #MON March" + line "on the radio lures" + cont "wild #MON." + done + +OfficerDirkSeenText: + text "Danger lurks in" + line "the night!" + done + +OfficerDirkBeatenText: + text "Whoops!" + done + +OfficerDirkAfterBattleText: + text "You know, night-" + line "time is fun in its" + cont "own ways." + + para "But don't overdo" + line "it, OK?" + done + +OfficerDirkPrettyToughText: + text "Your #MON look" + line "pretty tough." + + para "You could go any-" + line "where safely." + done + +Route35SignText: + text "ROUTE 35" + done + +Route35_MapEvents: + db 0, 0 ; filler + + db 3 ; warp events + warp_event 9, 33, ROUTE_35_GOLDENROD_GATE, 1 + warp_event 10, 33, ROUTE_35_GOLDENROD_GATE, 2 + warp_event 3, 5, ROUTE_35_NATIONAL_PARK_GATE, 3 + + db 0 ; coord events + + db 2 ; bg events + bg_event 1, 7, BGEVENT_READ, Route35Sign + bg_event 11, 31, BGEVENT_READ, Route35Sign + + db 11 ; object events + object_event 3, 19, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 4, TrainerCamperIvan, -1 + object_event 8, 20, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 3, TrainerCamperElliot, -1 + object_event 7, 20, SPRITE_LASS, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 3, TrainerPicnickerBrooke, -1 + object_event 11, 24, SPRITE_LASS, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 3, TrainerPicnickerKim, -1 + object_event 14, 28, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 0, TrainerBirdKeeperBryan, -1 + object_event 2, 10, SPRITE_FISHER, SPRITEMOVEDATA_SPINCOUNTERCLOCKWISE, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 2, TrainerFirebreatherWalt, -1 + object_event 16, 7, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_STANDING_DOWN, 2, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 3, TrainerBugCatcherArnie, -1 + object_event 5, 10, SPRITE_SUPER_NERD, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 2, TrainerJugglerIrwin, -1 + object_event 5, 6, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, TrainerOfficerDirk, -1 + object_event 2, 25, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route35FruitTree, -1 + object_event 13, 16, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route35TMRollout, EVENT_ROUTE_35_TM_ROLLOUT diff --git a/maps/Route36.asm b/maps/Route36.asm new file mode 100644 index 00000000..992107e4 --- /dev/null +++ b/maps/Route36.asm @@ -0,0 +1,490 @@ + const_def 2 ; object constants + const ROUTE36_YOUNGSTER1 + const ROUTE36_YOUNGSTER2 + const ROUTE36_WEIRD_TREE + const ROUTE36_LASS1 + const ROUTE36_FISHER + const ROUTE36_FRUIT_TREE + const ROUTE36_ARTHUR + +Route36_MapScripts: + db 0 ; scene scripts + + db 1 ; callbacks + callback MAPCALLBACK_OBJECTS, .ArthurCallback + +.ArthurCallback: + checkcode VAR_WEEKDAY + ifequal THURSDAY, .ArthurAppears + disappear ROUTE36_ARTHUR + return + +.ArthurAppears: + appear ROUTE36_ARTHUR + return + +SudowoodoScript: + checkitem SQUIRTBOTTLE + iftrue .Fight + + waitsfx + playsound SFX_SANDSTORM + applymovement ROUTE36_WEIRD_TREE, SudowoodoShakeMovement + end + +.Fight: + opentext + writetext UseSquirtbottleText + yesorno + iffalse DidntUseSquirtbottleScript + closetext +WateredWeirdTreeScript:: ; export (for when you use Squirtbottle from pack) + opentext + writetext UsedSquirtbottleText + waitbutton + closetext + waitsfx + playsound SFX_SANDSTORM + applymovement ROUTE36_WEIRD_TREE, SudowoodoShakeMovement + opentext + writetext SudowoodoAttackedText + waitbutton + closetext + loadwildmon SUDOWOODO, 20 + startbattle + setevent EVENT_FOUGHT_SUDOWOODO + ifequal $2, DidntCatchSudowoodo + disappear ROUTE36_WEIRD_TREE + variablesprite SPRITE_WEIRD_TREE, SPRITE_TWIN + reloadmapafterbattle + end + +DidntUseSquirtbottleScript: + closetext + end + +DidntCatchSudowoodo: + reloadmapafterbattle + applymovement ROUTE36_WEIRD_TREE, WeirdTreeMovement_Flee + disappear ROUTE36_WEIRD_TREE + variablesprite SPRITE_WEIRD_TREE, SPRITE_TWIN + special LoadUsedSpritesGFX + end + +Route36RockSmashGuyScript: + faceplayer + opentext + checkevent EVENT_GOT_TM08_ROCK_SMASH + iftrue .AlreadyGotRockSmash + checkevent EVENT_FOUGHT_SUDOWOODO + iftrue .ClearedSudowoodo + writetext RockSmashGuyText1 + waitbutton + closetext + end + +.ClearedSudowoodo: + writetext RockSmashGuyText2 + buttonsound + verbosegiveitem TM_ROCK_SMASH + iffalse .NoRoomForTM + setevent EVENT_GOT_TM08_ROCK_SMASH +.AlreadyGotRockSmash: + writetext RockSmashGuyText3 + waitbutton +.NoRoomForTM: + closetext + end + +Route36LassScript: + faceplayer + opentext + checkevent EVENT_FOUGHT_SUDOWOODO + iftrue .ClearedSudowoodo + writetext Route36LassText + waitbutton + closetext + end + +.ClearedSudowoodo: + writetext Route36LassText_ClearedSudowoodo + waitbutton + closetext + end + +TrainerSchoolboyAlan1: + trainer SCHOOLBOY, ALAN1, EVENT_BEAT_SCHOOLBOY_ALAN, SchoolboyAlan1SeenText, SchoolboyAlan1BeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + checkevent EVENT_ALAN_READY_FOR_REMATCH + iftrue .ChooseRematch + checkcellnum PHONE_SCHOOLBOY_ALAN + iftrue .NumberAccepted + checkevent EVENT_ALAN_ASKED_FOR_PHONE_NUMBER + iftrue .AskAgainForPhoneNumber + writetext UnknownText_0x1947aa + buttonsound + setevent EVENT_ALAN_ASKED_FOR_PHONE_NUMBER + scall .AskNumber1 + jump .ContinueAskForPhoneNumber + +.AskAgainForPhoneNumber: + scall .AskNumber2 +.ContinueAskForPhoneNumber: + askforphonenumber PHONE_SCHOOLBOY_ALAN + ifequal PHONE_CONTACTS_FULL, .PhoneFull + ifequal PHONE_CONTACT_REFUSED, .NumberDeclined + trainertotext SCHOOLBOY, ALAN1, MEM_BUFFER_0 + scall .RegisteredNumber + jump .NumberAccepted + +.ChooseRematch: + scall .Rematch + winlosstext SchoolboyAlan1BeatenText, 0 + checkflag ENGINE_FLYPOINT_BLACKTHORN + iftrue .LoadFight2 + checkflag ENGINE_FLYPOINT_OLIVINE + iftrue .LoadFight1 + loadtrainer SCHOOLBOY, ALAN1 + startbattle + reloadmapafterbattle + clearevent EVENT_ALAN_READY_FOR_REMATCH + end + +.LoadFight1: + loadtrainer SCHOOLBOY, ALAN2 + startbattle + reloadmapafterbattle + clearevent EVENT_ALAN_READY_FOR_REMATCH + end + +.LoadFight2: + loadtrainer SCHOOLBOY, ALAN3 + startbattle + reloadmapafterbattle + clearevent EVENT_ALAN_READY_FOR_REMATCH + end + +.AskNumber1: + jumpstd asknumber1m + end + +.AskNumber2: + jumpstd asknumber2m + end + +.RegisteredNumber: + jumpstd registerednumberm + end + +.NumberAccepted: + jumpstd numberacceptedm + end + +.NumberDeclined: + jumpstd numberdeclinedm + end + +.PhoneFull: + jumpstd phonefullm + end + +.Rematch: + jumpstd rematchm + end + +TrainerPsychicMark: + trainer PSYCHIC_T, MARK, EVENT_BEAT_PSYCHIC_MARK, PsychicMarkSeenText, PsychicMarkBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext PsychicMarkAfterBattleText + waitbutton + closetext + end + +ArthurScript: + faceplayer + opentext + checkevent EVENT_GOT_HARD_STONE_FROM_ARTHUR + iftrue .AlreadyGotStone + checkcode VAR_WEEKDAY + ifnotequal THURSDAY, ArthurNotThursdayScript + checkevent EVENT_MET_ARTHUR_OF_THURSDAY + iftrue .MetArthur + writetext MeetArthurText + buttonsound + setevent EVENT_MET_ARTHUR_OF_THURSDAY +.MetArthur: + writetext ArthurGivesGiftText + buttonsound + verbosegiveitem HARD_STONE + iffalse .BagFull + setevent EVENT_GOT_HARD_STONE_FROM_ARTHUR + writetext ArthurGaveGiftText + waitbutton + closetext + end + +.AlreadyGotStone: + writetext ArthurThursdayText + waitbutton +.BagFull: + closetext + end + +ArthurNotThursdayScript: + writetext ArthurNotThursdayText + waitbutton + closetext + end + +Route36Sign: + jumptext Route36SignText + +RuinsOfAlphNorthSign: + jumptext RuinsOfAlphNorthSignText + +Route36TrainerTips1: + jumptext Route36TrainerTips1Text + +Route36TrainerTips2: + jumptext Route36TrainerTips2Text + +Route36FruitTree: + fruittree FRUITTREE_ROUTE_36 + +SudowoodoShakeMovement: + tree_shake ; shake + step_end + +WeirdTreeMovement_Flee: + fast_jump_step UP + fast_jump_step UP + step_end + +UseSquirtbottleText: + text "It's a weird tree." + line "Use SQUIRTBOTTLE?" + done + +UsedSquirtbottleText: + text "<PLAYER> used the" + line "SQUIRTBOTTLE." + done + +SudowoodoAttackedText: + text "The weird tree" + line "doesn't like the" + cont "SQUIRTBOTTLE!" + + para "The weird tree" + line "attacked!" + done + +RockSmashGuyText1: + text "Wa-hey!" + + para "I was going to" + line "snap that tree" + + para "with my straight-" + line "arm punch." + + para "But I couldn't!" + line "I'm a failure!" + done + +RockSmashGuyText2: + text "Did you clear that" + line "wretched tree?" + + para "I'm impressed!" + line "I want you to" + cont "have this." + done + +UnknownText_0x19451a: + text "<PLAYER> received" + line "TM08." + done + +RockSmashGuyText3: + text "That happens to be" + line "ROCK SMASH." + + para "You can shatter" + line "rocks with just a" + + para "single well-aimed" + line "smack." + + para "If any rocks are" + line "in your way, just" + cont "smash 'em up!" + done + +Route36LassText: + text "An odd tree is" + line "blocking the way" + cont "to GOLDENROD CITY." + + para "It's preventing" + line "me from shopping." + + para "Something should" + line "be done about it." + done + +Route36LassText_ClearedSudowoodo: + text "That odd tree dis-" + line "appeared without a" + cont "trace." + + para "Oh! That tree was" + line "really a #MON?" + done + +PsychicMarkSeenText: + text "I'm going to read" + line "your thoughts!" + done + +PsychicMarkBeatenText: + text "I misread you!" + done + +PsychicMarkAfterBattleText: + text "I'd be strong if" + line "only I could tell" + + para "what my opponent" + line "was thinking." + done + +SchoolboyAlan1SeenText: + text "Thanks to my stud-" + line "ies, I'm ready for" + cont "any #MON!" + done + +SchoolboyAlan1BeatenText: + text "Oops! Computation" + line "error?" + done + +UnknownText_0x1947aa: + text "Darn. I study five" + line "hours a day too." + + para "There's a lot you" + line "can't learn just" + cont "by reading books." + done + +MeetArthurText: + text "ARTHUR: Who are" + line "you?" + + para "I'm ARTHUR of" + line "Thursday." + done + +ArthurGivesGiftText: + text "Here. You can have" + line "this." + done + +ArthurGaveGiftText: + text "ARTHUR: A #MON" + line "that uses rock-" + + para "type moves should" + line "hold on to that." + + para "It pumps up rock-" + line "type attacks." + done + +ArthurThursdayText: + text "ARTHUR: I'm ARTHUR" + line "of Thursday. I'm" + + para "the second son out" + line "of seven children." + done + +ArthurNotThursdayText: + text "ARTHUR: Today's" + line "not Thursday. How" + cont "disappointing." + done + +Route36SignText: + text "ROUTE 36" + done + +RuinsOfAlphNorthSignText: + text "RUINS OF ALPH" + line "NORTH ENTRANCE" + done + +Route36TrainerTips1Text: + text "TRAINER TIPS" + + para "#MON stats" + line "vary--even within" + cont "the same species." + + para "Their stats may be" + line "similar at first." + + para "However, differ-" + line "ences will become" + + para "pronounced as the" + line "#MON grow." + done + +Route36TrainerTips2Text: + text "TRAINER TIPS" + + para "Use DIG to return" + line "to the entrance of" + cont "any place." + + para "It is convenient" + line "for exploring" + + para "caves and other" + line "landmarks." + done + +Route36_MapEvents: + db 0, 0 ; filler + + db 4 ; warp events + warp_event 18, 8, ROUTE_36_NATIONAL_PARK_GATE, 3 + warp_event 18, 9, ROUTE_36_NATIONAL_PARK_GATE, 4 + warp_event 47, 13, ROUTE_36_RUINS_OF_ALPH_GATE, 1 + warp_event 48, 13, ROUTE_36_RUINS_OF_ALPH_GATE, 2 + + db 0 ; coord events + + db 4 ; bg events + bg_event 29, 1, BGEVENT_READ, Route36TrainerTips2 + bg_event 45, 11, BGEVENT_READ, RuinsOfAlphNorthSign + bg_event 55, 7, BGEVENT_READ, Route36Sign + bg_event 21, 7, BGEVENT_READ, Route36TrainerTips1 + + db 7 ; object events + object_event 20, 12, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 2, TrainerPsychicMark, -1 + object_event 31, 14, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 5, TrainerSchoolboyAlan1, -1 + object_event 35, 9, SPRITE_WEIRD_TREE, SPRITEMOVEDATA_SUDOWOODO, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SudowoodoScript, EVENT_ROUTE_36_SUDOWOODO + object_event 51, 8, SPRITE_LASS, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 2, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route36LassScript, -1 + object_event 44, 9, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route36RockSmashGuyScript, -1 + object_event 21, 4, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route36FruitTree, -1 + object_event 46, 6, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ArthurScript, EVENT_ROUTE_36_ARTHUR_OF_THURSDAY |
