diff options
-rw-r--r-- | constants/engine_flags.asm | 16 | ||||
-rw-r--r-- | constants/event_flags.asm | 2 | ||||
-rwxr-xr-x | engine/engine_flags.asm | 16 | ||||
-rw-r--r-- | macros/scripts/events.asm | 4 | ||||
-rw-r--r-- | main.asm | 19 | ||||
-rw-r--r-- | maps/OlivineLighthouse1F.asm | 53 | ||||
-rw-r--r-- | maps/OlivineLighthouse2F.asm | 162 | ||||
-rw-r--r-- | maps/OlivineLighthouse3F.asm | 135 | ||||
-rw-r--r-- | maps/OlivineLighthouse4F.asm | 103 | ||||
-rw-r--r-- | maps/OlivineLighthouse5F.asm | 113 | ||||
-rw-r--r-- | maps/OlivineLighthouse6F.asm | 274 | ||||
-rw-r--r-- | maps/RuinsOfAlphAerodactylChamber.asm | 77 | ||||
-rw-r--r-- | maps/RuinsOfAlphHoOhChamber.asm | 77 | ||||
-rw-r--r-- | maps/RuinsOfAlphInnerChamber.asm | 123 | ||||
-rw-r--r-- | maps/RuinsOfAlphKabutoChamber.asm | 105 | ||||
-rw-r--r-- | maps/RuinsOfAlphOmanyteChamber.asm | 77 | ||||
-rw-r--r-- | maps/RuinsOfAlphOutside.asm | 238 | ||||
-rw-r--r-- | maps/RuinsOfAlphResearchCenter.asm | 338 | ||||
-rw-r--r-- | maps/SlowpokeWellB1F.asm | 341 | ||||
-rw-r--r-- | maps/SlowpokeWellB2F.asm | 74 | ||||
-rw-r--r-- | maps/UnionCave1F.asm | 223 | ||||
-rw-r--r-- | maps/UnionCaveB1F.asm | 174 | ||||
-rw-r--r-- | maps/UnionCaveB2F.asm | 158 |
23 files changed, 2882 insertions, 20 deletions
diff --git a/constants/engine_flags.asm b/constants/engine_flags.asm index d41a2528..1b8f2f3d 100644 --- a/constants/engine_flags.asm +++ b/constants/engine_flags.asm @@ -51,14 +51,14 @@ engine_flag_def ENGINE_VOLCANOBADGE, wKantoBadges, 6 ; volcanobadge ; $28 engine_flag_def ENGINE_EARTHBADGE, wKantoBadges, 7 ; earthbadge - engine_flag_def ENGINE_UNLOCKED_UNOWNS_1, wUnlockedUnowns, 0 - engine_flag_def ENGINE_UNLOCKED_UNOWNS_2, wUnlockedUnowns, 1 - engine_flag_def ENGINE_UNLOCKED_UNOWNS_3, wUnlockedUnowns, 2 - engine_flag_def ENGINE_UNLOCKED_UNOWNS_4, wUnlockedUnowns, 3 - engine_flag_def ENGINE_UNLOCKED_UNOWNS_5, wUnlockedUnowns, 4 - engine_flag_def ENGINE_UNLOCKED_UNOWNS_6, wUnlockedUnowns, 5 - engine_flag_def ENGINE_UNLOCKED_UNOWNS_7, wUnlockedUnowns, 6 ; $30 - engine_flag_def ENGINE_UNLOCKED_UNOWNS_8, wUnlockedUnowns, 7 + engine_flag_def ENGINE_UNLOCKED_UNOWNS_A_TO_K, wUnlockedUnowns, 0 + engine_flag_def ENGINE_UNLOCKED_UNOWNS_L_TO_R, wUnlockedUnowns, 1 + engine_flag_def ENGINE_UNLOCKED_UNOWNS_S_TO_W, wUnlockedUnowns, 2 + engine_flag_def ENGINE_UNLOCKED_UNOWNS_X_TO_Z, wUnlockedUnowns, 3 + engine_flag_def ENGINE_UNLOCKED_UNOWNS_UNUSED_4, wUnlockedUnowns, 4 + engine_flag_def ENGINE_UNLOCKED_UNOWNS_UNUSED_5, wUnlockedUnowns, 5 + engine_flag_def ENGINE_UNLOCKED_UNOWNS_UNUSED_6, wUnlockedUnowns, 6 ; $30 + engine_flag_def ENGINE_UNLOCKED_UNOWNS_UNUSED_7, wUnlockedUnowns, 7 engine_flag_def ENGINE_FLYPOINT_KRISS_HOUSE, wVisitedSpawns, 0 ; your house engine_flag_def ENGINE_FLYPOINT_VIRIDIAN_POKECENTER, wVisitedSpawns, 1 ; viridian pokecenter diff --git a/constants/event_flags.asm b/constants/event_flags.asm index f5dcdc10..a0f67d37 100644 --- a/constants/event_flags.asm +++ b/constants/event_flags.asm @@ -622,7 +622,7 @@ const EVENT_BEVERLY_ASKED_FOR_PHONE_NUMBER const EVENT_BEVERLY_READY_FOR_REMATCH const EVENT_HUEY_ASKED_FOR_PHONE_NUMBER - const EVENT_264 + const EVENT_HUEY_READY_FOR_REMATCH const EVENT_GOT_PROTEIN_FROM_HUEY const EVENT_GOT_HP_UP_FROM_JOEY const EVENT_GOT_CARBOS_FROM_VANCE diff --git a/engine/engine_flags.asm b/engine/engine_flags.asm index e5ed99fd..c6ee588b 100755 --- a/engine/engine_flags.asm +++ b/engine/engine_flags.asm @@ -137,14 +137,14 @@ EngineFlags: engine_flag ENGINE_VOLCANOBADGE engine_flag ENGINE_EARTHBADGE - engine_flag ENGINE_UNLOCKED_UNOWNS_1 - engine_flag ENGINE_UNLOCKED_UNOWNS_2 - engine_flag ENGINE_UNLOCKED_UNOWNS_3 - engine_flag ENGINE_UNLOCKED_UNOWNS_4 - engine_flag ENGINE_UNLOCKED_UNOWNS_5 - engine_flag ENGINE_UNLOCKED_UNOWNS_6 - engine_flag ENGINE_UNLOCKED_UNOWNS_7 - engine_flag ENGINE_UNLOCKED_UNOWNS_8 + engine_flag ENGINE_UNLOCKED_UNOWNS_A_TO_K + engine_flag ENGINE_UNLOCKED_UNOWNS_L_TO_R + engine_flag ENGINE_UNLOCKED_UNOWNS_S_TO_W + engine_flag ENGINE_UNLOCKED_UNOWNS_X_TO_Z + engine_flag ENGINE_UNLOCKED_UNOWNS_UNUSED_4 + engine_flag ENGINE_UNLOCKED_UNOWNS_UNUSED_5 + engine_flag ENGINE_UNLOCKED_UNOWNS_UNUSED_6 + engine_flag ENGINE_UNLOCKED_UNOWNS_UNUSED_7 engine_flag ENGINE_FLYPOINT_KRISS_HOUSE engine_flag ENGINE_FLYPOINT_VIRIDIAN_POKECENTER diff --git a/macros/scripts/events.asm b/macros/scripts/events.asm index dac28d8a..10ecc385 100644 --- a/macros/scripts/events.asm +++ b/macros/scripts/events.asm @@ -924,13 +924,13 @@ elevator: MACRO dw \1 ; floor_list_pointer ENDM - enum trade_command ; $96 + enum trade_command ; $95 trade: MACRO db trade_command db \1 ; trade_id ENDM - enum askforphonenumber_command ; $97 + enum askforphonenumber_command ; $96 askforphonenumber: MACRO db askforphonenumber_command db \1 ; number @@ -1559,7 +1559,24 @@ INCLUDE "maps/RadioTower4F.asm" INCLUDE "maps/RadioTower5F.asm" SECTION "bank44", ROMX, BANK[$44] - dr $110000, $114000 +INCLUDE "maps/RuinsOfAlphOutside.asm" +INCLUDE "maps/RuinsOfAlphHoOhChamber.asm" +INCLUDE "maps/RuinsOfAlphKabutoChamber.asm" +INCLUDE "maps/RuinsOfAlphOmanyteChamber.asm" +INCLUDE "maps/RuinsOfAlphAerodactylChamber.asm" +INCLUDE "maps/RuinsOfAlphInnerChamber.asm" +INCLUDE "maps/RuinsOfAlphResearchCenter.asm" +INCLUDE "maps/UnionCave1F.asm" +INCLUDE "maps/UnionCaveB1F.asm" +INCLUDE "maps/UnionCaveB2F.asm" +INCLUDE "maps/SlowpokeWellB1F.asm" +INCLUDE "maps/SlowpokeWellB2F.asm" +INCLUDE "maps/OlivineLighthouse1F.asm" +INCLUDE "maps/OlivineLighthouse2F.asm" +INCLUDE "maps/OlivineLighthouse3F.asm" +INCLUDE "maps/OlivineLighthouse4F.asm" +INCLUDE "maps/OlivineLighthouse5F.asm" +INCLUDE "maps/OlivineLighthouse6F.asm" SECTION "bank45", ROMX, BANK[$45] dr $114000, $118000 diff --git a/maps/OlivineLighthouse1F.asm b/maps/OlivineLighthouse1F.asm new file mode 100644 index 00000000..f411731e --- /dev/null +++ b/maps/OlivineLighthouse1F.asm @@ -0,0 +1,53 @@ + const_def 2 ; object constants + const OLIVINELIGHTHOUSE1F_SAILOR + const OLIVINELIGHTHOUSE1F_POKEFAN_F + +OlivineLighthouse1F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +OlivineLighthouse1FSailorScript: + jumptextfaceplayer OlivineLighthouse1FSailorText + +OlivineLighthouse1FPokefanFScript: + jumptextfaceplayer OlivineLighthouse1FPokefanFText + +OlivineLighthouse1FSailorText: + text "People train at" + line "this LIGHTHOUSE." + + para "It's not easy to" + line "climb because of" + cont "all the trainers." + done + +OlivineLighthouse1FPokefanFText: + text "In the past, #-" + line "MON used to light" + + para "the sea around" + line "OLIVINE at night." + + para "The LIGHTHOUSE was" + line "made in honor of" + cont "those #MON." + done + +OlivineLighthouse1F_MapEvents: + db 0, 0 ; filler + + db 5 ; warp events + warp_event 10, 17, OLIVINE_CITY, 9 + warp_event 11, 17, OLIVINE_CITY, 9 + warp_event 3, 11, OLIVINE_LIGHTHOUSE_2F, 1 + warp_event 16, 13, OLIVINE_LIGHTHOUSE_2F, 3 + warp_event 17, 13, OLIVINE_LIGHTHOUSE_2F, 4 + + db 0 ; coord events + + db 0 ; bg events + + db 2 ; object events + object_event 8, 2, SPRITE_SAILOR, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OlivineLighthouse1FSailorScript, -1 + object_event 16, 9, SPRITE_POKEFAN_F, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OlivineLighthouse1FPokefanFScript, -1 diff --git a/maps/OlivineLighthouse2F.asm b/maps/OlivineLighthouse2F.asm new file mode 100644 index 00000000..cf98f65e --- /dev/null +++ b/maps/OlivineLighthouse2F.asm @@ -0,0 +1,162 @@ + const_def 2 ; object constants + const OLIVINELIGHTHOUSE2F_SAILOR + const OLIVINELIGHTHOUSE2F_GENTLEMAN + +OlivineLighthouse2F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +TrainerGentlemanAlfred: + trainer GENTLEMAN, ALFRED, EVENT_BEAT_GENTLEMAN_ALFRED, GentlemanAlfredSeenText, GentlemanAlfredBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext GentlemanAlfredAfterBattleText + waitbutton + closetext + end + +TrainerSailorHuey: + trainer SAILOR, HUEY1, EVENT_BEAT_SAILOR_HUEY, SailorHueySeenText, SailorHueyBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + checkevent EVENT_HUEY_READY_FOR_REMATCH + iftrue .WantsBattle + checkcellnum PHONE_SAILOR_HUEY + iftrue .NumberAccepted + checkevent EVENT_HUEY_ASKED_FOR_PHONE_NUMBER + iftrue .AskedBefore + writetext SailorHueyAfterBattleText + buttonsound + setevent EVENT_HUEY_ASKED_FOR_PHONE_NUMBER + scall .AskNumber1 + jump .AskForNumber + +.AskedBefore: + scall .AskNumber2 +.AskForNumber: + askforphonenumber PHONE_SAILOR_HUEY + ifequal PHONE_CONTACTS_FULL, .PhoneFull + ifequal PHONE_CONTACT_REFUSED, .NumberDeclined + trainertotext SAILOR, HUEY1, MEM_BUFFER_0 + scall .RegisteredNumber + jump .NumberAccepted + +.WantsBattle: + scall .Rematch + winlosstext SailorHueyBeatenText, 0 + checkevent EVENT_BEAT_ELITE_FOUR + iftrue .LoadFight2 + checkevent EVENT_CLEARED_RADIO_TOWER + iftrue .LoadFight1 + loadtrainer SAILOR, HUEY1 + startbattle + reloadmapafterbattle + clearevent EVENT_HUEY_READY_FOR_REMATCH + end + +.LoadFight1: + loadtrainer SAILOR, HUEY2 + startbattle + reloadmapafterbattle + clearevent EVENT_HUEY_READY_FOR_REMATCH + end + +.LoadFight2: + loadtrainer SAILOR, HUEY3 + startbattle + reloadmapafterbattle + clearevent EVENT_HUEY_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 + +SailorHueySeenText: + text "Men of the sea are" + line "always spoiling" + cont "for a good fight!" + done + +SailorHueyBeatenText: + text "Urf!" + line "I lose!" + done + +SailorHueyAfterBattleText: + text "What power!" + line "How would you like" + + para "to sail the seas" + line "with me?" + done + +GentlemanAlfredSeenText: + text "Hm? This is no" + line "place for playing." + done + +GentlemanAlfredBeatenText: + text "Ah! I can see that" + line "you're serious." + done + +GentlemanAlfredAfterBattleText: + text "Up top is a #-" + line "MON that keeps the" + cont "LIGHTHOUSE lit." + + para "But I hear that" + line "it's sick now and" + + para "can't be cured by" + line "ordinary medicine." + done + +OlivineLighthouse2F_MapEvents: + db 0, 0 ; filler + + db 6 ; warp events + warp_event 3, 11, OLIVINE_LIGHTHOUSE_1F, 3 + warp_event 5, 3, OLIVINE_LIGHTHOUSE_3F, 2 + warp_event 16, 13, OLIVINE_LIGHTHOUSE_1F, 4 + warp_event 17, 13, OLIVINE_LIGHTHOUSE_1F, 5 + warp_event 16, 11, OLIVINE_LIGHTHOUSE_3F, 4 + warp_event 17, 11, OLIVINE_LIGHTHOUSE_3F, 5 + + db 0 ; coord events + + db 0 ; bg events + + db 2 ; object events + object_event 9, 3, SPRITE_SAILOR, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerSailorHuey, -1 + object_event 17, 8, SPRITE_GENTLEMAN, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerGentlemanAlfred, -1 diff --git a/maps/OlivineLighthouse3F.asm b/maps/OlivineLighthouse3F.asm new file mode 100644 index 00000000..53b2c591 --- /dev/null +++ b/maps/OlivineLighthouse3F.asm @@ -0,0 +1,135 @@ + const_def 2 ; object constants + const OLIVINELIGHTHOUSE3F_SAILOR + const OLIVINELIGHTHOUSE3F_GENTLEMAN + const OLIVINELIGHTHOUSE3F_YOUNGSTER + const OLIVINELIGHTHOUSE3F_POKE_BALL + +OlivineLighthouse3F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +TrainerBirdKeeperTheo: + trainer BIRD_KEEPER, THEO, EVENT_BEAT_BIRD_KEEPER_THEO, BirdKeeperTheoSeenText, BirdKeeperTheoBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext BirdKeeperTheoAfterBattleText + waitbutton + closetext + end + +TrainerGentlemanPreston: + trainer GENTLEMAN, PRESTON, EVENT_BEAT_GENTLEMAN_PRESTON, GentlemanPrestonSeenText, GentlemanPrestonBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext GentlemanPrestonAfterBattleText + waitbutton + closetext + end + +TrainerSailorTerrell: + trainer SAILOR, TERRELL, EVENT_BEAT_SAILOR_TERRELL, SailorTerrellSeenText, SailorTerrellBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext SailorTerrellAfterBattleText + waitbutton + closetext + end + +OlivineLighthouse3FEther: + itemball ETHER + +BirdKeeperTheoSeenText: + text "Why are you here?" + line "Are you just going" + + para "to gawk? I suggest" + line "that you leave!" + done + +BirdKeeperTheoBeatenText: + text "You really are" + line "concerned…" + done + +BirdKeeperTheoAfterBattleText: + text "How the heck do" + line "you go up?" + + para "I want to visit" + line "the sick #MON," + + para "but I can't get up" + line "there…" + done + +SailorTerrellSeenText: + text "Sailors are both" + line "kind and strong." + cont "How about you?" + done + +SailorTerrellBeatenText: + text "You are both kind" + line "and strong…" + done + +SailorTerrellAfterBattleText: + text "Every time I come" + line "back to OLIVINE, I" + cont "visit the GYM." + + para "The GYM LEADER's" + line "#MON type has" + + para "changed without me" + line "noticing." + done + +GentlemanPrestonSeenText: + text "I travel the world" + line "to train my #-" + cont "MON. I wish to" + cont "battle with you." + done + +GentlemanPrestonBeatenText: + text "…sigh… I must" + line "train some more…" + done + +GentlemanPrestonAfterBattleText: + text "JASMINE used to" + line "use rock #MON" + cont "like ONIX." + done + +OlivineLighthouse3F_MapEvents: + db 0, 0 ; filler + + db 9 ; warp events + warp_event 13, 3, OLIVINE_LIGHTHOUSE_4F, 1 + warp_event 5, 3, OLIVINE_LIGHTHOUSE_2F, 2 + warp_event 9, 5, OLIVINE_LIGHTHOUSE_4F, 4 + warp_event 16, 11, OLIVINE_LIGHTHOUSE_2F, 5 + warp_event 17, 11, OLIVINE_LIGHTHOUSE_2F, 6 + warp_event 16, 9, OLIVINE_LIGHTHOUSE_4F, 5 + warp_event 17, 9, OLIVINE_LIGHTHOUSE_4F, 6 + warp_event 8, 3, OLIVINE_LIGHTHOUSE_4F, 7 + warp_event 9, 3, OLIVINE_LIGHTHOUSE_4F, 8 + + db 0 ; coord events + + db 0 ; bg events + + db 4 ; object events + object_event 9, 2, SPRITE_SAILOR, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 1, TrainerSailorTerrell, -1 + object_event 13, 5, SPRITE_GENTLEMAN, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 4, TrainerGentlemanPreston, -1 + object_event 3, 9, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerBirdKeeperTheo, -1 + object_event 8, 2, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, OlivineLighthouse3FEther, EVENT_OLIVINE_LIGHTHOUSE_3F_ETHER diff --git a/maps/OlivineLighthouse4F.asm b/maps/OlivineLighthouse4F.asm new file mode 100644 index 00000000..50a4d17f --- /dev/null +++ b/maps/OlivineLighthouse4F.asm @@ -0,0 +1,103 @@ + const_def 2 ; object constants + const OLIVINELIGHTHOUSE4F_SAILOR + const OLIVINELIGHTHOUSE4F_LASS + +OlivineLighthouse4F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +TrainerLassConnie: + trainer LASS, CONNIE1, EVENT_BEAT_LASS_CONNIE, LassConnie1SeenText, LassConnie1BeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext LassConnie1AfterBattleText + waitbutton + closetext + end + +TrainerSailorKent: + trainer SAILOR, KENT, EVENT_BEAT_SAILOR_KENT, SailorKentSeenText, SailorKentBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext SailorKentAfterBattleText + waitbutton + closetext + end + +SailorKentSeenText: + text "JASMINE must be" + line "worried sick about" + cont "the #MON here." + + para "She won't even" + line "smile these days." + done + +SailorKentBeatenText: + text "I can't manage a" + line "smile either…" + done + +SailorKentAfterBattleText: + text "Speaking of sick," + line "I've heard there's" + + para "a good PHARMACY in" + line "CIANWOOD." + done + +LassConnie1SeenText: + text "JASMINE is this" + line "city's GYM LEADER." + + para "I mean to bring" + line "her back with me." + + para "Nobody had better" + line "get in my way!" + done + +LassConnie1BeatenText: + text "Aaack! My #MON!" + done + +LassConnie1AfterBattleText: + text "Right. Anybody" + line "would be worried" + cont "if his or her own" + cont "#MON were hurt." + + para "I'll pray for the" + line "#MON here, so" + + para "JASMINE can come" + line "back to the GYM." + done + +OlivineLighthouse4F_MapEvents: + db 0, 0 ; filler + + db 10 ; warp events + warp_event 13, 3, OLIVINE_LIGHTHOUSE_3F, 1 + warp_event 3, 5, OLIVINE_LIGHTHOUSE_5F, 2 + warp_event 9, 7, OLIVINE_LIGHTHOUSE_5F, 3 + warp_event 9, 5, OLIVINE_LIGHTHOUSE_3F, 3 + warp_event 16, 9, OLIVINE_LIGHTHOUSE_3F, 6 + warp_event 17, 9, OLIVINE_LIGHTHOUSE_3F, 7 + warp_event 8, 3, OLIVINE_LIGHTHOUSE_3F, 8 + warp_event 9, 3, OLIVINE_LIGHTHOUSE_3F, 9 + warp_event 16, 7, OLIVINE_LIGHTHOUSE_5F, 4 + warp_event 17, 7, OLIVINE_LIGHTHOUSE_5F, 5 + + db 0 ; coord events + + db 0 ; bg events + + db 2 ; object events + object_event 7, 14, SPRITE_SAILOR, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerSailorKent, -1 + object_event 11, 2, SPRITE_LASS, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 1, TrainerLassConnie, -1 diff --git a/maps/OlivineLighthouse5F.asm b/maps/OlivineLighthouse5F.asm new file mode 100644 index 00000000..0fd8e4e2 --- /dev/null +++ b/maps/OlivineLighthouse5F.asm @@ -0,0 +1,113 @@ + const_def 2 ; object constants + const OLIVINELIGHTHOUSE5F_SAILOR + const OLIVINELIGHTHOUSE5F_YOUNGSTER + const OLIVINELIGHTHOUSE5F_POKE_BALL1 + const OLIVINELIGHTHOUSE5F_POKE_BALL2 + const OLIVINELIGHTHOUSE5F_POKE_BALL3 + +OlivineLighthouse5F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +TrainerBirdKeeperDenis: + trainer BIRD_KEEPER, DENIS, EVENT_BEAT_BIRD_KEEPER_DENIS, BirdKeeperDenisSeenText, BirdKeeperDenisBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext BirdKeeperDenisAfterBattleText + waitbutton + closetext + end + +TrainerSailorErnest: + trainer SAILOR, ERNEST, EVENT_BEAT_SAILOR_ERNEST, SailorErnestSeenText, SailorErnestBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext SailorErnestAfterBattleText + waitbutton + closetext + end + +OlivineLighthouse5FRareCandy: + itemball RARE_CANDY + +OlivineLighthouse5FSuperRepel: + itemball GREAT_BALL + +OlivineLighthouse5FTMSwagger: + itemball TM_SWAGGER + +OlivineLighthouse5FHiddenHyperPotion: + hiddenitem HYPER_POTION, EVENT_OLIVINE_LIGHTHOUSE_5F_HIDDEN_HYPER_POTION + +SailorErnestSeenText: + text "I wanted to battle" + line "JASMINE, but she's" + + para "not up to it now." + line "So, how about you?" + done + +SailorErnestBeatenText: + text "Whoa, whoa. You're" + line "overwhelming!" + done + +SailorErnestAfterBattleText: + text "A GYM LEADER isn't" + line "just about being" + + para "strong. A LEADER" + line "also needs to be" + cont "compassionate." + done + +BirdKeeperDenisSeenText: + text "We're pretty high" + line "up here. My bird" + + para "#MON are in" + line "prime form." + done + +BirdKeeperDenisBeatenText: + text "Oops…They crashed…" + done + +BirdKeeperDenisAfterBattleText: + text "My #MON learned" + line "how to use FLY in" + cont "CIANWOOD." + + para "Well, since I'm a" + line "loser, I'll FLY" + cont "across the sea…" + done + +OlivineLighthouse5F_MapEvents: + db 0, 0 ; filler + + db 7 ; warp events + warp_event 9, 15, OLIVINE_LIGHTHOUSE_6F, 1 + warp_event 3, 5, OLIVINE_LIGHTHOUSE_4F, 2 + warp_event 9, 7, OLIVINE_LIGHTHOUSE_4F, 3 + warp_event 16, 7, OLIVINE_LIGHTHOUSE_4F, 9 + warp_event 17, 7, OLIVINE_LIGHTHOUSE_4F, 10 + warp_event 16, 5, OLIVINE_LIGHTHOUSE_6F, 2 + warp_event 17, 5, OLIVINE_LIGHTHOUSE_6F, 3 + + db 0 ; coord events + + db 1 ; bg events + bg_event 3, 13, BGEVENT_ITEM, OlivineLighthouse5FHiddenHyperPotion + + db 5 ; object events + object_event 8, 11, SPRITE_SAILOR, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerSailorErnest, -1 + object_event 8, 3, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 4, TrainerBirdKeeperDenis, -1 + object_event 15, 12, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, OlivineLighthouse5FRareCandy, EVENT_OLIVINE_LIGHTHOUSE_5F_RARE_CANDY + object_event 6, 15, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, OlivineLighthouse5FSuperRepel, EVENT_OLIVINE_LIGHTHOUSE_5F_SUPER_REPEL + object_event 2, 13, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, OlivineLighthouse5FTMSwagger, EVENT_OLIVINE_LIGHTHOUSE_5F_TM_SWAGGER diff --git a/maps/OlivineLighthouse6F.asm b/maps/OlivineLighthouse6F.asm new file mode 100644 index 00000000..f0121b8e --- /dev/null +++ b/maps/OlivineLighthouse6F.asm @@ -0,0 +1,274 @@ + const_def 2 ; object constants + const OLIVINELIGHTHOUSE6F_JASMINE + const OLIVINELIGHTHOUSE6F_MONSTER + const OLIVINELIGHTHOUSE6F_POKE_BALL + +OlivineLighthouse6F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +OlivineLighthouseJasmine: + faceplayer + opentext + checkitem SECRETPOTION + iftrue .BroughtSecretpotion + checkevent EVENT_JASMINE_EXPLAINED_AMPHYS_SICKNESS + iftrue .ExplainedSickness + writetext JasmineCianwoodPharmacyText + buttonsound + setevent EVENT_JASMINE_EXPLAINED_AMPHYS_SICKNESS +.ExplainedSickness: + writetext JasmineGetSomeMedicineText + waitbutton + closetext + end + +.BroughtSecretpotion: + writetext JasmineCureAmphyText + yesorno + iffalse .no + writetext PlayerHandedSecretpotionText + buttonsound + takeitem SECRETPOTION + writetext JasmineDontBeOffendedText + waitbutton + closetext + turnobject OLIVINELIGHTHOUSE6F_JASMINE, RIGHT + pause 15 + turnobject OLIVINELIGHTHOUSE6F_MONSTER, LEFT + opentext + playmusic MUSIC_HEAL + writetext JasmineAmphyHowAreYouFeelingText + pause 60 + buttonsound + closetext + special RestartMapMusic + cry AMPHAROS + special FadeOutPalettes + pause 10 + special FadeInPalettes + opentext + writetext AmphyPaluPaluluText + waitbutton + closetext + turnobject OLIVINELIGHTHOUSE6F_MONSTER, RIGHT + pause 10 + turnobject OLIVINELIGHTHOUSE6F_MONSTER, LEFT + pause 10 + turnobject OLIVINELIGHTHOUSE6F_MONSTER, RIGHT + pause 10 + turnobject OLIVINELIGHTHOUSE6F_MONSTER, LEFT + pause 10 + faceplayer + opentext + writetext JasmineThankYouText + waitbutton + closetext + setevent EVENT_JASMINE_RETURNED_TO_GYM + clearevent EVENT_OLIVINE_GYM_JASMINE + checkcode VAR_FACING + ifequal DOWN, .FacingDown + ifequal RIGHT, .FacingRight + applymovement OLIVINELIGHTHOUSE6F_JASMINE, MovementData_0x60c68 + disappear OLIVINELIGHTHOUSE6F_JASMINE + end + +.FacingDown: + applymovement OLIVINELIGHTHOUSE6F_JASMINE, MovementData_0x60c70 + disappear OLIVINELIGHTHOUSE6F_JASMINE + end + +.FacingRight: + applymovement OLIVINELIGHTHOUSE6F_JASMINE, MovementData_0x60c79 + disappear OLIVINELIGHTHOUSE6F_JASMINE + end + +.no: + writetext JasmineISeeText + waitbutton + closetext + turnobject OLIVINELIGHTHOUSE6F_JASMINE, RIGHT + pause 15 + turnobject OLIVINELIGHTHOUSE6F_MONSTER, LEFT + opentext + writetext JasmineAmphyHangOnText + waitbutton + closetext + end + +OlivineLighthouseUnusedDummyScript: +; unused + end + +OlivineLighthouseAmphy: + faceplayer + opentext + checkevent EVENT_JASMINE_RETURNED_TO_GYM + iftrue .HealthyNow + writetext AmphyPalPalooText + writebyte AMPHAROS + special PlaySlowCry + buttonsound + writetext AmphyBreathingLaboredText + waitbutton + closetext + end + +.HealthyNow: + writetext AmphyPaluPaluluText + cry AMPHAROS + waitbutton + closetext + special FadeOutPalettes + special FadeInPalettes + special FadeOutPalettes + special FadeInPalettes + end + +OlivineLighthouse6FSuperPotion: + itemball SUPER_POTION + +MovementData_0x60c68: + slow_step UP + slow_step UP + slow_step RIGHT + slow_step UP + slow_step UP + step_sleep 8 + step_sleep 8 + step_end + +MovementData_0x60c70: + slow_step DOWN + slow_step RIGHT + slow_step RIGHT + slow_step RIGHT + slow_step UP + slow_step RIGHT + slow_step RIGHT + slow_step RIGHT + step_end + +MovementData_0x60c79: + slow_step UP + slow_step UP + slow_step RIGHT + slow_step UP + slow_step UP + slow_step UP + step_sleep 8 + step_end + +JasmineCianwoodPharmacyText: + text "JASMINE: … This" + line "#MON always" + + para "kept the sea lit" + line "at night." + + para "…But it suddenly" + line "got sick… It's" + cont "gasping for air…" + + para "…I understand" + line "that there is a" + + para "wonderful PHARMACY" + line "in CIANWOOD…" + + para "But that's across" + line "the sea…" + + para "And I can't leave" + line "AMPHY unattended…" + done + +JasmineGetSomeMedicineText: + text "…May I ask you to" + line "get some medicine" + cont "for me? Please?" + done + +JasmineCureAmphyText: + text "JASMINE: …Will" + line "that medicine cure" + cont "AMPHY?" + done + +PlayerHandedSecretpotionText: + text "<PLAYER> handed the" + line "SECRETPOTION to" + cont "JASMINE." + done + +JasmineDontBeOffendedText: + text "JASMINE: …Um," + line "please don't be" + cont "offended…" + + para "…AMPHY will not" + line "take anything from" + cont "anyone but me…" + done + +JasmineAmphyHowAreYouFeelingText: + text "JASMINE: …" + + para "AMPHY, how are you" + line "feeling?" + done + +JasmineThankYouText: + text "JASMINE: …Oh, I'm" + line "so relieved…" + + para "This is just so" + line "wonderful…" + + para "Thank you so very," + line "very much." + + para "…I will return to" + line "the GYM…" + done + +JasmineISeeText: + text "JASMINE: …I see…" + done + +JasmineAmphyHangOnText: + text "…AMPHY, hang on!" + done + +AmphyPalPalooText: + text "AMPHY: …" + line "…Pa… paloo…" + done + +AmphyBreathingLaboredText: + text "Its breathing is" + line "terribly labored…" + done + +AmphyPaluPaluluText: + text "AMPHY: Palu!" + line "Palulu!" + done + +OlivineLighthouse6F_MapEvents: + db 0, 0 ; filler + + db 3 ; warp events + warp_event 9, 15, OLIVINE_LIGHTHOUSE_5F, 1 + warp_event 16, 5, OLIVINE_LIGHTHOUSE_5F, 6 + warp_event 17, 5, OLIVINE_LIGHTHOUSE_5F, 7 + + db 0 ; coord events + + db 0 ; bg events + + db 3 ; object events + object_event 8, 8, SPRITE_JASMINE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, OlivineLighthouseJasmine, EVENT_OLIVINE_LIGHTHOUSE_JASMINE + object_event 9, 8, SPRITE_MONSTER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, OlivineLighthouseAmphy, -1 + object_event 3, 4, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, OlivineLighthouse6FSuperPotion, EVENT_OLIVINE_LIGHTHOUSE_6F_SUPER_POTION diff --git a/maps/RuinsOfAlphAerodactylChamber.asm b/maps/RuinsOfAlphAerodactylChamber.asm new file mode 100644 index 00000000..a257fada --- /dev/null +++ b/maps/RuinsOfAlphAerodactylChamber.asm @@ -0,0 +1,77 @@ +RuinsOfAlphAerodactylChamber_MapScripts: + db 0 ; scene scripts + + db 1 ; callbacks + callback MAPCALLBACK_TILES, .HiddenDoors + +.HiddenDoors: + checkevent EVENT_SOLVED_AERODACTYL_PUZZLE + iffalse .FloorClosed + return + +.FloorClosed: + changeblock 2, 2, $01 ; left floor + changeblock 4, 2, $02 ; right floor + return + +RuinsOfAlphAerodactylChamberPuzzle: + refreshscreen + writebyte UNOWNPUZZLE_AERODACTYL + special UnownPuzzle + closetext + iftrue .PuzzleComplete + end + +.PuzzleComplete: + setevent EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS + setevent EVENT_SOLVED_AERODACTYL_PUZZLE + setflag ENGINE_UNLOCKED_UNOWNS_S_TO_W + setmapscene RUINS_OF_ALPH_INNER_CHAMBER, SCENE_RUINSOFALPHINNERCHAMBER_STRANGE_PRESENCE + earthquake 30 + showemote EMOTE_SHOCK, PLAYER, 15 + changeblock 2, 2, $18 ; left hole + changeblock 4, 2, $19 ; right hole + reloadmappart + playsound SFX_STRENGTH + earthquake 80 + warpcheck + end + +RuinsOfAlphAerodactylChamberAncientReplica: + jumptext RuinsOfAlphAerodactylChamberAncientReplicaText + +RuinsOfAlphAerodactylChamberDescriptionSign: + jumptext RuinsOfAlphAerodactylChamberDescriptionText + +RuinsOfAlphAerodactylChamberAncientReplicaText: + text "It's a replica of" + line "an ancient #-" + cont "MON." + done + +RuinsOfAlphAerodactylChamberDescriptionText: + text "This flying #-" + line "MON attacked its" + + para "prey with saw-like" + line "fangs." + done + +RuinsOfAlphAerodactylChamber_MapEvents: + db 0, 0 ; filler + + db 4 ; warp events + warp_event 3, 9, RUINS_OF_ALPH_OUTSIDE, 4 + warp_event 4, 9, RUINS_OF_ALPH_OUTSIDE, 4 + warp_event 3, 3, RUINS_OF_ALPH_INNER_CHAMBER, 8 + warp_event 4, 3, RUINS_OF_ALPH_INNER_CHAMBER, 9 + + db 0 ; coord events + + db 4 ; bg events + bg_event 2, 3, BGEVENT_READ, RuinsOfAlphAerodactylChamberAncientReplica + bg_event 5, 3, BGEVENT_READ, RuinsOfAlphAerodactylChamberAncientReplica + bg_event 3, 2, BGEVENT_UP, RuinsOfAlphAerodactylChamberPuzzle + bg_event 4, 2, BGEVENT_UP, RuinsOfAlphAerodactylChamberDescriptionSign + + db 0 ; object events diff --git a/maps/RuinsOfAlphHoOhChamber.asm b/maps/RuinsOfAlphHoOhChamber.asm new file mode 100644 index 00000000..e133e2f6 --- /dev/null +++ b/maps/RuinsOfAlphHoOhChamber.asm @@ -0,0 +1,77 @@ +RuinsOfAlphHoOhChamber_MapScripts: + db 0 ; scene scripts + + db 1 ; callbacks + callback MAPCALLBACK_TILES, .HiddenDoors + +.HiddenDoors: + checkevent EVENT_SOLVED_HO_OH_PUZZLE + iffalse .FloorClosed + return + +.FloorClosed: + changeblock 2, 2, $01 ; left floor + changeblock 4, 2, $02 ; right floor + return + +RuinsOfAlphHoOhChamberPuzzle: + refreshscreen + writebyte UNOWNPUZZLE_HO_OH + special UnownPuzzle + closetext + iftrue .PuzzleComplete + end + +.PuzzleComplete: + setevent EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS + setevent EVENT_SOLVED_HO_OH_PUZZLE + setflag ENGINE_UNLOCKED_UNOWNS_X_TO_Z + setmapscene RUINS_OF_ALPH_INNER_CHAMBER, SCENE_RUINSOFALPHINNERCHAMBER_STRANGE_PRESENCE + earthquake 30 + showemote EMOTE_SHOCK, PLAYER, 15 + changeblock 2, 2, $18 ; left hole + changeblock 4, 2, $19 ; right hole + reloadmappart + playsound SFX_STRENGTH + earthquake 80 + warpcheck + end + +RuinsOfAlphHoOhChamberAncientReplica: + jumptext RuinsOfAlphHoOhChamberAncientReplicaText + +RuinsOfAlphHoOhChamberDescriptionSign: + jumptext RuinsOfAlphHoOhChamberDescriptionText + +RuinsOfAlphHoOhChamberAncientReplicaText: + text "It's a replica of" + line "an ancient #-" + cont "MON." + done + +RuinsOfAlphHoOhChamberDescriptionText: + text "A #MON that" + line "flew gracefully on" + + para "rainbow-colored" + line "wings." + done + +RuinsOfAlphHoOhChamber_MapEvents: + db 0, 0 ; filler + + db 4 ; warp events + warp_event 3, 9, RUINS_OF_ALPH_OUTSIDE, 1 + warp_event 4, 9, RUINS_OF_ALPH_OUTSIDE, 1 + warp_event 3, 3, RUINS_OF_ALPH_INNER_CHAMBER, 2 + warp_event 4, 3, RUINS_OF_ALPH_INNER_CHAMBER, 3 + + db 0 ; coord events + + db 4 ; bg events + bg_event 2, 3, BGEVENT_READ, RuinsOfAlphHoOhChamberAncientReplica + bg_event 5, 3, BGEVENT_READ, RuinsOfAlphHoOhChamberAncientReplica + bg_event 3, 2, BGEVENT_UP, RuinsOfAlphHoOhChamberPuzzle + bg_event 4, 2, BGEVENT_UP, RuinsOfAlphHoOhChamberDescriptionSign + + db 0 ; object events diff --git a/maps/RuinsOfAlphInnerChamber.asm b/maps/RuinsOfAlphInnerChamber.asm new file mode 100644 index 00000000..fd7f7074 --- /dev/null +++ b/maps/RuinsOfAlphInnerChamber.asm @@ -0,0 +1,123 @@ + const_def 2 ; object constants + const RUINSOFALPHINNERCHAMBER_FISHER + const RUINSOFALPHINNERCHAMBER_TEACHER + const RUINSOFALPHINNERCHAMBER_GRAMPS + +RuinsOfAlphInnerChamber_MapScripts: + db 2 ; scene scripts + scene_script .DummyScene0 ; SCENE_RUINSOFALPHINNERCHAMBER_NOTHING + scene_script .UnownAppear ; SCENE_RUINSOFALPHINNERCHAMBER_STRANGE_PRESENCE + + db 0 ; callbacks + +.DummyScene0: + end + +.UnownAppear: + priorityjump .StrangePresenceScript + end + +.StrangePresenceScript: + opentext + writetext RuinsOfAlphStrangePresenceText + waitbutton + closetext + setscene SCENE_RUINSOFALPHINNERCHAMBER_NOTHING + setevent EVENT_MADE_UNOWN_APPEAR_IN_RUINS + end + +RuinsOfAlphInnerChamberFisherScript: + jumptextfaceplayer RuinsOfAlphInnerChamberFisherText + +RuinsOfAlphInnerChamberTeacherScript: + jumptextfaceplayer RuinsOfAlphInnerChamberTeacherText + +RuinsOfAlphInnerChamberGrampsScript: + jumptextfaceplayer RuinsOfAlphInnerChamberGrampsText + +RuinsOfAlphInnerChamberStatue: + jumptext RuinsOfAlphInnerChamberStatueText + +RuinsOfAlphStrangePresenceText: + text "There is a strange" + line "presence here…" + done + +RuinsOfAlphInnerChamberFisherText: + text "This is a big" + line "room, but there's" + cont "nothing here." + done + +RuinsOfAlphInnerChamberTeacherText: + text "This place has a" + line "mystical quality" + cont "to it." + + para "It feels sort of" + line "ethereal even." + done + +RuinsOfAlphInnerChamberGrampsText: + text "Ancient buildings" + line "are often tombs of" + cont "kings." + + para "Like the pyramids," + line "for instance." + done + +RuinsOfAlphInnerChamberStatueText: + text "It's a replica of" + line "an ancient #-" + cont "MON." + done + +RuinsOfAlphInnerChamber_MapEvents: + db 0, 0 ; filler + + db 9 ; warp events + warp_event 10, 13, RUINS_OF_ALPH_OUTSIDE, 5 + warp_event 3, 15, RUINS_OF_ALPH_HO_OH_CHAMBER, 3 + warp_event 4, 15, RUINS_OF_ALPH_HO_OH_CHAMBER, 4 + warp_event 15, 3, RUINS_OF_ALPH_KABUTO_CHAMBER, 3 + warp_event 16, 3, RUINS_OF_ALPH_KABUTO_CHAMBER, 4 + warp_event 3, 21, RUINS_OF_ALPH_OMANYTE_CHAMBER, 3 + warp_event 4, 21, RUINS_OF_ALPH_OMANYTE_CHAMBER, 4 + warp_event 15, 24, RUINS_OF_ALPH_AERODACTYL_CHAMBER, 3 + warp_event 16, 24, RUINS_OF_ALPH_AERODACTYL_CHAMBER, 4 + + db 0 ; coord events + + db 26 ; bg events + bg_event 2, 3, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 5, 3, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 8, 3, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 11, 3, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 14, 3, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 17, 3, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 2, 8, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 5, 8, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 8, 8, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 11, 8, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 14, 8, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 17, 8, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 2, 13, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 17, 13, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 2, 18, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 5, 18, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 8, 18, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 11, 18, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 14, 18, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 17, 18, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 2, 24, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 5, 24, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 8, 24, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 11, 24, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 14, 24, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + bg_event 17, 24, BGEVENT_READ, RuinsOfAlphInnerChamberStatue + + db 3 ; object events + object_event 3, 7, SPRITE_FISHER, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, RuinsOfAlphInnerChamberFisherScript, EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS + object_event 14, 13, SPRITE_TEACHER, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, RuinsOfAlphInnerChamberTeacherScript, EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS + object_event 11, 19, SPRITE_GRAMPS, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, RuinsOfAlphInnerChamberGrampsScript, EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS diff --git a/maps/RuinsOfAlphKabutoChamber.asm b/maps/RuinsOfAlphKabutoChamber.asm new file mode 100644 index 00000000..dca455e7 --- /dev/null +++ b/maps/RuinsOfAlphKabutoChamber.asm @@ -0,0 +1,105 @@ + const_def 2 ; object constants + const RUINSOFALPHKABUTOCHAMBER_RECEPTIONIST + const RUINSOFALPHKABUTOCHAMBER_SCIENTIST + +RuinsOfAlphKabutoChamber_MapScripts: + db 0 ; scene scripts + + db 1 ; callbacks + callback MAPCALLBACK_TILES, RuinsOfAlphKabutoChamberHiddenDoors + +RuinsOfAlphKabutoChamberReceptionistScript: + jumptextfaceplayer RuinsOfAlphKabutoChamberReceptionistText + +RuinsOfAlphKabutoChamberHiddenDoors: + checkevent EVENT_SOLVED_KABUTO_PUZZLE + iffalse .FloorClosed + return + +.FloorClosed: + changeblock 2, 2, $01 ; left floor + changeblock 4, 2, $02 ; right floor + return + +RuinsOfAlphKabutoChamberPuzzle: + refreshscreen + writebyte UNOWNPUZZLE_KABUTO + special UnownPuzzle + closetext + iftrue .PuzzleComplete + end + +.PuzzleComplete: + setevent EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS + setevent EVENT_SOLVED_KABUTO_PUZZLE + setflag ENGINE_UNLOCKED_UNOWNS_A_TO_K + setevent EVENT_RUINS_OF_ALPH_KABUTO_CHAMBER_RECEPTIONIST + setmapscene RUINS_OF_ALPH_INNER_CHAMBER, SCENE_RUINSOFALPHINNERCHAMBER_STRANGE_PRESENCE + earthquake 30 + showemote EMOTE_SHOCK, PLAYER, 15 + changeblock 2, 2, $18 ; left hole + changeblock 4, 2, $19 ; right hole + reloadmappart + playsound SFX_STRENGTH + earthquake 80 + warpcheck + end + +RuinsOfAlphKabutoChamberAncientReplica: + jumptext RuinsOfAlphKabutoChamberAncientReplicaText + +RuinsOfAlphKabutoChamberDescriptionSign: + jumptext RuinsOfAlphKabutoChamberDescriptionText + +RuinsOfAlphKabutoChamberReceptionistText: + text "Welcome to this" + line "chamber." + + para "There are sliding" + line "panels that depict" + + para "a #MON drawn by" + line "the ancients." + + para "Slide the panels" + line "around to form the" + cont "picture." + + para "To the right is a" + line "description of the" + cont "#MON." + done + +RuinsOfAlphKabutoChamberAncientReplicaText: + text "It's a replica of" + line "an ancient #-" + cont "MON." + done + +RuinsOfAlphKabutoChamberDescriptionText: + text "A #MON that hid" + line "on the sea floor." + + para "Eyes on its back" + line "scanned the area." + done + +RuinsOfAlphKabutoChamber_MapEvents: + db 0, 0 ; filler + + db 4 ; warp events + warp_event 3, 9, RUINS_OF_ALPH_OUTSIDE, 2 + warp_event 4, 9, RUINS_OF_ALPH_OUTSIDE, 2 + warp_event 3, 3, RUINS_OF_ALPH_INNER_CHAMBER, 4 + warp_event 4, 3, RUINS_OF_ALPH_INNER_CHAMBER, 5 + + db 0 ; coord events + + db 4 ; bg events + bg_event 2, 3, BGEVENT_READ, RuinsOfAlphKabutoChamberAncientReplica + bg_event 5, 3, BGEVENT_READ, RuinsOfAlphKabutoChamberAncientReplica + bg_event 3, 2, BGEVENT_UP, RuinsOfAlphKabutoChamberPuzzle + bg_event 4, 2, BGEVENT_UP, RuinsOfAlphKabutoChamberDescriptionSign + + db 1 ; object events + object_event 5, 5, SPRITE_RECEPTIONIST, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, RuinsOfAlphKabutoChamberReceptionistScript, EVENT_RUINS_OF_ALPH_KABUTO_CHAMBER_RECEPTIONIST diff --git a/maps/RuinsOfAlphOmanyteChamber.asm b/maps/RuinsOfAlphOmanyteChamber.asm new file mode 100644 index 00000000..6ea0a8c1 --- /dev/null +++ b/maps/RuinsOfAlphOmanyteChamber.asm @@ -0,0 +1,77 @@ +RuinsOfAlphOmanyteChamber_MapScripts: + db 0 ; scene scripts + + db 1 ; callbacks + callback MAPCALLBACK_TILES, .HiddenDoors + +.HiddenDoors: + checkevent EVENT_SOLVED_OMANYTE_PUZZLE + iffalse .FloorClosed + return + +.FloorClosed: + changeblock 2, 2, $01 ; left floor + changeblock 4, 2, $02 ; right floor + return + +RuinsOfAlphOmanyteChamberPuzzle: + refreshscreen + writebyte UNOWNPUZZLE_OMANYTE + special UnownPuzzle + closetext + iftrue .PuzzleComplete + end + +.PuzzleComplete: + setevent EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS + setevent EVENT_SOLVED_OMANYTE_PUZZLE + setflag ENGINE_UNLOCKED_UNOWNS_L_TO_R + setmapscene RUINS_OF_ALPH_INNER_CHAMBER, SCENE_RUINSOFALPHINNERCHAMBER_STRANGE_PRESENCE + earthquake 30 + showemote EMOTE_SHOCK, PLAYER, 15 + changeblock 2, 2, $18 ; left hole + changeblock 4, 2, $19 ; right hole + reloadmappart + playsound SFX_STRENGTH + earthquake 80 + warpcheck + end + +RuinsOfAlphOmanyteChamberAncientReplica: + jumptext RuinsOfAlphOmanyteChamberAncientReplicaText + +RuinsOfAlphOmanyteChamberDescriptionSign: + jumptext RuinsOfAlphOmanyteChamberDescriptionText + +RuinsOfAlphOmanyteChamberAncientReplicaText: + text "It's a replica of" + line "an ancient #-" + cont "MON." + done + +RuinsOfAlphOmanyteChamberDescriptionText: + text "This #MON" + line "drifted in the" + + para "sea by twisting" + line "its ten tentacles." + done + +RuinsOfAlphOmanyteChamber_MapEvents: + db 0, 0 ; filler + + db 4 ; warp events + warp_event 3, 9, RUINS_OF_ALPH_OUTSIDE, 3 + warp_event 4, 9, RUINS_OF_ALPH_OUTSIDE, 3 + warp_event 3, 3, RUINS_OF_ALPH_INNER_CHAMBER, 6 + warp_event 4, 3, RUINS_OF_ALPH_INNER_CHAMBER, 7 + + db 0 ; coord events + + db 4 ; bg events + bg_event 2, 3, BGEVENT_READ, RuinsOfAlphOmanyteChamberAncientReplica + bg_event 5, 3, BGEVENT_READ, RuinsOfAlphOmanyteChamberAncientReplica + bg_event 3, 2, BGEVENT_UP, RuinsOfAlphOmanyteChamberPuzzle + bg_event 4, 2, BGEVENT_UP, RuinsOfAlphOmanyteChamberDescriptionSign + + db 0 ; object events diff --git a/maps/RuinsOfAlphOutside.asm b/maps/RuinsOfAlphOutside.asm new file mode 100644 index 00000000..4b098adc --- /dev/null +++ b/maps/RuinsOfAlphOutside.asm @@ -0,0 +1,238 @@ + const_def 2 ; object constants + const RUINSOFALPHOUTSIDE_YOUNGSTER1 + const RUINSOFALPHOUTSIDE_SCIENTIST + const RUINSOFALPHOUTSIDE_FISHER + const RUINSOFALPHOUTSIDE_YOUNGSTER2 + const RUINSOFALPHOUTSIDE_YOUNGSTER3 + +RuinsOfAlphOutside_MapScripts: + db 2 ; scene scripts + scene_script .DummyScene0 ; SCENE_RUINSOFALPHOUTSIDE_NOTHING + scene_script .DummyScene1 ; SCENE_RUINSOFALPHOUTSIDE_GET_UNOWN_DEX + + db 1 ; callbacks + callback MAPCALLBACK_OBJECTS, .ScientistCallback + +.DummyScene0: + end + +.DummyScene1: + end + +.ScientistCallback: + checkflag ENGINE_UNOWN_DEX + iftrue .NoScientist + checkevent EVENT_MADE_UNOWN_APPEAR_IN_RUINS + iftrue .MaybeScientist + jump .NoScientist + +.MaybeScientist: + checkcode VAR_UNOWNCOUNT + ifgreater 2, .YesScientist + jump .NoScientist + +.YesScientist: + appear RUINSOFALPHOUTSIDE_SCIENTIST + setscene SCENE_RUINSOFALPHOUTSIDE_GET_UNOWN_DEX + return + +.NoScientist: + disappear RUINSOFALPHOUTSIDE_SCIENTIST + setscene SCENE_RUINSOFALPHOUTSIDE_NOTHING + return + +RuinsOfAlphOutsideScientistScene1: + turnobject RUINSOFALPHOUTSIDE_SCIENTIST, UP + turnobject PLAYER, DOWN + jump RuinsOfAlphOutsideScientistSceneContinue + +RuinsOfAlphOutsideScientistScene2: + turnobject RUINSOFALPHOUTSIDE_SCIENTIST, LEFT + turnobject PLAYER, RIGHT + jump RuinsOfAlphOutsideScientistSceneContinue + +RuinsOfAlphOutsideScientistScript: + faceplayer +RuinsOfAlphOutsideScientistSceneContinue: + opentext + writetext RuinsOfAlphOutsideScientistText + waitbutton + closetext + playmusic MUSIC_SHOW_ME_AROUND + follow RUINSOFALPHOUTSIDE_SCIENTIST, PLAYER + applymovement RUINSOFALPHOUTSIDE_SCIENTIST, MovementData_0x580ba + disappear RUINSOFALPHOUTSIDE_SCIENTIST + stopfollow + applymovement PLAYER, MovementData_0x580c5 + setmapscene RUINS_OF_ALPH_RESEARCH_CENTER, SCENE_RUINSOFALPHRESEARCHCENTER_GET_UNOWN_DEX + warpcheck + end + +TrainerPsychicNathan: + trainer PSYCHIC_T, NATHAN, EVENT_BEAT_PSYCHIC_NATHAN, PsychicNathanSeenText, PsychicNathanBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext PsychicNathanAfterBattleText + waitbutton + closetext + end + +TrainerSuperNerdStan: + trainer SUPER_NERD, STAN, EVENT_BEAT_SUPER_NERD_STAN, SuperNerdStanSeenText, SuperNerdStanBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext SuperNerdStanAfterBattleText + waitbutton + closetext + end + +RuinsOfAlphOutsideMysteryChamberSign: + jumptext RuinsOfAlphOutsideMysteryChamberSignText + +RuinsOfAlphSign: + jumptext RuinsOfAlphSignText + +RuinsOfAlphResearchCenterSign: + jumptext RuinsOfAlphResearchCenterSignText + +MovementData_0x580ba: + step RIGHT + step RIGHT + step RIGHT + step RIGHT + step UP + step UP + step RIGHT + step RIGHT + step UP + step UP + step_end + +MovementData_0x580c5: + step UP + step_end + +RuinsOfAlphOutsideScientistText: + text "Hm? That's a #-" + line "DEX, isn't it?" + cont "May I see it?" + + para "There are so many" + line "kinds of #MON." + + para "Hm? What's this?" + + para "What is this" + line "#MON?" + + para "It looks like the" + line "strange writing on" + + para "the walls of the" + line "RUINS." + + para "If those drawings" + line "are really #-" + cont "MON, there should" + cont "be many more." + + para "I know! Let me up-" + line "grade your #-" + cont "DEX. Follow me." + done + +SuperNerdStanSeenText: + text "What do you want?" + line "I'm studying--" + cont "don't disturb me!" + done + +SuperNerdStanBeatenText: + text "Sorry…" + line "I'm frustrated by" + + para "our lack of real" + line "understanding…" + done + +SuperNerdStanAfterBattleText: + text "The RUINS are from" + line "about 1500 years" + cont "ago." + + para "Nobody knows who" + line "built them." + + para "It's also not" + line "known if the #-" + cont "MON statues have" + cont "any meaning." + + para "It's all one big" + line "mystery…" + done + +PsychicNathanSeenText: + text "Hmmm… This is a" + line "strange place." + done + +PsychicNathanBeatenText: + text "…" + done + +PsychicNathanAfterBattleText: + text "I like thinking" + line "here." + done + +RuinsOfAlphOutsideMysteryChamberSignText: + text "MYSTERY STONE" + line "PANEL CHAMBER" + done + +RuinsOfAlphSignText: + text "RUINS OF ALPH" + line "Visitors Welcome" + done + +RuinsOfAlphResearchCenterSignText: + text "RUINS OF ALPH" + line "RESEARCH CENTER" + + para "The Authority on" + line "the RUINS OF ALPH" + done + +RuinsOfAlphOutside_MapEvents: + db 0, 0 ; filler + + db 11 ; warp events + warp_event 2, 17, RUINS_OF_ALPH_HO_OH_CHAMBER, 1 + warp_event 14, 7, RUINS_OF_ALPH_KABUTO_CHAMBER, 1 + warp_event 2, 29, RUINS_OF_ALPH_OMANYTE_CHAMBER, 1 + warp_event 16, 33, RUINS_OF_ALPH_AERODACTYL_CHAMBER, 1 + warp_event 10, 13, RUINS_OF_ALPH_INNER_CHAMBER, 1 + warp_event 17, 11, RUINS_OF_ALPH_RESEARCH_CENTER, 1 + warp_event 6, 19, UNION_CAVE_B1F, 1 + warp_event 6, 27, UNION_CAVE_B1F, 2 + warp_event 7, 5, ROUTE_36_RUINS_OF_ALPH_GATE, 3 + warp_event 13, 20, ROUTE_32_RUINS_OF_ALPH_GATE, 1 + warp_event 13, 21, ROUTE_32_RUINS_OF_ALPH_GATE, 2 + + db 2 ; coord events + coord_event 11, 14, SCENE_RUINSOFALPHOUTSIDE_GET_UNOWN_DEX, RuinsOfAlphOutsideScientistScene1 + coord_event 10, 15, SCENE_RUINSOFALPHOUTSIDE_GET_UNOWN_DEX, RuinsOfAlphOutsideScientistScene2 + + db 3 ; bg events + bg_event 16, 8, BGEVENT_READ, RuinsOfAlphOutsideMysteryChamberSign + bg_event 12, 16, BGEVENT_READ, RuinsOfAlphSign + bg_event 18, 12, BGEVENT_READ, RuinsOfAlphResearchCenterSign + + db 2 ; object events + object_event 4, 20, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 1, TrainerPsychicNathan, -1 + object_event 11, 15, SPRITE_SCIENTIST, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, RuinsOfAlphOutsideScientistScript, EVENT_RUINS_OF_ALPH_OUTSIDE_SCIENTIST diff --git a/maps/RuinsOfAlphResearchCenter.asm b/maps/RuinsOfAlphResearchCenter.asm new file mode 100644 index 00000000..363e6809 --- /dev/null +++ b/maps/RuinsOfAlphResearchCenter.asm @@ -0,0 +1,338 @@ + const_def 2 ; object constants + const RUINSOFALPHRESEARCHCENTER_SCIENTIST1 + const RUINSOFALPHRESEARCHCENTER_SCIENTIST2 + const RUINSOFALPHRESEARCHCENTER_SCIENTIST3 + +RuinsOfAlphResearchCenter_MapScripts: + db 2 ; scene scripts + scene_script .DummyScene0 ; SCENE_RUINSOFALPHRESEARCHCENTER_NOTHING + scene_script .GetUnownDex ; SCENE_RUINSOFALPHRESEARCHCENTER_GET_UNOWN_DEX + + db 1 ; callbacks + callback MAPCALLBACK_OBJECTS, .ScientistCallback + +.DummyScene0: + end + +.GetUnownDex: + priorityjump .GetUnownDexScript + end + +.ScientistCallback: + checkscene + ifequal SCENE_RUINSOFALPHRESEARCHCENTER_GET_UNOWN_DEX, .ShowScientist + return + +.ShowScientist: + moveobject RUINSOFALPHRESEARCHCENTER_SCIENTIST3, 3, 7 + appear RUINSOFALPHRESEARCHCENTER_SCIENTIST3 + return + +.GetUnownDexScript: + applymovement RUINSOFALPHRESEARCHCENTER_SCIENTIST3, MovementData_0x5926f + playsound SFX_BOOT_PC + pause 60 + playsound SFX_SWITCH_POKEMON + pause 30 + playsound SFX_TALLY + pause 30 + playsound SFX_TRANSACTION + pause 30 + turnobject RUINSOFALPHRESEARCHCENTER_SCIENTIST3, DOWN + opentext + writetext RuinsOfAlphResearchCenterModifiedDexText + waitbutton + closetext + applymovement RUINSOFALPHRESEARCHCENTER_SCIENTIST3, MovementData_0x59274 + opentext + writetext RuinsOfAlphResearchCenterDexUpgradedText + playsound SFX_ITEM + waitsfx + setflag ENGINE_UNOWN_DEX + writetext RuinsOfAlphResearchCenterScientist3Text + waitbutton + closetext + applymovement RUINSOFALPHRESEARCHCENTER_SCIENTIST3, MovementData_0x59276 + setscene SCENE_RUINSOFALPHRESEARCHCENTER_NOTHING + special RestartMapMusic + end + +RuinsOfAlphResearchCenterScientist3Script: + faceplayer + opentext + checkcode VAR_UNOWNCOUNT + ifequal NUM_UNOWN, .PrinterAvailable + writetext RuinsOfAlphResearchCenterScientist3Text + waitbutton + closetext + end + +.PrinterAvailable: + writetext RuinsOfAlphResearchCenterScientist3_PrinterAvailable + waitbutton + closetext + end + +RuinsOfAlphResearchCenterScientist1Script: + faceplayer + opentext + checkflag ENGINE_UNOWN_DEX + iftrue .GotUnownDex + checkevent EVENT_MADE_UNOWN_APPEAR_IN_RUINS + iftrue .UnownAppeared + writetext RuinsOfAlphResearchCenterScientist1Text + waitbutton + closetext + end + +.UnownAppeared: + writetext RuinsOfAlphResearchCenterScientist1Text_UnownAppeared + waitbutton + closetext + end + +.GotUnownDex: + writetext RuinsOfAlphResearchCenterScientist1Text_GotUnownDex + waitbutton + closetext + end + +RuinsOfAlphResearchCenterScientist2Script: + faceplayer + opentext + checkevent EVENT_MADE_UNOWN_APPEAR_IN_RUINS + iftrue .UnownAppeared + writetext RuinsOfAlphResearchCenterScientist2Text + waitbutton + closetext + end + +.UnownAppeared: + writetext RuinsOfAlphResearchCenterScientist2Text_UnownAppeared + waitbutton + closetext + end + +RuinsOfAlphResearchCenterComputer: + opentext + checkevent EVENT_RUINS_OF_ALPH_RESEARCH_CENTER_SCIENTIST + iftrue .SkipChecking + checkcode VAR_UNOWNCOUNT + ifequal NUM_UNOWN, .FullUnownDex +.SkipChecking: + writetext RuinsOfAlphResearchCenterComputerText + waitbutton + closetext + end +.FullUnownDex: + writetext RuinsOfAlphResearchCenterComputerText_GotAllUnown + waitbutton + closetext + end + +RuinsOfAlphResearchCenterPrinter: + opentext + checkevent EVENT_RUINS_OF_ALPH_RESEARCH_CENTER_SCIENTIST + iftrue .SkipChecking + checkcode VAR_UNOWNCOUNT + ifequal NUM_UNOWN, .PrinterAvailable +.SkipChecking: + writetext RuinsOfAlphResearchCenterPrinterText_DoesntWork + waitbutton + closetext + end + +.PrinterAvailable: + writetext RuinsOfAlphResearchCenterUnownPrinterText + waitbutton + special UnownPrinter + closetext + end + +RuinsOfAlphResearchCenterPhoto: +; unreferenced + jumptext RuinsOfAlphResearchCenterProfSilktreePhotoText + +RuinsOfAlphResearchCenterBookshelf: + jumptext RuinsOfAlphResearchCenterAcademicBooksText + +MovementData_0x5926f: + step UP + step UP + step LEFT + turn_head UP + step_end + +MovementData_0x59274: + step DOWN + step_end + +MovementData_0x59276: + step UP + step_end + +RuinsOfAlphResearchCenterModifiedDexText: + text "Done!" + + para "I modified your" + line "#DEX." + + para "I added an" + line "optional #DEX" + + para "to store UNOWN" + line "data." + + para "It records them in" + line "the sequence that" + cont "they were caught." + done + +RuinsOfAlphResearchCenterDexUpgradedText: + text "<PLAYER>'s #DEX" + line "was upgraded." + done + +RuinsOfAlphResearchCenterScientist3Text: + text "The UNOWN you" + line "catch will all be" + cont "recorded." + + para "Check to see how" + line "many kinds exist." + done + +RuinsOfAlphResearchCenterScientist3_PrinterAvailable: + text "You caught all the" + line "UNOWN variations?" + + para "That's a great" + line "achievement!" + + para "I've set up the" + line "printer here for" + cont "handling UNOWN." + + para "Feel free to use" + line "it anytime." + done + +RuinsOfAlphResearchCenterScientist1Text: + text "The RUINS are" + line "about 1500 years" + cont "old." + + para "But it's not known" + line "why they were" + cont "built--or by whom." + done + +RuinsOfAlphResearchCenterScientist1Text_GotUnownDex: + text "I wonder how many" + line "kinds of #MON" + cont "are in the RUINS?" + done + +RuinsOfAlphResearchCenterScientist1Text_UnownAppeared: + text "#MON appeared" + line "in the RUINS?" + + para "That's incredible" + line "news!" + + para "We'll need to" + line "investigate this." + done + +RuinsOfAlphResearchCenterScientist2Text: + text "There are odd pat-" + line "terns drawn on the" + + para "walls of the" + line "RUINS." + + para "They must be the" + line "keys for unravel-" + cont "ing the mystery" + cont "of the RUINS." + done + +RuinsOfAlphResearchCenterScientist2Text_UnownAppeared: + text "The strange #-" + line "MON you saw in the" + cont "RUINS?" + + para "They appear to be" + line "very much like the" + + para "drawings on the" + line "walls there." + + para "Hmm…" + + para "That must mean" + line "there are many" + cont "kinds of them…" + done + +RuinsOfAlphResearchCenterComputerText: + text "RUINS OF ALPH" + + para "Exploration" + line "Year 10" + done + +RuinsOfAlphResearchCenterComputerText_GotAllUnown: + text "Mystery #MON" + line "Name: UNOWN" + + para "A total of 26" + line "kinds found." + done + +RuinsOfAlphResearchCenterPrinterText_DoesntWork: + text "This doesn't seem" + line "to work yet." + done + +RuinsOfAlphResearchCenterUnownPrinterText: + text "UNOWN may be" + line "printed out." + done + +RuinsOfAlphResearchCenterProfSilktreePhotoText: +; unused + text "It's a photo of" + line "the RESEARCH" + + para "CENTER'S founder," + line "PROF.SILKTREE." + done + +RuinsOfAlphResearchCenterAcademicBooksText: + text "There are many" + line "academic books." + + para "Ancient Ruins…" + line "Mysteries of the" + cont "Ancients…" + done + +RuinsOfAlphResearchCenter_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 2, 7, RUINS_OF_ALPH_OUTSIDE, 6 + warp_event 3, 7, RUINS_OF_ALPH_OUTSIDE, 6 + + db 0 ; coord events + + db 3 ; bg events + bg_event 6, 5, BGEVENT_READ, RuinsOfAlphResearchCenterBookshelf + bg_event 3, 4, BGEVENT_READ, RuinsOfAlphResearchCenterComputer + bg_event 7, 1, BGEVENT_READ, RuinsOfAlphResearchCenterPrinter + + db 3 ; object events + object_event 4, 5, SPRITE_SCIENTIST, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, RuinsOfAlphResearchCenterScientist1Script, -1 + object_event 5, 2, SPRITE_SCIENTIST, SPRITEMOVEDATA_WANDER, 2, 1, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, RuinsOfAlphResearchCenterScientist2Script, -1 + object_event 2, 5, SPRITE_SCIENTIST, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, RuinsOfAlphResearchCenterScientist3Script, EVENT_RUINS_OF_ALPH_RESEARCH_CENTER_SCIENTIST diff --git a/maps/SlowpokeWellB1F.asm b/maps/SlowpokeWellB1F.asm new file mode 100644 index 00000000..843114e5 --- /dev/null +++ b/maps/SlowpokeWellB1F.asm @@ -0,0 +1,341 @@ + const_def 2 ; object constants + const SLOWPOKEWELLB1F_ROCKET1 + const SLOWPOKEWELLB1F_ROCKET2 + const SLOWPOKEWELLB1F_ROCKET3 + const SLOWPOKEWELLB1F_ROCKET_GIRL + const SLOWPOKEWELLB1F_SLOWPOKE1 + const SLOWPOKEWELLB1F_SLOWPOKE2 + const SLOWPOKEWELLB1F_KURT + const SLOWPOKEWELLB1F_BOULDER + const SLOWPOKEWELLB1F_POKE_BALL + +SlowpokeWellB1F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +SlowpokeWellB1FKurtScript: + jumptextfaceplayer SlowpokeWellB1FKurtText + +TrainerGruntM29: + trainer GRUNTM, GRUNTM_29, EVENT_BEAT_ROCKET_GRUNTM_29, GruntM29SeenText, GruntM29BeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext GruntM29AfterBattleText + waitbutton + closetext + end + +TrainerGruntM1: + trainer GRUNTM, GRUNTM_1, EVENT_BEAT_ROCKET_GRUNTM_1, GruntM1SeenText, GruntM1BeatenText, 0, .Script + +.Script: + opentext + writetext TrainerGruntM1WhenTalkText + waitbutton + closetext + special FadeBlackQuickly + special ReloadSpritesNoPalettes + disappear SLOWPOKEWELLB1F_ROCKET1 + disappear SLOWPOKEWELLB1F_ROCKET2 + disappear SLOWPOKEWELLB1F_ROCKET3 + disappear SLOWPOKEWELLB1F_ROCKET_GIRL + pause 15 + special FadeInQuickly + disappear SLOWPOKEWELLB1F_KURT + moveobject SLOWPOKEWELLB1F_KURT, 11, 6 + appear SLOWPOKEWELLB1F_KURT + applymovement SLOWPOKEWELLB1F_KURT, KurtSlowpokeWellVictoryMovementData + turnobject PLAYER, RIGHT + opentext + writetext KurtLeaveSlowpokeWellText + waitbutton + closetext + setevent EVENT_CLEARED_SLOWPOKE_WELL + variablesprite SPRITE_AZALEA_ROCKET, SPRITE_SILVER + setmapscene AZALEA_TOWN, SCENE_AZALEATOWN_RIVAL_BATTLE + clearevent EVENT_ILEX_FOREST_APPRENTICE + clearevent EVENT_ILEX_FOREST_FARFETCHD + setevent EVENT_CHARCOAL_KILN_FARFETCH_D + setevent EVENT_CHARCOAL_KILN_APPRENTICE + setevent EVENT_SLOWPOKE_WELL_SLOWPOKES + setevent EVENT_SLOWPOKE_WELL_KURT + clearevent EVENT_AZALEA_TOWN_SLOWPOKES + clearevent EVENT_KURTS_HOUSE_SLOWPOKE + clearevent EVENT_KURTS_HOUSE_KURT_1 + special FadeOutPalettes + special HealParty + pause 15 + warp KURTS_HOUSE, 3, 3 + end + +TrainerGruntM2: + trainer GRUNTM, GRUNTM_2, EVENT_BEAT_ROCKET_GRUNTM_2, GruntM2SeenText, GruntM2BeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext GruntM2AfterBattleText + waitbutton + closetext + end + +TrainerGruntF1: + trainer GRUNTF, GRUNTF_1, EVENT_BEAT_ROCKET_GRUNTF_1, GruntF1SeenText, GruntF1BeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext GruntF1AfterBattleText + waitbutton + closetext + end + +SlowpokeWellB1FSlowpokeWithMailScript: + faceplayer + opentext + cry SLOWPOKE + writetext SlowpokeWellB1FSlowpokeWithMailText + yesorno + iftrue .ReadMail + closetext + end + +.ReadMail: + writetext SlowpokeWellB1FSlowpokeMailText + waitbutton + closetext + end + +SlowpokeWellB1FTaillessSlowpokeScript: + faceplayer + opentext + writetext SlowpokeWellB1FTaillessSlowpokeText + cry SLOWPOKE + waitbutton + closetext + end + +SlowpokeWellB1FBoulder: + jumpstd strengthboulder + +SlowpokeWellB1FSuperPotion: + itemball SUPER_POTION + +KurtSlowpokeWellVictoryMovementData: + step LEFT + step LEFT + step LEFT + step LEFT + step UP + step_sleep 8 + step_sleep 8 + step_sleep 8 + step LEFT + step UP + step UP + step_sleep 8 + step_sleep 8 + step_sleep 8 + turn_head LEFT + step_end + +SlowpokeWellB1FKurtText: + text "KURT: Hey there," + line "<PLAYER>!" + + para "The guards up top" + line "took off when I" + cont "shouted at them." + + para "But then I took a" + line "tumble down the" + cont "WELL." + + para "I slammed down" + line "hard on my back," + cont "so I can't move." + + para "Rats! If I were" + line "fit, my #MON" + + para "would've punished" + line "them…" + + para "Ah, it can't be" + line "helped." + + para "<PLAYER>, show them" + line "how gutsy you are" + cont "in my place!" + done + +KurtLeaveSlowpokeWellText: + text "KURT: Way to go," + line "<PLAYER>!" + + para "TEAM ROCKET has" + line "taken off." + + para "My back's better" + line "too. Let's get out" + cont "of here." + done + +GruntM29SeenText: + text "Darn! I was stand-" + line "ing guard up top" + + para "when some old coot" + line "yelled at me." + + para "He startled me so" + line "much that I fell" + cont "down here." + + para "I think I'll vent" + line "my anger by taking" + cont "it out on you!" + done + +GruntM29BeatenText: + text "Arrgh! This is NOT" + line "my day!" + done + +GruntM29AfterBattleText: + text "Sure, we've been" + line "hacking the tails" + + para "off SLOWPOKE and" + line "selling them." + + para "Everything we do" + line "is for profit." + + para "That's right!" + line "We're TEAM ROCKET," + + para "and we'll do any-" + line "thing for money!" + done + +GruntM1SeenText: + text "What do you want?" + + para "If you interrupt" + line "our work, don't" + cont "expect any mercy!" + done + +GruntM1BeatenText: + text "You did OK today," + line "brat, but wait" + cont "'til next time!" + done + +TrainerGruntM1WhenTalkText: + text "Yeah, TEAM ROCKET" + line "was broken up" + cont "three years ago." + + para "But we continued" + line "our activities" + cont "underground." + + para "Now you can have" + line "fun watching us" + cont "stir up trouble!" + done + +GruntM2SeenText: + text "Quit taking SLOW-" + line "POKETAILS?" + + para "If we obeyed you," + line "TEAM ROCKET's rep" + cont "would be ruined!" + done + +GruntM2BeatenText: + text "Just…" + line "Too strong…" + done + +GruntM2AfterBattleText: + text "We need the money," + line "but selling SLOW-" + cont "POKETAILS?" + + para "It's tough being a" + line "ROCKET GRUNT!" + done + +GruntF1SeenText: + text "Stop taking TAILS?" + + para "Yeah, just try to" + line "defeat all of us!" + done + +GruntF1BeatenText: + text "You rotten brat!" + done + +GruntF1AfterBattleText: + text "SLOWPOKETAILS" + line "grow back fast!" + + para "What's wrong with" + line "selling them?" + done + +SlowpokeWellB1FSlowpokeWithMailText: + text "A SLOWPOKE with" + line "its TAIL cut off…" + + para "Huh? It has MAIL." + line "Read it?" + done + +SlowpokeWellB1FSlowpokeMailText: + text "<PLAYER> read the" + line "MAIL." + + para "Be good and look" + line "after the house" + + para "with Grandpa and" + line "SLOWPOKE." + + para "Love, Dad" + done + +SlowpokeWellB1FTaillessSlowpokeText: + text "A SLOWPOKE with" + line "its TAIL cut off…" + done + +SlowpokeWellB1F_MapEvents: + db 0, 0 ; filler + + db 2 ; warp events + warp_event 17, 15, AZALEA_TOWN, 6 + warp_event 7, 11, SLOWPOKE_WELL_B2F, 1 + + db 0 ; coord events + + db 0 ; bg events + + db 9 ; object events + object_event 14, 8, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 1, TrainerGruntM29, EVENT_SLOWPOKE_WELL_ROCKETS + object_event 5, 2, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 1, TrainerGruntM1, EVENT_SLOWPOKE_WELL_ROCKETS + object_event 5, 6, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 2, TrainerGruntM2, EVENT_SLOWPOKE_WELL_ROCKETS + object_event 13, 2, SPRITE_ROCKET_GIRL, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 2, TrainerGruntF1, EVENT_SLOWPOKE_WELL_ROCKETS + object_event 7, 4, SPRITE_SLOWPOKE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, SlowpokeWellB1FSlowpokeWithMailScript, EVENT_SLOWPOKE_WELL_SLOWPOKES + object_event 6, 2, SPRITE_SLOWPOKE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, SlowpokeWellB1FTaillessSlowpokeScript, EVENT_SLOWPOKE_WELL_SLOWPOKES + object_event 16, 14, SPRITE_KURT, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SlowpokeWellB1FKurtScript, EVENT_SLOWPOKE_WELL_KURT + object_event 3, 2, SPRITE_BOULDER, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SlowpokeWellB1FBoulder, -1 + object_event 10, 3, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, SlowpokeWellB1FSuperPotion, EVENT_SLOWPOKE_WELL_B1F_SUPER_POTION diff --git a/maps/SlowpokeWellB2F.asm b/maps/SlowpokeWellB2F.asm new file mode 100644 index 00000000..3098815e --- /dev/null +++ b/maps/SlowpokeWellB2F.asm @@ -0,0 +1,74 @@ + const_def 2 ; object constants + const SLOWPOKEWELLB2F_GYM_GUY + const SLOWPOKEWELLB2F_POKE_BALL + +SlowpokeWellB2F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +SlowpokeWellB2FGymGuyScript: + faceplayer + opentext + checkevent EVENT_GOT_KINGS_ROCK_IN_SLOWPOKE_WELL + iftrue .GotKingsRock + writetext SlowpokeWellB2FGymGuyText + buttonsound + verbosegiveitem KINGS_ROCK + iffalse .NoRoom + setevent EVENT_GOT_KINGS_ROCK_IN_SLOWPOKE_WELL +.NoRoom: + closetext + end + +.GotKingsRock: + writetext SlowpokeWellB2FGymGuyText_GotKingsRock + waitbutton + closetext + end + +SlowpokeWellB2FTMRainDance: + itemball TM_RAIN_DANCE + +SlowpokeWellB2FGymGuyText: + text "I'm waiting to see" + line "SLOWPOKE's moment" + cont "of evolution." + + para "Through observa-" + line "tion, I made a new" + cont "discovery." + + para "A SLOWPOKE with a" + line "KING'S ROCK often" + + para "gets bitten by a" + line "SHELLDER." + + para "Here, I'll share a" + line "KING'S ROCK with" + cont "you." + done + +SlowpokeWellB2FGymGuyText_GotKingsRock: + text "I'm going to be" + line "like SLOWPOKE." + + para "I'll wait patient-" + line "ly, so I can see" + cont "one evolve." + done + +SlowpokeWellB2F_MapEvents: + db 0, 0 ; filler + + db 1 ; warp events + warp_event 9, 11, SLOWPOKE_WELL_B1F, 2 + + db 0 ; coord events + + db 0 ; bg events + + db 2 ; object events + object_event 5, 4, SPRITE_GYM_GUY, SPRITEMOVEDATA_WANDER, 1, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 1, SlowpokeWellB2FGymGuyScript, -1 + object_event 15, 5, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, SlowpokeWellB2FTMRainDance, EVENT_SLOWPOKE_WELL_B2F_TM_RAIN_DANCE diff --git a/maps/UnionCave1F.asm b/maps/UnionCave1F.asm new file mode 100644 index 00000000..e5a5d8bb --- /dev/null +++ b/maps/UnionCave1F.asm @@ -0,0 +1,223 @@ + const_def 2 ; object constants + const UNIONCAVE1F_POKEFAN_M1 + const UNIONCAVE1F_SUPER_NERD + const UNIONCAVE1F_POKEFAN_M2 + const UNIONCAVE1F_FISHER1 + const UNIONCAVE1F_FISHER2 + const UNIONCAVE1F_POKE_BALL1 + const UNIONCAVE1F_POKE_BALL2 + const UNIONCAVE1F_POKE_BALL3 + const UNIONCAVE1F_POKE_BALL4 + +UnionCave1F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +TrainerPokemaniacLarry: + trainer POKEMANIAC, LARRY, EVENT_BEAT_POKEMANIAC_LARRY, PokemaniacLarrySeenText, PokemaniacLarryBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext PokemaniacLarryAfterBattleText + waitbutton + closetext + end + +TrainerHikerRussell: + trainer HIKER, RUSSELL, EVENT_BEAT_HIKER_RUSSELL, HikerRussellSeenText, HikerRussellBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext HikerRussellAfterBattleText + waitbutton + closetext + end + +TrainerHikerDaniel: + trainer HIKER, DANIEL, EVENT_BEAT_HIKER_DANIEL, HikerDanielSeenText, HikerDanielBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext HikerDanielAfterBattleText + waitbutton + closetext + end + +TrainerFirebreatherBill: + trainer FIREBREATHER, BILL, EVENT_BEAT_FIREBREATHER_BILL, FirebreatherBillSeenText, FirebreatherBillBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext FirebreatherBillAfterBattleText + waitbutton + closetext + end + +TrainerFirebreatherRay: + trainer FIREBREATHER, RAY, EVENT_BEAT_FIREBREATHER_RAY, FirebreatherRaySeenText, FirebreatherRayBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext FirebreatherRayAfterBattleText + waitbutton + closetext + end + +UnionCave1FGreatBall: + itemball GREAT_BALL + +UnionCave1FXAttack: + itemball POTION + +UnionCave1FPotion: + itemball X_ATTACK + +UnionCave1FAwakening: + itemball AWAKENING + +UnionCave1FUnusedSign: +; unused + jumptext UnionCave1FUnusedSignText + +HikerRussellSeenText: + text "You're headed to" + line "AZALEA, are you?" + + para "Let my #MON see" + line "if you are good" + cont "enough to battle." + done + +HikerRussellBeatenText: + text "Oh, oh, oh!" + done + +HikerRussellAfterBattleText: + text "All right, then!" + line "I've decided." + + para "I'm not leaving" + line "until my #MON" + cont "get tougher!" + done + +PokemaniacLarrySeenText: + text "I roam far and" + line "wide in search of" + cont "#MON." + + para "Are you looking" + line "for #MON too?" + + para "Then you're my" + line "collecting rival!" + done + +PokemaniacLarryBeatenText: + text "Ugh. My poor #-" + line "MON…" + done + +PokemaniacLarryAfterBattleText: + text "Every Friday, you" + line "can hear #MON" + + para "roars from deep" + line "inside the cave." + done + +HikerDanielSeenText: + text "Whoa! What a" + line "surprise!" + + para "I didn't expect to" + line "see anyone here!" + done + +HikerDanielBeatenText: + text "Whoa! I'm beaten" + line "big time!" + done + +HikerDanielAfterBattleText: + text "I was conned into" + line "buying a SLOWPOKE-" + cont "TAIL." + + para "I feel sorry for" + line "the poor #MON." + done + +FirebreatherBillSeenText: + text "ZUBAT's SUPERSONIC" + line "keeps confusing" + cont "my #MON." + + para "I'm seriously" + line "upset about that!" + done + +FirebreatherBillBeatenText: + text "I flamed out!" + done + +FirebreatherBillAfterBattleText: + text "On weekends, you" + line "can hear strange" + + para "roars from deep in" + line "the cave." + done + +FirebreatherRaySeenText: + text "If it's light, a" + line "cave isn't scary." + + para "If you're strong," + line "#MON aren't" + cont "scary." + done + +FirebreatherRayBeatenText: + text "FLASH!" + done + +FirebreatherRayAfterBattleText: + text "It's my #MON's" + line "fire that lights" + cont "up this cave." + done + +UnionCave1FUnusedSignText: + text "UNION CAVE" + done + +UnionCave1F_MapEvents: + db 0, 0 ; filler + + db 4 ; warp events + warp_event 5, 19, UNION_CAVE_B1F, 3 + warp_event 3, 33, UNION_CAVE_B1F, 4 + warp_event 17, 31, ROUTE_33, 1 + warp_event 17, 3, ROUTE_32, 4 + + db 0 ; coord events + + db 0 ; bg events + + db 9 ; object events + object_event 4, 4, SPRITE_POKEFAN_M, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 1, TrainerHikerDaniel, -1 + object_event 4, 21, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 2, TrainerPokemaniacLarry, -1 + object_event 15, 8, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 3, TrainerHikerRussell, -1 + object_event 16, 31, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 4, TrainerFirebreatherRay, -1 + object_event 15, 15, SPRITE_FISHER, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 2, TrainerFirebreatherBill, -1 + object_event 17, 21, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, UnionCave1FGreatBall, EVENT_UNION_CAVE_1F_GREAT_BALL + object_event 4, 2, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, UnionCave1FXAttack, EVENT_UNION_CAVE_1F_X_ATTACK + object_event 4, 17, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, UnionCave1FPotion, EVENT_UNION_CAVE_1F_POTION + object_event 12, 33, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, UnionCave1FAwakening, EVENT_UNION_CAVE_1F_AWAKENING diff --git a/maps/UnionCaveB1F.asm b/maps/UnionCaveB1F.asm new file mode 100644 index 00000000..f13b821a --- /dev/null +++ b/maps/UnionCaveB1F.asm @@ -0,0 +1,174 @@ + const_def 2 ; object constants + const UNIONCAVEB1F_POKEFAN_M1 + const UNIONCAVEB1F_POKEFAN_M2 + const UNIONCAVEB1F_SUPER_NERD1 + const UNIONCAVEB1F_SUPER_NERD2 + const UNIONCAVEB1F_POKE_BALL1 + const UNIONCAVEB1F_BOULDER + const UNIONCAVEB1F_POKE_BALL2 + +UnionCaveB1F_MapScripts: + db 0 ; scene scripts + + db 0 ; callbacks + +TrainerPokemaniacAndrew: + trainer POKEMANIAC, ANDREW, EVENT_BEAT_POKEMANIAC_ANDREW, PokemaniacAndrewSeenText, PokemaniacAndrewBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext PokemaniacAndrewAfterBattleText + waitbutton + closetext + end + +TrainerPokemaniacCalvin: + trainer POKEMANIAC, CALVIN, EVENT_BEAT_POKEMANIAC_CALVIN, PokemaniacCalvinSeenText, PokemaniacCalvinBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext PokemaniacCalvinAfterBattleText + waitbutton + closetext + end + +TrainerHikerPhillip: + trainer HIKER, PHILLIP, EVENT_BEAT_HIKER_PHILLIP, HikerPhillipSeenText, HikerPhillipBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext HikerPhillipAfterBattleText + waitbutton + closetext + end + +TrainerHikerLeonard: + trainer HIKER, LEONARD, EVENT_BEAT_HIKER_LEONARD, HikerLeonardSeenText, HikerLeonardBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext HikerLeonardAfterBattleText + waitbutton + closetext + end + +UnionCaveB1FTMSwift: + itemball TM_SWIFT + +UnionCaveB1FXDefend: + itemball X_DEFEND + +UnionCaveB1FBoulder: + jumpstd strengthboulder + +HikerPhillipSeenText: + text "It's been a while" + line "since I last saw" + cont "another person." + + para "Don't be shy." + line "Let's battle!" + done + +HikerPhillipBeatenText: + text "Uurggh…" + done + +HikerPhillipAfterBattleText: + text "I've been lost for" + line "a long time…" + + para "I don't mind it" + line "here, but I am" + cont "soooo hungry!" + done + +HikerLeonardSeenText: + text "What do you know!" + line "A visitor!" + done + +HikerLeonardBeatenText: + text "Wahahah! You're a" + line "feisty one!" + done + +HikerLeonardAfterBattleText: + text "I live down here." + + para "You can, too, if" + line "you'd like." + + para "There's plenty of" + line "room, you see." + done + +PokemaniacAndrewSeenText: + text "Who's there?" + + para "Leave me and my" + line "#MON alone!" + done + +PokemaniacAndrewBeatenText: + text "Go…" + line "Go away!" + done + +PokemaniacAndrewAfterBattleText: + text "Just me and my" + line "#MON. I'm de-" + cont "lirious with joy." + done + +PokemaniacCalvinSeenText: + text "I came all the way" + line "here to conduct my" + cont "#MON research." + + para "Let me demonstrate" + line "my findings in a" + cont "real battle!" + done + +PokemaniacCalvinBeatenText: + text "You demonstrated" + line "on me!" + done + +PokemaniacCalvinAfterBattleText: + text "I should compile" + line "and announce my" + cont "study findings." + + para "I might even be-" + line "come famous like" + cont "PROF.ELM." + done + +UnionCaveB1F_MapEvents: + db 0, 0 ; filler + + db 5 ; warp events + warp_event 3, 3, RUINS_OF_ALPH_OUTSIDE, 7 + warp_event 3, 11, RUINS_OF_ALPH_OUTSIDE, 8 + warp_event 7, 19, UNION_CAVE_1F, 1 + warp_event 3, 33, UNION_CAVE_1F, 2 + warp_event 17, 31, UNION_CAVE_B2F, 1 + + db 0 ; coord events + + db 0 ; bg events + + db 7 ; object events + object_event 10, 4, SPRITE_POKEFAN_M, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 1, TrainerHikerPhillip, -1 + object_event 17, 10, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 3, TrainerHikerLeonard, -1 + object_event 5, 32, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerPokemaniacAndrew, -1 + object_event 17, 30, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerPokemaniacCalvin, -1 + object_event 2, 16, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, UnionCaveB1FTMSwift, EVENT_UNION_CAVE_B1F_TM_SWIFT + object_event 7, 10, SPRITE_BOULDER, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, UnionCaveB1FBoulder, -1 + object_event 17, 23, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, UnionCaveB1FXDefend, EVENT_UNION_CAVE_B1F_X_DEFEND diff --git a/maps/UnionCaveB2F.asm b/maps/UnionCaveB2F.asm new file mode 100644 index 00000000..e5e87401 --- /dev/null +++ b/maps/UnionCaveB2F.asm @@ -0,0 +1,158 @@ + const_def 2 ; object constants + const UNIONCAVEB2F_ROCKER + const UNIONCAVEB2F_COOLTRAINER_F1 + const UNIONCAVEB2F_COOLTRAINER_F2 + const UNIONCAVEB2F_POKE_BALL1 + const UNIONCAVEB2F_POKE_BALL2 + const UNIONCAVEB2F_LAPRAS + +UnionCaveB2F_MapScripts: + db 0 ; scene scripts + + db 1 ; callbacks + callback MAPCALLBACK_OBJECTS, .Lapras + +.Lapras: + checkflag ENGINE_UNION_CAVE_LAPRAS + iftrue .NoAppear + checkcode VAR_WEEKDAY + ifequal FRIDAY, .Appear +.NoAppear: + disappear UNIONCAVEB2F_LAPRAS + return + +.Appear: + appear UNIONCAVEB2F_LAPRAS + return + +UnionCaveLapras: + faceplayer + cry LAPRAS + loadwildmon LAPRAS, 20 + startbattle + disappear UNIONCAVEB2F_LAPRAS + setflag ENGINE_UNION_CAVE_LAPRAS + reloadmapafterbattle + end + +TrainerCooltrainermNick: + trainer COOLTRAINERM, NICK, EVENT_BEAT_COOLTRAINERM_NICK, CooltrainermNickSeenText, CooltrainermNickBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext CooltrainermNickAfterBattleText + waitbutton + closetext + end + +TrainerCooltrainerfGwen: + trainer COOLTRAINERF, GWEN, EVENT_BEAT_COOLTRAINERF_GWEN, CooltrainerfGwenSeenText, CooltrainerfGwenBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext CooltrainerfGwenAfterBattleText + waitbutton + closetext + end + +TrainerCooltrainerfEmma: + trainer COOLTRAINERF, EMMA, EVENT_BEAT_COOLTRAINERF_EMMA, CooltrainerfEmmaSeenText, CooltrainerfEmmaBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext CooltrainerfEmmaAfterBattleText + waitbutton + closetext + end + +UnionCaveB2FElixer: + itemball ELIXER + +UnionCaveB2FHyperPotion: + itemball HYPER_POTION + +CooltrainermNickSeenText: + text "There are two" + line "kinds of people." + + para "Those who have" + line "style, and those" + cont "who don't." + + para "What kind of" + line "person are you?" + done + +CooltrainermNickBeatenText: + text "You've got" + line "dazzling style!" + done + +CooltrainermNickAfterBattleText: + text "Your #MON style" + line "is stunning and" + cont "colorful, I admit." + + para "You'll just keep" + line "getting better!" + done + +CooltrainerfGwenSeenText: + text "I'm in training." + line "Care for a round?" + done + +CooltrainerfGwenBeatenText: + text "Aww, no! You're" + line "too good for me." + done + +CooltrainerfGwenAfterBattleText: + text "I'm going to train" + line "by myself until I" + cont "improve." + done + +CooltrainerfEmmaSeenText: + text "If the #MON I" + line "liked were there," + cont "I'd go anywhere." + + para "That's what a real" + line "trainer does." + done + +CooltrainerfEmmaBeatenText: + text "I'd rather pet my" + line "babies than this!" + done + +CooltrainerfEmmaAfterBattleText: + text "Just once a week," + line "a #MON comes to" + cont "the water's edge." + + para "I wanted to see" + line "that #MON…" + done + +UnionCaveB2F_MapEvents: + db 0, 0 ; filler + + db 1 ; warp events + warp_event 5, 3, UNION_CAVE_B1F, 5 + + db 0 ; coord events + + db 0 ; bg events + + db 6 ; object events + object_event 17, 23, SPRITE_ROCKER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 5, TrainerCooltrainermNick, -1 + object_event 5, 13, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 1, TrainerCooltrainerfGwen, -1 + object_event 3, 28, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 2, TrainerCooltrainerfEmma, -1 + object_event 16, 2, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, UnionCaveB2FElixer, EVENT_UNION_CAVE_B2F_ELIXER + object_event 12, 19, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, UnionCaveB2FHyperPotion, EVENT_UNION_CAVE_B2F_HYPER_POTION + object_event 11, 31, SPRITE_SURF, SPRITEMOVEDATA_SWIM_WANDER, 1, 1, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, UnionCaveLapras, EVENT_UNION_CAVE_B2F_LAPRAS |