const_def 2 ; object constants const ROUTE45_POKEFAN_M1 const ROUTE45_POKEFAN_M2 const ROUTE45_POKEFAN_M3 const ROUTE45_POKEFAN_M4 const ROUTE45_BLACK_BELT const ROUTE45_COOLTRAINER_M const ROUTE45_COOLTRAINER_F const ROUTE45_FRUIT_TREE const ROUTE45_POKE_BALL1 const ROUTE45_POKE_BALL2 const ROUTE45_POKE_BALL3 const ROUTE45_POKE_BALL4 const ROUTE45_YOUNGSTER Route45_MapScripts: db 0 ; scene scripts db 0 ; callbacks TrainerBlackbeltKenji: trainer BLACKBELT_T, KENJI3, EVENT_BEAT_BLACKBELT_KENJI, BlackbeltKenji3SeenText, BlackbeltKenji3BeatenText, 0, .Script .Script: loadvar VAR_CALLERID, PHONE_BLACKBELT_KENJI endifjustbattled opentext checkcellnum PHONE_BLACKBELT_KENJI iftrue .Registered checkevent EVENT_KENJI_ASKED_FOR_PHONE_NUMBER iftrue .AskedAlready special SampleKenjiBreakCountdown writetext BlackbeltKenjiAfterBattleText waitbutton setevent EVENT_KENJI_ASKED_FOR_PHONE_NUMBER scall Route45AskNumber1M sjump .AskForNumber .AskedAlready: scall Route45AskNumber2M .AskForNumber: askforphonenumber PHONE_BLACKBELT_KENJI ifequal PHONE_CONTACTS_FULL, Route45PhoneFullM ifequal PHONE_CONTACT_REFUSED, Route45NumberDeclinedM gettrainername STRING_BUFFER_3, BLACKBELT_T, KENJI3 scall Route45RegisteredNumberM sjump Route45NumberAcceptedM .Registered: readvar VAR_KENJI_BREAK ifnotequal 1, Route45NumberAcceptedM checktime MORN iftrue .Morning checktime NITE iftrue .Night checkevent EVENT_KENJI_ON_BREAK iffalse Route45NumberAcceptedM scall Route45GiftM verbosegiveitem PP_UP iffalse .NoRoom clearevent EVENT_KENJI_ON_BREAK special SampleKenjiBreakCountdown sjump Route45NumberAcceptedM .Morning: writetext BlackbeltKenjiMorningText waitbutton closetext end .Night: writetext BlackbeltKenjiNightText waitbutton closetext end .NoRoom: sjump Route45PackFullM Route45AskNumber1M: jumpstd asknumber1m end Route45AskNumber2M: jumpstd asknumber2m end Route45RegisteredNumberM: jumpstd registerednumberm end Route45NumberAcceptedM: jumpstd numberacceptedm end Route45NumberDeclinedM: jumpstd numberdeclinedm end Route45PhoneFullM: jumpstd phonefullm end Route45RematchM: jumpstd rematchm end Route45GiftM: jumpstd giftm end Route45PackFullM: jumpstd packfullm end HikerParryHasIron: setevent EVENT_PARRY_IRON jumpstd packfullm end Route45RematchGiftM: jumpstd rematchgiftm end TrainerHikerErik: trainer HIKER, ERIK, EVENT_BEAT_HIKER_ERIK, HikerErikSeenText, HikerErikBeatenText, 0, .Script .Script: endifjustbattled opentext writetext HikerErikAfterBattleText waitbutton closetext end TrainerHikerMichael: trainer HIKER, MICHAEL, EVENT_BEAT_HIKER_MICHAEL, HikerMichaelSeenText, HikerMichaelBeatenText, 0, .Script .Script: endifjustbattled opentext writetext HikerMichaelAfterBattleText waitbutton closetext end TrainerHikerParry: trainer HIKER, PARRY3, EVENT_BEAT_HIKER_PARRY, HikerParry3SeenText, HikerParry3BeatenText, 0, .Script .Script: loadvar VAR_CALLERID, PHONE_HIKER_PARRY endifjustbattled opentext checkflag ENGINE_PARRY iftrue .WantsBattle checkcellnum PHONE_HIKER_PARRY iftrue Route45NumberAcceptedM checkevent EVENT_PARRY_ASKED_FOR_PHONE_NUMBER iftrue .AskedAlready writetext HikerParryAfterBattleText buttonsound setevent EVENT_PARRY_ASKED_FOR_PHONE_NUMBER scall Route45AskNumber1M sjump .AskForNumber .AskedAlready: scall Route45AskNumber2M .AskForNumber: askforphonenumber PHONE_HIKER_PARRY ifequal PHONE_CONTACTS_FULL, Route45PhoneFullM ifequal PHONE_CONTACT_REFUSED, Route45NumberDeclinedM gettrainername STRING_BUFFER_3, HIKER, PARRY1 scall Route45RegisteredNumberM sjump Route45NumberAcceptedM .WantsBattle: scall Route45RematchM winlosstext HikerParry3BeatenText, 0 readmem wParryFightCount ifequal 2, .Fight2 ifequal 1, .Fight1 ifequal 0, .LoadFight0 .Fight2: checkevent EVENT_RESTORED_POWER_TO_KANTO iftrue .LoadFight2 .Fight1: checkevent EVENT_BEAT_ELITE_FOUR iftrue .LoadFight1 .LoadFight0: loadtrainer HIKER, PARRY3 startbattle reloadmapafterbattle loadmem wParryFightCount, 1 clearflag ENGINE_PARRY end .LoadFight1: loadtrainer HIKER, PARRY1 startbattle reloadmapafterbattle loadmem wParryFightCount, 2 clearflag ENGINE_PARRY end .LoadFight2: loadtrainer HIKER, PARRY2 startbattle reloadmapafterbattle clearflag ENGINE_PARRY checkevent EVENT_PARRY_IRON iftrue .HasIron checkevent EVENT_GOT_IRON_FROM_PARRY iftrue .GotIron scall Route45RematchGiftM verbosegiveitem IRON iffalse HikerParryHasIron setevent EVENT_GOT_IRON_FROM_PARRY sjump Route45NumberAcceptedM .GotIron: end .HasIron: opentext writetext HikerParryGivesIronText waitbutton verbosegiveitem IRON iffalse HikerParryHasIron clearevent EVENT_PARRY_IRON setevent EVENT_GOT_IRON_FROM_PARRY sjump Route45NumberAcceptedM TrainerHikerTimothy: trainer HIKER, TIMOTHY, EVENT_BEAT_HIKER_TIMOTHY, HikerTimothySeenText, HikerTimothyBeatenText, 0, .Script .Script: endifjustbattled opentext writetext HikerTimothyAfterBattleText waitbutton closetext end TrainerCooltrainermRyan: trainer COOLTRAINERM, RYAN, EVENT_BEAT_COOLTRAINERM_RYAN, CooltrainermRyanSeenText, CooltrainermRyanBeatenText, 0, .Script .Script: endifjustbattled opentext writetext CooltrainermRyanAfterBattleText waitbutton closetext end TrainerCooltrainerfKelly: trainer COOLTRAINERF, KELLY, EVENT_BEAT_COOLTRAINERF_KELLY, CooltrainerfKellySeenText, CooltrainerfKellyBeatenText, 0, .Script .Script: endifjustbattled opentext writetext CooltrainerfKellyAfterBattleText waitbutton closetext end TrainerCamperQuentin: faceplayer opentext checkevent EVENT_BEAT_CAMPER_QUENTIN iftrue .Defeated writetext CamperQuentinSeenText waitbutton closetext winlosstext CamperQuentinBeatenText, 0 loadtrainer CAMPER, QUENTIN startbattle reloadmapafterbattle setevent EVENT_BEAT_CAMPER_QUENTIN closetext end .Defeated: writetext CamperQuentinAfterBattleText waitbutton closetext end Route45DummyScript: writetext Route45DummyText waitbutton closetext end Route45Sign: jumptext Route45SignText Route45FruitTree: fruittree FRUITTREE_ROUTE_45 Route45Nugget: itemball NUGGET Route45Revive: itemball REVIVE Route45Elixer: itemball ELIXER Route45MaxPotion: itemball MAX_POTION Route45HiddenPpUp: hiddenitem PP_UP, EVENT_ROUTE_45_HIDDEN_PP_UP HikerErikSeenText: text "Be prepared for" line "anything!" para "Let me see if your" line "#MON have been" cont "raised properly!" done HikerErikBeatenText: text "Oh, I lost that!" done HikerErikAfterBattleText: text "I'll head back to" line "BLACKTHORN's ICE" para "PATH and train" line "some more." done HikerMichaelSeenText: text "Yo! You're spunky!" line "But you know what?" para "When it comes to" line "sheer spunkiness," cont "I'm the man!" done HikerMichaelBeatenText: text "My #MON weren't" line "spunky enough!" done HikerMichaelAfterBattleText: text "Boy, do I love" line "HP UP! Mmmm, yum!" para "I keep drinking my" line "#MON's!" para "I can't help it!" done HikerParry3SeenText: text "My #MON are" line "power packed!" done HikerParry3BeatenText: text "Wahahah! I'm the" line "big loser!" done HikerParryAfterBattleText: text "I'm not much good" line "at thinking, see?" para "So, I just plow" line "ahead with power!" done HikerTimothySeenText: text "Why do I climb" line "mountains?" para "Because they're" line "there." para "Why do I train" line "#MON?" para "Because they're" line "there!" done HikerTimothyBeatenText: text "Losses…" line "They're there too!" done HikerTimothyAfterBattleText: text "The best thing to" line "ever happen to me" para "was discovering" line "#MON." done HikerParryGivesIronText: text "I just can't find" line "a way to win!" para "Keep it up!" para "Oh, and take this" line "--it's the gift" para "you couldn't take" line "when we last met." done BlackbeltKenji3SeenText: text "I was training" line "here alone." para "Behold the fruits" line "of my labor!" done BlackbeltKenji3BeatenText: text "Waaaargh!" done BlackbeltKenjiAfterBattleText: text "This calls for" line "extreme measures." para "I must take to the" line "hills and train in" cont "solitude." done BlackbeltKenjiMorningText: text "I'm going to train" line "a bit more before" cont "I break for lunch." done BlackbeltKenjiNightText: text "We had plenty of" line "rest at lunch, so" para "now we're all" line "ready to go again!" para "We're going to" line "train again!" done CooltrainermRyanSeenText: text "What are your" line "thoughts on rais-" cont "ing #MON?" done CooltrainermRyanBeatenText: text "You've won my" line "respect." done CooltrainermRyanAfterBattleText: text "I see you're rais-" line "ing your #MON" cont "with care." para "The bond you build" line "will save you in" cont "tough situations." done CooltrainerfKellySeenText: text "What is your" line "battle strategy?" para "It is foolish to" line "use strong moves" cont "indiscriminately." done CooltrainerfKellyBeatenText: text "Fine. I lost." done CooltrainerfKellyAfterBattleText: text "I'm not in favor" line "of overly power-" cont "ful moves." para "I want to win, but" line "I also don't want" cont "to harm #MON." done Route45DummyText: text "I'm really, really" line "tough!" para "Is there anywhere" line "I can prove how" cont "tough I really am?" done CamperQuentinSeenText: text "I'm really, really" line "tough!" done CamperQuentinBeatenText: text "I was tough at the" line "BATTLE TOWER…" done CamperQuentinAfterBattleText: text "Have you been to" line "the BATTLE TOWER?" para "I never, ever lose" line "there, but…" done Route45SignText: text "ROUTE 45" line "MOUNTAIN RD. AHEAD" done Route45_MapEvents: db 0, 0 ; filler db 1 ; warp events warp_event 2, 5, DARK_CAVE_BLACKTHORN_ENTRANCE, 1 db 0 ; coord events db 2 ; bg events bg_event 10, 4, BGEVENT_READ, Route45Sign bg_event 13, 80, BGEVENT_ITEM, Route45HiddenPpUp db 13 ; object events object_event 10, 16, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 1, TrainerHikerErik, -1 object_event 15, 65, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 2, TrainerHikerMichael, -1 object_event 5, 28, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 2, TrainerHikerParry, -1 object_event 9, 65, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 1, TrainerHikerTimothy, -1 object_event 11, 50, SPRITE_BLACK_BELT, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 2, TrainerBlackbeltKenji, -1 object_event 17, 18, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 1, TrainerCooltrainermRyan, -1 object_event 5, 36, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 3, TrainerCooltrainerfKelly, -1 object_event 16, 82, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route45FruitTree, -1 object_event 6, 51, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route45Nugget, EVENT_ROUTE_45_NUGGET object_event 5, 66, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route45Revive, EVENT_ROUTE_45_REVIVE object_event 6, 20, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route45Elixer, EVENT_ROUTE_45_ELIXER object_event 7, 33, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route45MaxPotion, EVENT_ROUTE_45_MAX_POTION object_event 4, 70, SPRITE_YOUNGSTER, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, TrainerCamperQuentin, -1