diff options
author | IIMarckus <iimarckus@gmail.com> | 2018-10-04 01:23:27 -0600 |
---|---|---|
committer | IIMarckus <iimarckus@gmail.com> | 2018-10-04 01:23:27 -0600 |
commit | 48f338fe7a4948826027e3dcb8f94797740fe121 (patch) | |
tree | a9a8fa3c8504aaa859424d7a2daa13b4a2b56188 | |
parent | d34ed8847fafac0fba47f54db5b8e6ce5e4c927b (diff) |
Add map objects from bank 48.
-rw-r--r-- | constants/engine_flags.asm | 2 | ||||
-rw-r--r-- | constants/map_constants.asm | 6 | ||||
-rwxr-xr-x | engine/engine_flags.asm | 2 | ||||
-rwxr-xr-x | engine/specials.asm | 2 | ||||
-rw-r--r-- | main.asm | 15 | ||||
-rw-r--r-- | maps/AzaleaTown.asm | 437 | ||||
-rw-r--r-- | maps/CherrygroveCity.asm | 572 | ||||
-rw-r--r-- | maps/CianwoodCity.asm | 253 | ||||
-rw-r--r-- | maps/GoldenrodCity.asm | 381 | ||||
-rw-r--r-- | maps/NewBarkTown.asm | 316 | ||||
-rw-r--r-- | maps/VioletCity.asm | 312 |
11 files changed, 2284 insertions, 14 deletions
diff --git a/constants/engine_flags.asm b/constants/engine_flags.asm index f4da580e..c4730b50 100644 --- a/constants/engine_flags.asm +++ b/constants/engine_flags.asm @@ -26,7 +26,7 @@ engine_flag_def ENGINE_ROCKETS_IN_RADIO_TOWER, wStatusFlags2, 0 ; rockets in radio tower engine_flag_def ENGINE_BIKE_SHOP_CALL_ENABLED, wStatusFlags2, 4 ; bike shop call enabled (1024 bike steps reqd) engine_flag_def ENGINE_GIVE_POKERUS, wStatusFlags2, 5 ; give pokerus - engine_flag_def ENGINE_FLORIA, wStatusFlags2, 6 ; berry -> berry juice when trading? + engine_flag_def ENGINE_REACHED_GOLDENROD, wStatusFlags2, 6 ; berry -> berry juice when trading? engine_flag_def ENGINE_ROCKETS_IN_MAHOGANY, wStatusFlags2, 7 ; rockets in mahogany engine_flag_def ENGINE_STRENGTH_ACTIVE, wBikeFlags, 0 ; strength active diff --git a/constants/map_constants.asm b/constants/map_constants.asm index ea2ff37d..62915e7c 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -227,7 +227,7 @@ ENDM map_const EARLS_POKEMON_ACADEMY, 8, 4 ; 8 map_const VIOLET_NICKNAME_SPEECH_HOUSE, 4, 4 ; 9 map_const VIOLET_POKECENTER_1F, 4, 5 ; 10 - map_const VIOLET_ONIX_TRADE_HOUSE, 4, 4 ; 11 + map_const VIOLET_KYLES_HOUSE, 4, 4 ; 11 map_const ROUTE_32_RUINS_OF_ALPH_GATE, 4, 5 ; 12 map_const ROUTE_32_POKECENTER_1F, 4, 5 ; 13 map_const ROUTE_35_GOLDENROD_GATE, 4, 5 ; 14 @@ -242,7 +242,7 @@ ENDM map_const GOLDENROD_GYM, 9, 10 ; 3 map_const GOLDENROD_BIKE_SHOP, 4, 4 ; 4 map_const GOLDENROD_HAPPINESS_RATER, 4, 4 ; 5 - map_const GOLDENROD_BILLS_HOUSE, 4, 4 ; 6 + map_const BILLS_FAMILYS_HOUSE, 4, 4 ; 6 map_const GOLDENROD_MAGNET_TRAIN_STATION, 9, 10 ; 7 map_const GOLDENROD_FLOWER_SHOP, 4, 4 ; 8 map_const GOLDENROD_POKECENTER_1F, 4, 5 ; 9 @@ -407,7 +407,7 @@ ENDM map_const CIANWOOD_GYM, 9, 5 ; 5 map_const CIANWOOD_POKECENTER_1F, 4, 5 ; 6 map_const CIANWOOD_PHARMACY, 4, 4 ; 7 - map_const CIANWOOD_CITY_PHOTO_STUDIO, 4, 4 ; 8 + map_const CIANWOOD_PHOTO_STUDIO, 4, 4 ; 8 map_const CIANWOOD_LUGIA_SPEECH_HOUSE, 4, 4 ; 9 newgroup ; 23 diff --git a/engine/engine_flags.asm b/engine/engine_flags.asm index 897e55df..9fa5f8c0 100755 --- a/engine/engine_flags.asm +++ b/engine/engine_flags.asm @@ -112,7 +112,7 @@ EngineFlags: engine_flag ENGINE_ROCKETS_IN_RADIO_TOWER engine_flag ENGINE_BIKE_SHOP_CALL_ENABLED engine_flag ENGINE_GIVE_POKERUS - engine_flag ENGINE_FLORIA + engine_flag ENGINE_REACHED_GOLDENROD engine_flag ENGINE_ROCKETS_IN_MAHOGANY engine_flag ENGINE_STRENGTH_ACTIVE diff --git a/engine/specials.asm b/engine/specials.asm index db0b8ddf..6cd4fa91 100755 --- a/engine/specials.asm +++ b/engine/specials.asm @@ -140,7 +140,7 @@ SpecialsPointers: add_special PrintDiploma add_special InitialSetDSTFlag add_special InitialClearDSTFlag - add_special Function90a8d + add_special MrChrono add_special SpecialNone SpecialNone: ; c389 @@ -1247,7 +1247,7 @@ InitialSetDSTFlag: dr $90a1b, $90a54 InitialClearDSTFlag: dr $90a54, $90a8d -Function90a8d: +MrChrono: dr $90a8d, $90b0f PrintHour: dr $90b0f, $9188a @@ -1620,13 +1620,12 @@ INCLUDE "maps/DragonsDenB1F.asm" INCLUDE "maps/TohjoFalls.asm" SECTION "bank48", ROMX, BANK[$48] -;INCLUDE "maps/NewBarkTown.asm" -;INCLUDE "maps/CherrygroveCity.asm" -;INCLUDE "maps/VioletCity.asm" -;INCLUDE "maps/AzaleaTown.asm" -;INCLUDE "maps/CianwoodCity.asm" -;INCLUDE "maps/GoldenrodCity.asm" - dr $120000, $124000 +INCLUDE "maps/NewBarkTown.asm" +INCLUDE "maps/CherrygroveCity.asm" +INCLUDE "maps/VioletCity.asm" +INCLUDE "maps/AzaleaTown.asm" +INCLUDE "maps/CianwoodCity.asm" +INCLUDE "maps/GoldenrodCity.asm" SECTION "bank49", ROMX, BANK[$49] ;INCLUDE "maps/OlivineCity.asm" diff --git a/maps/AzaleaTown.asm b/maps/AzaleaTown.asm new file mode 100644 index 00000000..ca609d23 --- /dev/null +++ b/maps/AzaleaTown.asm @@ -0,0 +1,437 @@ + const_def 2 ; object constants + const AZALEATOWN_AZALEA_ROCKET1 + const AZALEATOWN_GRAMPS + const AZALEATOWN_TEACHER + const AZALEATOWN_YOUNGSTER + const AZALEATOWN_SLOWPOKE1 + const AZALEATOWN_SLOWPOKE2 + const AZALEATOWN_SLOWPOKE3 + const AZALEATOWN_SLOWPOKE4 + const AZALEATOWN_FRUIT_TREE + const AZALEATOWN_SILVER + const AZALEATOWN_AZALEA_ROCKET3 + +AzaleaTown_MapScripts: + db 2 ; scene scripts + scene_script .DummyScene0 ; SCENE_AZALEATOWN_NOTHING + scene_script .DummyScene1 ; SCENE_AZALEATOWN_RIVAL_BATTLE + + db 1 ; callbacks + callback MAPCALLBACK_NEWMAP, .Flypoint + +.DummyScene0: + end + +.DummyScene1: + end + +.Flypoint: + setflag ENGINE_FLYPOINT_AZALEA + return + +AzaleaTownRivalBattleScene1: + moveobject AZALEATOWN_SILVER, 11, 11 + turnobject PLAYER, RIGHT + showemote EMOTE_SHOCK, PLAYER, 15 + special FadeOutMusic + pause 15 + appear AZALEATOWN_SILVER + applymovement AZALEATOWN_SILVER, AzaleaTownRivalBattleApproachMovement1 + turnobject PLAYER, DOWN + jump AzaleaTownRivalBattleScript + +AzaleaTownRivalBattleScene2: + turnobject PLAYER, RIGHT + showemote EMOTE_SHOCK, PLAYER, 15 + special FadeOutMusic + pause 15 + appear AZALEATOWN_SILVER + applymovement AZALEATOWN_SILVER, AzaleaTownRivalBattleApproachMovement2 + turnobject PLAYER, UP +AzaleaTownRivalBattleScript: + playmusic MUSIC_RIVAL_ENCOUNTER + opentext + writetext AzaleaTownRivalBeforeText + waitbutton + closetext + setevent EVENT_RIVAL_AZALEA_TOWN + checkevent EVENT_GOT_TOTODILE_FROM_ELM + iftrue .Totodile + checkevent EVENT_GOT_CHIKORITA_FROM_ELM + iftrue .Chikorita + winlosstext AzaleaTownRivalWinText, AzaleaTownRivalLossText + setlasttalked AZALEATOWN_SILVER + loadtrainer RIVAL1, RIVAL1_2_TOTODILE + startbattle + dontrestartmapmusic + reloadmapafterbattle + jump .AfterBattle + +.Totodile: + winlosstext AzaleaTownRivalWinText, AzaleaTownRivalLossText + setlasttalked AZALEATOWN_SILVER + loadtrainer RIVAL1, RIVAL1_2_CHIKORITA + startbattle + dontrestartmapmusic + reloadmapafterbattle + jump .AfterBattle + +.Chikorita: + winlosstext AzaleaTownRivalWinText, AzaleaTownRivalLossText + setlasttalked AZALEATOWN_SILVER + loadtrainer RIVAL1, RIVAL1_2_CYNDAQUIL + startbattle + dontrestartmapmusic + reloadmapafterbattle + jump .AfterBattle + +.AfterBattle: + playmusic MUSIC_RIVAL_AFTER + opentext + writetext AzaleaTownRivalAfterText + waitbutton + closetext + turnobject PLAYER, LEFT + applymovement AZALEATOWN_SILVER, AzaleaTownRivalBattleExitMovement + playsound SFX_EXIT_BUILDING + disappear AZALEATOWN_SILVER + setscene SCENE_AZALEATOWN_NOTHING + waitsfx + playmapmusic + end + +AzaleaTownRocket1Script: + jumptextfaceplayer AzaleaTownRocket1Text + +AzaleaTownRocket2Script: + jumptextfaceplayer AzaleaTownRocket2Text + +AzaleaTownGrampsScript: + faceplayer + opentext + checkevent EVENT_CLEARED_SLOWPOKE_WELL + iftrue .ClearedWell + writetext AzaleaTownGrampsTextBefore + waitbutton + closetext + end + +.ClearedWell: + writetext AzaleaTownGrampsTextAfter + waitbutton + closetext + end + +AzaleaTownTeacherScript: + jumptextfaceplayer AzaleaTownTeacherText + +AzaleaTownYoungsterScript: + jumptextfaceplayer AzaleaTownYoungsterText + +AzaleaTownSlowpokeScript: + opentext + writetext AzaleaTownSlowpokeText1 + pause 60 + writetext AzaleaTownSlowpokeText2 + cry SLOWPOKE + waitbutton + closetext + end + +UnusedWoosterScript: +; unused + faceplayer + opentext + writetext WoosterText + cry QUAGSIRE + waitbutton + closetext + end + +AzaleaTownSign: + jumptext AzaleaTownSignText + +KurtsHouseSign: + jumptext KurtsHouseSignText + +AzaleaGymSign: + jumptext AzaleaGymSignText + +SlowpokeWellSign: + jumptext SlowpokeWellSignText + +CharcoalKilnSign: + jumptext CharcoalKilnSignText + +AzaleaTownIlextForestSign: + jumptext AzaleaTownIlexForestSignText + +AzaleaTownPokecenterSign: + jumpstd pokecentersign + +AzaleaTownMartSign: + jumpstd martsign + +WhiteApricornTree: + fruittree FRUITTREE_AZALEA_TOWN + +AzaleaTownHiddenFullHeal: + hiddenitem FULL_HEAL, EVENT_AZALEA_TOWN_HIDDEN_FULL_HEAL + +AzaleaTownRivalBattleApproachMovement1: + step LEFT + step LEFT + step LEFT + step LEFT + step LEFT + step LEFT + turn_head UP + step_end + +AzaleaTownRivalBattleApproachMovement2: + step LEFT + step LEFT + step LEFT + step LEFT + step LEFT + step LEFT + turn_head DOWN + step_end + +AzaleaTownRivalBattleExitMovement: + step LEFT + step LEFT + step LEFT + step_end + +AzaleaTownRivalBeforeText: + text "…Tell me some-" + line "thing." + + para "Is it true that" + line "TEAM ROCKET has" + cont "returned?" + + para "What? You beat" + line "them? Hah! Quit" + cont "lying." + + para "You're not joking?" + line "Then let's see how" + cont "good you are." + done + +AzaleaTownRivalWinText: + text "… Humph! Useless" + line "#MON!" + + para "Listen, you. You" + line "only won because" + + para "my #MON were" + line "weak." + done + +AzaleaTownRivalAfterText: + text "I hate the weak." + + para "#MON, trainers." + line "It doesn't matter" + cont "who or what." + + para "I'm going to be" + line "strong and wipe" + cont "out the weak." + + para "That goes for TEAM" + line "ROCKET too." + + para "They act big and" + line "tough in a group." + + para "But get them" + line "alone, and they're" + cont "weak." + + para "I hate them all." + + para "You stay out of my" + line "way. A weakling" + + para "like you is only a" + line "distraction." + done + +AzaleaTownRivalLossText: + text "…Humph! I knew" + line "you were lying." + done + +AzaleaTownRocket1Text: + text "It's unsafe to go" + line "in there, so I'm" + cont "standing guard." + + para "Aren't I a good" + line "Samaritan?" + done + +AzaleaTownRocket2Text: + text "Do you know about" + line "SLOWPOKETAIL? I" + cont "heard it's tasty!" + + para "Aren't you glad I" + line "told you that?" + done + +AzaleaTownGrampsTextBefore: + text "The SLOWPOKE have" + line "disappeared from" + cont "town…" + + para "I heard their" + line "TAILS are being" + cont "sold somewhere." + done + +AzaleaTownGrampsTextAfter: + text "The SLOWPOKE have" + line "returned." + + para "Knowing them, they" + line "could've just been" + + para "goofing off some-" + line "where." + done + +AzaleaTownTeacherText: + text "Did you come to" + line "get KURT to make" + cont "some BALLS?" + + para "A lot of people do" + line "just that." + done + +AzaleaTownYoungsterText: + text "Cut through AZALEA" + line "and you'll be in" + cont "ILEX FOREST." + + para "But these skinny" + line "trees make it" + + para "impossible to get" + line "through." + + para "The CHARCOAL MAN's" + line "#MON can CUT" + cont "down trees." + done + +AzaleaTownSlowpokeText1: + text "SLOWPOKE: …" + + para "<……> <……> <……>" + done + +AzaleaTownSlowpokeText2: + text "<……> <……>Yawn?" + done + +WoosterText: + text "WOOSTER: Gugyoo…" + done + +AzaleaTownSignText: + text "AZALEA TOWN" + line "Where People and" + + para "#MON Live in" + line "Happy Harmony" + done + +KurtsHouseSignText: + text "KURT'S HOUSE" + done + +AzaleaGymSignText: + text "AZALEA TOWN" + line "#MON GYM" + cont "LEADER: BUGSY" + + para "The Walking" + line "Bug #MON" + cont "Encyclopedia" + done + +SlowpokeWellSignText: + text "SLOWPOKE WELL" + + para "Also known as the" + line "RAINMAKER WELL." + + para "Locals believe" + line "that a SLOWPOKE's" + cont "yawn summons rain." + + para "Records show that" + line "a SLOWPOKE's yawn" + + para "ended a drought" + line "400 years ago." + done + +CharcoalKilnSignText: + text "CHARCOAL KILN" + done + +AzaleaTownIlexForestSignText: + text "ILEX FOREST" + + para "Enter through the" + line "gate." + done + +AzaleaTown_MapEvents: + db 0, 0 ; filler + + db 8 ; warp events + warp_event 15, 9, AZALEA_POKECENTER_1F, 1 + warp_event 21, 13, CHARCOAL_KILN, 1 + warp_event 21, 5, AZALEA_MART, 2 + warp_event 9, 5, KURTS_HOUSE, 1 + warp_event 10, 15, AZALEA_GYM, 1 + warp_event 31, 7, SLOWPOKE_WELL_B1F, 1 + warp_event 2, 10, ILEX_FOREST_AZALEA_GATE, 3 + warp_event 2, 11, ILEX_FOREST_AZALEA_GATE, 4 + + db 2 ; coord events + coord_event 5, 10, SCENE_AZALEATOWN_RIVAL_BATTLE, AzaleaTownRivalBattleScene1 + coord_event 5, 11, SCENE_AZALEATOWN_RIVAL_BATTLE, AzaleaTownRivalBattleScene2 + + db 9 ; bg events + bg_event 19, 9, BGEVENT_READ, AzaleaTownSign + bg_event 10, 9, BGEVENT_READ, KurtsHouseSign + bg_event 14, 15, BGEVENT_READ, AzaleaGymSign + bg_event 29, 7, BGEVENT_READ, SlowpokeWellSign + bg_event 19, 13, BGEVENT_READ, CharcoalKilnSign + bg_event 16, 9, BGEVENT_READ, AzaleaTownPokecenterSign + bg_event 22, 5, BGEVENT_READ, AzaleaTownMartSign + bg_event 3, 9, BGEVENT_READ, AzaleaTownIlextForestSign + bg_event 31, 6, BGEVENT_ITEM, AzaleaTownHiddenFullHeal + + db 11 ; object events + object_event 31, 9, SPRITE_AZALEA_ROCKET, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, AzaleaTownRocket1Script, EVENT_AZALEA_TOWN_SLOWPOKETAIL_ROCKET + object_event 21, 9, SPRITE_GRAMPS, SPRITEMOVEDATA_WANDER, 1, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, AzaleaTownGrampsScript, -1 + object_event 15, 13, SPRITE_TEACHER, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 2, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, AzaleaTownTeacherScript, -1 + object_event 7, 9, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, AzaleaTownYoungsterScript, -1 + object_event 8, 17, SPRITE_SLOWPOKE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, AzaleaTownSlowpokeScript, EVENT_AZALEA_TOWN_SLOWPOKES + object_event 18, 9, SPRITE_SLOWPOKE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, AzaleaTownSlowpokeScript, EVENT_AZALEA_TOWN_SLOWPOKES + object_event 29, 9, SPRITE_SLOWPOKE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, AzaleaTownSlowpokeScript, EVENT_AZALEA_TOWN_SLOWPOKES + object_event 15, 15, SPRITE_SLOWPOKE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, AzaleaTownSlowpokeScript, EVENT_AZALEA_TOWN_SLOWPOKES + object_event 8, 2, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, WhiteApricornTree, -1 + object_event 11, 10, SPRITE_AZALEA_ROCKET, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_RIVAL_AZALEA_TOWN + object_event 10, 16, SPRITE_AZALEA_ROCKET, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, AzaleaTownRocket2Script, EVENT_SLOWPOKE_WELL_ROCKETS diff --git a/maps/CherrygroveCity.asm b/maps/CherrygroveCity.asm new file mode 100644 index 00000000..85a27b65 --- /dev/null +++ b/maps/CherrygroveCity.asm @@ -0,0 +1,572 @@ + const_def 2 ; object constants + const CHERRYGROVECITY_GRAMPS + const CHERRYGROVECITY_SILVER + const CHERRYGROVECITY_TEACHER + const CHERRYGROVECITY_YOUNGSTER + const CHERRYGROVECITY_FISHER + +CherrygroveCity_MapScripts: + db 2 ; scene scripts + scene_script .DummyScene0 ; SCENE_CHERRYGROVECITY_NOTHING + scene_script .DummyScene1 ; SCENE_CHERRYGROVECITY_MEET_RIVAL + + db 1 ; callbacks + callback MAPCALLBACK_NEWMAP, .FlyPoint + +.DummyScene0: + end + +.DummyScene1: + end + +.FlyPoint: + setflag ENGINE_FLYPOINT_CHERRYGROVE + return + +CherrygroveCityGuideGent: + faceplayer + opentext + writetext GuideGentIntroText + yesorno + iffalse .No + jump .Yes +.Yes: + writetext GuideGentTourText1 + waitbutton + closetext + playmusic MUSIC_SHOW_ME_AROUND + follow CHERRYGROVECITY_GRAMPS, PLAYER + applymovement CHERRYGROVECITY_GRAMPS, GuideGentMovement1 + opentext + writetext GuideGentPokecenterText + waitbutton + closetext + applymovement CHERRYGROVECITY_GRAMPS, GuideGentMovement2 + turnobject PLAYER, UP + opentext + writetext GuideGentMartText + waitbutton + closetext + applymovement CHERRYGROVECITY_GRAMPS, GuideGentMovement3 + turnobject PLAYER, UP + opentext + writetext GuideGentRoute30Text + waitbutton + closetext + applymovement CHERRYGROVECITY_GRAMPS, GuideGentMovement4 + turnobject PLAYER, LEFT + opentext + writetext GuideGentSeaText + waitbutton + closetext + applymovement CHERRYGROVECITY_GRAMPS, GuideGentMovement5 + turnobject PLAYER, UP + pause 60 + turnobject CHERRYGROVECITY_GRAMPS, LEFT + turnobject PLAYER, RIGHT + opentext + writetext GuideGentGiftText + buttonsound + stringtotext .mapcardname, MEM_BUFFER_1 + scall .JumpstdReceiveItem + setflag ENGINE_MAP_CARD + writetext GotMapCardText + buttonsound + writetext GuideGentPokegearText + waitbutton + closetext + stopfollow + special RestartMapMusic + turnobject PLAYER, UP + applymovement CHERRYGROVECITY_GRAMPS, GuideGentMovement6 + playsound SFX_ENTER_DOOR + disappear CHERRYGROVECITY_GRAMPS + clearevent EVENT_GUIDE_GENT_VISIBLE_IN_CHERRYGROVE + waitsfx + end + +.JumpstdReceiveItem: + jumpstd receiveitem + end + +.mapcardname + db "MAP CARD@" + +.No: + writetext GuideGentNoText + waitbutton + closetext + end + +CherrygroveSilverSceneSouth: + moveobject CHERRYGROVECITY_SILVER, 39, 7 +CherrygroveSilverSceneNorth: + turnobject PLAYER, RIGHT + showemote EMOTE_SHOCK, PLAYER, 15 + special FadeOutMusic + pause 15 + appear CHERRYGROVECITY_SILVER + applymovement CHERRYGROVECITY_SILVER, CherrygroveCity_RivalWalksToYou + turnobject PLAYER, RIGHT + playmusic MUSIC_RIVAL_ENCOUNTER + opentext + writetext CherrygroveRivalText_Seen + waitbutton + closetext + checkevent EVENT_GOT_TOTODILE_FROM_ELM + iftrue .Totodile + checkevent EVENT_GOT_CHIKORITA_FROM_ELM + iftrue .Chikorita + winlosstext SilverCherrygroveWinText, SilverCherrygroveLossText + setlasttalked CHERRYGROVECITY_SILVER + loadtrainer RIVAL1, RIVAL1_1_TOTODILE + writecode VAR_BATTLETYPE, BATTLETYPE_CANLOSE + startbattle + dontrestartmapmusic + reloadmap + iftrue .AfterVictorious + jump .AfterYourDefeat + +.Totodile: + winlosstext SilverCherrygroveWinText, SilverCherrygroveLossText + setlasttalked CHERRYGROVECITY_SILVER + loadtrainer RIVAL1, RIVAL1_1_CHIKORITA + writecode VAR_BATTLETYPE, BATTLETYPE_CANLOSE + startbattle + dontrestartmapmusic + reloadmap + iftrue .AfterVictorious + jump .AfterYourDefeat + +.Chikorita: + winlosstext SilverCherrygroveWinText, SilverCherrygroveLossText + setlasttalked CHERRYGROVECITY_SILVER + loadtrainer RIVAL1, RIVAL1_1_CYNDAQUIL + writecode VAR_BATTLETYPE, BATTLETYPE_CANLOSE + startbattle + dontrestartmapmusic + reloadmap + iftrue .AfterVictorious + jump .AfterYourDefeat + +.AfterVictorious: + playmusic MUSIC_RIVAL_AFTER + opentext + writetext CherrygroveRivalText_YouWon + waitbutton + closetext + jump .FinishRival + +.AfterYourDefeat: + playmusic MUSIC_RIVAL_AFTER + opentext + writetext CherrygroveRivalText_YouLost + waitbutton + closetext +.FinishRival: + playsound SFX_TACKLE + applymovement PLAYER, CherrygroveCity_RivalPushesYouOutOfTheWay + turnobject PLAYER, LEFT + applymovement CHERRYGROVECITY_SILVER, CherrygroveCity_RivalExitsStageLeft + disappear CHERRYGROVECITY_SILVER + setscene SCENE_CHERRYGROVECITY_NOTHING + special HealParty + playmapmusic + end + +CherrygroveTeacherScript: + faceplayer + opentext + checkflag ENGINE_MAP_CARD + iftrue .HaveMapCard + writetext CherrygroveTeacherText_NoMapCard + waitbutton + closetext + end + +.HaveMapCard: + writetext CherrygroveTeacherText_HaveMapCard + waitbutton + closetext + end + +CherrygroveYoungsterScript: + faceplayer + opentext + checkflag ENGINE_POKEDEX + iftrue .HavePokedex + writetext CherrygroveYoungsterText_NoPokedex + waitbutton + closetext + end + +.HavePokedex: + writetext CherrygroveYoungsterText_HavePokedex + waitbutton + closetext + end + +MysticWaterGuy: + faceplayer + opentext + checkevent EVENT_GOT_MYSTIC_WATER_IN_CHERRYGROVE + iftrue .After + writetext MysticWaterGuyTextBefore + buttonsound + verbosegiveitem MYSTIC_WATER + iffalse .Exit + setevent EVENT_GOT_MYSTIC_WATER_IN_CHERRYGROVE +.After: + writetext MysticWaterGuyTextAfter + waitbutton +.Exit: + closetext + end + +CherrygroveCitySign: + jumptext CherrygroveCitySignText + +GuideGentsHouseSign: + jumptext GuideGentsHouseSignText + +CherrygroveCityPokecenterSign: + jumpstd pokecentersign + +CherrygroveCityMartSign: + jumpstd martsign + +GuideGentMovement1: + step LEFT + step LEFT + step UP + step LEFT + turn_head UP + step_end + +GuideGentMovement2: + step LEFT + step LEFT + step LEFT + step LEFT + step LEFT + step LEFT + turn_head UP + step_end + +GuideGentMovement3: + step LEFT + step LEFT + step LEFT + step LEFT + step LEFT + step LEFT + step LEFT + turn_head UP + step_end + +GuideGentMovement4: + step LEFT + step LEFT + step LEFT + step DOWN + step LEFT + step LEFT + step LEFT + step DOWN + turn_head LEFT + step_end + +GuideGentMovement5: + step DOWN + step DOWN + step RIGHT + step RIGHT + step RIGHT + step RIGHT + step RIGHT + step RIGHT + step RIGHT + step RIGHT + step RIGHT + step RIGHT + step DOWN + step DOWN + step RIGHT + step RIGHT + step RIGHT + step RIGHT + step RIGHT + turn_head UP + step_end + +GuideGentMovement6: + step UP + step UP + step_end + +CherrygroveCity_RivalWalksToYou: + step LEFT + step LEFT + step LEFT + step LEFT + step LEFT + step_end + +CherrygroveCity_RivalPushesYouOutOfTheWay: + big_step DOWN + turn_head UP + step_end + +CherrygroveCity_UnusedMovementData: + step LEFT + turn_head DOWN + step_end + +CherrygroveCity_RivalExitsStageLeft: + big_step LEFT + big_step LEFT + big_step LEFT + big_step LEFT + big_step UP + big_step UP + big_step LEFT + big_step LEFT + step_end + +GuideGentIntroText: + text "You're a rookie" + line "trainer, aren't" + cont "you? I can tell!" + + para "That's OK! Every-" + line "one is a rookie" + cont "at some point!" + + para "If you'd like, I" + line "can teach you a" + cont "few things." + done + +GuideGentTourText1: + text "OK, then!" + line "Follow me!" + done + +GuideGentPokecenterText: + text "This is a #MON" + line "CENTER. They heal" + + para "your #MON in no" + line "time at all." + + para "You'll be relying" + line "on them a lot, so" + + para "you better learn" + line "about them." + done + +GuideGentMartText: + text "This is a #MON" + line "MART." + + para "They sell BALLS" + line "for catching wild" + + para "#MON and other" + line "useful items." + done + +GuideGentRoute30Text: + text "ROUTE 30 is out" + line "this way." + + para "Trainers will be" + line "battling their" + + para "prized #MON" + line "there." + done + +GuideGentSeaText: + text "This is the sea," + line "as you can see." + + para "Some #MON are" + line "found only in" + cont "water." + done + +GuideGentGiftText: + text "Here…" + + para "It's my house!" + line "Thanks for your" + cont "company." + + para "Let me give you a" + line "small gift." + done + +GotMapCardText: + text "<PLAYER>'s #GEAR" + line "now has a MAP!" + done + +GuideGentPokegearText: + text "#GEAR becomes" + line "more useful as you" + cont "add CARDS." + + para "I wish you luck on" + line "your journey!" + done + +GuideGentNoText: + text "Oh… It's something" + line "I enjoy doing…" + + para "Fine. Come see me" + line "when you like." + done + +CherrygroveRivalText_Seen: + text "…" + + para "You got a #MON" + line "at the LAB." + + para "What a waste." + line "A wimp like you." + + para "…" + + para "Don't you get what" + line "I'm saying?" + + para "Well, I too, have" + line "a good #MON." + + para "I'll show you" + line "what I mean!" + done + +SilverCherrygroveWinText: + text "Humph. Are you" + line "happy you won?" + done + +CherrygroveRivalText_YouLost: + text "…" + + para "My name's ???." + + para "I'm going to be" + line "the world's great-" + cont "est #MON" + cont "trainer." + done + +SilverCherrygroveLossText: + text "Humph. That was a" + line "waste of time." + done + +CherrygroveRivalText_YouWon: + text "…" + + para "My name's ???." + + para "I'm going to be" + line "the world's great-" + cont "est #MON" + cont "trainer." + done + +CherrygroveTeacherText_NoMapCard: + text "Did you talk to" + line "the old man by the" + cont "#MON CENTER?" + + para "He'll put a MAP of" + line "JOHTO on your" + cont "#GEAR." + done + +CherrygroveTeacherText_HaveMapCard: + text "When you're with" + line "#MON, going" + cont "anywhere is fun." + done + +CherrygroveYoungsterText_NoPokedex: + text "MR.#MON's house" + line "is still farther" + cont "up ahead." + done + +CherrygroveYoungsterText_HavePokedex: + text "I battled the" + line "trainers on the" + cont "road." + + para "My #MON lost." + line "They're a mess! I" + + para "must take them to" + line "a #MON CENTER." + done + +MysticWaterGuyTextBefore: + text "A #MON I caught" + line "had an item." + + para "I think it's" + line "MYSTIC WATER." + + para "I don't need it," + line "so do you want it?" + done + +MysticWaterGuyTextAfter: + text "Back to fishing" + line "for me, then." + done + +CherrygroveCitySignText: + text "CHERRYGROVE CITY" + + para "The City of Cute," + line "Fragrant Flowers" + done + +GuideGentsHouseSignText: + text "GUIDE GENT'S HOUSE" + done + +CherrygroveCity_MapEvents: + db 0, 0 ; filler + + db 5 ; warp events + warp_event 23, 3, CHERRYGROVE_MART, 2 + warp_event 29, 3, CHERRYGROVE_POKECENTER_1F, 1 + warp_event 17, 7, CHERRYGROVE_GYM_SPEECH_HOUSE, 1 + warp_event 25, 9, GUIDE_GENTS_HOUSE, 1 + warp_event 31, 11, CHERRYGROVE_EVOLUTION_SPEECH_HOUSE, 1 + + db 2 ; coord events + coord_event 33, 6, SCENE_CHERRYGROVECITY_MEET_RIVAL, CherrygroveSilverSceneNorth + coord_event 33, 7, SCENE_CHERRYGROVECITY_MEET_RIVAL, CherrygroveSilverSceneSouth + + db 4 ; bg events + bg_event 30, 8, BGEVENT_READ, CherrygroveCitySign + bg_event 23, 9, BGEVENT_READ, GuideGentsHouseSign + bg_event 24, 3, BGEVENT_READ, CherrygroveCityMartSign + bg_event 30, 3, BGEVENT_READ, CherrygroveCityPokecenterSign + + db 5 ; object events + object_event 32, 6, SPRITE_GRAMPS, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CherrygroveCityGuideGent, EVENT_GUIDE_GENT_IN_HIS_HOUSE + object_event 39, 6, SPRITE_SILVER, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_RIVAL_CHERRYGROVE_CITY + object_event 27, 12, SPRITE_TEACHER, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, CherrygroveTeacherScript, -1 + object_event 23, 7, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CherrygroveYoungsterScript, -1 + object_event 7, 12, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, MysticWaterGuy, -1 diff --git a/maps/CianwoodCity.asm b/maps/CianwoodCity.asm new file mode 100644 index 00000000..30117d47 --- /dev/null +++ b/maps/CianwoodCity.asm @@ -0,0 +1,253 @@ + const_def 2 ; object constants + const CIANWOODCITY_STANDING_YOUNGSTER + const CIANWOODCITY_POKEFAN_M + const CIANWOODCITY_LASS + const CIANWOODCITY_ROCK1 + const CIANWOODCITY_ROCK2 + const CIANWOODCITY_ROCK3 + const CIANWOODCITY_ROCK4 + const CIANWOODCITY_ROCK5 + const CIANWOODCITY_ROCK6 + const CIANWOODCITY_POKEFAN_F + +CianwoodCity_MapScripts: + db 0 ; scene scripts + + db 1 ; callbacks + callback MAPCALLBACK_NEWMAP, .FlyPoint + +.FlyPoint: + setflag ENGINE_FLYPOINT_CIANWOOD + return + +CianwoodCityChucksWife: + faceplayer + opentext + checkevent EVENT_GOT_HM02_FLY + iftrue .GotFly + writetext ChucksWifeEasierToFlyText + buttonsound + checkevent EVENT_BEAT_CHUCK + iftrue .BeatChuck + writetext ChucksWifeBeatChuckText + waitbutton + closetext + end + +.BeatChuck: + writetext ChucksWifeGiveHMText + buttonsound + verbosegiveitem HM_FLY + iffalse .Done + setevent EVENT_GOT_HM02_FLY + writetext ChucksWifeFlySpeechText + buttonsound +.GotFly: + writetext ChucksWifeChubbyText + waitbutton +.Done: + closetext + end + +CianwoodCityYoungster: + jumptextfaceplayer CianwoodCityYoungsterText + +CianwoodCityPokefanM: + jumptextfaceplayer CianwoodCityPokefanMText + +CianwoodCityLass: + jumptextfaceplayer CianwoodCityLassText + +CianwoodCityUnusedScript: +; unreferenced + jumptextfaceplayer CianwoodCityUnusedText + +CianwoodCitySign: + jumptext CianwoodCitySignText + +CianwoodGymSign: + jumptext CianwoodGymSignText + +CianwoodPharmacySign: + jumptext CianwoodPharmacySignText + +CianwoodPhotoStudioSign: + jumptext CianwoodPhotoStudioSignText + +CianwoodPokecenterSign: + jumpstd pokecentersign + +CianwoodCityRock: + jumpstd smashrock + +CianwoodCityHiddenRevive: + hiddenitem REVIVE, EVENT_CIANWOOD_CITY_HIDDEN_REVIVE + +CianwoodCityHiddenMaxEther: + hiddenitem MAX_ETHER, EVENT_CIANWOOD_CITY_HIDDEN_MAX_ETHER + +ChucksWifeEasierToFlyText: + text "You crossed the" + line "sea to get here?" + + para "That must have" + line "been hard." + + para "It would be much" + line "easier if your" + + para "#MON knew how" + line "to FLY…" + done + +ChucksWifeBeatChuckText: + text "But you can't use" + line "FLY without this" + cont "city's GYM BADGE." + + para "If you beat the" + line "GYM LEADER here," + cont "come see me." + + para "I'll have a nice" + line "gift for you." + done + +ChucksWifeGiveHMText: + text "That's CIANWOOD's" + line "GYM BADGE!" + + para "Then you should" + line "take this HM." + done + +ChucksWifeFlySpeechText: + text "Teach FLY to your" + line "#MON." + + para "You will be able" + line "to FLY instantly" + + para "to anywhere you " + line "have visited." + done + +ChucksWifeChubbyText: + text "My husband lost to" + line "you, so he needs" + cont "to train harder." + + para "That's good, since" + line "he was getting a" + cont "little chubby." + done + +CianwoodCityYoungsterText: + text "If you use FLY," + line "you can get back" + + para "to OLIVINE in-" + line "stantly." + done + +CianwoodCityPokefanMText: + text "Boulders to the" + line "north of town can" + cont "be crushed." + + para "They may be hiding" + line "something." + + para "Your #MON could" + line "use ROCK SMASH to" + cont "break them." + done + +CianwoodCityLassText: + text "CHUCK, the GYM" + line "LEADER, spars with" + + para "his fighting #-" + line "MON." + done + +CianwoodCityUnusedText: +; unused + text "There are several" + line "islands between" + cont "here and OLIVINE." + + para "A mythical sea" + line "creature supposed-" + cont "ly lives there." + done + +CianwoodCitySignText: + text "CIANWOOD CITY" + + para "A Port Surrounded" + line "by Rough Seas" + done + +CianwoodGymSignText: + text "CIANWOOD CITY" + line "#MON GYM" + + para "LEADER: CHUCK" + + para "His Roaring Fists" + line "Do the Talking" + done + +CianwoodPharmacySignText: + text "500 Years of" + line "Tradition" + + para "CIANWOOD CITY" + line "PHARMACY" + + para "We Await Your" + line "Medicinal Queries" + done + +CianwoodPhotoStudioSignText: + text "CIANWOOD CITY" + line "PHOTO STUDIO" + + para "Take a Snapshot as" + line "a Keepsake!" + done + +CianwoodCity_MapEvents: + db 0, 0 ; filler + + db 6 ; warp events + warp_event 17, 41, MANIAS_HOUSE, 1 + warp_event 8, 43, CIANWOOD_GYM, 1 + warp_event 23, 43, CIANWOOD_POKECENTER_1F, 1 + warp_event 15, 47, CIANWOOD_PHARMACY, 1 + warp_event 9, 31, CIANWOOD_PHOTO_STUDIO, 1 + warp_event 15, 37, CIANWOOD_LUGIA_SPEECH_HOUSE, 1 + + db 0 ; coord events + + db 7 ; bg events + bg_event 20, 34, BGEVENT_READ, CianwoodCitySign + bg_event 7, 45, BGEVENT_READ, CianwoodGymSign + bg_event 24, 43, BGEVENT_READ, CianwoodPokecenterSign + bg_event 19, 47, BGEVENT_READ, CianwoodPharmacySign + bg_event 8, 32, BGEVENT_READ, CianwoodPhotoStudioSign + bg_event 8, 16, BGEVENT_ITEM, CianwoodCityHiddenRevive + bg_event 5, 29, BGEVENT_ITEM, CianwoodCityHiddenMaxEther + + db 10 ; object events + object_event 21, 37, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, CianwoodCityYoungster, -1 + object_event 17, 31, SPRITE_POKEFAN_M, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CianwoodCityPokefanM, -1 + object_event 14, 42, SPRITE_LASS, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CianwoodCityLass, -1 + object_event 8, 16, SPRITE_ROCK, SPRITEMOVEDATA_SMASHABLE_ROCK, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CianwoodCityRock, -1 + object_event 11, 15, SPRITE_ROCK, SPRITEMOVEDATA_SMASHABLE_ROCK, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CianwoodCityRock, -1 + object_event 6, 24, SPRITE_ROCK, SPRITEMOVEDATA_SMASHABLE_ROCK, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CianwoodCityRock, -1 + object_event 5, 29, SPRITE_ROCK, SPRITEMOVEDATA_SMASHABLE_ROCK, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CianwoodCityRock, -1 + object_event 10, 27, SPRITE_ROCK, SPRITEMOVEDATA_SMASHABLE_ROCK, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CianwoodCityRock, -1 + object_event 7, 17, SPRITE_ROCK, SPRITEMOVEDATA_SMASHABLE_ROCK, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CianwoodCityRock, -1 + object_event 10, 46, SPRITE_POKEFAN_F, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CianwoodCityChucksWife, -1 diff --git a/maps/GoldenrodCity.asm b/maps/GoldenrodCity.asm new file mode 100644 index 00000000..752f80ad --- /dev/null +++ b/maps/GoldenrodCity.asm @@ -0,0 +1,381 @@ + const_def 2 ; object constants + const GOLDENRODCITY_POKEFAN_M1 + const GOLDENRODCITY_YOUNGSTER1 + const GOLDENRODCITY_COOLTRAINER_F1 + const GOLDENRODCITY_COOLTRAINER_F2 + const GOLDENRODCITY_YOUNGSTER2 + const GOLDENRODCITY_LASS + const GOLDENRODCITY_GRAMPS + const GOLDENRODCITY_ROCKETSCOUT + const GOLDENRODCITY_ROCKET1 + const GOLDENRODCITY_ROCKET2 + const GOLDENRODCITY_ROCKET3 + const GOLDENRODCITY_ROCKET4 + const GOLDENRODCITY_ROCKET5 + const GOLDENRODCITY_ROCKET6 + +GoldenrodCity_MapScripts: + db 0 ; scene scripts + + db 1 ; callbacks + callback MAPCALLBACK_NEWMAP, .FlyPoint + +.FlyPoint: + setflag ENGINE_FLYPOINT_GOLDENROD + setflag ENGINE_REACHED_GOLDENROD + return + +GoldenrodCityPokefanMScript: + jumptextfaceplayer GoldenrodCityPokefanMText + +GoldenrodCityYoungster1Script: + jumptextfaceplayer GoldenrodCityYoungster1Text + +GoldenrodCityCooltrainerF1Script: + faceplayer + opentext + checkevent EVENT_CLEARED_RADIO_TOWER + iftrue .ClearedRadioTower + writetext GoldenrodCityCooltrainerF1Text + waitbutton + closetext + end + +.ClearedRadioTower: + writetext GoldenrodCityCooltrainerF1Text_ClearedRadioTower + waitbutton + closetext + end + +GoldenrodCityCooltrainerF2Script: + faceplayer + opentext + checkflag ENGINE_RADIO_CARD + iftrue .GotRadioCard + writetext GoldenrodCityCooltrainerF2Text + waitbutton + closetext + end + +.GotRadioCard: + writetext GoldenrodCityCooltrainerF2Text_GotRadioCard + waitbutton + closetext + end + +GoldenrodCityYoungster2Script: + jumptextfaceplayer GoldenrodCityYoungster2Text + +GoldenrodCityLassScript: + jumptextfaceplayer GoldenrodCityLassText + +GoldenrodCityGrampsScript: + jumptextfaceplayer GoldenrodCityGrampsText + +GoldenrodCityRocketScoutScript: + opentext + writetext GoldenrodCityRocketScoutText1 + buttonsound + faceplayer + writetext GoldenrodCityRocketScoutText2 + waitbutton + closetext + turnobject GOLDENRODCITY_ROCKETSCOUT, UP + end + +GoldenrodCityRocket1Script: + jumptextfaceplayer GoldenrodCityRocket1Text + +GoldenrodCityRocket2Script: + jumptextfaceplayer GoldenrodCityRocket2Text + +GoldenrodCityRocket3Script: + jumptextfaceplayer GoldenrodCityRocket3Text + +GoldenrodCityRocket4Script: + jumptextfaceplayer GoldenrodCityRocket4Text + +GoldenrodCityRocket5Script: + jumptextfaceplayer GoldenrodCityRocket5Text + +GoldenrodCityRocket6Script: + jumptextfaceplayer GoldenrodCityRocket6Text + +GoldenrodCityStationSign: + jumptext GoldenrodCityStationSignText + +GoldenrodCityRadioTowerSign: + jumptext GoldenrodCityRadioTowerSignText + +GoldenrodDeptStoreSign: + jumptext GoldenrodDeptStoreSignText + +GoldenrodGymSign: + jumptext GoldenrodGymSignText + +GoldenrodCitySign: + jumptext GoldenrodCitySignText + +GoldenrodCityBikeShopSign: + jumptext GoldenrodCityBikeShopSignText + +GoldenrodCityGameCornerSign: + jumptext GoldenrodCityGameCornerSignText + +GoldenrodCityNameRaterSign: + jumptext GoldenrodCityNameRaterSignText + +GoldenrodCityUndergroundSignNorth: + jumptext GoldenrodCityUndergroundSignNorthText + +GoldenrodCityUndergroundSignSouth: + jumptext GoldenrodCityUndergroundSignSouthText + +GoldenrodCityPokecenterSign: + jumpstd pokecentersign + +GoldenrodCityPokefanMText: + text "They built the new" + line "RADIO TOWER to" + + para "replace the old," + line "creaky one." + done + +GoldenrodCityYoungster1Text: + text "I know there's a" + line "new BIKE SHOP, but" + + para "I can't find it" + line "anywhere." + done + +GoldenrodCityCooltrainerF1Text: + text "Is that man in" + line "black dressed up" + + para "like a TEAM ROCKET" + line "member? How silly!" + done + +GoldenrodCityCooltrainerF1Text_ClearedRadioTower: + text "Was that man in" + line "black really part" + + para "of TEAM ROCKET? I" + line "can't believe it!" + done + +GoldenrodCityCooltrainerF2Text: + text "The RADIO TOWER in" + line "GOLDENROD CITY is" + cont "a landmark." + + para "They're running a" + line "promotional cam- " + cont "paign right now." + + para "They'll modify" + line "your #GEAR," + + para "so it can also" + line "serve as a radio." + done + +GoldenrodCityCooltrainerF2Text_GotRadioCard: + text "Oh, your #GEAR" + line "works as a radio!" + done + +GoldenrodCityYoungster2Text: + text "E-he-he-he…" + + para "I got in trouble" + line "for playing in the" + + para "basement of the" + line "DEPT.STORE." + done + +GoldenrodCityLassText: + text "The man at that" + line "house rates your" + cont "#MON names." + + para "He can even rename" + line "your #MON." + done + +GoldenrodCityGrampsText: + text "Whew! This is one" + line "big town. I don't" + + para "know where any-" + line "thing is." + done + +GoldenrodCityRocketScoutText1: + text "So this is the" + line "RADIO TOWER…" + done + +GoldenrodCityRocketScoutText2: + text "What do you want," + line "you pest? Scram!" + done + +GoldenrodCityRocket1Text: + text "Stay out of the" + line "way! Beat it!" + done + +GoldenrodCityRocket2Text: + text "Take over the" + line "RADIO TOWER…" + + para "What? It's none of" + line "your business!" + done + +GoldenrodCityRocket3Text: + text "#MON? They're" + line "nothing more than" + + para "tools for making" + line "money!" + done + +GoldenrodCityRocket4Text: + text "Our dream will" + line "soon come true…" + + para "It was such a long" + line "struggle…" + done + +GoldenrodCityRocket5Text: + text "Hey, brat! You" + line "don't belong here!" + cont "Get lost!" + done + +GoldenrodCityRocket6Text: + text "Come taste the" + line "true terror of" + cont "TEAM ROCKET!" + done + +GoldenrodCityStationSignText: + text "GOLDENROD CITY" + line "STATION" + done + +GoldenrodCityRadioTowerSignText: + text "GOLDENROD CITY" + line "RADIO TOWER" + done + +GoldenrodDeptStoreSignText: + text "Full Selection of" + line "#MON Goods!" + + para "GOLDENROD CITY" + line "DEPT.STORE" + done + +GoldenrodGymSignText: + text "GOLDENROD CITY" + line "#MON GYM" + cont "LEADER: WHITNEY" + + para "The Incredibly" + line "Pretty Girl!" + done + +GoldenrodCitySignText: + text "GOLDENROD CITY" + + para "The Festive City" + line "of Opulent Charm" + done + +GoldenrodCityBikeShopSignText: + text "The World is a" + line "Cycle Path!" + cont "BIKE SHOP" + done + +GoldenrodCityGameCornerSignText: + text "Your Playground!" + + para "GOLDENROD CITY" + line "GAME CORNER" + done + +GoldenrodCityNameRaterSignText: + text "NAME RATER" + + para "Get Your #MON" + line "Nicknames Rated" + done + +GoldenrodCityUndergroundSignNorthText: + text "UNDERGROUND" + line "ENTRANCE" + done + +GoldenrodCityUndergroundSignSouthText: + text "UNDERGROUND" + line "ENTRANCE" + done + +GoldenrodCity_MapEvents: + db 0, 0 ; filler + + db 15 ; warp events + warp_event 24, 7, GOLDENROD_GYM, 1 + warp_event 29, 29, GOLDENROD_BIKE_SHOP, 1 + warp_event 31, 21, GOLDENROD_HAPPINESS_RATER, 1 + warp_event 5, 25, BILLS_FAMILYS_HOUSE, 1 + warp_event 9, 13, GOLDENROD_MAGNET_TRAIN_STATION, 2 + warp_event 33, 5, GOLDENROD_FLOWER_SHOP, 1 + warp_event 15, 27, GOLDENROD_POKECENTER_1F, 1 + warp_event 33, 9, GOLDENROD_PP_SPEECH_HOUSE, 1 + warp_event 15, 7, GOLDENROD_NAME_RATER, 1 + warp_event 24, 27, GOLDENROD_DEPT_STORE_1F, 1 + warp_event 14, 21, GOLDENROD_GAME_CORNER, 1 + warp_event 5, 15, RADIO_TOWER_1F, 1 + warp_event 19, 1, ROUTE_35_GOLDENROD_GATE, 3 + warp_event 9, 5, GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, 8 + warp_event 11, 29, GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, 5 + + db 0 ; coord events + + db 11 ; bg events + bg_event 10, 14, BGEVENT_READ, GoldenrodCityStationSign + bg_event 4, 17, BGEVENT_READ, GoldenrodCityRadioTowerSign + bg_event 26, 27, BGEVENT_READ, GoldenrodDeptStoreSign + bg_event 26, 9, BGEVENT_READ, GoldenrodGymSign + bg_event 22, 18, BGEVENT_READ, GoldenrodCitySign + bg_event 28, 30, BGEVENT_READ, GoldenrodCityBikeShopSign + bg_event 16, 22, BGEVENT_READ, GoldenrodCityGameCornerSign + bg_event 12, 7, BGEVENT_READ, GoldenrodCityNameRaterSign + bg_event 8, 6, BGEVENT_READ, GoldenrodCityUndergroundSignNorth + bg_event 12, 30, BGEVENT_READ, GoldenrodCityUndergroundSignSouth + bg_event 16, 27, BGEVENT_READ, GoldenrodCityPokecenterSign + + db 14 ; object events + object_event 7, 18, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityPokefanMScript, EVENT_GOLDENROD_CITY_CIVILIANS + object_event 30, 17, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityYoungster1Script, EVENT_GOLDENROD_CITY_CIVILIANS + object_event 12, 16, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, GoldenrodCityCooltrainerF1Script, EVENT_GOLDENROD_CITY_CIVILIANS + object_event 20, 26, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_WANDER, 1, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityCooltrainerF2Script, EVENT_GOLDENROD_CITY_CIVILIANS + object_event 19, 17, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, GoldenrodCityYoungster2Script, EVENT_GOLDENROD_CITY_CIVILIANS + object_event 17, 10, SPRITE_LASS, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 2, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, GoldenrodCityLassScript, EVENT_GOLDENROD_CITY_CIVILIANS + object_event 11, 27, SPRITE_GRAMPS, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityGrampsScript, EVENT_GOLDENROD_CITY_CIVILIANS + object_event 4, 16, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityRocketScoutScript, EVENT_GOLDENROD_CITY_ROCKET_SCOUT + object_event 28, 20, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityRocket1Script, EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER + object_event 8, 15, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityRocket2Script, EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER + object_event 16, 23, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityRocket3Script, EVENT_RADIO_TOWER_ROCKET_TAKEOVER + object_event 29, 20, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityRocket4Script, EVENT_RADIO_TOWER_ROCKET_TAKEOVER + object_event 29, 7, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityRocket5Script, EVENT_RADIO_TOWER_ROCKET_TAKEOVER + object_event 30, 10, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityRocket6Script, EVENT_RADIO_TOWER_ROCKET_TAKEOVER diff --git a/maps/NewBarkTown.asm b/maps/NewBarkTown.asm new file mode 100644 index 00000000..432e97e8 --- /dev/null +++ b/maps/NewBarkTown.asm @@ -0,0 +1,316 @@ + const_def 2 ; object constants + const NEWBARKTOWN_TEACHER + const NEWBARKTOWN_FISHER + const NEWBARKTOWN_SILVER + +NewBarkTown_MapScripts: + db 2 ; scene scripts + scene_script .DummyScene0 ; SCENE_DEFAULT + scene_script .DummyScene1 ; SCENE_FINISHED + + db 1 ; callbacks + callback MAPCALLBACK_NEWMAP, .FlyPoint + +.DummyScene0: + end + +.DummyScene1: + end + +.FlyPoint: + setflag ENGINE_FLYPOINT_NEW_BARK + clearevent EVENT_FIRST_TIME_BANKING_WITH_MOM + return + +NewBarkTown_TeacherStopsYouScene1: + playmusic MUSIC_MOM + turnobject NEWBARKTOWN_TEACHER, LEFT + opentext + writetext Text_WaitPlayer + waitbutton + closetext + turnobject PLAYER, RIGHT + applymovement NEWBARKTOWN_TEACHER, Movement_TeacherRunsToYou1_NBT + opentext + writetext Text_WhatDoYouThinkYoureDoing + waitbutton + closetext + follow NEWBARKTOWN_TEACHER, PLAYER + applymovement NEWBARKTOWN_TEACHER, Movement_TeacherBringsYouBack1_NBT + stopfollow + opentext + writetext Text_ItsDangerousToGoAlone + waitbutton + closetext + special RestartMapMusic + end + +NewBarkTown_TeacherStopsYouScene2: + playmusic MUSIC_MOM + turnobject NEWBARKTOWN_TEACHER, LEFT + opentext + writetext Text_WaitPlayer + waitbutton + closetext + turnobject PLAYER, RIGHT + applymovement NEWBARKTOWN_TEACHER, Movement_TeacherRunsToYou2_NBT + turnobject PLAYER, UP + opentext + writetext Text_WhatDoYouThinkYoureDoing + waitbutton + closetext + follow NEWBARKTOWN_TEACHER, PLAYER + applymovement NEWBARKTOWN_TEACHER, Movement_TeacherBringsYouBack2_NBT + stopfollow + opentext + writetext Text_ItsDangerousToGoAlone + waitbutton + closetext + special RestartMapMusic + end + +NewBarkTownTeacherScript: + faceplayer + opentext + checkevent EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST + iftrue .CallMom + checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM + iftrue .TellMomYoureLeaving + checkevent EVENT_GOT_A_POKEMON_FROM_ELM + iftrue .MonIsAdorable + writetext Text_GearIsImpressive + waitbutton + closetext + end + +.MonIsAdorable: + writetext Text_YourMonIsAdorable + waitbutton + closetext + end + +.TellMomYoureLeaving: + writetext Text_TellMomIfLeaving + waitbutton + closetext + end + +.CallMom: + writetext Text_CallMomOnGear + waitbutton + closetext + end + +NewBarkTownFisherScript: + jumptextfaceplayer Text_ElmDiscoveredNewMon + +NewBarkTownSilverScript: + opentext + writetext NewBarkTownRivalText1 + waitbutton + closetext + turnobject NEWBARKTOWN_SILVER, LEFT + opentext + writetext NewBarkTownRivalText2 + waitbutton + closetext + follow PLAYER, NEWBARKTOWN_SILVER + applymovement PLAYER, Movement_SilverPushesYouAway_NBT + stopfollow + pause 5 + turnobject NEWBARKTOWN_SILVER, DOWN + pause 5 + playsound SFX_TACKLE + applymovement PLAYER, Movement_SilverShovesYouOut_NBT + applymovement NEWBARKTOWN_SILVER, Movement_SilverReturnsToTheShadows_NBT + end + +NewBarkTownSign: + jumptext NewBarkTownSignText + +NewBarkTownPlayersHouseSign: + jumptext NewBarkTownPlayersHouseSignText + +NewBarkTownElmsLabSign: + jumptext NewBarkTownElmsLabSignText + +NewBarkTownElmsHouseSign: + jumptext NewBarkTownElmsHouseSignText + +MrChronoScript: + faceplayer + opentext + writetext MrChronoText + special MrChrono + closetext + end + +Movement_TeacherRunsToYou1_NBT: + step LEFT + step LEFT + step LEFT + step LEFT + step_end + +Movement_TeacherRunsToYou2_NBT: + step LEFT + step LEFT + step LEFT + step LEFT + step LEFT + turn_head DOWN + step_end + +Movement_TeacherBringsYouBack1_NBT: + step RIGHT + step RIGHT + step RIGHT + step RIGHT + turn_head LEFT + step_end + +Movement_TeacherBringsYouBack2_NBT: + step RIGHT + step RIGHT + step RIGHT + step RIGHT + step RIGHT + turn_head LEFT + step_end + +Movement_SilverPushesYouAway_NBT: + turn_head UP + step DOWN + step_end + +Movement_SilverShovesYouOut_NBT: + turn_head UP + fix_facing + jump_step DOWN + remove_fixed_facing + step_end + +Movement_SilverReturnsToTheShadows_NBT: + step RIGHT + step_end + +Text_GearIsImpressive: + text "Wow, your #GEAR" + line "is impressive!" + + para "Did your mom get" + line "it for you?" + done + +Text_WaitPlayer: + text "Wait, <PLAYER>!" + done + +Text_WhatDoYouThinkYoureDoing: + text "What do you think" + line "you're doing?" + done + +Text_ItsDangerousToGoAlone: + text "It's dangerous to" + line "go out without a" + cont "#MON!" + + para "Wild #MON" + line "jump out of the" + + para "grass on the way" + line "to the next town." + done + +Text_YourMonIsAdorable: + text "Oh! Your #MON" + line "is adorable!" + cont "I wish I had one!" + done + +Text_TellMomIfLeaving: + text "Hi, <PLAYER>!" + line "Leaving again?" + + para "You should tell" + line "your mom if you" + cont "are leaving." + done + +Text_CallMomOnGear: + text "Call your mom on" + line "your #GEAR to" + + para "let her know how" + line "you're doing." + done + +Text_ElmDiscoveredNewMon: + text "Yo, <PLAYER>!" + + para "I hear PROF.ELM" + line "discovered some" + cont "new #MON." + done + +NewBarkTownRivalText1: + text "<……>" + + para "So this is the" + line "famous ELM #MON" + cont "LAB…" + done + +NewBarkTownRivalText2: + text "…What are you" + line "staring at?" + done + +NewBarkTownSignText: + text "NEW BARK TOWN" + + para "The Town Where the" + line "Winds of a New" + cont "Beginning Blow" + done + +NewBarkTownPlayersHouseSignText: + text "<PLAYER>'s House" + done + +NewBarkTownElmsLabSignText: + text "ELM #MON LAB" + done + +NewBarkTownElmsHouseSignText: + text "ELM'S HOUSE" + done + +MrChronoText: + text "I'm MR.CHRONO." + prompt + +NewBarkTown_MapEvents: + db 0, 0 ; filler + + db 4 ; warp events + warp_event 6, 3, ELMS_LAB, 1 + warp_event 13, 5, PLAYERS_HOUSE_1F, 1 + warp_event 3, 11, PLAYERS_NEIGHBORS_HOUSE, 1 + warp_event 11, 13, ELMS_HOUSE, 1 + + db 2 ; coord events + coord_event 1, 8, SCENE_DEFAULT, NewBarkTown_TeacherStopsYouScene1 + coord_event 1, 9, SCENE_DEFAULT, NewBarkTown_TeacherStopsYouScene2 + + db 4 ; bg events + bg_event 8, 8, BGEVENT_READ, NewBarkTownSign + bg_event 11, 5, BGEVENT_READ, NewBarkTownPlayersHouseSign + bg_event 3, 3, BGEVENT_READ, NewBarkTownElmsLabSign + bg_event 9, 13, BGEVENT_READ, NewBarkTownElmsHouseSign + + db 3 ; object events + object_event 6, 8, SPRITE_TEACHER, SPRITEMOVEDATA_SPINRANDOM_SLOW, 1, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, NewBarkTownTeacherScript, -1 + object_event 12, 9, SPRITE_FISHER, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 1, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, NewBarkTownFisherScript, -1 + object_event 3, 2, SPRITE_SILVER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, NewBarkTownSilverScript, EVENT_RIVAL_NEW_BARK_TOWN diff --git a/maps/VioletCity.asm b/maps/VioletCity.asm new file mode 100644 index 00000000..966d1f4a --- /dev/null +++ b/maps/VioletCity.asm @@ -0,0 +1,312 @@ + const_def 2 ; object constants + const VIOLETCITY_EARL + const VIOLETCITY_LASS + const VIOLETCITY_SUPER_NERD + const VIOLETCITY_GRAMPS + const VIOLETCITY_YOUNGSTER + const VIOLETCITY_FRUIT_TREE + const VIOLETCITY_POKE_BALL1 + const VIOLETCITY_POKE_BALL2 + +VioletCity_MapScripts: + db 0 ; scene scripts + + db 1 ; callbacks + callback MAPCALLBACK_NEWMAP, .FlyPoint + +.FlyPoint: + setflag ENGINE_FLYPOINT_VIOLET + return + +VioletCityEarlScript: + applymovement VIOLETCITY_EARL, VioletCitySpinningEarl_MovementData + faceplayer + opentext + writetext Text_EarlAsksIfYouBeatFalkner + yesorno + iffalse .FollowEarl + jump .PointlessJump + +.PointlessJump: + writetext Text_VeryNiceIndeed + waitbutton + closetext + end + +.FollowEarl: + writetext Text_FollowEarl + waitbutton + closetext + playmusic MUSIC_SHOW_ME_AROUND + follow VIOLETCITY_EARL, PLAYER + applymovement VIOLETCITY_EARL, VioletCityFollowEarl_MovementData + turnobject PLAYER, UP + applymovement VIOLETCITY_EARL, VioletCitySpinningEarl_MovementData + stopfollow + special RestartMapMusic + opentext + writetext Text_HereTeacherIAm + waitbutton + closetext + applymovement VIOLETCITY_EARL, VioletCitySpinningEarl_MovementData + applymovement VIOLETCITY_EARL, VioletCityFinishFollowEarl_MovementData + playsound SFX_ENTER_DOOR + disappear VIOLETCITY_EARL + clearevent EVENT_EARLS_ACADEMY_EARL + waitsfx + end + +VioletCityLassScript: + jumptextfaceplayer VioletCityLassText + +VioletCitySuperNerdScript: + jumptextfaceplayer VioletCitySuperNerdText + +VioletCityGrampsScript: + jumptextfaceplayer VioletCityGrampsText + +VioletCityYoungsterScript: + jumptextfaceplayer VioletCityYoungsterText + +VioletCitySign: + jumptext VioletCitySignText + +VioletGymSign: + jumptext VioletGymSignText + +SproutTowerSign: + jumptext SproutTowerSignText + +EarlsPokemonAcademySign: + jumptext EarlsPokemonAcademySignText + +VioletCityPokecenterSign: + jumpstd pokecentersign + +VioletCityMartSign: + jumpstd martsign + +VioletCityPPUp: + itemball PP_UP + +VioletCityRareCandy: + itemball RARE_CANDY + +VioletCityFruitTree: + fruittree FRUITTREE_VIOLET_CITY + +VioletCityHiddenHyperPotion: + hiddenitem HYPER_POTION, EVENT_VIOLET_CITY_HIDDEN_HYPER_POTION + +VioletCityFollowEarl_MovementData: + big_step DOWN + big_step DOWN + turn_head DOWN + turn_head LEFT + turn_head UP + turn_head RIGHT + turn_head DOWN + turn_head LEFT + turn_head UP + turn_head RIGHT + big_step RIGHT + big_step RIGHT + big_step RIGHT + big_step RIGHT + big_step RIGHT + big_step RIGHT + big_step RIGHT + big_step RIGHT + big_step RIGHT + turn_head RIGHT + turn_head DOWN + turn_head LEFT + turn_head UP + turn_head RIGHT + turn_head DOWN + turn_head LEFT + turn_head UP + turn_head RIGHT + turn_head DOWN + big_step DOWN + turn_head DOWN + turn_head LEFT + turn_head UP + turn_head RIGHT + turn_head DOWN + turn_head LEFT + turn_head UP + turn_head RIGHT + big_step RIGHT + big_step RIGHT + big_step RIGHT + big_step RIGHT + big_step RIGHT + big_step RIGHT + big_step RIGHT + big_step RIGHT + turn_head RIGHT + turn_head DOWN + turn_head LEFT + turn_head UP + turn_head RIGHT + turn_head DOWN + turn_head LEFT + turn_head UP + big_step UP + turn_head DOWN + step_end + +VioletCityFinishFollowEarl_MovementData: + step UP + step_end + +VioletCitySpinningEarl_MovementData: + turn_head DOWN + turn_head LEFT + turn_head UP + turn_head RIGHT + turn_head DOWN + turn_head LEFT + turn_head UP + turn_head RIGHT + turn_head DOWN + turn_head LEFT + turn_head UP + turn_head RIGHT + turn_head DOWN + step_end + +Text_EarlAsksIfYouBeatFalkner: + text "Hello!" + line "You are trainer?" + + para "Battle GYM LEADER," + line "win you did?" + done + +Text_VeryNiceIndeed: + text "Ooh, la la!" + line "Very indeed nice!" + done + +Text_FollowEarl: + text "Is that so? Then" + line "study shall you!" + cont "Follow me!" + done + +Text_HereTeacherIAm: + text "Here, teacher I" + line "am. Good it is" + cont "you study here!" + done + +VioletCityLassText: + text "Ghosts are rumored" + line "to appear in" + cont "SPROUT TOWER." + + para "They said normal-" + line "type #MON moves" + + para "had no effect on" + line "ghosts." + done + +VioletCitySuperNerdText: + text "Hey, you're a" + line "#MON trainer?" + + para "If you beat the" + line "GYM LEADER here," + + para "you'll be ready" + line "for prime time!" + done + +VioletCityGrampsText: + text "FALKNER, from the" + line "VIOLET #MON" + + para "GYM, is a fine" + line "trainer!" + + para "He inherited his" + line "father's gym and" + + para "has done a great" + line "job with it." + done + +VioletCityYoungsterText: + text "I saw a wiggly" + line "tree up ahead!" + + para "If you touch it," + line "it squirms and" + cont "dances! Cool!" + done + +VioletCitySignText: + text "VIOLET CITY" + + para "The City of" + line "Nostalgic Scents" + done + +VioletGymSignText: + text "VIOLET CITY" + line "#MON GYM" + cont "LEADER: FALKNER" + + para "The Elegant Master" + line "of Flying #MON" + done + +SproutTowerSignText: + text "SPROUT TOWER" + + para "Experience the" + line "Way of #MON" + done + +EarlsPokemonAcademySignText: + text "EARL'S #MON" + line "ACADEMY" + done + +VioletCity_MapEvents: + db 0, 0 ; filler + + db 9 ; warp events + warp_event 9, 17, VIOLET_MART, 2 + warp_event 18, 17, VIOLET_GYM, 1 + warp_event 30, 17, EARLS_POKEMON_ACADEMY, 1 + warp_event 3, 15, VIOLET_NICKNAME_SPEECH_HOUSE, 1 + warp_event 31, 25, VIOLET_POKECENTER_1F, 1 + warp_event 21, 29, VIOLET_KYLES_HOUSE, 1 + warp_event 23, 5, SPROUT_TOWER_1F, 1 + warp_event 39, 24, ROUTE_31_VIOLET_GATE, 1 + warp_event 39, 25, ROUTE_31_VIOLET_GATE, 2 + + db 0 ; coord events + + db 7 ; bg events + bg_event 24, 20, BGEVENT_READ, VioletCitySign + bg_event 15, 17, BGEVENT_READ, VioletGymSign + bg_event 24, 8, BGEVENT_READ, SproutTowerSign + bg_event 27, 17, BGEVENT_READ, EarlsPokemonAcademySign + bg_event 32, 25, BGEVENT_READ, VioletCityPokecenterSign + bg_event 10, 17, BGEVENT_READ, VioletCityMartSign + bg_event 37, 14, BGEVENT_ITEM, VioletCityHiddenHyperPotion + + db 8 ; object events + object_event 13, 16, SPRITE_FISHER, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, VioletCityEarlScript, EVENT_VIOLET_CITY_EARL + object_event 28, 28, SPRITE_LASS, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, VioletCityLassScript, -1 + object_event 24, 14, SPRITE_SUPER_NERD, SPRITEMOVEDATA_WANDER, 1, 2, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, VioletCitySuperNerdScript, -1 + object_event 17, 20, SPRITE_GRAMPS, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, VioletCityGrampsScript, -1 + object_event 5, 18, SPRITE_YOUNGSTER, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, VioletCityYoungsterScript, -1 + object_event 14, 29, SPRITE_FRUIT_TREE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, VioletCityFruitTree, -1 + object_event 4, 1, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, VioletCityPPUp, EVENT_VIOLET_CITY_PP_UP + object_event 35, 5, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, VioletCityRareCandy, EVENT_VIOLET_CITY_RARE_CANDY |