diff options
-rw-r--r-- | constants/event_flags.asm | 16 | ||||
-rw-r--r-- | constants/phone_constants.asm | 2 | ||||
-rw-r--r-- | main.asm | 13 | ||||
-rw-r--r-- | maps/Route37.asm | 243 | ||||
-rw-r--r-- | maps/Route38.asm | 369 | ||||
-rw-r--r-- | maps/Route39.asm | 302 | ||||
-rw-r--r-- | maps/Route40.asm | 298 | ||||
-rw-r--r-- | maps/Route41.asm | 366 | ||||
-rw-r--r-- | maps/Route42.asm | 272 |
9 files changed, 1865 insertions, 16 deletions
diff --git a/constants/event_flags.asm b/constants/event_flags.asm index ad423568..b5b9c2e8 100644 --- a/constants/event_flags.asm +++ b/constants/event_flags.asm @@ -660,13 +660,13 @@ const EVENT_287 const EVENT_288 const EVENT_DANA_ASKED_FOR_PHONE_NUMBER - const EVENT_28A + const EVENT_DANA_READY_FOR_REMATCH const EVENT_CHAD_ASKED_FOR_PHONE_NUMBER - const EVENT_28C + const EVENT_CHAD_READY_FOR_REMATCH const EVENT_DEREK_ASKED_FOR_PHONE_NUMBER - const EVENT_28E - const EVENT_TULLY_ASKED_FOR_PHONE_NUMBER - const EVENT_290 ; 290 + const EVENT_DEREK_READY_FOR_REMATCH + const EVENT_CHRIS_ASKED_FOR_PHONE_NUMBER + const EVENT_CHRIS_READY_FOR_REMATCH const EVENT_BRENT_ASKED_FOR_PHONE_NUMBER const EVENT_BRENT_READY_FOR_REMATCH const EVENT_TIFFANY_ASKED_FOR_PHONE_NUMBER @@ -1135,7 +1135,7 @@ const EVENT_BEAT_FISHER_KYLE const EVENT_BEAT_FISHER_HENRY const EVENT_BEAT_FISHER_MARVIN - const EVENT_BEAT_FISHER_TULLY + const EVENT_BEAT_FISHER_CHRIS const EVENT_BEAT_FISHER_ANDRE const EVENT_BEAT_FISHER_RAYMOND const EVENT_BEAT_FISHER_WILTON @@ -1146,8 +1146,8 @@ const EVENT_BEAT_FISHER_BARNEY const EVENT_BEAT_FISHER_RALPH2 const EVENT_BEAT_FISHER_RALPH3 - const EVENT_BEAT_FISHER_TULLY2 - const EVENT_BEAT_FISHER_TULLY3 + const EVENT_BEAT_FISHER_CHRIS2 + const EVENT_BEAT_FISHER_CHRIS3 const EVENT_BEAT_FISHER_WILTON2 const EVENT_BEAT_FISHER_SCOTT const EVENT_BEAT_FISHER_WILTON3 diff --git a/constants/phone_constants.asm b/constants/phone_constants.asm index 1eb2b2d2..9247e927 100644 --- a/constants/phone_constants.asm +++ b/constants/phone_constants.asm @@ -29,7 +29,7 @@ const PHONE_LASS_DANA const PHONE_SCHOOLBOY_CHAD const PHONE_POKEFANM_DEREK - const PHONE_FISHER_TULLY + const PHONE_FISHER_CHRIS const PHONE_POKEMANIAC_BRENT const PHONE_PICNICKER_TIFFANY const PHONE_BIRDKEEPER_VANCE @@ -1655,13 +1655,12 @@ SECTION "bank4b", ROMX, BANK[$4b] dr $12c000, $130000 SECTION "bank4c", ROMX, BANK[$4c] -;INCLUDE "maps/Route37.asm" -;INCLUDE "maps/Route38.asm" -;INCLUDE "maps/Route39.asm" -;INCLUDE "maps/Route40.asm" -;INCLUDE "maps/Route41.asm" -;INCLUDE "maps/Route42.asm" - dr $130000, $134000 +INCLUDE "maps/Route37.asm" +INCLUDE "maps/Route38.asm" +INCLUDE "maps/Route39.asm" +INCLUDE "maps/Route40.asm" +INCLUDE "maps/Route41.asm" +INCLUDE "maps/Route42.asm" SECTION "bank4d", ROMX, BANK[$4d] INCLUDE "maps/Route43.asm" diff --git a/maps/Route37.asm b/maps/Route37.asm new file mode 100644 index 00000000..108496f6 --- /dev/null +++ b/maps/Route37.asm @@ -0,0 +1,243 @@ + const_def 2 ; object constants + const ROUTE37_WEIRD_TREE1 + const ROUTE37_WEIRD_TREE2 + const ROUTE37_YOUNGSTER + const ROUTE37_FRUIT_TREE1 + const ROUTE37_SUNNY + const ROUTE37_FRUIT_TREE2 + const ROUTE37_FRUIT_TREE3 + +Route37_MapScripts: + db 0 ; scene scripts + + db 1 ; callbacks + callback MAPCALLBACK_OBJECTS, .Sunny + +.Sunny: + checkcode VAR_WEEKDAY + ifequal SUNDAY, .SunnyAppears + disappear ROUTE37_SUNNY + return + +.SunnyAppears: + appear ROUTE37_SUNNY + return + +TrainerTwinsAnnandanne1: + trainer TWINS, ANNANDANNE1, EVENT_BEAT_TWINS_ANN_AND_ANNE, TwinsAnnandanne1SeenText, TwinsAnnandanne1BeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext TwinsAnnandanne1AfterBattleText + waitbutton + closetext + end + +TrainerTwinsAnnandanne2: + trainer TWINS, ANNANDANNE2, EVENT_BEAT_TWINS_ANN_AND_ANNE, TwinsAnnandanne2SeenText, TwinsAnnandanne2BeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext TwinsAnnandanne2AfterBattleText + waitbutton + closetext + end + +TrainerPsychicGreg: + trainer PSYCHIC_T, GREG, EVENT_BEAT_PSYCHIC_GREG, PsychicGregSeenText, PsychicGregBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext PsychicGregAfterBattleText + waitbutton + closetext + end + +SunnyScript: + faceplayer + opentext + checkevent EVENT_GOT_MAGNET_FROM_SUNNY + iftrue SunnySundayScript + checkcode VAR_WEEKDAY + ifnotequal SUNDAY, SunnyNotSundayScript + checkevent EVENT_MET_SUNNY_OF_SUNDAY + iftrue .MetSunny + writetext MeetSunnyText + buttonsound + setevent EVENT_MET_SUNNY_OF_SUNDAY +.MetSunny: + writetext SunnyGivesGiftText1 + buttonsound + verbosegiveitem MAGNET + iffalse SunnyDoneScript + setevent EVENT_GOT_MAGNET_FROM_SUNNY + writetext SunnyGaveGiftText + waitbutton + closetext + end + +SunnySundayScript: + writetext SunnySundayText + waitbutton +SunnyDoneScript: + closetext + end + +SunnyNotSundayScript: + writetext SunnyNotSundayText + waitbutton + closetext + end + +Route37Sign: + jumptext Route37SignText + +Route37FruitTree1: + fruittree FRUITTREE_ROUTE_37_1 + +Route37FruitTree2: + fruittree FRUITTREE_ROUTE_37_2 + +Route37FruitTree3: + fruittree FRUITTREE_ROUTE_37_3 + +Route37HiddenEther: + hiddenitem ETHER, EVENT_ROUTE_37_HIDDEN_ETHER + +TwinsAnnandanne1SeenText: + text "ANN: ANNE and I" + line "are in this to-" + cont "gether!" + done + +TwinsAnnandanne1BeatenText: + text "ANN & ANNE: You're" + line "mean!" + done + +TwinsAnnandanne1AfterBattleText: + text "ANN: I can tell" + line "what my sister and" + + para "my #MON are" + line "thinking." + done + +TwinsAnnandanne2SeenText: + text "ANNE: ANN and I" + line "are in this to-" + cont "gether!" + done + +TwinsAnnandanne2BeatenText: + text "ANN & ANNE: You're" + line "mean!" + done + +TwinsAnnandanne2AfterBattleText: + text "ANNE: We share the" + line "same feelings as" + cont "our #MON." + done + +PsychicGregSeenText: + text "#MON can't do a" + line "thing if they are" + cont "asleep." + + para "I'll show you how" + line "scary that is!" + done + +PsychicGregBeatenText: + text "I lost. That's" + line "pretty sad…" + done + +PsychicGregAfterBattleText: + text "Putting #MON to" + line "sleep or paralyz-" + cont "ing them are good" + cont "battle techniques." + done + +MeetSunnyText: + text "SUNNY: Hi!" + + para "I'm SUNNY of Sun-" + line "day, meaning it's" + cont "Sunday today!" + done + +SunnyGivesGiftText1: + text "I was told to give" + line "you this if I saw" + cont "you!" + done + +SunnyGaveGiftText: + text "SUNNY: That thing…" + + para "Um…" + + para "… What was it now…" + + para "…" + + para "Oh! I remember" + line "now!" + + para "A #MON that" + line "knows electric" + + para "moves should hold" + line "it." + + para "My sis MONICA said" + line "it powers up" + cont "electric moves!" + done + +SunnySundayText: + text "SUNNY: My sisters" + line "and brothers are" + cont "MONICA, TUSCANY," + cont "WESLEY, ARTHUR," + cont "FRIEDA and SANTOS." + + para "They're all older" + line "than me!" + done + +SunnyNotSundayText: + text "SUNNY: Isn't today" + line "Sunday?" + cont "Um… I forgot!" + done + +Route37SignText: + text "ROUTE 37" + done + +Route37_MapEvents: + db 0, 0 ; filler + + db 0 ; warp events + + db 0 ; coord events + + db 2 ; bg events + bg_event 5, 3, BGEVENT_READ, Route37Sign + bg_event 4, 2, BGEVENT_ITEM, Route37HiddenEther + + db 7 ; object events + object_event 6, 12, SPRITE_WEIRD_TREE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 1, TrainerTwinsAnnandanne1, -1 + object_event 7, 12, SPRITE_WEIRD_TREE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 1, TrainerTwinsAnnandanne2, -1 + object_event 9, 6, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerPsychicGreg, -1 + object_event 13, 5, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route37FruitTree1, -1 + object_event 16, 8, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SunnyScript, EVENT_ROUTE_37_SUNNY_OF_SUNDAY + object_event 16, 5, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route37FruitTree2, -1 + object_event 15, 7, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route37FruitTree3, -1 diff --git a/maps/Route38.asm b/maps/Route38.asm new file mode 100644 index 00000000..da7645d6 --- /dev/null +++ b/maps/Route38.asm @@ -0,0 +1,369 @@ + const_def 2 ; object constants + const ROUTE38_STANDING_YOUNGSTER1 + const ROUTE38_LASS + const ROUTE38_STANDING_YOUNGSTER2 + const ROUTE38_BUENA1 + const ROUTE38_SAILOR + const ROUTE38_FRUIT_TREE + const ROUTE38_BUENA2 + +Route38_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +TrainerBirdKeeperToby: + trainer BIRD_KEEPER, TOBY, EVENT_BEAT_BIRD_KEEPER_TOBY, BirdKeeperTobySeenText, BirdKeeperTobyBeatenText, 0, .Script + +.Script + endifjustbattled + opentext + writetext BirdKeeperTobyAfterBattleText + waitbutton + closetext + end + +TrainerSailorHarry: + trainer SAILOR, HARRY, EVENT_BEAT_SAILOR_HARRY, SailorHarrySeenText, SailorHarryBeatenText, 0, .Script + +.Script + endifjustbattled + opentext + writetext SailorHarryAfterBattleText + waitbutton + closetext + end + +TrainerLassDana1: + trainer LASS, DANA1, EVENT_BEAT_LASS_DANA, LassDana1SeenText, LassDana1BeatenText, 0, .Script + +.Script + endifjustbattled + opentext + checkevent EVENT_DANA_READY_FOR_REMATCH + iftrue .DanaRematch + checkcellnum PHONE_LASS_DANA + iftrue .NumberAccepted + checkevent EVENT_DANA_ASKED_FOR_PHONE_NUMBER + iftrue .SecondTimeAsking + writetext UnknownText_0x1a20ec + buttonsound + setevent EVENT_DANA_ASKED_FOR_PHONE_NUMBER + scall .AskNumber1F + jump .AskForPhoneNumber + +.SecondTimeAsking: + scall .AskNumber2F +.AskForPhoneNumber: + askforphonenumber PHONE_LASS_DANA + ifequal PHONE_CONTACTS_FULL, .PhoneFull + ifequal PHONE_CONTACT_REFUSED, .DeclinedPhoneNumber + trainertotext LASS, DANA1, MEM_BUFFER_0 + scall .RegisteredPhoneNumber + jump .NumberAccepted + +.DanaRematch: + scall .Rematch + winlosstext LassDana1BeatenText, 0 + checkevent EVENT_CLEARED_RADIO_TOWER + iftrue .LoadFight2 + checkflag ENGINE_FLYPOINT_CIANWOOD + iftrue .LoadFight1 + loadtrainer LASS, DANA1 + startbattle + reloadmapafterbattle + clearevent EVENT_DANA_READY_FOR_REMATCH + end + +.LoadFight1: + loadtrainer LASS, DANA2 + startbattle + reloadmapafterbattle + clearevent EVENT_DANA_READY_FOR_REMATCH + end + +.LoadFight2: + loadtrainer LASS, DANA3 + startbattle + reloadmapafterbattle + clearevent EVENT_DANA_READY_FOR_REMATCH + end + +.AskNumber1F: + jumpstd asknumber1f + end + +.AskNumber2F: + jumpstd asknumber2f + end + +.RegisteredPhoneNumber: + jumpstd registerednumberf + end + +.NumberAccepted: + jumpstd numberacceptedf + end + +.DeclinedPhoneNumber: + jumpstd numberdeclinedf + end + +.PhoneFull: + jumpstd phonefullf + end + +.Rematch: + jumpstd rematchf + end + +TrainerSchoolboyChad1: + trainer SCHOOLBOY, CHAD1, EVENT_BEAT_SCHOOLBOY_CHAD, SchoolboyChad1SeenText, SchoolboyChad1BeatenText, 0, .Script + +.Script + endifjustbattled + opentext + checkevent EVENT_CHAD_READY_FOR_REMATCH + iftrue .ChadRematch + checkcellnum PHONE_SCHOOLBOY_CHAD + iftrue .HaveChadsNumber + checkevent EVENT_CHAD_ASKED_FOR_PHONE_NUMBER + iftrue .SecondTimeAsking + writetext UnknownText_0x1a200e + buttonsound + setevent EVENT_CHAD_ASKED_FOR_PHONE_NUMBER + scall .AskPhoneNumber1 + jump .AskToRegisterNumber + +.SecondTimeAsking: + scall .AskPhoneNumber2 +.AskToRegisterNumber: + askforphonenumber PHONE_SCHOOLBOY_CHAD + ifequal PHONE_CONTACTS_FULL, .PhoneFull + ifequal PHONE_CONTACT_REFUSED, .SaidNo + trainertotext SCHOOLBOY, CHAD1, MEM_BUFFER_0 + scall .RegisteredChad + jump .HaveChadsNumber + +.ChadRematch: + scall .Rematch + winlosstext SchoolboyChad1BeatenText, 0 + checkevent EVENT_CLEARED_RADIO_TOWER + iftrue .LoadFight2 + checkflag ENGINE_FLYPOINT_MAHOGANY + iftrue .LoadFight1 + loadtrainer SCHOOLBOY, CHAD1 + startbattle + reloadmapafterbattle + clearevent EVENT_CHAD_READY_FOR_REMATCH + end + +.LoadFight1: + loadtrainer SCHOOLBOY, CHAD2 + startbattle + reloadmapafterbattle + clearevent EVENT_CHAD_READY_FOR_REMATCH + end + +.LoadFight2: + loadtrainer SCHOOLBOY, CHAD3 + startbattle + reloadmapafterbattle + clearevent EVENT_CHAD_READY_FOR_REMATCH + end + +.AskPhoneNumber1: + jumpstd asknumber1m + end + +.AskPhoneNumber2: + jumpstd asknumber2m + end + +.RegisteredChad: + jumpstd registerednumberm + end + +.HaveChadsNumber: + jumpstd numberacceptedm + end + +.SaidNo: + jumpstd numberdeclinedm + end + +.PhoneFull: + jumpstd phonefullm + end + +.Rematch: + jumpstd rematchm + end + +TrainerBeautyValerie: + trainer BEAUTY, VALERIE, EVENT_BEAT_BEAUTY_VALERIE, BeautyValerieSeenText, BeautyValerieBeatenText, 0, .Script + +.Script + endifjustbattled + opentext + writetext BeautyValerieAfterBattleText + waitbutton + closetext + end + +Route38Sign: + jumptext Route38SignText + +Route38TrainerTips: + jumptext Route38TrainerTipsText + +Route38FruitTree: + fruittree FRUITTREE_ROUTE_38 + +BirdKeeperTobySeenText: + text "Fly high into the" + line "sky, my beloved" + cont "bird #MON!" + done + +BirdKeeperTobyBeatenText: + text "I feel like just" + line "flying away now." + done + +BirdKeeperTobyAfterBattleText: + text "I plan to train in" + line "CIANWOOD CITY to" + + para "teach my #MON" + line "how to fly." + done + +SchoolboyChad1SeenText: + text "Let me try some-" + line "thing I learned" + cont "today." + done + +SchoolboyChad1BeatenText: + text "I didn't study" + line "enough, I guess." + done + +UnknownText_0x1a200e: + text "I have to take so" + line "many tests, I" + + para "don't have much" + line "time for #MON." + + para "So when I do get" + line "to play, I really" + cont "concentrate." + done + +LassDana1SeenText: + text "Are you good at" + line "training?" + + para "If you are, could" + line "you show me how?" + done + +LassDana1BeatenText: + text "I see. So you can" + line "battle that way." + done + +UnknownText_0x1a20ec: + text "I know something" + line "good!" + + para "MOOMOO FARM's milk" + line "is famous for its" + cont "flavor." + done + +BeautyValerieSeenText: + text "Hi! Aren't you a" + line "cute trainer!" + + para "May I see your" + line "#MON?" + done + +BeautyValerieBeatenText: + text "I'm glad I got to" + line "see your #MON!" + done + +BeautyValerieAfterBattleText: + text "When I see #-" + line "MON, it seems to" + cont "soothe my nerves." + done + +SailorHarrySeenText: + text "I've been over-" + line "seas, so I know" + + para "about all sorts of" + line "#MON!" + done + +SailorHarryBeatenText: + text "Your skill is" + line "world class!" + done + +SailorHarryAfterBattleText: + text "All kinds of peo-" + line "ple around the" + + para "world live happily" + line "with #MON." + done + +Route38SignText: + text "ROUTE 38" + + para "OLIVINE CITY -" + line "ECRUTEAK CITY" + done + +Route38TrainerTipsText: + text "TRAINER TIPS" + + para "If a #MON is" + line "trying to evolve," + cont "you can stop it." + + para "Press the B But-" + line "ton during evolu-" + cont "tion." + + para "That startles the" + line "#MON and stops" + cont "its evolution." + done + +Route38_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 35, 8, ROUTE_38_ECRUTEAK_GATE, 1 + warp_event 35, 9, ROUTE_38_ECRUTEAK_GATE, 2 + + db 0 ; coord events + + db 2 ; bg events + bg_event 33, 7, BGEVENT_READ, Route38Sign + bg_event 5, 13, BGEVENT_READ, Route38TrainerTips + + db 6 ; object events + object_event 4, 1, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerSchoolboyChad1, -1 + object_event 15, 3, SPRITE_LASS, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 2, TrainerLassDana1, -1 + object_event 15, 10, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 2, TrainerBirdKeeperToby, -1 + object_event 9, 6, SPRITE_BUENA, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 2, TrainerBeautyValerie, -1 + object_event 25, 5, SPRITE_SAILOR, SPRITEMOVEDATA_SPINCLOCKWISE, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 2, TrainerSailorHarry, -1 + object_event 12, 10, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route38FruitTree, -1 diff --git a/maps/Route39.asm b/maps/Route39.asm new file mode 100644 index 00000000..069e8cad --- /dev/null +++ b/maps/Route39.asm @@ -0,0 +1,302 @@ + const_def 2 ; object constants + const ROUTE39_SAILOR + const ROUTE39_POKEFAN_M + const ROUTE39_POKEFAN_F1 + const ROUTE39_MILTANK1 + const ROUTE39_MILTANK2 + const ROUTE39_MILTANK3 + const ROUTE39_MILTANK4 + const ROUTE39_PSYCHIC_NORMAN + const ROUTE39_FRUIT_TREE + const ROUTE39_POKEFAN_F2 + +Route39_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +Route39Miltank: + opentext + writetext Route39MiltankText + cry MILTANK + waitbutton + closetext + end + +TrainerPokefanmDerek: + trainer POKEFANM, DEREK1, EVENT_BEAT_POKEFANM_DEREK, PokefanmDerekSeenText, PokefanmDerekBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + checkevent EVENT_DEREK_READY_FOR_REMATCH + iftrue .WantsBattle + checkcellnum PHONE_POKEFANM_DEREK + iftrue .NumberAccepted + checkevent EVENT_DEREK_ASKED_FOR_PHONE_NUMBER + iftrue .AskedAlready + writetext PokefanMDerekText_NotBragging + buttonsound + setevent EVENT_DEREK_ASKED_FOR_PHONE_NUMBER + scall .AskNumber1 + jump .AskForNumber + +.AskedAlready: + scall .AskNumber2 +.AskForNumber: + askforphonenumber PHONE_POKEFANM_DEREK + ifequal PHONE_CONTACTS_FULL, .PhoneFull + ifequal PHONE_CONTACT_REFUSED, .NumberDeclined + trainertotext POKEFANM, DEREK1, MEM_BUFFER_0 + scall .RegisteredNumber + jump .NumberAccepted + +.WantsBattle: + scall .Rematch + winlosstext PokefanmDerekBeatenText, 0 + checkevent EVENT_BEAT_ELITE_FOUR + iftrue .LoadFight2 + checkflag ENGINE_FLYPOINT_LAKE_OF_RAGE + iftrue .LoadFight1 + loadtrainer POKEFANM, DEREK1 + startbattle + reloadmapafterbattle + clearevent EVENT_DEREK_READY_FOR_REMATCH + end + +.LoadFight1: + loadtrainer POKEFANM, DEREK2 + startbattle + reloadmapafterbattle + clearevent EVENT_DEREK_READY_FOR_REMATCH + end + +.LoadFight2: + loadtrainer POKEFANM, DEREK3 + startbattle + reloadmapafterbattle + clearevent EVENT_DEREK_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 + +TrainerPokefanfRuth: + trainer POKEFANF, RUTH, EVENT_BEAT_POKEFANF_RUTH, PokefanfRuthSeenText, PokefanfRuthBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext PokefanfRuthAfterBattleText + waitbutton + closetext + end + +TrainerSailorEugene: + trainer SAILOR, EUGENE, EVENT_BEAT_SAILOR_EUGENE, SailorEugeneSeenText, SailorEugeneBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext SailorEugeneAfterBattleText + waitbutton + closetext + end + +TrainerPsychicNorman: + trainer PSYCHIC_T, NORMAN, EVENT_BEAT_PSYCHIC_NORMAN, PsychicNormanSeenText, PsychicNormanBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext PsychicNormanAfterBattleText + waitbutton + closetext + end + +Route39Sign: + jumptext Route39SignText + +MoomooFarmSign: + jumptext MoomooFarmSignText + +Route39TrainerTips: + jumptext Route39TrainerTipsText + +Route39FruitTree: + fruittree FRUITTREE_ROUTE_39 + +Route39HiddenNugget: + hiddenitem NUGGET, EVENT_ROUTE_39_HIDDEN_NUGGET + +Route39MiltankText: + text "MILTANK: Mooo!" + done + +SailorEugeneSeenText: + text "I just got back to" + line "OLIVINE." + + para "So how about a" + line "#MON battle?" + done + +SailorEugeneBeatenText: + text "Awaaargh!" + done + +SailorEugeneAfterBattleText: + text "My #MON were" + line "caught and raised" + cont "overseas." + + para "They're my compan-" + line "ions on those long" + cont "voyages." + done + +PokefanmDerekSeenText: + text "Would you mind if" + line "I bragged about" + cont "my #MON?" + done + +PokefanmDerekBeatenText: + text "I couldn't begin" + line "to brag…" + done + +PokefanMDerekText_NotBragging: + text "I'm not listening" + line "to your bragging!" + + para "We # FANS have" + line "a policy of not" + + para "listening to other" + line "people brag!" + done + +PokefanfRuthSeenText: + text "Such darling" + line "#MON." + + para "Let's show our" + line "#MON together" + cont "at the same time." + done + +PokefanfRuthBeatenText: + text "I don't mind" + line "losing." + done + +PokefanfRuthAfterBattleText: + text "Do you know about" + line "baby #MON?" + + para "I bet they're just" + line "adorable!" + done + +PsychicNormanSeenText: + text "Let me see what" + line "your #MON are" + cont "capable of." + done + +PsychicNormanBeatenText: + text "Ooh, your #MON" + line "have potential." + done + +PsychicNormanAfterBattleText: + text "You know how #-" + line "MON have different" + cont "abilities?" + + para "People are like" + line "that too. Every-" + cont "one has different" + cont "potential." + done + +Route39SignText: + text "ROUTE 39" + + para "OLIVINE CITY -" + line "ECRUTEAK CITY" + done + +MoomooFarmSignText: + text "MOOMOO FARM" + + para "Enjoy Our Fresh" + line "and Tasty Milk" + done + +Route39TrainerTipsText: + text "TRAINER TIPS" + + para "Use HEADBUTT on" + line "trees to shake" + cont "#MON out." + + para "Different kinds of" + line "#MON drop out" + cont "of trees." + + para "Use HEADBUTT on" + line "any tree you see!" + done + +Route39_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 1, 3, ROUTE_39_BARN, 1 + warp_event 5, 3, ROUTE_39_FARMHOUSE, 1 + + db 0 ; coord events + + db 4 ; bg events + bg_event 5, 31, BGEVENT_READ, Route39TrainerTips + bg_event 9, 5, BGEVENT_READ, MoomooFarmSign + bg_event 15, 7, BGEVENT_READ, Route39Sign + bg_event 5, 13, BGEVENT_ITEM, Route39HiddenNugget + + db 9 ; object events + object_event 13, 29, SPRITE_SAILOR, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 5, TrainerSailorEugene, -1 + object_event 11, 19, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 4, TrainerPokefanmDerek, -1 + object_event 13, 22, SPRITE_POKEFAN_F, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 5, TrainerPokefanfRuth, -1 + object_event 3, 12, SPRITE_TAUROS, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route39Miltank, -1 + object_event 6, 11, SPRITE_TAUROS, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route39Miltank, -1 + object_event 4, 15, SPRITE_TAUROS, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route39Miltank, -1 + object_event 8, 13, SPRITE_TAUROS, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route39Miltank, -1 + object_event 13, 6, SPRITE_YOUNGSTER, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerPsychicNorman, -1 + object_event 9, 3, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route39FruitTree, -1 diff --git a/maps/Route40.asm b/maps/Route40.asm new file mode 100644 index 00000000..7a66b61e --- /dev/null +++ b/maps/Route40.asm @@ -0,0 +1,298 @@ + const_def 2 ; object constants + const ROUTE40_OLIVINE_RIVAL1 + const ROUTE40_OLIVINE_RIVAL2 + const ROUTE40_SWIMMER_GIRL1 + const ROUTE40_SWIMMER_GIRL2 + const ROUTE40_ROCK1 + const ROUTE40_ROCK2 + const ROUTE40_ROCK3 + const ROUTE40_LASS1 + const ROUTE40_MONICA + const ROUTE40_POKEFAN_M + const ROUTE40_LASS2 + const ROUTE40_STANDING_YOUNGSTER + +Route40_MapScripts: + db 0 ; scene scripts + + db 1 ; callbacks + callback MAPCALLBACK_OBJECTS, .MonicaCallback + +.MonicaCallback: + checkcode VAR_WEEKDAY + ifequal MONDAY, .MonicaAppears + disappear ROUTE40_MONICA + return + +.MonicaAppears: + appear ROUTE40_MONICA + return + +TrainerSwimmerfElaine: + trainer SWIMMERF, ELAINE, EVENT_BEAT_SWIMMERF_ELAINE, SwimmerfElaineSeenText, SwimmerfElaineBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext SwimmerfElaineAfterBattleText + waitbutton + closetext + end + +TrainerSwimmerfPaula: + trainer SWIMMERF, PAULA, EVENT_BEAT_SWIMMERF_PAULA, SwimmerfPaulaSeenText, SwimmerfPaulaBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext SwimmerfPaulaAfterBattleText + waitbutton + closetext + end + +TrainerSwimmermSimon: + trainer SWIMMERM, SIMON, EVENT_BEAT_SWIMMERM_SIMON, SwimmermSimonSeenText, SwimmermSimonBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext SwimmermSimonAfterBattleText + waitbutton + closetext + end + +TrainerSwimmermRandall: + trainer SWIMMERM, RANDALL, EVENT_BEAT_SWIMMERM_RANDALL, SwimmermRandallSeenText, SwimmermRandallBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext SwimmermRandallAfterBattleText + waitbutton + closetext + end + +Route40Lass1Script: + jumptextfaceplayer Route40Lass1Text + +MonicaScript: + faceplayer + opentext + checkevent EVENT_GOT_SHARP_BEAK_FROM_MONICA + iftrue .Monday + checkcode VAR_WEEKDAY + ifnotequal MONDAY, .NotMonday + checkevent EVENT_MET_MONICA_OF_MONDAY + iftrue .MetMonica + writetext MeetMonicaText + buttonsound + setevent EVENT_MET_MONICA_OF_MONDAY +.MetMonica: + writetext MonicaGivesGiftText + buttonsound + verbosegiveitem SHARP_BEAK + iffalse .done + setevent EVENT_GOT_SHARP_BEAK_FROM_MONICA + writetext MonicaGaveGiftText + waitbutton + closetext + end + +.Monday: + writetext MonicaMondayText + waitbutton +.done: + closetext + end + +.NotMonday: + writetext MonicaNotMondayText + waitbutton + closetext + end + +Route40Sign: + jumptext Route40SignText + +Route40Rock: + jumpstd smashrock + +Route40HiddenHyperPotion: + hiddenitem HYPER_POTION, EVENT_ROUTE_40_HIDDEN_HYPER_POTION + +MovementData_0x1a621c: + step RIGHT + step UP + step UP + step UP + step UP + step UP + step UP + step_end + +MovementData_0x1a6224: + step UP + step UP + step UP + step UP + step UP + step_end + +MovementData_0x1a622a: + step UP + step UP + step UP + step UP + step_end + +SwimmermSimonSeenText: + text "You have to warm" + line "up before going" + cont "into the water." + + para "That's basic." + done + +SwimmermSimonBeatenText: + text "OK! Uncle! I give!" + done + +SwimmermSimonAfterBattleText: + text "CIANWOOD CITY is" + line "a good distance" + cont "away from here." + done + +SwimmermRandallSeenText: + text "A young guy like" + line "you should swim." + + para "Don't SURF on your" + line "#MON." + done + +SwimmermRandallBeatenText: + text "Uh-oh. I lost…" + done + +SwimmermRandallAfterBattleText: + text "Swimming exercises" + line "your entire body." + cont "It's healthy." + done + +SwimmerfElaineSeenText: + text "Are you going to" + line "CIANWOOD?" + + para "How about a quick" + line "battle first?" + done + +SwimmerfElaineBeatenText: + text "I lost that one!" + done + +SwimmerfElaineAfterBattleText: + text "I'd say I'm a bet-" + line "ter swimmer than" + cont "you. Yeah!" + done + +SwimmerfPaulaSeenText: + text "No inner tube for" + line "me." + + para "I'm hanging on to" + line "a sea #MON!" + done + +SwimmerfPaulaBeatenText: + text "Ooh, I'm feeling" + line "dizzy!" + done + +SwimmerfPaulaAfterBattleText: + text "While I float like" + line "this, the waves" + cont "carry me along." + done + +Route40Lass1Text: + text "Although you can't" + line "see it from here," + + para "CIANWOOD is across" + line "the sea." + done + +MeetMonicaText: + text "MONICA: Glad to" + line "meet you. I'm" + + para "MONICA of Monday." + done + +MonicaGivesGiftText: + text "As a token of our" + line "friendship, I have" + cont "a gift for you!" + done + +MonicaGaveGiftText: + text "MONICA: It's an" + line "item that raises" + + para "the power of fly-" + line "ing-type moves." + + para "You should equip a" + line "bird #MON with" + cont "that item." + done + +MonicaMondayText: + text "MONICA: My broth-" + line "ers and sisters" + + para "are all over the" + line "place." + + para "See if you could" + line "find them all!" + done + +MonicaNotMondayText: + text "MONICA: I don't" + line "think today is" + cont "Monday. How sad…" + done + +Route40SignText: + text "ROUTE 40" + + para "CIANWOOD CITY -" + line "OLIVINE CITY" + done + +Route40_MapEvents: + db 0, 0 ; filler + + db 0 ; warp events + + db 0 ; coord events + + db 2 ; bg events + bg_event 16, 8, BGEVENT_READ, Route40Sign + bg_event 11, 7, BGEVENT_ITEM, Route40HiddenHyperPotion + + db 9 ; object events + object_event 14, 15, SPRITE_OLIVINE_RIVAL, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 4, TrainerSwimmermSimon, -1 + object_event 18, 30, SPRITE_OLIVINE_RIVAL, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 5, TrainerSwimmermRandall, -1 + object_event 3, 19, SPRITE_SWIMMER_GIRL, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 4, TrainerSwimmerfElaine, -1 + object_event 10, 25, SPRITE_SWIMMER_GIRL, SPRITEMOVEDATA_SPINCLOCKWISE, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 3, TrainerSwimmerfPaula, -1 + object_event 12, 8, SPRITE_ROCK, SPRITEMOVEDATA_SMASHABLE_ROCK, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route40Rock, -1 + object_event 11, 7, SPRITE_ROCK, SPRITEMOVEDATA_SMASHABLE_ROCK, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route40Rock, -1 + object_event 13, 6, SPRITE_ROCK, SPRITEMOVEDATA_SMASHABLE_ROCK, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route40Rock, -1 + object_event 13, 10, SPRITE_LASS, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route40Lass1Script, -1 + object_event 10, 6, SPRITE_BUENA, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, MonicaScript, EVENT_ROUTE_40_MONICA_OF_MONDAY diff --git a/maps/Route41.asm b/maps/Route41.asm new file mode 100644 index 00000000..d851a41e --- /dev/null +++ b/maps/Route41.asm @@ -0,0 +1,366 @@ + const_def 2 ; object constants + const ROUTE41_OLIVINE_RIVAL1 + const ROUTE41_OLIVINE_RIVAL2 + const ROUTE41_OLIVINE_RIVAL3 + const ROUTE41_OLIVINE_RIVAL4 + const ROUTE41_OLIVINE_RIVAL5 + const ROUTE41_SWIMMER_GIRL1 + const ROUTE41_SWIMMER_GIRL2 + const ROUTE41_SWIMMER_GIRL3 + const ROUTE41_SWIMMER_GIRL4 + const ROUTE41_SWIMMER_GIRL5 + +Route41_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +TrainerSwimmerfKaylee: + trainer SWIMMERF, KAYLEE, EVENT_BEAT_SWIMMERF_KAYLEE, SwimmerfKayleeSeenText, SwimmerfKayleeBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext SwimmerfKayleeAfterBattleText + waitbutton + closetext + end + +TrainerSwimmerfSusie: + trainer SWIMMERF, SUSIE, EVENT_BEAT_SWIMMERF_SUSIE, SwimmerfSusieSeenText, SwimmerfSusieBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext SwimmerfSusieAfterBattleText + waitbutton + closetext + end + +TrainerSwimmerfDenise: + trainer SWIMMERF, DENISE, EVENT_BEAT_SWIMMERF_DENISE, SwimmerfDeniseSeenText, SwimmerfDeniseBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext SwimmerfDeniseAfterBattleText + waitbutton + closetext + end + +TrainerSwimmerfKara: + trainer SWIMMERF, KARA, EVENT_BEAT_SWIMMERF_KARA, SwimmerfKaraSeenText, SwimmerfKaraBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext SwimmerfKaraAfterBattleText + waitbutton + closetext + end + +TrainerSwimmerfWendy: + trainer SWIMMERF, WENDY, EVENT_BEAT_SWIMMERF_WENDY, SwimmerfWendySeenText, SwimmerfWendyBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext SwimmerfWendyAfterBattleText + waitbutton + closetext + end + +TrainerSwimmermCharlie: + trainer SWIMMERM, CHARLIE, EVENT_BEAT_SWIMMERM_CHARLIE, SwimmermCharlieSeenText, SwimmermCharlieBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext SwimmermCharlieAfterBattleText + waitbutton + closetext + end + +TrainerSwimmermGeorge: + trainer SWIMMERM, GEORGE, EVENT_BEAT_SWIMMERM_GEORGE, SwimmermGeorgeSeenText, SwimmermGeorgeBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext SwimmermGeorgeAfterBattleText + waitbutton + closetext + end + +TrainerSwimmermBerke: + trainer SWIMMERM, BERKE, EVENT_BEAT_SWIMMERM_BERKE, SwimmermBerkeSeenText, SwimmermBerkeBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext SwimmermBerkeAfterBattleText + waitbutton + closetext + end + +TrainerSwimmermKirk: + trainer SWIMMERM, KIRK, EVENT_BEAT_SWIMMERM_KIRK, SwimmermKirkSeenText, SwimmermKirkBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext SwimmermKirkAfterBattleText + waitbutton + closetext + end + +TrainerSwimmermMathew: + trainer SWIMMERM, MATHEW, EVENT_BEAT_SWIMMERM_MATHEW, SwimmermMathewSeenText, SwimmermMathewBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext SwimmermMathewAfterBattleText + waitbutton + closetext + end + +Route41Rock: +; unused + jumpstd smashrock + +Route41HiddenMaxEther: + hiddenitem MAX_ETHER, EVENT_ROUTE_41_HIDDEN_MAX_ETHER + +SwimmermCharlieSeenText: + text "The water's warm" + line "here. I'm loose" + cont "and limber." + + para "Sure, I'll take" + line "you on!" + done + +SwimmermCharlieBeatenText: + text "Yikes! I've got" + line "prune skin!" + done + +SwimmermCharlieAfterBattleText: + text "Isn't it relaxing" + line "just floating like" + cont "this?" + done + +SwimmermGeorgeSeenText: + text "I'm a bit tired." + line "If I win, lend me" + cont "your #MON." + done + +SwimmermGeorgeBeatenText: + text "Pant, pant…" + done + +SwimmermGeorgeAfterBattleText: + text "It's so far to" + line "CIANWOOD." + + para "But it's no easy" + line "return trip to" + cont "OLIVINE either." + + para "What should I do?" + done + +SwimmermBerkeSeenText: + text "See those islands" + line "that are blocked" + cont "by whirlpools?" + + para "There just has to" + line "be a secret!" + done + +SwimmermBerkeBeatenText: + text "What's the secret" + line "to your strength?" + done + +SwimmermBerkeAfterBattleText: + text "It was a dark and" + line "stormy night…" + + para "I saw this giant" + line "#MON flying" + cont "from the islands." + + para "It was scattering" + line "feathers from its" + cont "silver wings." + done + +SwimmermKirkSeenText: + text "The waves are wild" + line "here." + + para "They tire you out" + line "while you swim." + done + +SwimmermKirkBeatenText: + text "I'm beat!" + done + +SwimmermKirkAfterBattleText: + text "The currents keep" + line "me from reaching" + cont "that island." + done + +SwimmermMathewSeenText: + text "Are you seeking" + line "the secrets of" + cont "WHIRL ISLANDS?" + done + +SwimmermMathewBeatenText: + text "Ooh, you've got" + line "great endurance!" + done + +SwimmermMathewAfterBattleText: + text "A secret about" + line "WHIRL ISLANDS…" + + para "It's pitch-black" + line "inside!" + done + +SwimmerfKayleeSeenText: + text "I'm on my way to" + line "WHIRL ISLANDS." + + para "I'm going explor-" + line "ing with friends." + done + +SwimmerfKayleeBeatenText: + text "Is that how you do" + line "it?" + done + +SwimmerfKayleeAfterBattleText: + text "There's supposed" + line "to be a big #-" + cont "MON deep beneath" + cont "WHIRL ISLANDS." + + para "I wonder what it" + line "could be?" + done + +SwimmerfSusieSeenText: + text "You look so ele-" + line "gant, riding your" + cont "#MON." + done + +SwimmerfSusieBeatenText: + text "I'm crushed…" + done + +SwimmerfSusieAfterBattleText: + text "Wasn't there a hit" + line "song about a boy" + cont "riding a LAPRAS?" + done + +SwimmerfDeniseSeenText: + text "The weather is so" + line "beautiful, I'm in" + cont "a daze!" + done + +SwimmerfDeniseBeatenText: + text "Ohhh!" + done + +SwimmerfDeniseAfterBattleText: + text "A sunburn is the" + line "worst for skin." + + para "But I don't use a" + line "sunblock." + + para "I won't pollute" + line "the water." + done + +SwimmerfKaraSeenText: + text "If you need to" + line "rest, just tread" + cont "water." + + para "You'll get your" + line "wind back, so you" + + para "can keep on going" + line "strong." + done + +SwimmerfKaraBeatenText: + text "Oh! You have more" + line "energy than I do." + done + +SwimmerfKaraAfterBattleText: + text "I heard roars from" + line "deep inside the" + cont "ISLANDS." + done + +SwimmerfWendySeenText: + text "At night, STARYU" + line "gather near the" + cont "water's surface." + done + +SwimmerfWendyBeatenText: + text "Oh, dear…" + done + +SwimmerfWendyAfterBattleText: + text "The clusters of" + line "STARYU light up" + cont "at the same time." + + para "It's so beautiful," + line "it's scary." + done + +Route41_MapEvents: + db 0, 0 ; filler + + db 4 ; warp events + warp_event 12, 17, WHIRL_ISLAND_NW, 1 + warp_event 36, 19, WHIRL_ISLAND_NE, 1 + warp_event 12, 37, WHIRL_ISLAND_SW, 1 + warp_event 36, 45, WHIRL_ISLAND_SE, 1 + + db 0 ; coord events + + db 1 ; bg events + bg_event 9, 35, BGEVENT_ITEM, Route41HiddenMaxEther + + db 10 ; object events + object_event 32, 6, SPRITE_OLIVINE_RIVAL, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 3, TrainerSwimmermCharlie, -1 + object_event 46, 8, SPRITE_OLIVINE_RIVAL, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 3, TrainerSwimmermGeorge, -1 + object_event 20, 26, SPRITE_OLIVINE_RIVAL, SPRITEMOVEDATA_SPINCOUNTERCLOCKWISE, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 3, TrainerSwimmermBerke, -1 + object_event 32, 30, SPRITE_OLIVINE_RIVAL, SPRITEMOVEDATA_SPINCLOCKWISE, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 3, TrainerSwimmermKirk, -1 + object_event 19, 46, SPRITE_OLIVINE_RIVAL, SPRITEMOVEDATA_SPINCOUNTERCLOCKWISE, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 3, TrainerSwimmermMathew, -1 + object_event 17, 4, SPRITE_SWIMMER_GIRL, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 3, TrainerSwimmerfKaylee, -1 + object_event 23, 19, SPRITE_SWIMMER_GIRL, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 3, TrainerSwimmerfSusie, -1 + object_event 27, 34, SPRITE_SWIMMER_GIRL, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 3, TrainerSwimmerfDenise, -1 + object_event 44, 28, SPRITE_SWIMMER_GIRL, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 4, TrainerSwimmerfKara, -1 + object_event 9, 50, SPRITE_SWIMMER_GIRL, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 2, TrainerSwimmerfWendy, -1 diff --git a/maps/Route42.asm b/maps/Route42.asm new file mode 100644 index 00000000..622286ce --- /dev/null +++ b/maps/Route42.asm @@ -0,0 +1,272 @@ + const_def 2 ; object constants + const ROUTE42_FISHER + const ROUTE42_POKEFAN_M + const ROUTE42_SUPER_NERD + const ROUTE42_FRUIT_TREE1 + const ROUTE42_FRUIT_TREE2 + const ROUTE42_FRUIT_TREE3 + const ROUTE42_POKE_BALL1 + const ROUTE42_POKE_BALL2 + const ROUTE42_SUICUNE + +Route42_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +TrainerFisherChris: + trainer FISHER, CHRIS1, EVENT_BEAT_FISHER_CHRIS, FisherChrisSeenText, FisherChrisBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + checkevent EVENT_CHRIS_READY_FOR_REMATCH + iftrue .WantsBattle + checkcellnum PHONE_FISHER_CHRIS + iftrue .NumberAccepted + checkevent EVENT_CHRIS_ASKED_FOR_PHONE_NUMBER + iftrue .AskedAlready + writetext FisherChrisAfterBattleText + buttonsound + setevent EVENT_CHRIS_ASKED_FOR_PHONE_NUMBER + scall .AskNumber1 + jump .AskForNumber + +.AskedAlready: + scall .AskNumber2 +.AskForNumber: + askforphonenumber PHONE_FISHER_CHRIS + ifequal PHONE_CONTACTS_FULL, .PhoneFull + ifequal PHONE_CONTACT_REFUSED, .NumberDeclined + trainertotext FISHER, CHRIS1, MEM_BUFFER_0 + scall .RegisteredNumber + jump .NumberAccepted + +.WantsBattle: + scall .Rematch + winlosstext FisherChrisBeatenText, 0 + checkevent EVENT_BEAT_ELITE_FOUR + iftrue .LoadFight2 + checkevent EVENT_CLEARED_ROCKET_HIDEOUT + iftrue .LoadFight1 + loadtrainer FISHER, CHRIS1 + startbattle + reloadmapafterbattle + clearevent EVENT_CHRIS_READY_FOR_REMATCH + end + +.LoadFight1: + loadtrainer FISHER, CHRIS2 + startbattle + reloadmapafterbattle + clearevent EVENT_CHRIS_READY_FOR_REMATCH + end + +.LoadFight2: + loadtrainer FISHER, CHRIS3 + startbattle + reloadmapafterbattle + clearevent EVENT_CHRIS_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 + +TrainerPokemaniacShane: + trainer POKEMANIAC, SHANE, EVENT_BEAT_POKEMANIAC_SHANE, PokemaniacShaneSeenText, PokemaniacShaneBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext PokemaniacShaneAfterBattleText + waitbutton + closetext + end + +TrainerHikerBenjamin: + trainer HIKER, BENJAMIN, EVENT_BEAT_HIKER_BENJAMIN, HikerBenjaminSeenText, HikerBenjaminBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext HikerBenjaminAfterBattleText + waitbutton + closetext + end + +Route42Sign1: + jumptext Route42Sign1Text + +MtMortarSign1: + jumptext MtMortarSign1Text + +MtMortarSign2: + jumptext MtMortarSign2Text + +Route42Sign2: + jumptext Route42Sign2Text + +Route42UltraBall: + itemball ULTRA_BALL + +Route42SuperPotion: + itemball SUPER_POTION + +Route42FruitTree1: + fruittree FRUITTREE_ROUTE_42_1 + +Route42FruitTree2: + fruittree FRUITTREE_ROUTE_42_2 + +Route42FruitTree3: + fruittree FRUITTREE_ROUTE_42_3 + +Route42HiddenMaxPotion: + hiddenitem MAX_POTION, EVENT_ROUTE_42_HIDDEN_MAX_POTION + +FisherChrisSeenText: + text "Let me demonstrate" + line "the power of the" + cont "#MON I caught!" + done + +FisherChrisBeatenText: + text "What? That's not" + line "right." + done + +FisherChrisAfterBattleText: + text "I want to become" + line "the trainer CHAMP" + + para "using the #MON" + line "I caught." + + para "That's the best" + line "part of fishing!" + done + +HikerBenjaminSeenText: + text "Ah, it's good to" + line "be outside!" + cont "I feel so free!" + done + +HikerBenjaminBeatenText: + text "Gahahah!" + done + +HikerBenjaminAfterBattleText: + text "Losing feels in-" + line "significant if you" + + para "look up at the big" + line "sky!" + done + +PokemaniacShaneSeenText: + text "HEY!" + + para "This is my secret" + line "place! Get lost," + cont "you outsider!" + done + +PokemaniacShaneBeatenText: + text "I should have used" + line "my MOON STONE…" + done + +PokemaniacShaneAfterBattleText: + text "You're working on" + line "a #DEX?" + + para "Wow, you must know" + line "some pretty rare" + cont "#MON!" + + para "May I please see" + line "it. Please?" + done + +Route42Sign1Text: + text "ROUTE 42" + + para "ECRUTEAK CITY -" + line "MAHOGANY TOWN" + done + +MtMortarSign1Text: + text "MOUNT MORTAR" + + para "WATERFALL CAVE" + line "Inside" + done + +MtMortarSign2Text: + text "MOUNT MORTAR" + + para "WATERFALL CAVE" + line "Inside" + done + +Route42Sign2Text: + text "ROUTE 42" + + para "ECRUTEAK CITY -" + line "MAHOGANY TOWN" + done + +Route42_MapEvents: + db 0, 0 ; filler + + db 5 ; warp events + warp_event 0, 8, ROUTE_42_ECRUTEAK_GATE, 3 + warp_event 0, 9, ROUTE_42_ECRUTEAK_GATE, 4 + warp_event 10, 5, MOUNT_MORTAR_1F_OUTSIDE, 1 + warp_event 28, 9, MOUNT_MORTAR_1F_OUTSIDE, 2 + warp_event 46, 7, MOUNT_MORTAR_1F_OUTSIDE, 3 + + db 0 ; coord events + + db 5 ; bg events + bg_event 4, 10, BGEVENT_READ, Route42Sign1 + bg_event 7, 5, BGEVENT_READ, MtMortarSign1 + bg_event 45, 9, BGEVENT_READ, MtMortarSign2 + bg_event 54, 8, BGEVENT_READ, Route42Sign2 + bg_event 16, 11, BGEVENT_ITEM, Route42HiddenMaxPotion + + db 8 ; object events + object_event 40, 10, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 1, TrainerFisherChris, -1 + object_event 51, 9, SPRITE_POKEFAN_M, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 3, TrainerHikerBenjamin, -1 + object_event 47, 8, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerPokemaniacShane, -1 + object_event 27, 16, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route42FruitTree1, -1 + object_event 28, 16, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route42FruitTree2, -1 + object_event 29, 16, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route42FruitTree3, -1 + object_event 6, 4, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route42UltraBall, EVENT_ROUTE_42_ULTRA_BALL + object_event 33, 8, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route42SuperPotion, EVENT_ROUTE_42_SUPER_POTION |