summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--constants/engine_flags.asm2
-rwxr-xr-xengine/engine_flags.asm2
-rwxr-xr-xengine/events/shuckle.asm2
-rw-r--r--main.asm33
-rw-r--r--maps/CianwoodGym.asm328
-rw-r--r--maps/CianwoodLugiaSpeechHouse.asm73
-rw-r--r--maps/CianwoodPharmacy.asm87
-rw-r--r--maps/CianwoodPhotoStudio.asm61
-rw-r--r--maps/CianwoodPokecenter1F.asm91
-rw-r--r--maps/LavRadioTower1F.asm239
-rw-r--r--maps/LavenderMart.asm62
-rw-r--r--maps/LavenderNameRater.asm37
-rw-r--r--maps/LavenderPokecenter1F.asm93
-rw-r--r--maps/LavenderPokecenter2FBeta.asm16
-rw-r--r--maps/LavenderSpeechHouse.asm43
-rw-r--r--maps/ManiasHouse.asm213
-rw-r--r--maps/MrFujisHouse.asm98
-rw-r--r--maps/Route12SuperRodHouse.asm92
-rw-r--r--maps/Route8SaffronGate.asm34
-rw-r--r--maps/SoulHouse.asm88
-rw-r--r--wram.asm3
21 files changed, 1675 insertions, 22 deletions
diff --git a/constants/engine_flags.asm b/constants/engine_flags.asm
index 1b8f2f3d..082ffd64 100644
--- a/constants/engine_flags.asm
+++ b/constants/engine_flags.asm
@@ -97,7 +97,7 @@
engine_flag_def ENGINE_SPECIAL_WILDDATA, wDailyFlags, 2 ; special wilddata?
engine_flag_def ENGINE_TIME_CAPSULE, wDailyFlags, 3 ; time capsule (24h wait)
engine_flag_def ENGINE_ALL_FRUIT_TREES, wDailyFlags, 4 ; all fruit trees
- engine_flag_def ENGINE_SHUCKLE_GIVEN, wDailyFlags, 5 ; shuckle given
+ engine_flag_def ENGINE_GOT_SHUCKIE_TODAY, wDailyFlags, 5 ; shuckle given
engine_flag_def ENGINE_GOLDENROD_UNDERGROUND_MERCHANT_CLOSED, wDailyFlags, 6 ; goldenrod underground merchant closed
engine_flag_def ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY, wDailyFlags, 7 ; fought in trainer hall today
diff --git a/engine/engine_flags.asm b/engine/engine_flags.asm
index c6ee588b..107133e2 100755
--- a/engine/engine_flags.asm
+++ b/engine/engine_flags.asm
@@ -183,7 +183,7 @@ EngineFlags:
engine_flag ENGINE_SPECIAL_WILDDATA
engine_flag ENGINE_TIME_CAPSULE
engine_flag ENGINE_ALL_FRUIT_TREES
- engine_flag ENGINE_SHUCKLE_GIVEN
+ engine_flag ENGINE_GOT_SHUCKIE_TODAY
engine_flag ENGINE_GOLDENROD_UNDERGROUND_MERCHANT_CLOSED
engine_flag ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY
diff --git a/engine/events/shuckle.asm b/engine/events/shuckle.asm
index b2d81954..e83357b2 100755
--- a/engine/events/shuckle.asm
+++ b/engine/events/shuckle.asm
@@ -50,7 +50,7 @@ GiveShuckle:
call CopyName2
; Engine flag for this event.
- SetFlag ENGINE_SHUCKLE_GIVEN
+ SetFlag ENGINE_GOT_SHUCKIE_TODAY
ld a, 1
ld [wScriptVar], a
ret
diff --git a/main.asm b/main.asm
index 02f5ef33..02a6644e 100644
--- a/main.asm
+++ b/main.asm
@@ -1883,23 +1883,22 @@ SECTION "bank5c", ROMX, BANK[$5c]
dr $170000, $174000
SECTION "bank5d", ROMX, BANK[$5d]
-;INCLUDE "maps/LavenderPokecenter1F.asm"
-;INCLUDE "maps/LavenderPokecenter2FBeta.asm"
-;INCLUDE "maps/MrFujisHouse.asm"
-;INCLUDE "maps/LavenderSpeechHouse.asm"
-;INCLUDE "maps/LavenderNameRater.asm"
-;INCLUDE "maps/LavenderMart.asm"
-;INCLUDE "maps/SoulHouse.asm"
-;INCLUDE "maps/LavRadioTower1F.asm"
-;INCLUDE "maps/Route8SaffronGate.asm"
-;INCLUDE "maps/Route12SuperRodHouse.asm"
-;INCLUDE "maps/ManiasHouse.asm"
-;INCLUDE "maps/CianwoodGym.asm"
-;INCLUDE "maps/CianwoodPokecenter1F.asm"
-;INCLUDE "maps/CianwoodPharmacy.asm"
-;INCLUDE "maps/CianwoodPhotoStudio.asm"
-;INCLUDE "maps/CianwoodLugiaSpeechHouse.asm"
- dr $174000, $178000
+INCLUDE "maps/LavenderPokecenter1F.asm"
+INCLUDE "maps/LavenderPokecenter2FBeta.asm"
+INCLUDE "maps/MrFujisHouse.asm"
+INCLUDE "maps/LavenderSpeechHouse.asm"
+INCLUDE "maps/LavenderNameRater.asm"
+INCLUDE "maps/LavenderMart.asm"
+INCLUDE "maps/SoulHouse.asm"
+INCLUDE "maps/LavRadioTower1F.asm"
+INCLUDE "maps/Route8SaffronGate.asm"
+INCLUDE "maps/Route12SuperRodHouse.asm"
+INCLUDE "maps/ManiasHouse.asm"
+INCLUDE "maps/CianwoodGym.asm"
+INCLUDE "maps/CianwoodPokecenter1F.asm"
+INCLUDE "maps/CianwoodPharmacy.asm"
+INCLUDE "maps/CianwoodPhotoStudio.asm"
+INCLUDE "maps/CianwoodLugiaSpeechHouse.asm"
SECTION "bank5e", ROMX, BANK[$5e]
;INCLUDE "maps/CeladonDeptStore1F.asm"
diff --git a/maps/CianwoodGym.asm b/maps/CianwoodGym.asm
new file mode 100644
index 00000000..8a43fe43
--- /dev/null
+++ b/maps/CianwoodGym.asm
@@ -0,0 +1,328 @@
+ const_def 2 ; object constants
+ const CIANWOODGYM_CHUCK
+ const CIANWOODGYM_BLACK_BELT1
+ const CIANWOODGYM_BLACK_BELT2
+ const CIANWOODGYM_BLACK_BELT3
+ const CIANWOODGYM_BLACK_BELT4
+ const CIANWOODGYM_BOULDER1
+ const CIANWOODGYM_BOULDER2
+ const CIANWOODGYM_BOULDER3
+ const CIANWOODGYM_BOULDER4
+
+CianwoodGym_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+CianwoodGymChuckScript:
+ faceplayer
+ opentext
+ checkevent EVENT_BEAT_CHUCK
+ iftrue .FightDone
+ writetext ChuckIntroText1
+ waitbutton
+ closetext
+ turnobject CIANWOODGYM_CHUCK, RIGHT
+ opentext
+ writetext ChuckIntroText2
+ waitbutton
+ closetext
+ applymovement CIANWOODGYM_BOULDER1, CianwoodGymMovement_ChuckChucksBoulder
+ playsound SFX_STRENGTH
+ earthquake 80
+ disappear CIANWOODGYM_BOULDER1
+ pause 30
+ faceplayer
+ opentext
+ writetext ChuckIntroText3
+ waitbutton
+ closetext
+ winlosstext ChuckLossText, 0
+ loadtrainer CHUCK, CHUCK1
+ startbattle
+ reloadmapafterbattle
+ setevent EVENT_BEAT_CHUCK
+ opentext
+ writetext GetStormBadgeText
+ playsound SFX_GET_BADGE
+ waitsfx
+ setflag ENGINE_STORMBADGE
+ checkcode VAR_BADGES
+ scall CianwoodGymActivateRockets
+.FightDone:
+ checkevent EVENT_GOT_TM01_DYNAMICPUNCH
+ iftrue .AlreadyGotTM
+ setevent EVENT_BEAT_BLACKBELT_YOSHI
+ setevent EVENT_BEAT_BLACKBELT_LAO
+ setevent EVENT_BEAT_BLACKBELT_NOB
+ setevent EVENT_BEAT_BLACKBELT_LUNG
+ writetext ChuckExplainBadgeText
+ buttonsound
+ verbosegiveitem TM_DYNAMICPUNCH
+ iffalse .BagFull
+ setevent EVENT_GOT_TM01_DYNAMICPUNCH
+ writetext ChuckExplainTMText
+ waitbutton
+ closetext
+ end
+
+.AlreadyGotTM:
+ writetext ChuckAfterText
+ waitbutton
+.BagFull:
+ closetext
+ end
+
+CianwoodGymActivateRockets:
+ ifequal 7, .RadioTowerRockets
+ ifequal 6, .GoldenrodRockets
+ end
+
+.GoldenrodRockets:
+ jumpstd goldenrodrockets
+
+.RadioTowerRockets:
+ jumpstd radiotowerrockets
+
+TrainerBlackbeltYoshi:
+ trainer BLACKBELT_T, YOSHI, EVENT_BEAT_BLACKBELT_YOSHI, BlackbeltYoshiSeenText, BlackbeltYoshiBeatenText, 0, .Script
+
+.Script:
+ endifjustbattled
+ opentext
+ writetext BlackbeltYoshiAfterText
+ waitbutton
+ closetext
+ end
+
+TrainerBlackbeltLao:
+ trainer BLACKBELT_T, LAO, EVENT_BEAT_BLACKBELT_LAO, BlackbeltLaoSeenText, BlackbeltLaoBeatenText, 0, .Script
+
+.Script:
+ endifjustbattled
+ opentext
+ writetext BlackbeltLaoAfterText
+ waitbutton
+ closetext
+ end
+
+TrainerBlackbeltNob:
+ trainer BLACKBELT_T, NOB, EVENT_BEAT_BLACKBELT_NOB, BlackbeltNobSeenText, BlackbeltNobBeatenText, 0, .Script
+
+.Script:
+ endifjustbattled
+ opentext
+ writetext BlackbeltNobAfterText
+ waitbutton
+ closetext
+ end
+
+TrainerBlackbeltLung:
+ trainer BLACKBELT_T, LUNG, EVENT_BEAT_BLACKBELT_LUNG, BlackbeltLungSeenText, BlackbeltLungBeatenText, 0, .Script
+
+.Script:
+ endifjustbattled
+ opentext
+ writetext BlackbeltLungAfterText
+ waitbutton
+ closetext
+ end
+
+CianwoodGymBoulder:
+ jumpstd strengthboulder
+
+CianwoodGymStatue:
+ checkflag ENGINE_STORMBADGE
+ iftrue .Beaten
+ jumpstd gymstatue1
+.Beaten:
+ trainertotext CHUCK, CHUCK1, MEM_BUFFER_1
+ jumpstd gymstatue2
+
+CianwoodGymMovement_ChuckChucksBoulder:
+ set_sliding
+ big_step LEFT
+ big_step UP
+ fast_jump_step RIGHT
+ remove_sliding
+ step_end
+
+ChuckIntroText1:
+ text "WAHAHAH!"
+
+ para "So you've come"
+ line "this far!"
+
+ para "Let me tell you,"
+ line "I'm tough!"
+
+ para "My #MON will"
+ line "crush stones and"
+ cont "shatter bones!"
+
+ para "Watch this!"
+ done
+
+ChuckIntroText2:
+ text "CHUCK: Urggh!"
+ line "…"
+
+ para "Oooarrgh!"
+ done
+
+ChuckIntroText3:
+ text "There! Scared now,"
+ line "are you?"
+
+ para "What?"
+ line "It has nothing to"
+
+ para "do with #MON?"
+ line "That's true!"
+
+ para "Come on. We shall"
+ line "do battle!"
+ done
+
+ChuckLossText:
+ text "Wha? Huh?"
+ line "I lost?"
+
+ para "How about that!"
+ line "You're worthy of"
+ cont "STORMBADGE!"
+ done
+
+GetStormBadgeText:
+ text "<PLAYER> received"
+ line "STORMBADGE."
+ done
+
+ChuckExplainBadgeText:
+ text "STORMBADGE makes"
+ line "all #MON up to"
+
+ para "L70 obey, even"
+ line "traded ones."
+
+ para "It also lets your"
+ line "#MON use FLY"
+
+ para "when you're not in"
+ line "a battle."
+
+ para "Here, take this"
+ line "too!"
+ done
+
+ChuckExplainTMText:
+ text "That is DYNAMIC-"
+ line "PUNCH."
+
+ para "It doesn't always"
+ line "hit, but when it"
+
+ para "does, it causes"
+ line "confusion!"
+ done
+
+ChuckAfterText:
+ text "WAHAHAH! I enjoyed"
+ line "battling you!"
+
+ para "But a loss is a"
+ line "loss!"
+
+ para "From now on, I'm"
+ line "going to train 24"
+ cont "hours a day!"
+ done
+
+BlackbeltYoshiSeenText:
+ text "My #MON and I"
+ line "are bound togeth-"
+ cont "er by friendship."
+
+ para "Our bond will"
+ line "never be broken!"
+ done
+
+BlackbeltYoshiBeatenText:
+ text "This isn't real!"
+ done
+
+BlackbeltYoshiAfterText:
+ text "You seem to have a"
+ line "strong bond with"
+ cont "your #MON too!"
+ done
+
+BlackbeltLaoSeenText:
+ text "We martial artists"
+ line "fear nothing!"
+ done
+
+BlackbeltLaoBeatenText:
+ text "That's shocking!"
+ done
+
+BlackbeltLaoAfterText:
+ text "Fighting #MON"
+ line "are afraid of psy-"
+ cont "chics…"
+ done
+
+BlackbeltNobSeenText:
+ text "Words are useless."
+ line "Let your fists do"
+ cont "the talking!"
+ done
+
+BlackbeltNobBeatenText:
+ text "…"
+ done
+
+BlackbeltNobAfterText:
+ text "I lost! "
+ line "I'm speechless!"
+ done
+
+BlackbeltLungSeenText:
+ text "My raging fists"
+ line "will shatter your"
+ cont "#MON!"
+ done
+
+BlackbeltLungBeatenText:
+ text "I got shattered!"
+ done
+
+BlackbeltLungAfterText:
+ text "My #MON lost…"
+ line "My pride is shat-"
+ cont "tered…"
+ done
+
+CianwoodGym_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 4, 17, CIANWOOD_CITY, 2
+ warp_event 5, 17, CIANWOOD_CITY, 2
+
+ db 0 ; coord events
+
+ db 2 ; bg events
+ bg_event 3, 15, BGEVENT_READ, CianwoodGymStatue
+ bg_event 6, 15, BGEVENT_READ, CianwoodGymStatue
+
+ db 9 ; object events
+ object_event 4, 1, SPRITE_CHUCK, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, CianwoodGymChuckScript, -1
+ object_event 2, 12, SPRITE_BLACK_BELT, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 3, TrainerBlackbeltYoshi, -1
+ object_event 7, 12, SPRITE_BLACK_BELT, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 3, TrainerBlackbeltLao, -1
+ object_event 3, 9, SPRITE_BLACK_BELT, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 2, TrainerBlackbeltNob, -1
+ object_event 5, 5, SPRITE_BLACK_BELT, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 1, TrainerBlackbeltLung, -1
+ object_event 5, 1, SPRITE_BOULDER, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CianwoodGymBoulder, -1
+ object_event 3, 7, SPRITE_BOULDER, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CianwoodGymBoulder, -1
+ object_event 4, 7, SPRITE_BOULDER, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CianwoodGymBoulder, -1
+ object_event 5, 7, SPRITE_BOULDER, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CianwoodGymBoulder, -1
diff --git a/maps/CianwoodLugiaSpeechHouse.asm b/maps/CianwoodLugiaSpeechHouse.asm
new file mode 100644
index 00000000..33d42030
--- /dev/null
+++ b/maps/CianwoodLugiaSpeechHouse.asm
@@ -0,0 +1,73 @@
+ const_def 2 ; object constants
+ const CIANWOODLUGIASPEECHHOUSE_TEACHER
+ const CIANWOODLUGIASPEECHHOUSE_LASS
+ const CIANWOODLUGIASPEECHHOUSE_TWIN
+
+CianwoodLugiaSpeechHouse_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+CianwoodLugiaSpeechHouseTeacherScript:
+ jumptextfaceplayer CianwoodLugiaSpeechHouseTeacherText
+
+CianwoodLugiaSpeechHouseLassScript:
+ jumptextfaceplayer CianwoodLugiaSpeechHouseLassText
+
+CianwoodLugiaSpeechHouseTwinScript:
+ jumptextfaceplayer CianwoodLugiaSpeechHouseTwinText
+
+CianwoodLugiaSpeechHouseBookshelf:
+ jumpstd picturebookshelf
+
+CianwoodLugiaSpeechHouseTeacherText:
+ text "You came from"
+ line "OLIVINE?"
+
+ para "Do you remember"
+ line "the four islands"
+ cont "along the way?"
+
+ para "I heard that a "
+ line "mythical sea crea-"
+ cont "ture is hiding in"
+ cont "them."
+ done
+
+CianwoodLugiaSpeechHouseLassText:
+ text "I heard that you"
+ line "can only see it if"
+
+ para "you have a SILVER"
+ line "WING."
+
+ para "It must have the"
+ line "same scent as the"
+ cont "creature."
+ done
+
+CianwoodLugiaSpeechHouseTwinText:
+ text "The whirlpools"
+ line "around the islands"
+
+ para "must be caused by"
+ line "the sea creature."
+ done
+
+CianwoodLugiaSpeechHouse_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 2, 7, CIANWOOD_CITY, 6
+ warp_event 3, 7, CIANWOOD_CITY, 6
+
+ db 0 ; coord events
+
+ db 2 ; bg events
+ bg_event 0, 1, BGEVENT_READ, CianwoodLugiaSpeechHouseBookshelf
+ bg_event 1, 1, BGEVENT_READ, CianwoodLugiaSpeechHouseBookshelf
+
+ db 3 ; object events
+ object_event 2, 4, SPRITE_TEACHER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CianwoodLugiaSpeechHouseTeacherScript, -1
+ object_event 6, 5, SPRITE_LASS, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, CianwoodLugiaSpeechHouseLassScript, -1
+ object_event 0, 2, SPRITE_TWIN, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, CianwoodLugiaSpeechHouseTwinScript, -1
diff --git a/maps/CianwoodPharmacy.asm b/maps/CianwoodPharmacy.asm
new file mode 100644
index 00000000..ef00ba49
--- /dev/null
+++ b/maps/CianwoodPharmacy.asm
@@ -0,0 +1,87 @@
+ const_def 2 ; object constants
+ const CIANWOODPHARMACY_PHARMACIST
+
+CianwoodPharmacy_MapScripts:
+ db 1 ; scene scripts
+ scene_script .DummyScene
+
+ db 0 ; callbacks
+
+.DummyScene:
+ end
+
+CianwoodPharmacist:
+ faceplayer
+ opentext
+ checkevent EVENT_GOT_SECRETPOTION_FROM_PHARMACY
+ iftrue .Mart
+ checkevent EVENT_JASMINE_EXPLAINED_AMPHYS_SICKNESS
+ iffalse .Mart
+ writetext PharmacistGiveSecretpotionText
+ buttonsound
+ giveitem SECRETPOTION
+ writetext ReceivedSecretpotionText
+ playsound SFX_KEY_ITEM
+ waitsfx
+ itemnotify
+ setevent EVENT_GOT_SECRETPOTION_FROM_PHARMACY
+ writetext PharmacistDescribeSecretpotionText
+ waitbutton
+ closetext
+ end
+
+.Mart:
+ pokemart MARTTYPE_PHARMACY, MART_CIANWOOD
+ closetext
+ end
+
+CianwoodPharmacyBookshelf:
+ jumpstd difficultbookshelf
+
+PharmacistGiveSecretpotionText:
+ text "Your #MON ap-"
+ line "pear to be fine."
+
+ para "Is something wor- "
+ line "rying you?"
+
+ para "…"
+
+ para "The LIGHTHOUSE"
+ line "#MON is in"
+ cont "trouble?"
+
+ para "I got it!"
+
+ para "This ought to do"
+ line "the trick."
+ done
+
+ReceivedSecretpotionText:
+ text "<PLAYER> received"
+ line "SECRETPOTION."
+ done
+
+PharmacistDescribeSecretpotionText:
+ text "My SECRETPOTION is"
+ line "a tad too strong."
+
+ para "I only offer it in"
+ line "an emergency."
+ done
+
+CianwoodPharmacy_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 2, 7, CIANWOOD_CITY, 4
+ warp_event 3, 7, CIANWOOD_CITY, 4
+
+ db 0 ; coord events
+
+ db 2 ; bg events
+ bg_event 0, 1, BGEVENT_READ, CianwoodPharmacyBookshelf
+ bg_event 1, 1, BGEVENT_READ, CianwoodPharmacyBookshelf
+
+ db 1 ; object events
+ object_event 2, 3, SPRITE_PHARMACIST, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CianwoodPharmacist, -1
diff --git a/maps/CianwoodPhotoStudio.asm b/maps/CianwoodPhotoStudio.asm
new file mode 100644
index 00000000..d59df9b9
--- /dev/null
+++ b/maps/CianwoodPhotoStudio.asm
@@ -0,0 +1,61 @@
+ const_def 2 ; object constants
+ const CIANWOODPHOTOSTUDIO_FISHING_GURU
+
+CianwoodPhotoStudio_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+CianwoodPhotoStudioFishingGuruScript:
+ faceplayer
+ opentext
+ writetext CianwoodPhotoStudioFishingGuruText_Question
+ yesorno
+ iffalse .Refused
+ writetext CianwoodPhotoStudioFishingGuruText_Yes
+ waitbutton
+ special PhotoStudio
+ waitbutton
+ closetext
+ end
+
+.Refused:
+ writetext CianwoodPhotoStudioFishingGuruText_No
+ waitbutton
+ closetext
+ end
+
+CianwoodPhotoStudioFishingGuruText_Question:
+ text "You have magnifi-"
+ line "cent #MON with"
+ cont "you."
+
+ para "How about a photo"
+ line "for a souvenir?"
+ done
+
+CianwoodPhotoStudioFishingGuruText_Yes:
+ text "OK! Big smile now!"
+ done
+
+CianwoodPhotoStudioFishingGuruText_No:
+ text "Oh, that's too"
+ line "bad. I thought it"
+
+ para "would be a great"
+ line "memento…"
+ done
+
+CianwoodPhotoStudio_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 2, 7, CIANWOOD_CITY, 5
+ warp_event 3, 7, CIANWOOD_CITY, 5
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 1 ; object events
+ object_event 2, 3, SPRITE_FISHING_GURU, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CianwoodPhotoStudioFishingGuruScript, -1
diff --git a/maps/CianwoodPokecenter1F.asm b/maps/CianwoodPokecenter1F.asm
new file mode 100644
index 00000000..31e16ee8
--- /dev/null
+++ b/maps/CianwoodPokecenter1F.asm
@@ -0,0 +1,91 @@
+ const_def 2 ; object constants
+ const CIANWOODPOKECENTER1F_NURSE
+ const CIANWOODPOKECENTER1F_LASS
+ const CIANWOODPOKECENTER1F_GYM_GUY
+ const CIANWOODPOKECENTER1F_SUPER_NERD
+
+CianwoodPokecenter1F_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+CianwoodPokecenter1FNurseScript:
+ jumpstd pokecenternurse
+
+CianwoodPokecenter1FLassScript:
+ jumptextfaceplayer CianwoodPokecenter1FLassText
+
+CianwoodGymGuyScript:
+ faceplayer
+ checkevent EVENT_BEAT_CHUCK
+ iftrue .CianwoodGymGuyWinScript
+ opentext
+ writetext CianwoodGymGuyText
+ waitbutton
+ closetext
+ end
+
+.CianwoodGymGuyWinScript:
+ opentext
+ writetext CianwoodGymGuyWinText
+ waitbutton
+ closetext
+ end
+
+CianwoodPokecenter1FLassText:
+ text "Did you meet the"
+ line "#MANIAC?"
+
+ para "He's always brag-"
+ line "ging about his"
+ cont "rare #MON."
+ done
+
+CianwoodGymGuyText:
+ text "The #MON GYM"
+ line "trainers here are"
+ cont "macho bullies."
+
+ para "If I stick around,"
+ line "they might come"
+ cont "after me."
+
+ para "Here's some ad-"
+ line "vice: the GYM"
+
+ para "LEADER uses the"
+ line "fighting-type."
+
+ para "So you should"
+ line "confound him with"
+ cont "psychic #MON."
+
+ para "Wipe out his #-"
+ line "MON before they"
+
+ para "can use their"
+ line "physical strength."
+ done
+
+CianwoodGymGuyWinText:
+ text "<PLAYER>! You won!"
+ line "I could tell by"
+ cont "looking at you!"
+ done
+
+CianwoodPokecenter1F_MapEvents:
+ db 0, 0 ; filler
+
+ db 3 ; warp events
+ warp_event 3, 7, CIANWOOD_CITY, 3
+ warp_event 4, 7, CIANWOOD_CITY, 3
+ warp_event 0, 7, POKECENTER_2F, 1
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 3 ; object events
+ object_event 3, 1, SPRITE_NURSE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CianwoodPokecenter1FNurseScript, -1
+ object_event 1, 5, SPRITE_LASS, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 1, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, CianwoodPokecenter1FLassScript, -1
+ object_event 5, 3, SPRITE_GYM_GUY, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CianwoodGymGuyScript, -1
diff --git a/maps/LavRadioTower1F.asm b/maps/LavRadioTower1F.asm
new file mode 100644
index 00000000..5fc1c49b
--- /dev/null
+++ b/maps/LavRadioTower1F.asm
@@ -0,0 +1,239 @@
+ const_def 2 ; object constants
+ const LAVRADIOTOWER1F_RECEPTIONIST
+ const LAVRADIOTOWER1F_OFFICER
+ const LAVRADIOTOWER1F_SUPER_NERD1
+ const LAVRADIOTOWER1F_GENTLEMAN
+ const LAVRADIOTOWER1F_SUPER_NERD2
+
+LavRadioTower1F_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+LavRadioTower1FReceptionistScript:
+ jumptextfaceplayer LavRadioTower1FReceptionistText
+
+LavRadioTower1FOfficerScript:
+ jumptextfaceplayer LavRadioTower1FOfficerText
+
+LavRadioTower1FSuperNerd1Script:
+ jumptextfaceplayer LavRadioTower1FSuperNerd1Text
+
+LavRadioTower1FGentlemanScript:
+ faceplayer
+ opentext
+ checkflag ENGINE_EXPN_CARD
+ iftrue .GotExpnCard
+ checkevent EVENT_RETURNED_MACHINE_PART
+ iftrue .ReturnedMachinePart
+ writetext LavRadioTower1FGentlemanText
+ waitbutton
+ closetext
+ end
+
+.ReturnedMachinePart:
+ writetext LavRadioTower1FGentlemanText_ReturnedMachinePart
+ buttonsound
+ stringtotext .expncardname, MEM_BUFFER_1
+ scall .receiveitem
+ setflag ENGINE_EXPN_CARD
+.GotExpnCard:
+ writetext LavRadioTower1FGentlemanText_GotExpnCard
+ waitbutton
+ closetext
+ end
+
+.receiveitem:
+ jumpstd receiveitem
+ end
+
+.expncardname
+ db "EXPN CARD@"
+
+LavRadioTower1FSuperNerd2Script:
+ faceplayer
+ opentext
+ checkflag ENGINE_EXPN_CARD
+ iftrue .GotExpnCard
+ writetext LavRadioTower1FSuperNerd2Text
+ waitbutton
+ closetext
+ end
+
+.GotExpnCard:
+ writetext LavRadioTower1FSuperNerd2Text_GotExpnCard
+ waitbutton
+ closetext
+ end
+
+LavRadioTower1FDirectory:
+ jumptext LavRadioTower1FDirectoryText
+
+LavRadioTower1FPokeFluteSign:
+ jumptext LavRadioTower1FPokeFluteSignText
+
+LavRadioTower1FReferenceLibrary:
+; unreferenced
+ jumptext LavRadioTower1FReferenceLibraryText
+
+LavRadioTower1FReceptionistText:
+ text "Welcome!"
+ line "Feel free to look"
+
+ para "around anywhere on"
+ line "this floor."
+ done
+
+LavRadioTower1FOfficerText:
+ text "Sorry, but you can"
+ line "only tour the"
+ cont "ground floor."
+
+ para "Ever since JOHTO's"
+ line "RADIO TOWER was"
+
+ para "taken over by a"
+ line "criminal gang, we"
+
+ para "have had to step"
+ line "up our security."
+ done
+
+LavRadioTower1FSuperNerd1Text:
+ text "Many people are"
+ line "hard at work here"
+
+ para "in the RADIO"
+ line "TOWER."
+
+ para "They must be doing"
+ line "their best to put"
+ cont "on good shows."
+ done
+
+LavRadioTower1FGentlemanText:
+ text "Oh, no, no, no!"
+
+ para "We've been off the"
+ line "air ever since the"
+
+ para "POWER PLANT shut"
+ line "down."
+
+ para "All my efforts to"
+ line "start this station"
+
+ para "would be wasted if"
+ line "I can't broadcast."
+
+ para "I'll be ruined!"
+ done
+
+LavRadioTower1FGentlemanText_ReturnedMachinePart:
+ text "Ah! So you're the"
+ line "<PLAYER> who solved"
+
+ para "the POWER PLANT's"
+ line "problem?"
+
+ para "Thanks to you, I"
+ line "never lost my job."
+
+ para "I tell you, you're"
+ line "a real lifesaver!"
+
+ para "Please take this"
+ line "as my thanks."
+ done
+
+LavRadioTower1FGentlemanText_GotExpnCard:
+ text "With that thing,"
+ line "you can tune into"
+
+ para "the radio programs"
+ line "here in KANTO."
+
+ para "Gahahahaha!"
+ done
+
+LavRadioTower1FSuperNerd2Text:
+ text "Hey there, fellow!"
+
+ para "I am the super"
+ line "MUSIC DIRECTOR!"
+
+ para "Huh? Your #GEAR"
+ line "can't tune into my"
+
+ para "music programs."
+ line "How unfortunate!"
+
+ para "If you get an EXPN"
+ line "CARD upgrade, you"
+
+ para "can tune in. You'd"
+ line "better get one!"
+ done
+
+LavRadioTower1FSuperNerd2Text_GotExpnCard:
+ text "Hey there, fellow!"
+
+ para "I am the super"
+ line "MUSIC DIRECTOR!"
+
+ para "I'm responsible"
+ line "for the gorgeous"
+
+ para "melodies that go"
+ line "out over the air."
+
+ para "Don't be square."
+ line "Grab your music"
+ cont "off the air!"
+ done
+
+LavRadioTower1FDirectoryText:
+ text "1F RECEPTION"
+ line "2F SALES"
+ cont "3F PERSONNEL"
+ cont "4F PRODUCTION"
+ cont "5F DIRECTOR'S"
+ cont " OFFICE"
+ done
+
+LavRadioTower1FPokeFluteSignText:
+ text "Perk Up #MON"
+ line "with Mellow Sounds"
+
+ para "of the # FLUTE"
+ line "on CHANNEL 20"
+ done
+
+LavRadioTower1FReferenceLibraryText:
+ text "Wow! A full rack"
+ line "of #MON CDs and"
+ cont "videos."
+
+ para "This must be the"
+ line "reference library."
+ done
+
+LavRadioTower1F_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 2, 7, LAVENDER_TOWN, 7
+ warp_event 3, 7, LAVENDER_TOWN, 7
+
+ db 0 ; coord events
+
+ db 2 ; bg events
+ bg_event 11, 0, BGEVENT_READ, LavRadioTower1FDirectory
+ bg_event 5, 0, BGEVENT_READ, LavRadioTower1FPokeFluteSign
+
+ db 5 ; object events
+ object_event 6, 6, SPRITE_RECEPTIONIST, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, LavRadioTower1FReceptionistScript, -1
+ object_event 15, 1, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, LavRadioTower1FOfficerScript, -1
+ object_event 1, 3, SPRITE_SUPER_NERD, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, LavRadioTower1FSuperNerd1Script, -1
+ object_event 9, 1, SPRITE_GENTLEMAN, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, LavRadioTower1FGentlemanScript, -1
+ object_event 14, 6, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, LavRadioTower1FSuperNerd2Script, -1
diff --git a/maps/LavenderMart.asm b/maps/LavenderMart.asm
new file mode 100644
index 00000000..51e172cb
--- /dev/null
+++ b/maps/LavenderMart.asm
@@ -0,0 +1,62 @@
+ const_def 2 ; object constants
+ const LAVENDERMART_CLERK
+ const LAVENDERMART_POKEFAN_M
+ const LAVENDERMART_ROCKER
+
+LavenderMart_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+LavenderMartClerkScript:
+ opentext
+ pokemart MARTTYPE_STANDARD, MART_LAVENDER
+ closetext
+ end
+
+LavenderMartPokefanMScript:
+ jumptextfaceplayer LavenderMartPokefanMText
+
+LavenderMartRockerScript:
+ jumptextfaceplayer LavenderMartRockerText
+
+LavenderMartPokefanMText:
+ text "REPEL is a neces-"
+ line "sity if you are"
+
+ para "going to explore a"
+ line "cave."
+
+ para "Even though I like"
+ line "exploring, I still"
+
+ para "haven't made it to"
+ line "all the caves."
+ done
+
+LavenderMartRockerText:
+ text "I heard about a"
+ line "craftsman who"
+
+ para "makes custom #"
+ line "BALLS in the JOHTO"
+
+ para "town of AZALEA. I"
+ line "wish I had some."
+ done
+
+LavenderMart_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 2, 7, LAVENDER_TOWN, 5
+ warp_event 3, 7, LAVENDER_TOWN, 5
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 3 ; object events
+ object_event 1, 3, SPRITE_CLERK, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, LavenderMartClerkScript, -1
+ object_event 6, 6, SPRITE_POKEFAN_M, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 2, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, LavenderMartPokefanMScript, -1
+ object_event 9, 2, SPRITE_ROCKER, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, LavenderMartRockerScript, -1
diff --git a/maps/LavenderNameRater.asm b/maps/LavenderNameRater.asm
new file mode 100644
index 00000000..7d2b44c9
--- /dev/null
+++ b/maps/LavenderNameRater.asm
@@ -0,0 +1,37 @@
+ const_def 2 ; object constants
+ const LAVENDERNAMERATER_NAME_RATER
+
+LavenderNameRater_MapScripts:
+ db 1 ; scene scripts
+ scene_script .DummyScene
+
+ db 0 ; callbacks
+
+.DummyScene:
+ end
+
+LavenderNameRater:
+ faceplayer
+ opentext
+ special NameRater
+ waitbutton
+ closetext
+ end
+
+LavenderNameRaterUnusedBookshelf:
+; unused
+ jumpstd difficultbookshelf
+
+LavenderNameRater_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 2, 7, LAVENDER_TOWN, 4
+ warp_event 3, 7, LAVENDER_TOWN, 4
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 1 ; object events
+ object_event 2, 3, SPRITE_GENTLEMAN, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, LavenderNameRater, -1
diff --git a/maps/LavenderPokecenter1F.asm b/maps/LavenderPokecenter1F.asm
new file mode 100644
index 00000000..cfef8b8b
--- /dev/null
+++ b/maps/LavenderPokecenter1F.asm
@@ -0,0 +1,93 @@
+ const_def 2 ; object constants
+ const LAVENDERPOKECENTER1F_NURSE
+ const LAVENDERPOKECENTER1F_GENTLEMAN
+ const LAVENDERPOKECENTER1F_TEACHER
+ const LAVENDERPOKECENTER1F_YOUNGSTER
+
+LavenderPokecenter1F_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+LavenderPokecenter1FNurseScript:
+ jumpstd pokecenternurse
+
+LavenderPokecenter1FGentlemanScript:
+ jumptextfaceplayer LavenderPokecenter1FGentlemanText
+
+LavenderPokecenter1FTeacherScript:
+ jumptextfaceplayer LavenderPokecenter1FTeacherText
+
+LavenderPokecenter1FYoungsterScript:
+ faceplayer
+ opentext
+ checkevent EVENT_RETURNED_MACHINE_PART
+ iftrue .ReturnedMachinePart
+ writetext LavenderPokecenter1FYoungsterText
+ waitbutton
+ closetext
+ end
+
+.ReturnedMachinePart:
+ writetext LavenderPokecenter1FYoungsterText_ReturnedMachinePart
+ waitbutton
+ closetext
+ end
+
+LavenderPokecenter1FGentlemanText:
+ text "To the north of"
+ line "LAVENDER is ROCK"
+
+ para "TUNNEL. Go through"
+ line "it to get to the"
+ cont "POWER PLANT."
+ done
+
+LavenderPokecenter1FTeacherText:
+ text "There's a radio"
+ line "program that plays"
+ cont "# FLUTE music."
+
+ para "Oh? Ah, your radio"
+ line "needs an EXPN CARD"
+ cont "to tune into it."
+ done
+
+LavenderPokecenter1FYoungsterText:
+ text "The RADIO STATION"
+ line "can't broadcast"
+
+ para "because the POWER"
+ line "PLANT is down."
+ done
+
+LavenderPokecenter1FYoungsterText_ReturnedMachinePart:
+ text "The DIRECTOR of"
+ line "the RADIO STATION"
+ cont "sure was happy."
+
+ para "He said they're"
+ line "back on the air"
+
+ para "because the POWER"
+ line "PLANT is running"
+ cont "smoothly again."
+ done
+
+LavenderPokecenter1F_MapEvents:
+ db 0, 0 ; filler
+
+ db 3 ; warp events
+ warp_event 3, 7, LAVENDER_TOWN, 1
+ warp_event 4, 7, LAVENDER_TOWN, 1
+ warp_event 0, 7, POKECENTER_2F, 1
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 4 ; object events
+ object_event 3, 1, SPRITE_NURSE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, LavenderPokecenter1FNurseScript, -1
+ object_event 7, 6, SPRITE_GENTLEMAN, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, LavenderPokecenter1FGentlemanScript, -1
+ object_event 5, 3, SPRITE_TEACHER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, LavenderPokecenter1FTeacherScript, -1
+ object_event 1, 5, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 1, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, LavenderPokecenter1FYoungsterScript, -1
diff --git a/maps/LavenderPokecenter2FBeta.asm b/maps/LavenderPokecenter2FBeta.asm
new file mode 100644
index 00000000..7157b473
--- /dev/null
+++ b/maps/LavenderPokecenter2FBeta.asm
@@ -0,0 +1,16 @@
+LavenderPokecenter2FBeta_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+LavenderPokecenter2FBeta_MapEvents:
+ db 0, 0 ; filler
+
+ db 1 ; warp events
+ warp_event 0, 7, LAVENDER_POKECENTER_1F, 3
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 0 ; object events
diff --git a/maps/LavenderSpeechHouse.asm b/maps/LavenderSpeechHouse.asm
new file mode 100644
index 00000000..dd73aa81
--- /dev/null
+++ b/maps/LavenderSpeechHouse.asm
@@ -0,0 +1,43 @@
+ const_def 2 ; object constants
+ const LAVENDERSPEECHHOUSE_POKEFAN_F
+
+LavenderSpeechHouse_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+LavenderSpeechHousePokefanFScript:
+ jumptextfaceplayer LavenderSpeechHousePokefanFText
+
+LavenderSpeechHouseBookshelf:
+ jumpstd picturebookshelf
+
+LavenderSpeechHousePokefanFText:
+ text "LAVENDER is a"
+ line "tiny, quiet town"
+
+ para "at the foot of the"
+ line "mountains."
+
+ para "It's gotten a bit"
+ line "busier since the"
+
+ para "RADIO TOWER was"
+ line "built."
+ done
+
+LavenderSpeechHouse_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 2, 7, LAVENDER_TOWN, 3
+ warp_event 3, 7, LAVENDER_TOWN, 3
+
+ db 0 ; coord events
+
+ db 2 ; bg events
+ bg_event 0, 1, BGEVENT_READ, LavenderSpeechHouseBookshelf
+ bg_event 1, 1, BGEVENT_READ, LavenderSpeechHouseBookshelf
+
+ db 1 ; object events
+ object_event 2, 3, SPRITE_POKEFAN_F, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, LavenderSpeechHousePokefanFScript, -1
diff --git a/maps/ManiasHouse.asm b/maps/ManiasHouse.asm
new file mode 100644
index 00000000..1a70e960
--- /dev/null
+++ b/maps/ManiasHouse.asm
@@ -0,0 +1,213 @@
+ const_def 2 ; object constants
+ const MANIASHOUSE_ROCKER
+
+ManiasHouse_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+ManiaScript:
+ faceplayer
+ opentext
+ checkevent EVENT_MANIA_TOOK_SHUCKIE_OR_LET_YOU_KEEP_HIM
+ iftrue .default_postevent
+ checkevent EVENT_GOT_SHUCKIE
+ iftrue .alreadyhaveshuckie
+ writetext ManiaText_AskLookAfterShuckle
+ yesorno
+ iffalse .refusetotakeshuckie
+ special GiveShuckle
+ iffalse .partyfull
+ writetext ManiaText_TakeCareOfShuckle
+ buttonsound
+ waitsfx
+ writetext ManiaText_GotShuckle
+ playsound SFX_KEY_ITEM
+ waitsfx
+ closetext
+ setevent EVENT_GOT_SHUCKIE
+ end
+
+.alreadyhaveshuckie
+ checkflag ENGINE_GOT_SHUCKIE_TODAY
+ iffalse .returnshuckie
+ writetext ManiaText_TakeCareOfShuckle
+ waitbutton
+ closetext
+ end
+
+.partyfull
+ writetext ManiaText_PartyFull
+ waitbutton
+ closetext
+ end
+
+.refusetotakeshuckie
+ writetext ManiaText_IfHeComesBack
+ waitbutton
+ closetext
+ end
+
+.returnshuckie
+ writetext ManiaText_CanIHaveMyMonBack
+ yesorno
+ iffalse .refused
+ special ReturnShuckle
+ ifequal SHUCKIE_WRONG_MON, .wrong
+ ifequal SHUCKIE_REFUSED, .refused
+ ifequal SHUCKIE_HAPPY, .superhappy
+ ifequal SHUCKIE_FAINTED, .default_postevent
+ ; SHUCKIE_RETURNED
+ writetext ManiaText_ThankYou
+ waitbutton
+ closetext
+ setevent EVENT_MANIA_TOOK_SHUCKIE_OR_LET_YOU_KEEP_HIM
+ end
+
+.wrong
+ writetext ManiaText_ShuckleNotThere
+ waitbutton
+ closetext
+ end
+
+.superhappy
+ writetext ManiaText_ShuckleLikesYou
+ waitbutton
+ closetext
+ setevent EVENT_MANIA_TOOK_SHUCKIE_OR_LET_YOU_KEEP_HIM
+ end
+
+.refused
+ writetext ManiaText_SameAsBeingRobbed
+ waitbutton
+ closetext
+ end
+
+.nothingleft
+ writetext ManiaText_ShuckleIsYourLastMon
+ waitbutton
+ closetext
+ end
+
+.default_postevent
+ writetext ManiaText_HappinessSpeech
+ waitbutton
+ closetext
+ end
+
+ManiasHouseUnusedBookshelf:
+; unused
+ jumpstd picturebookshelf
+
+ManiaText_AskLookAfterShuckle:
+ text "I, I'm in shock!"
+
+ para "A guy about your"
+ line "age with piercing"
+
+ para "eyes and long hair"
+ line "came in."
+
+ para "He scared me into"
+ line "giving him my"
+ cont "prized #MON!"
+
+ para "I still have one"
+ line "left, but what if"
+ cont "he comes back?"
+
+ para "You look strong."
+ line "Could you look"
+
+ para "after my #MON"
+ line "for a while?"
+ done
+
+ManiaText_TakeCareOfShuckle:
+ text "Oh, thank you!"
+
+ para "Take good care of"
+ line "it, please!"
+ done
+
+ManiaText_GotShuckle:
+ text "<PLAYER> received a"
+ line "#MON."
+ done
+
+ManiaText_PartyFull:
+ text "Your #MON party"
+ line "is full."
+ done
+
+ManiaText_IfHeComesBack:
+ text "Oh, no… What'll"
+ line "I do if he comes"
+ cont "back?"
+ done
+
+ManiaText_CanIHaveMyMonBack:
+ text "Hi! How's my #-"
+ line "MON?"
+
+ para "I think I'm safe"
+ line "now, so may I have"
+ cont "it back?"
+ done
+
+ManiaText_ThankYou:
+ text "Thank you!"
+ done
+
+ManiaText_ShuckleNotThere:
+ text "Hey, you don't"
+ line "have my #MON"
+ cont "with you."
+ done
+
+ManiaText_ShuckleLikesYou:
+ text "My #MON has"
+ line "come to like you."
+
+ para "All right, you"
+ line "should keep it."
+
+ para "But promise to"
+ line "be good to it!"
+ done
+
+ManiaText_SameAsBeingRobbed:
+ text "Oh, no, no… That's"
+ line "the same as being"
+ cont "robbed."
+ done
+
+ManiaText_HappinessSpeech:
+ text "For #MON, hap-"
+ line "piness is being"
+
+ para "with a person who"
+ line "treats them well."
+ done
+
+ManiaText_ShuckleIsYourLastMon:
+ text "If I take my #-"
+ line "MON back, what are"
+
+ para "you going to use"
+ line "in battle?"
+ done
+
+ManiasHouse_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 2, 7, CIANWOOD_CITY, 1
+ warp_event 3, 7, CIANWOOD_CITY, 1
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 1 ; object events
+ object_event 2, 4, SPRITE_ROCKER, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ManiaScript, -1
diff --git a/maps/MrFujisHouse.asm b/maps/MrFujisHouse.asm
new file mode 100644
index 00000000..4396e707
--- /dev/null
+++ b/maps/MrFujisHouse.asm
@@ -0,0 +1,98 @@
+ const_def 2 ; object constants
+ const MRFUJISHOUSE_SUPER_NERD
+ const MRFUJISHOUSE_LASS
+ const MRFUJISHOUSE_PSYDUCK
+ const MRFUJISHOUSE_NIDORINO
+ const MRFUJISHOUSE_PIDGEY
+
+MrFujisHouse_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+MrFujisHouseSuperNerdScript:
+ jumptextfaceplayer MrFujisHouseSuperNerdText
+
+MrFujisHouseLassScript:
+ jumptextfaceplayer MrFujisHouseLassText
+
+MrFujisPsyduck:
+ opentext
+ writetext MrFujisPsyduckText
+ cry PSYDUCK
+ waitbutton
+ closetext
+ end
+
+MrFujisNidorino:
+ opentext
+ writetext MrFujisNidorinoText
+ cry NIDORINO
+ waitbutton
+ closetext
+ end
+
+MrFujisPidgey:
+ opentext
+ writetext MrFujisPidgeyText
+ cry PIDGEY
+ waitbutton
+ closetext
+ end
+
+MrFujisHouseBookshelf:
+ jumpstd difficultbookshelf
+
+MrFujisHouseSuperNerdText:
+ text "MR.FUJI does live"
+ line "here, but he's not"
+
+ para "home now."
+
+ para "He should be at"
+ line "the SOUL HOUSE."
+ done
+
+MrFujisHouseLassText:
+ text "Some cold-hearted"
+ line "people stop caring"
+ cont "for their #MON."
+
+ para "Grandpa takes in"
+ line "the poor homeless"
+
+ para "#MON and takes"
+ line "care of them."
+ done
+
+MrFujisPsyduckText:
+ text "PSYDUCK: Gu-guwa?"
+ done
+
+MrFujisNidorinoText:
+ text "NIDORINO: Gyun!"
+ done
+
+MrFujisPidgeyText:
+ text "PIDGEY: Pijji!"
+ done
+
+MrFujisHouse_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 2, 7, LAVENDER_TOWN, 2
+ warp_event 3, 7, LAVENDER_TOWN, 2
+
+ db 0 ; coord events
+
+ db 2 ; bg events
+ bg_event 0, 1, BGEVENT_READ, MrFujisHouseBookshelf
+ bg_event 1, 1, BGEVENT_READ, MrFujisHouseBookshelf
+
+ db 5 ; object events
+ object_event 4, 1, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, MrFujisHouseSuperNerdScript, -1
+ object_event 3, 4, SPRITE_LASS, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, MrFujisHouseLassScript, -1
+ object_event 7, 4, SPRITE_RHYDON, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, MrFujisPsyduck, -1
+ object_event 5, 5, SPRITE_GROWLITHE, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, MrFujisNidorino, -1
+ object_event 1, 3, SPRITE_MOLTRES, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, MrFujisPidgey, -1
diff --git a/maps/Route12SuperRodHouse.asm b/maps/Route12SuperRodHouse.asm
new file mode 100644
index 00000000..f91e7802
--- /dev/null
+++ b/maps/Route12SuperRodHouse.asm
@@ -0,0 +1,92 @@
+ const_def 2 ; object constants
+ const ROUTE12SUPERRODHOUSE_FISHING_GURU
+
+Route12SuperRodHouse_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+Route12SuperRodHouseFishingGuruScript:
+ faceplayer
+ opentext
+ checkevent EVENT_GOT_SUPER_ROD
+ iftrue .GotSuperRod
+ writetext OfferSuperRodText
+ yesorno
+ iffalse .Refused
+ writetext GiveSuperRodText
+ buttonsound
+ verbosegiveitem SUPER_ROD
+ iffalse .NoRoom
+ setevent EVENT_GOT_SUPER_ROD
+.GotSuperRod:
+ writetext GaveSuperRodText
+ waitbutton
+ closetext
+ end
+
+.Refused:
+ writetext DontWantSuperRodText
+ waitbutton
+.NoRoom:
+ closetext
+ end
+
+SuperRodHouseBookshelf:
+; unused
+ jumpstd picturebookshelf
+
+OfferSuperRodText:
+ text "I'm the FISHING"
+ line "GURU's younger"
+ cont "brother."
+
+ para "I can see that you"
+ line "like fishing."
+
+ para "There's no doubt"
+ line "in my mind at all!"
+
+ para "So? I know I'm"
+ line "right."
+ done
+
+GiveSuperRodText:
+ text "Yes, yes. Just as"
+ line "I thought!"
+
+ para "Here, fishing fan!"
+ line "Take this--it's a"
+ cont "SUPER ROD."
+ done
+
+GaveSuperRodText:
+ text "Try your hand at"
+ line "fishing wherever"
+ cont "there is water."
+
+ para "Remember--you can"
+ line "catch different"
+
+ para "#MON using"
+ line "different RODS."
+ done
+
+DontWantSuperRodText:
+ text "Huh? My own eyes"
+ line "deceived me?"
+ done
+
+Route12SuperRodHouse_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 2, 7, ROUTE_12, 1
+ warp_event 3, 7, ROUTE_12, 1
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 1 ; object events
+ object_event 5, 3, SPRITE_FISHING_GURU, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, Route12SuperRodHouseFishingGuruScript, -1
diff --git a/maps/Route8SaffronGate.asm b/maps/Route8SaffronGate.asm
new file mode 100644
index 00000000..bcaf7f02
--- /dev/null
+++ b/maps/Route8SaffronGate.asm
@@ -0,0 +1,34 @@
+ const_def 2 ; object constants
+ const ROUTE8SAFFRONGATE_OFFICER
+
+Route8SaffronGate_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+Route8SaffronGateOfficerScript:
+ jumptextfaceplayer Route8SaffronGateOfficerText
+
+Route8SaffronGateOfficerText:
+ text "Have you been to"
+ line "LAVENDER TOWN?"
+
+ para "There's a tall"
+ line "RADIO TOWER there."
+ done
+
+Route8SaffronGate_MapEvents:
+ db 0, 0 ; filler
+
+ db 4 ; warp events
+ warp_event 0, 4, SAFFRON_CITY, 14
+ warp_event 0, 5, SAFFRON_CITY, 15
+ warp_event 9, 4, ROUTE_8, 1
+ warp_event 9, 5, ROUTE_8, 2
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 1 ; object events
+ object_event 5, 2, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, Route8SaffronGateOfficerScript, -1
diff --git a/maps/SoulHouse.asm b/maps/SoulHouse.asm
new file mode 100644
index 00000000..3c7f77ee
--- /dev/null
+++ b/maps/SoulHouse.asm
@@ -0,0 +1,88 @@
+ const_def 2 ; object constants
+ const SOULHOUSE_MRFUJI
+ const SOULHOUSE_TEACHER
+ const SOULHOUSE_LASS
+ const SOULHOUSE_GRANNY
+
+SoulHouse_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+MrFuji:
+ jumptextfaceplayer MrFujiText
+
+SoulHouseTeacherScript:
+ jumptextfaceplayer SoulHouseTeacherText
+
+SoulHouseLassScript:
+ jumptextfaceplayer SoulHouseLassText
+
+SoulHouseGrannyScript:
+ jumptextfaceplayer SoulHouseGrannyText
+
+MrFujiText:
+ text "MR.FUJI: Welcome."
+
+ para "Hmm… You appear to"
+ line "be raising your"
+
+ para "#MON in a kind"
+ line "and loving manner."
+
+ para "#MON lovers"
+ line "come here to pay"
+
+ para "their respects to"
+ line "departed #MON."
+
+ para "Please offer con-"
+ line "dolences for the"
+
+ para "souls of the de-"
+ line "parted #MON."
+
+ para "I'm sure that will"
+ line "make them happy."
+ done
+
+SoulHouseTeacherText:
+ text "There are other"
+ line "graves of #MON"
+ cont "here, I think."
+
+ para "There are many"
+ line "chambers that only"
+ cont "MR.FUJI may enter."
+ done
+
+SoulHouseLassText:
+ text "I came with my Mom"
+ line "to visit #MON"
+ cont "graves…"
+ done
+
+SoulHouseGrannyText:
+ text "The #MON that"
+ line "lived with me…"
+
+ para "I loved them like"
+ line "my grandchildren…"
+ done
+
+SoulHouse_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 4, 7, LAVENDER_TOWN, 6
+ warp_event 5, 7, LAVENDER_TOWN, 6
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 4 ; object events
+ object_event 4, 2, SPRITE_GRAMPS, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, MrFuji, -1
+ object_event 7, 3, SPRITE_TEACHER, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, SoulHouseTeacherScript, -1
+ object_event 2, 5, SPRITE_LASS, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, SoulHouseLassScript, -1
+ object_event 1, 3, SPRITE_GRANNY, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, SoulHouseGrannyScript, -1
diff --git a/wram.asm b/wram.asm
index c003ba9c..e969c211 100644
--- a/wram.asm
+++ b/wram.asm
@@ -3364,8 +3364,7 @@ wd962:: ds 1 ; d962
wMomItemTriggerBalance:: ds 3 ; d963
-wDailyResetTimer:: ds 1 ; d966
-wd967:: ds 1 ; d967
+wDailyResetTimer:: dw ; d966
wDailyFlags:: ds 1 ; d968
wWeeklyFlags:: ds 1 ; d969
wd96a:: ds 1 ; d96a