diff options
author | IIMarckus <iimarckus@gmail.com> | 2018-10-03 16:44:02 -0600 |
---|---|---|
committer | IIMarckus <iimarckus@gmail.com> | 2018-10-03 16:44:02 -0600 |
commit | 3568763828fcb25e13e6057d35bdefc4bc14bf5b (patch) | |
tree | 87e39fa7feca6739ec3c83734a94497400641b1d | |
parent | b5cc9d4f4cda83d80190b39cf139d6cb1539f7c9 (diff) |
Add map objects from bank 4D.
-rw-r--r-- | constants/event_flags.asm | 18 | ||||
-rw-r--r-- | constants/map_constants.asm | 4 | ||||
-rw-r--r-- | main.asm | 13 | ||||
-rw-r--r-- | maps/PewterCity.asm | 192 | ||||
-rw-r--r-- | maps/Route2.asm | 175 | ||||
-rw-r--r-- | maps/Route43.asm | 447 | ||||
-rw-r--r-- | maps/Route44.asm | 428 | ||||
-rw-r--r-- | maps/Route45.asm | 424 | ||||
-rw-r--r-- | maps/Route46.asm | 214 |
9 files changed, 1897 insertions, 18 deletions
diff --git a/constants/event_flags.asm b/constants/event_flags.asm index 341298a4..ad423568 100644 --- a/constants/event_flags.asm +++ b/constants/event_flags.asm @@ -668,19 +668,19 @@ const EVENT_TULLY_ASKED_FOR_PHONE_NUMBER const EVENT_290 ; 290 const EVENT_BRENT_ASKED_FOR_PHONE_NUMBER - const EVENT_292 + const EVENT_BRENT_READY_FOR_REMATCH const EVENT_TIFFANY_ASKED_FOR_PHONE_NUMBER - const EVENT_294 + const EVENT_TIFFANY_READY_FOR_REMATCH const EVENT_VANCE_ASKED_FOR_PHONE_NUMBER - const EVENT_296 + const EVENT_VANCE_READY_FOR_REMATCH const EVENT_WILTON_ASKED_FOR_PHONE_NUMBER - const EVENT_298 + const EVENT_WILTON_READY_FOR_REMATCH const EVENT_KENJI_ASKED_FOR_PHONE_NUMBER - const EVENT_29A + const EVENT_KENJI_READY_FOR_REMATCH const EVENT_PARRY_ASKED_FOR_PHONE_NUMBER - const EVENT_29C + const EVENT_PARRY_READY_FOR_REMATCH const EVENT_ERIN_ASKED_FOR_PHONE_NUMBER - const EVENT_BUENA_OFFERED_HER_PHONE_NUMBER_NO_BLUE_CARD + const EVENT_ERIN_READY_FOR_REMATCH const EVENT_29F ; Ruins Of Alph puzzles const EVENT_SOLVED_HO_OH_PUZZLE ; 2a0 @@ -1787,11 +1787,11 @@ const EVENT_ROUTE_43_MAX_ETHER const EVENT_ROUTE_44_MAX_REVIVE const EVENT_ROUTE_44_ULTRA_BALL - const EVENT_ROUTE_45_NUGGET + const EVENT_ROUTE_45_X_SPECIAL const EVENT_ROUTE_45_REVIVE const EVENT_ROUTE_45_ELIXER const EVENT_ROUTE_45_MAX_POTION - const EVENT_ROUTE_46_X_SPEED + const EVENT_ROUTE_46_DIRE_HIT ; Johto people const EVENT_RIVAL_NEW_BARK_TOWN const EVENT_RIVAL_CHERRYGROVE_CITY diff --git a/constants/map_constants.asm b/constants/map_constants.asm index bd120e94..d9bd0ed0 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -422,7 +422,7 @@ ENDM map_const VIRIDIAN_MART, 4, 6 ; 8 map_const VIRIDIAN_POKECENTER_1F, 4, 5 ; 9 map_const VIRIDIAN_POKECENTER_2F_BETA, 4, 8 ; 10 - map_const ROUTE_2_NUGGET_SPEECH_HOUSE, 4, 4 ; 11 + map_const ROUTE_2_NUGGET_HOUSE, 4, 4 ; 11 map_const ROUTE_2_GATE, 4, 5 ; 12 map_const VICTORY_ROAD_GATE, 9, 10 ; 13 @@ -440,7 +440,7 @@ ENDM map_const ROUTE_26_HEAL_SPEECH_HOUSE, 4, 4 ; 10 map_const ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE, 4, 4 ; 11 map_const ROUTE_27_SANDSTORM_HOUSE, 4, 4 ; 12 - map_const ROUTE_29_46_GATE, 4, 5 ; 13 + map_const ROUTE_29_ROUTE_46_GATE, 4, 5 ; 13 newgroup ; 25 @@ -1664,13 +1664,12 @@ SECTION "bank4c", ROMX, BANK[$4c] dr $130000, $134000 SECTION "bank4d", ROMX, BANK[$4d] -;INCLUDE "maps/Route43.asm" -;INCLUDE "maps/Route44.asm" -;INCLUDE "maps/Route45.asm" -;INCLUDE "maps/Route46.asm" -;INCLUDE "maps/PewterCity.asm" -;INCLUDE "maps/Route2.asm" - dr $134000, $138000 +INCLUDE "maps/Route43.asm" +INCLUDE "maps/Route44.asm" +INCLUDE "maps/Route45.asm" +INCLUDE "maps/Route46.asm" +INCLUDE "maps/PewterCity.asm" +INCLUDE "maps/Route2.asm" SECTION "bank4e", ROMX, BANK[$4e] INCLUDE "maps/ViridianCity.asm" diff --git a/maps/PewterCity.asm b/maps/PewterCity.asm new file mode 100644 index 00000000..8c28e9d6 --- /dev/null +++ b/maps/PewterCity.asm @@ -0,0 +1,192 @@ + const_def 2 ; object constants + const PEWTERCITY_COOLTRAINER_F + const PEWTERCITY_BUG_CATCHER + const PEWTERCITY_GRAMPS + const PEWTERCITY_FRUIT_TREE1 + const PEWTERCITY_FRUIT_TREE2 + +PewterCity_MapScripts: + db 0 ; scene scripts + + db 1 ; callbacks + callback MAPCALLBACK_NEWMAP, .FlyPoint + +.FlyPoint: + setflag ENGINE_FLYPOINT_PEWTER + return + +PewterCityCooltrainerFScript: + jumptextfaceplayer PewterCityCooltrainerFText + +PewterCityBugCatcherScript: + jumptextfaceplayer PewterCityBugCatcherText + +PewterCityGrampsScript: + faceplayer + opentext + checkver + iftrue .RainbowWing + checkevent EVENT_GOT_SILVER_WING + iftrue .GotSilverWing + writetext PewterCityGrampsText + buttonsound + verbosegiveitem SILVER_WING + setevent EVENT_GOT_SILVER_WING + closetext + end + +.GotSilverWing: + writetext PewterCityGrampsText_GotSilverWing + waitbutton + closetext + end + +.RainbowWing: + checkevent EVENT_GOT_RAINBOW_WING + iftrue .GotSilverWing + writetext PewterCityGrampsText + buttonsound + verbosegiveitem RAINBOW_WING + setevent EVENT_GOT_RAINBOW_WING + setevent EVENT_TEAM_ROCKET_DISBANDED + closetext + end + +PewterCitySign: + jumptext PewterCitySignText + +PewterGymSign: + jumptext PewterGymSignText + +PewterMuseumSign: + jumptext PewterMuseumSignText + +PewterCityMtMoonGiftShopSign: + jumptext PewterCityMtMoonGiftShopSignText + +PewterCityWelcomeSign: + jumptext PewterCityWelcomeSignText + +PewterCityPokecenterSign: + jumpstd pokecentersign + +PewterCityMartSign: + jumpstd martsign + +PewterCityFruitTree1: + fruittree FRUITTREE_PEWTER_CITY_1 + +PewterCityFruitTree2: + fruittree FRUITTREE_PEWTER_CITY_2 + +PewterCityCooltrainerFText: + text "Have you visited" + line "PEWTER GYM?" + + para "The LEADER uses" + line "rock-type #MON." + done + +PewterCityBugCatcherText: + text "At night, CLEFAIRY" + line "come out to play" + cont "at MT.MOON." + + para "But not every" + line "night." + done + +PewterCityGrampsText: + text "Ah, you came all" + line "the way out here" + cont "from JOHTO?" + + para "That brings back" + line "memories. When I" + + para "was young, I went" + line "to JOHTO to train." + + para "You remind me so" + line "much of what I was" + + para "like as a young" + line "man." + + para "Here. I want you" + line "to have this item" + cont "I found in JOHTO." + done + +PewterCityGrampsText_GotSilverWing: + text "Going to new, un-" + line "known places and" + cont "seeing new people…" + + para "Those are the joys" + line "of travel." + done + +PewterCitySignText: + text "PEWTER CITY" + line "A Stone Gray City" + done + +PewterGymSignText: + text "PEWTER CITY" + line "#MON GYM" + cont "LEADER: BROCK" + + para "The Rock Solid" + line "#MON Trainer" + done + +PewterMuseumSignText: + text "There's a notice" + line "here…" + + para "PEWTER MUSEUM OF" + line "SCIENCE is closed" + cont "for renovations…" + done + +PewterCityMtMoonGiftShopSignText: + text "There's a notice" + line "here…" + + para "MT.MOON GIFT SHOP" + line "now open!" + done + +PewterCityWelcomeSignText: + text "Welcome to" + line "PEWTER CITY!" + done + +PewterCity_MapEvents: + db 0, 0 ; filler + + db 5 ; warp events + warp_event 29, 13, PEWTER_NIDORAN_SPEECH_HOUSE, 1 + warp_event 16, 17, PEWTER_GYM, 1 + warp_event 23, 17, PEWTER_MART, 2 + warp_event 13, 25, PEWTER_POKECENTER_1F, 1 + warp_event 7, 29, PEWTER_SNOOZE_SPEECH_HOUSE, 1 + + db 0 ; coord events + + db 7 ; bg events + bg_event 25, 23, BGEVENT_READ, PewterCitySign + bg_event 11, 17, BGEVENT_READ, PewterGymSign + bg_event 15, 9, BGEVENT_READ, PewterMuseumSign + bg_event 33, 19, BGEVENT_READ, PewterCityMtMoonGiftShopSign + bg_event 19, 29, BGEVENT_READ, PewterCityWelcomeSign + bg_event 14, 25, BGEVENT_READ, PewterCityPokecenterSign + bg_event 24, 17, BGEVENT_READ, PewterCityMartSign + + db 5 ; object events + object_event 19, 11, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, PewterCityCooltrainerFScript, -1 + object_event 14, 29, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, PewterCityBugCatcherScript, -1 + object_event 29, 17, SPRITE_GRAMPS, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 2, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, PewterCityGrampsScript, -1 + object_event 32, 3, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, PewterCityFruitTree1, -1 + object_event 30, 3, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, PewterCityFruitTree2, -1 diff --git a/maps/Route2.asm b/maps/Route2.asm new file mode 100644 index 00000000..e31035af --- /dev/null +++ b/maps/Route2.asm @@ -0,0 +1,175 @@ + const_def 2 ; object constants + const ROUTE2_BUG_CATCHER1 + const ROUTE2_BUG_CATCHER2 + const ROUTE2_BUG_CATCHER3 + const ROUTE2_POKE_BALL1 + const ROUTE2_POKE_BALL2 + const ROUTE2_POKE_BALL3 + const ROUTE2_POKE_BALL4 + const ROUTE2_FRUIT_TREE + +Route2_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +TrainerBugCatcherRob: + trainer BUG_CATCHER, ROB, EVENT_BEAT_BUG_CATCHER_ROB, BugCatcherRobSeenText, BugCatcherRobBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext BugCatcherRobAfterBattleText + waitbutton + closetext + end + +TrainerBugCatcherEd: + trainer BUG_CATCHER, ED, EVENT_BEAT_BUG_CATCHER_ED, BugCatcherEdSeenText, BugCatcherEdBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext BugCatcherEdAfterBattleText + waitbutton + closetext + end + +TrainerBugCatcherDoug: + trainer BUG_CATCHER, DOUG, EVENT_BEAT_BUG_CATCHER_DOUG, BugCatcherDougSeenText, BugCatcherDougBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext BugCatcherDougAfterBattleText + waitbutton + closetext + end + +Route2Sign: + jumptext Route2SignText + +Route2DiglettsCaveSign: + jumptext Route2DiglettsCaveSignText + +Route2DireHit: + itemball DIRE_HIT + +Route2MaxPotion: + itemball MAX_POTION + +Route2Carbos: + itemball CARBOS + +Route2Elixer: + itemball ELIXER + +Route2FruitTree: + fruittree FRUITTREE_ROUTE_2 + +Route2HiddenMaxEther: + hiddenitem MAX_ETHER, EVENT_ROUTE_2_HIDDEN_MAX_ETHER + +Route2HiddenFullHeal: + hiddenitem FULL_HEAL, EVENT_ROUTE_2_HIDDEN_FULL_HEAL + +Route2HiddenFullRestore: + hiddenitem FULL_RESTORE, EVENT_ROUTE_2_HIDDEN_FULL_RESTORE + +Route2HiddenRevive: + hiddenitem REVIVE, EVENT_ROUTE_2_HIDDEN_REVIVE + +BugCatcherRobSeenText: + text "My bug #MON are" + line "tough. Prepare to" + cont "lose!" + done + +BugCatcherRobBeatenText: + text "I was whipped…" + done + +BugCatcherRobAfterBattleText: + text "I'm going to look" + line "for stronger bug" + cont "#MON." + done + +BugCatcherEdSeenText: + text "If you walk in" + line "tall grass wearing" + + para "shorts, do you get" + line "nicks and cuts?" + done + +BugCatcherEdBeatenText: + text "Ouch, ouch, ouch!" + done + +BugCatcherEdAfterBattleText: + text "They'll really" + line "sting when you" + cont "take a bath." + done + +BugCatcherDougSeenText: + text "Why don't girls" + line "like bug #MON?" + done + +BugCatcherDougBeatenText: + text "No good!" + done + +BugCatcherDougAfterBattleText: + text "Bug #MON squish" + line "like plush toys" + + para "when you squeeze" + line "their bellies." + + para "I love how they" + line "feel!" + done + +Route2SignText: + text "ROUTE 2" + + para "VIRIDIAN CITY -" + line "PEWTER CITY" + done + +Route2DiglettsCaveSignText: + text "DIGLETT'S CAVE" + done + +Route2_MapEvents: + db 0, 0 ; filler + + db 5 ; warp events + warp_event 15, 15, ROUTE_2_NUGGET_HOUSE, 1 + warp_event 15, 31, ROUTE_2_GATE, 3 + warp_event 16, 27, ROUTE_2_GATE, 1 + warp_event 17, 27, ROUTE_2_GATE, 2 + warp_event 12, 7, DIGLETTS_CAVE, 3 + + db 0 ; coord events + + db 6 ; bg events + bg_event 7, 51, BGEVENT_READ, Route2Sign + bg_event 11, 9, BGEVENT_READ, Route2DiglettsCaveSign + bg_event 7, 23, BGEVENT_ITEM, Route2HiddenMaxEther + bg_event 4, 14, BGEVENT_ITEM, Route2HiddenFullHeal + bg_event 4, 27, BGEVENT_ITEM, Route2HiddenFullRestore + bg_event 11, 30, BGEVENT_ITEM, Route2HiddenRevive + + db 8 ; object events + object_event 10, 45, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 5, TrainerBugCatcherRob, -1 + object_event 5, 5, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_STANDING_RIGHT, 1, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 4, TrainerBugCatcherEd, -1 + object_event 4, 43, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_STANDING_UP, 1, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 5, TrainerBugCatcherDoug, -1 + object_event 0, 29, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route2DireHit, EVENT_ROUTE_2_DIRE_HIT + object_event 2, 23, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route2MaxPotion, EVENT_ROUTE_2_MAX_POTION + object_event 19, 2, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route2Carbos, EVENT_ROUTE_2_CARBOS + object_event 14, 50, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route2Elixer, EVENT_ROUTE_2_ELIXER + object_event 10, 14, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route2FruitTree, -1 diff --git a/maps/Route43.asm b/maps/Route43.asm new file mode 100644 index 00000000..9fc3d56e --- /dev/null +++ b/maps/Route43.asm @@ -0,0 +1,447 @@ + const_def 2 ; object constants + const ROUTE43_SUPER_NERD1 + const ROUTE43_SUPER_NERD2 + const ROUTE43_SUPER_NERD3 + const ROUTE43_FISHER + const ROUTE43_LASS + const ROUTE43_YOUNGSTER + const ROUTE43_FRUIT_TREE + const ROUTE43_POKE_BALL + +Route43_MapScripts: + db 0 ; scene scripts + + db 1 ; callbacks + callback MAPCALLBACK_NEWMAP, .CheckIfRockets + +.CheckIfRockets: + checkevent EVENT_CLEARED_ROCKET_HIDEOUT + iftrue .NoRockets + setmapscene ROUTE_43_GATE, SCENE_DEFAULT + return + +.NoRockets: + setmapscene ROUTE_43_GATE, SCENE_FINISHED + return + +TrainerCamperSpencer: + trainer CAMPER, SPENCER, EVENT_BEAT_CAMPER_SPENCER, CamperSpencerSeenText, CamperSpencerBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext CamperSpencerAfterBattleText + waitbutton + closetext + end + +TrainerPokemaniacBen: + trainer POKEMANIAC, BEN, EVENT_BEAT_POKEMANIAC_BEN, PokemaniacBenSeenText, PokemaniacBenBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext PokemaniacBenAfterBattleText + waitbutton + closetext + end + +TrainerPokemaniacBrent: + trainer POKEMANIAC, BRENT1, EVENT_BEAT_POKEMANIAC_BRENT, PokemaniacBrentSeenText, PokemaniacBrentBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + checkevent EVENT_BRENT_READY_FOR_REMATCH + iftrue .WantsBattle + checkcellnum PHONE_POKEMANIAC_BRENT + iftrue .NumberAccepted + checkevent EVENT_BRENT_ASKED_FOR_PHONE_NUMBER + iftrue .AskedAlready + writetext PokemaniacBrentAfterBattleText + buttonsound + setevent EVENT_BRENT_ASKED_FOR_PHONE_NUMBER + scall .AskNumber1 + jump .AskForNumber + +.AskedAlready: + scall .AskNumber2 +.AskForNumber: + askforphonenumber PHONE_POKEMANIAC_BRENT + ifequal PHONE_CONTACTS_FULL, .PhoneFull + ifequal PHONE_CONTACT_REFUSED, .NumberDeclined + trainertotext POKEMANIAC, BRENT1, MEM_BUFFER_0 + scall .RegisteredNumber + jump .NumberAccepted + +.WantsBattle: + scall .Rematch + winlosstext PokemaniacBrentBeatenText, 0 + checkevent EVENT_BEAT_ELITE_FOUR + iftrue .LoadFight2 + checkevent EVENT_CLEARED_ROCKET_HIDEOUT + iftrue .LoadFight1 + loadtrainer POKEMANIAC, BRENT1 + startbattle + reloadmapafterbattle + clearevent EVENT_BRENT_READY_FOR_REMATCH + end + +.LoadFight1: + loadtrainer POKEMANIAC, BRENT2 + startbattle + reloadmapafterbattle + clearevent EVENT_BRENT_READY_FOR_REMATCH + end + +.LoadFight2: + loadtrainer POKEMANIAC, BRENT3 + startbattle + reloadmapafterbattle + clearevent EVENT_BRENT_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 + +TrainerPokemaniacRon: + trainer POKEMANIAC, RON, EVENT_BEAT_POKEMANIAC_RON, PokemaniacRonSeenText, PokemaniacRonBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext PokemaniacRonAfterBattleText + waitbutton + closetext + end + +TrainerFisherMarvin: + trainer FISHER, MARVIN, EVENT_BEAT_FISHER_MARVIN, FisherMarvinSeenText, FisherMarvinBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext FisherMarvinAfterBattleText + waitbutton + closetext + end + +TrainerPicnickerTiffany: + trainer PICNICKER, TIFFANY3, EVENT_BEAT_PICNICKER_TIFFANY, PicnickerTiffanySeenText, PicnickerTiffanyBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + checkevent EVENT_TIFFANY_READY_FOR_REMATCH + iftrue .WantsBattle + checkcellnum PHONE_PICNICKER_TIFFANY + iftrue .NumberAccepted + checkevent EVENT_TIFFANY_ASKED_FOR_PHONE_NUMBER + iftrue .AskedAlready + writetext PicnickerTiffanyWantsPicnicText + buttonsound + setevent EVENT_TIFFANY_ASKED_FOR_PHONE_NUMBER + scall .AskNumber1 + jump .AskForNumber + +.AskedAlready: + scall .AskNumber2 +.AskForNumber: + askforphonenumber PHONE_PICNICKER_TIFFANY + ifequal PHONE_CONTACTS_FULL, .PhoneFull + ifequal PHONE_CONTACT_REFUSED, .NumberDeclined + trainertotext PICNICKER, TIFFANY3, MEM_BUFFER_0 + scall .RegisteredNumber + jump .NumberAccepted + +.WantsBattle: + scall .Rematch + winlosstext PicnickerTiffanyBeatenText, 0 + checkevent EVENT_BEAT_ELITE_FOUR + iftrue .LoadFight2 + checkevent EVENT_CLEARED_RADIO_TOWER + iftrue .LoadFight1 + loadtrainer PICNICKER, TIFFANY3 + startbattle + reloadmapafterbattle + clearevent EVENT_TIFFANY_READY_FOR_REMATCH + end + +.LoadFight1: + loadtrainer PICNICKER, TIFFANY1 + startbattle + reloadmapafterbattle + clearevent EVENT_TIFFANY_READY_FOR_REMATCH + end + +.LoadFight2: + loadtrainer PICNICKER, TIFFANY2 + startbattle + reloadmapafterbattle + clearevent EVENT_TIFFANY_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 + +.Rematch: + jumpstd rematchf + end + +Route43Sign1: + jumptext Route43Sign1Text + +Route43Sign2: + jumptext Route43Sign2Text + +Route43TrainerTips: + jumptext Route43TrainerTipsText + +Route43FruitTree: + fruittree FRUITTREE_ROUTE_43 + +Route43MaxEther: + itemball MAX_ETHER + +PokemaniacBenSeenText: + text "I love #MON!" + + para "That's why I" + line "started--and why" + + para "I'll keep on col-" + line "lecting #MON!" + done + +PokemaniacBenBeatenText: + text "How could you do" + line "this to me?" + done + +PokemaniacBenAfterBattleText: + text "What else do I" + line "like besides" + cont "#MON?" + + para "MARY on the radio." + line "I bet she's cute!" + done + +PokemaniacBrentSeenText: + text "Hey! Do you have" + line "any rare #MON?" + done + +PokemaniacBrentBeatenText: + text "Oh, my poor #-" + line "MON! Darlings!" + done + +PokemaniacBrentAfterBattleText: + text "I'd be happy just" + line "to own a single" + cont "rare #MON." + done + +PokemaniacRonSeenText: + text "Would you get" + line "this?" + + para "Some <RIVAL> guy" + line "made fun of my" + cont "#MON!" + + para "Darn it! My #-" + line "MON's great!" + done + +PokemaniacRonBeatenText: + text "My NIDOKING did" + line "pretty right on!" + done + +PokemaniacRonAfterBattleText: + text "It's okay for" + line "people to like" + + para "different types" + line "of #MON." + + para "#MON isn't just" + line "about having the" + cont "most powerful one." + done + +FisherMarvinSeenText: + text "I'm in a slump." + + para "Maybe it's the" + line "gear I'm using." + + para "Let's battle for a" + line "change of pace!" + done + +FisherMarvinBeatenText: + text "I lost, but I feel" + line "better anyway." + done + +FisherMarvinAfterBattleText: + text "KURT's LURE BALL" + line "is the best for" + + para "catching hooked" + line "#MON." + + para "It's much more" + line "effective than a" + cont "ULTRA BALL." + done + +CamperSpencerSeenText: + text "I can do so much" + line "with my #MON--" + cont "it's super-fun!" + done + +CamperSpencerBeatenText: + text "Losing isn't fun" + line "at all…" + done + +CamperSpencerAfterBattleText: + text "What is going on" + line "at LAKE OF RAGE?" + + para "We were planning" + line "to camp there." + done + +PicnickerTiffanySeenText: + text "Are you going to" + line "LAKE OF RAGE too?" + + para "Let's play for a " + line "little while!" + done + +PicnickerTiffanyBeatenText: + text "I played too much!" + done + +PicnickerTiffanyWantsPicnicText: + text "I'm having a pic-" + line "nic with #MON." + + para "Won't you join us?" + done + +Route43Sign1Text: + text "ROUTE 43" + + para "LAKE OF RAGE -" + line "MAHOGANY TOWN" + done + +Route43Sign2Text: + text "ROUTE 43" + + para "LAKE OF RAGE -" + line "MAHOGANY TOWN" + done + +Route43TrainerTipsText: + text "TRAINER TIPS" + + para "All #MON have" + line "pros and cons" + + para "depending on their" + line "types." + + para "If their types" + line "differ, a higher-" + + para "level #MON may" + line "lose in battle." + + para "Learn which types" + line "are strong and" + + para "weak against your" + line "#MON's type." + done + +Route43_MapEvents: + db 0, 0 ; filler + + db 5 ; warp events + warp_event 9, 51, ROUTE_43_MAHOGANY_GATE, 1 + warp_event 10, 51, ROUTE_43_MAHOGANY_GATE, 2 + warp_event 17, 35, ROUTE_43_GATE, 3 + warp_event 17, 31, ROUTE_43_GATE, 1 + warp_event 18, 31, ROUTE_43_GATE, 2 + + db 0 ; coord events + + db 3 ; bg events + bg_event 13, 3, BGEVENT_READ, Route43Sign1 + bg_event 11, 49, BGEVENT_READ, Route43Sign2 + bg_event 16, 38, BGEVENT_READ, Route43TrainerTips + + db 8 ; object events + object_event 14, 6, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerPokemaniacBen, -1 + object_event 13, 20, SPRITE_SUPER_NERD, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerPokemaniacBrent, -1 + object_event 13, 7, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 2, TrainerPokemaniacRon, -1 + object_event 4, 16, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 4, TrainerFisherMarvin, -1 + object_event 9, 29, SPRITE_LASS, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 3, TrainerPicnickerTiffany, -1 + object_event 15, 43, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 5, TrainerCamperSpencer, -1 + object_event 1, 26, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route43FruitTree, -1 + object_event 12, 32, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route43MaxEther, EVENT_ROUTE_43_MAX_ETHER diff --git a/maps/Route44.asm b/maps/Route44.asm new file mode 100644 index 00000000..1f6f0177 --- /dev/null +++ b/maps/Route44.asm @@ -0,0 +1,428 @@ + const_def 2 ; object constants + const ROUTE44_FISHER1 + const ROUTE44_FISHER2 + const ROUTE44_YOUNGSTER1 + const ROUTE44_SUPER_NERD + const ROUTE44_YOUNGSTER2 + const ROUTE44_COOLTRAINER_M + const ROUTE44_COOLTRAINER_F + const ROUTE44_FRUIT_TREE + const ROUTE44_POKE_BALL1 + const ROUTE44_POKE_BALL2 + const ROUTE44_POKE_BALL3 + +Route44_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +TrainerBirdKeeperVance1: + trainer BIRD_KEEPER, VANCE1, EVENT_BEAT_BIRD_KEEPER_VANCE, BirdKeeperVance1SeenText, BirdKeeperVance1BeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + checkevent EVENT_VANCE_READY_FOR_REMATCH + iftrue .WantsBattle + checkcellnum PHONE_BIRDKEEPER_VANCE + iftrue Route44NumberAcceptedM + checkevent EVENT_VANCE_ASKED_FOR_PHONE_NUMBER + iftrue .AskedAlready + writetext BirdKeeperVanceLegendaryBirdsText + buttonsound + setevent EVENT_VANCE_ASKED_FOR_PHONE_NUMBER + scall Route44AskNumber1M + jump .AskForNumber + +.AskedAlready: + scall Route44AskNumber2M +.AskForNumber: + askforphonenumber PHONE_BIRDKEEPER_VANCE + ifequal PHONE_CONTACTS_FULL, Route44PhoneFullM + ifequal PHONE_CONTACT_REFUSED, Route44NumberDeclinedM + trainertotext BIRD_KEEPER, VANCE1, MEM_BUFFER_0 + scall Route44RegisteredNumberM + jump Route44NumberAcceptedM + +.WantsBattle: + scall Route44RematchM + winlosstext BirdKeeperVance1BeatenText, 0 + checkevent EVENT_RESTORED_POWER_TO_KANTO + iftrue .LoadFight2 + checkevent EVENT_BEAT_ELITE_FOUR + iftrue .LoadFight1 + loadtrainer BIRD_KEEPER, VANCE1 + startbattle + reloadmapafterbattle + clearevent EVENT_VANCE_READY_FOR_REMATCH + end + +.LoadFight1: + loadtrainer BIRD_KEEPER, VANCE2 + startbattle + reloadmapafterbattle + clearevent EVENT_VANCE_READY_FOR_REMATCH + end + +.LoadFight2: + loadtrainer BIRD_KEEPER, VANCE3 + startbattle + reloadmapafterbattle + clearevent EVENT_VANCE_READY_FOR_REMATCH + end + +Route44AskNumber1M: + jumpstd asknumber1m + end + +Route44AskNumber2M: + jumpstd asknumber2m + end + +Route44RegisteredNumberM: + jumpstd registerednumberm + end + +Route44NumberAcceptedM: + jumpstd numberacceptedm + end + +Route44NumberDeclinedM: + jumpstd numberdeclinedm + end + +Route44PhoneFullM: + jumpstd phonefullm + end + +Route44RematchM: + jumpstd rematchm + end + +TrainerPsychicPhil: + trainer PSYCHIC_T, PHIL, EVENT_BEAT_PSYCHIC_PHIL, PsychicPhilSeenText, PsychicPhilBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext PsychicPhilAfterBattleText + waitbutton + closetext + end + +TrainerFisherWilton1: + trainer FISHER, WILTON1, EVENT_BEAT_FISHER_WILTON, FisherWilton1SeenText, FisherWilton1BeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + checkevent EVENT_WILTON_READY_FOR_REMATCH + iftrue .WantsBattle + checkcellnum PHONE_FISHER_WILTON + iftrue Route44NumberAcceptedM + checkevent EVENT_WILTON_ASKED_FOR_PHONE_NUMBER + iftrue .AskedAlready + writetext FisherWiltonHugePoliwagText + buttonsound + setevent EVENT_WILTON_ASKED_FOR_PHONE_NUMBER + scall Route44AskNumber1M + jump .AskForNumber + +.AskedAlready: + scall Route44AskNumber2M +.AskForNumber: + askforphonenumber PHONE_FISHER_WILTON + ifequal PHONE_CONTACTS_FULL, Route44PhoneFullM + ifequal PHONE_CONTACT_REFUSED, Route44NumberDeclinedM + trainertotext FISHER, WILTON1, MEM_BUFFER_0 + scall Route44RegisteredNumberM + jump Route44NumberAcceptedM + +.WantsBattle: + scall Route44RematchM + winlosstext FisherWilton1BeatenText, 0 + checkevent EVENT_RESTORED_POWER_TO_KANTO + iftrue .LoadFight2 + checkevent EVENT_BEAT_ELITE_FOUR + iftrue .LoadFight1 + loadtrainer FISHER, WILTON1 + startbattle + reloadmapafterbattle + clearevent EVENT_WILTON_READY_FOR_REMATCH + end + +.LoadFight1: + loadtrainer FISHER, WILTON2 + startbattle + reloadmapafterbattle + clearevent EVENT_WILTON_READY_FOR_REMATCH + end + +.LoadFight2: + loadtrainer FISHER, WILTON3 + startbattle + reloadmapafterbattle + clearevent EVENT_WILTON_READY_FOR_REMATCH + end + +TrainerFisherEdgar: + trainer FISHER, EDGAR, EVENT_BEAT_FISHER_EDGAR, FisherEdgarSeenText, FisherEdgarBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext FisherEdgarAfterBattleText + waitbutton + closetext + end + +TrainerCooltrainerfCybil: + trainer COOLTRAINERF, CYBIL, EVENT_BEAT_COOLTRAINERF_CYBIL, CooltrainerfCybilSeenText, CooltrainerfCybilBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext CooltrainerfCybilAfterBattleText + waitbutton + closetext + end + +TrainerPokemaniacZach: + trainer POKEMANIAC, ZACH, EVENT_BEAT_POKEMANIAC_ZACH, PokemaniacZachSeenText, PokemaniacZachBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext PokemaniacZachAfterBattleText + waitbutton + closetext + end + +TrainerCooltrainermAllen: + trainer COOLTRAINERM, ALLEN, EVENT_BEAT_COOLTRAINERM_ALLEN, CooltrainermAllenSeenText, CooltrainermAllenBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext CooltrainermAllenAfterBattleText + waitbutton + closetext + end + +Route44Sign1: + jumptext Route44Sign1Text + +Route44Sign2: + jumptext Route44Sign2Text + +Route44FruitTree: + fruittree FRUITTREE_ROUTE_44 + +Route44MaxRevive: + itemball MAX_REVIVE + +Route44UltraBall: + itemball ULTRA_BALL + +Route44HiddenElixer: + hiddenitem ELIXER, EVENT_ROUTE_44_HIDDEN_ELIXER + +FisherWilton1SeenText: + text "Aack! You made me" + line "lose a POLIWAG!" + + para "What are you going" + line "to do about it?" + done + +FisherWilton1BeatenText: + text "Just forget about" + line "it." + done + +FisherWiltonHugePoliwagText: + text "That POLIWAG that" + line "got away…" + cont "It was huge." + + para "I swear it must've" + line "been 16 feet long!" + done + +FisherEdgarSeenText: + text "I fish until I" + line "can't anymore." + + para "I also battle" + line "until I drop." + + para "That's my" + line "relationship" + cont "with my #MON." + done + +FisherEdgarBeatenText: + text "Hmmmm… " + line "This isn't right." + done + +FisherEdgarAfterBattleText: + text "That's 100 wins" + line "to 101 losses." + + para "I won't battle" + line "again for a while." + done + +BirdKeeperVance1SeenText: + text "Do you know about" + line "the legendary bird" + cont "#MON?" + done + +BirdKeeperVance1BeatenText: + text "Whew! You're hot" + line "stuff." + done + +BirdKeeperVanceLegendaryBirdsText: + text "ARTICUNO, ZAPDOS" + line "and MOLTRES are" + + para "the three legend-" + line "ary bird #MON." + + para "I heard there are" + line "other legendary" + cont "birds, though." + done + +PsychicPhilSeenText: + text "I'm gonna win," + line "for sure!" + done + +PsychicPhilBeatenText: + text "Arrgh… That's a" + line "shocking loss…" + done + +PsychicPhilAfterBattleText: + text "It's important to" + line "have conviction" + cont "on your side." + done + +PokemaniacZachSeenText: + text "I'll do anything" + line "to get my hands on" + cont "rare #MON!" + done + +PokemaniacZachBeatenText: + text "Oooh, your #MON" + line "are so appealing." + done + +PokemaniacZachAfterBattleText: + text "If a #MON has" + line "different colors" + + para "from usual, it's" + line "more valuable." + + para "What? You mean" + line "that's not true?" + done + +CooltrainermAllenSeenText: + text "I can tell you're" + line "a good trainer by" + cont "looking at you." + + para "I'm good at #-" + line "MON, and I can see" + cont "that you are too." + done + +CooltrainermAllenBeatenText: + text "Tch! It's a total" + line "loss on my part." + done + +CooltrainermAllenAfterBattleText: + text "Wow. You have a" + line "lot of BADGES." + + para "No wonder you're" + line "so tough." + + para "I wonder if" + line "ECRUTEAK GYM's" + + para "MORTY is still in" + line "training?" + + para "He really hammered" + line "me." + done + +CooltrainerfCybilSeenText: + text "You look strong." + + para "Good trainers seek" + line "tough opponents" + cont "instinctively." + done + +CooltrainerfCybilBeatenText: + text "Nope! This won't" + line "do at all." + done + +CooltrainerfCybilAfterBattleText: + text "We all get better" + line "by experiencing" + cont "many battles." + + para "I battled a lot to" + line "become what I am" + cont "today--an elite." + done + +Route44Sign1Text: + text "ROUTE 44" + line "ICE PATH AHEAD" + done + +Route44Sign2Text: + text "ROUTE 44" + + para "MAHOGANY TOWN -" + line "BLACKTHORN CITY" + done + +Route44_MapEvents: + db 0, 0 ; filler + + db 1 ; warp events + warp_event 56, 7, ICE_PATH_1F, 1 + + db 0 ; coord events + + db 3 ; bg events + bg_event 53, 7, BGEVENT_READ, Route44Sign1 + bg_event 6, 10, BGEVENT_READ, Route44Sign2 + bg_event 32, 9, BGEVENT_ITEM, Route44HiddenElixer + + db 10 ; object events + object_event 42, 5, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 1, TrainerFisherWilton1, -1 + object_event 19, 13, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 1, TrainerFisherEdgar, -1 + object_event 10, 9, SPRITE_YOUNGSTER, SPRITEMOVEDATA_SPINCLOCKWISE, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerPsychicPhil, -1 + object_event 35, 2, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 5, TrainerPokemaniacZach, -1 + object_event 50, 7, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 3, TrainerBirdKeeperVance1, -1 + object_event 41, 15, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 5, TrainerCooltrainermAllen, -1 + object_event 31, 14, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 5, TrainerCooltrainerfCybil, -1 + object_event 9, 5, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route44FruitTree, -1 + object_event 30, 8, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route44MaxRevive, EVENT_ROUTE_44_MAX_REVIVE + object_event 43, 2, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route44UltraBall, EVENT_ROUTE_44_ULTRA_BALL diff --git a/maps/Route45.asm b/maps/Route45.asm new file mode 100644 index 00000000..0d84ef4f --- /dev/null +++ b/maps/Route45.asm @@ -0,0 +1,424 @@ + 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, BlackbeltKenjiSeenText, BlackbeltKenjiBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + checkevent EVENT_KENJI_READY_FOR_REMATCH + iftrue .WantsBattle + checkcellnum PHONE_BLACKBELT_KENJI + iftrue Route45NumberAcceptedM + checkevent EVENT_KENJI_ASKED_FOR_PHONE_NUMBER + iftrue .AskedAlready + writetext BlackbeltKenjiAfterBattleText + waitbutton + setevent EVENT_KENJI_ASKED_FOR_PHONE_NUMBER + scall Route45AskNumber1M + jump .AskForNumber + +.AskedAlready: + scall Route45AskNumber2M +.AskForNumber: + askforphonenumber PHONE_BLACKBELT_KENJI + ifequal PHONE_CONTACTS_FULL, Route45PhoneFullM + ifequal PHONE_CONTACT_REFUSED, Route45NumberDeclinedM + trainertotext BLACKBELT_T, KENJI3, MEM_BUFFER_0 + scall Route45RegisteredNumberM + jump Route45NumberAcceptedM + +.WantsBattle: + scall Route45RematchM + winlosstext BlackbeltKenjiBeatenText, 0 + checkevent EVENT_RESTORED_POWER_TO_KANTO + iftrue .LoadFight2 + checkevent EVENT_BEAT_ELITE_FOUR + iftrue .LoadFight1 + loadtrainer BLACKBELT_T, KENJI3 + startbattle + reloadmapafterbattle + clearevent EVENT_KENJI_READY_FOR_REMATCH + end + +.LoadFight1: + loadtrainer BLACKBELT_T, KENJI1 + startbattle + reloadmapafterbattle + clearevent EVENT_KENJI_READY_FOR_REMATCH + end + +.LoadFight2: + loadtrainer BLACKBELT_T, KENJI2 + startbattle + reloadmapafterbattle + clearevent EVENT_KENJI_READY_FOR_REMATCH + end + +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 + +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: + endifjustbattled + opentext + checkevent EVENT_PARRY_READY_FOR_REMATCH + 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 + jump .AskForNumber + +.AskedAlready: + scall Route45AskNumber2M +.AskForNumber: + askforphonenumber PHONE_HIKER_PARRY + ifequal PHONE_CONTACTS_FULL, Route45PhoneFullM + ifequal PHONE_CONTACT_REFUSED, Route45NumberDeclinedM + trainertotext HIKER, PARRY1, MEM_BUFFER_0 + scall Route45RegisteredNumberM + jump Route45NumberAcceptedM + +.WantsBattle: + scall Route45RematchM + winlosstext HikerParry3BeatenText, 0 + checkevent EVENT_RESTORED_POWER_TO_KANTO + iftrue .LoadFight2 + checkevent EVENT_BEAT_ELITE_FOUR + iftrue .LoadFight1 + loadtrainer HIKER, PARRY3 + startbattle + reloadmapafterbattle + clearevent EVENT_PARRY_READY_FOR_REMATCH + end + +.LoadFight1: + loadtrainer HIKER, PARRY1 + startbattle + reloadmapafterbattle + clearevent EVENT_PARRY_READY_FOR_REMATCH + end + +.LoadFight2: + loadtrainer HIKER, PARRY2 + startbattle + reloadmapafterbattle + clearevent EVENT_PARRY_READY_FOR_REMATCH + end + +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 + +Route45Sign: + jumptext Route45SignText + +Route45FruitTree: + fruittree FRUITTREE_ROUTE_45 + +Route45XSpecial: + itemball X_SPECIAL + +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 + +BlackbeltKenjiSeenText: + text "I was training" + line "here alone." + + para "Behold the fruits" + line "of my labor!" + done + +BlackbeltKenjiBeatenText: + 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 + +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 pretty good at" + line "#MON too." + 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 12 ; 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, 64, 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_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 3, TrainerHikerParry, -1 + object_event 9, 64, 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 4, 36, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_STANDING_RIGHT, 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, Route45XSpecial, EVENT_ROUTE_45_X_SPECIAL + object_event 6, 66, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route45Revive, EVENT_ROUTE_45_REVIVE + object_event 4, 21, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route45Elixer, EVENT_ROUTE_45_ELIXER + object_event 8, 33, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route45MaxPotion, EVENT_ROUTE_45_MAX_POTION diff --git a/maps/Route46.asm b/maps/Route46.asm new file mode 100644 index 00000000..ea36aed9 --- /dev/null +++ b/maps/Route46.asm @@ -0,0 +1,214 @@ + const_def 2 ; object constants + const ROUTE46_POKEFAN_M + const ROUTE46_YOUNGSTER + const ROUTE46_LASS + const ROUTE46_FRUIT_TREE1 + const ROUTE46_FRUIT_TREE2 + const ROUTE46_POKE_BALL + +Route46_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +TrainerCamperTed: + trainer CAMPER, TED, EVENT_BEAT_CAMPER_TED, CamperTedSeenText, CamperTedBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext CamperTedAfterBattleText + waitbutton + closetext + end + +TrainerPicnickerErin1: + trainer PICNICKER, ERIN1, EVENT_BEAT_PICNICKER_ERIN, PicnickerErin1SeenText, PicnickerErin1BeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + checkevent EVENT_ERIN_READY_FOR_REMATCH + iftrue .WantsBattle + checkcellnum PHONE_PICNICKER_ERIN + iftrue Route46NumberAcceptedF + checkevent EVENT_ERIN_ASKED_FOR_PHONE_NUMBER + iftrue .AskedAlready + writetext PicnickerErinAfterBattleText + buttonsound + setevent EVENT_ERIN_ASKED_FOR_PHONE_NUMBER + scall Route46AskNumber1F + jump .AskForNumber + +.AskedAlready: + scall Route46AskNumber2F +.AskForNumber: + askforphonenumber PHONE_PICNICKER_ERIN + ifequal PHONE_CONTACTS_FULL, Route46PhoneFullF + ifequal PHONE_CONTACT_REFUSED, Route46NumberDeclinedF + trainertotext PICNICKER, ERIN1, MEM_BUFFER_0 + scall Route46RegisteredNumberF + jump Route46NumberAcceptedF + +.WantsBattle: + scall Route46RematchF + winlosstext PicnickerErin1BeatenText, 0 + checkevent EVENT_RESTORED_POWER_TO_KANTO + iftrue .LoadFight2 + checkevent EVENT_BEAT_ELITE_FOUR + iftrue .LoadFight1 + loadtrainer PICNICKER, ERIN1 + startbattle + reloadmapafterbattle + clearevent EVENT_ERIN_READY_FOR_REMATCH + end + +.LoadFight1: + loadtrainer PICNICKER, ERIN2 + startbattle + reloadmapafterbattle + clearevent EVENT_ERIN_READY_FOR_REMATCH + end + +.LoadFight2: + loadtrainer PICNICKER, ERIN3 + startbattle + reloadmapafterbattle + clearevent EVENT_ERIN_READY_FOR_REMATCH + end + +Route46AskNumber1F: + jumpstd asknumber1f + end + +Route46AskNumber2F: + jumpstd asknumber2f + end + +Route46RegisteredNumberF: + jumpstd registerednumberf + end + +Route46NumberAcceptedF: + jumpstd numberacceptedf + end + +Route46NumberDeclinedF: + jumpstd numberdeclinedf + end + +Route46PhoneFullF: + jumpstd phonefullf + end + +Route46RematchF: + jumpstd rematchf + end + +TrainerHikerBailey: + trainer HIKER, BAILEY, EVENT_BEAT_HIKER_BAILEY, HikerBaileySeenText, HikerBaileyBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext HikerBaileyAfterBattleText + waitbutton + closetext + end + +Route46Sign: + jumptext Route46SignText + +Route46DireHit: + itemball DIRE_HIT + +Route46FruitTree1: + fruittree FRUITTREE_ROUTE_46_1 + +Route46FruitTree2: + fruittree FRUITTREE_ROUTE_46_2 + +HikerBaileySeenText: + text "Awright! I'll show" + line "you the power of" + cont "mountain #MON!" + done + +HikerBaileyBeatenText: + text "Mercy! You showed" + line "me your power!" + done + +HikerBaileyAfterBattleText: + text "It's over. I don't" + line "mind. We HIKERS" + cont "are like that." + done + +CamperTedSeenText: + text "I'm raising #-" + line "MON too!" + + para "Will you battle" + line "with me?" + done + +CamperTedBeatenText: + text "Wha…?" + done + +CamperTedAfterBattleText: + text "I did my best but" + line "came up short." + + para "No excuses--I" + line "admit I lost." + done + +PicnickerErin1SeenText: + text "I raise #MON" + line "too!" + + para "Let's battle!" + done + +PicnickerErin1BeatenText: + text "Oh, darn it!" + done + +PicnickerErinAfterBattleText: + text "I've been to many" + line "GYMS, but the GYM" + + para "in GOLDENROD is my" + line "favorite." + + para "It's filled with" + line "pretty flowers!" + done + +Route46SignText: + text "ROUTE 46" + line "MOUNTAIN RD. AHEAD" + done + +Route46_MapEvents: + db 0, 0 ; filler + + db 3 ; warp events + warp_event 7, 33, ROUTE_29_ROUTE_46_GATE, 1 + warp_event 8, 33, ROUTE_29_ROUTE_46_GATE, 2 + warp_event 14, 5, DARK_CAVE_VIOLET_ENTRANCE, 3 + + db 0 ; coord events + + db 1 ; bg events + bg_event 9, 27, BGEVENT_READ, Route46Sign + + db 6 ; object events + object_event 12, 18, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 2, TrainerHikerBailey, -1 + object_event 3, 13, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 4, TrainerCamperTed, -1 + object_event 1, 15, SPRITE_LASS, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 4, TrainerPicnickerErin1, -1 + object_event 7, 5, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route46FruitTree1, -1 + object_event 8, 6, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route46FruitTree2, -1 + object_event 0, 12, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, Route46DireHit, EVENT_ROUTE_46_DIRE_HIT |