summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--constants/engine_flags.asm4
-rw-r--r--constants/event_flags.asm8
-rw-r--r--constants/map_constants.asm26
-rw-r--r--data/text/unused_sweet_honey.asm68
-rwxr-xr-xengine/engine_flags.asm4
-rwxr-xr-xengine/specials.asm6
-rw-r--r--macros/scripts/events.asm12
-rw-r--r--main.asm19
-rw-r--r--maps/BillsFamilysHouse.asm244
-rw-r--r--maps/GoldenrodBikeShop.asm123
-rw-r--r--maps/GoldenrodDeptStore1F.asm96
-rw-r--r--maps/GoldenrodDeptStore2F.asm119
-rw-r--r--maps/GoldenrodDeptStore3F.asm74
-rw-r--r--maps/GoldenrodDeptStore4F.asm96
-rw-r--r--maps/GoldenrodDeptStore5F.asm238
-rw-r--r--maps/GoldenrodDeptStore6F.asm167
-rw-r--r--maps/GoldenrodDeptStoreElevator.asm67
-rw-r--r--maps/GoldenrodDeptStoreRoof.asm234
-rw-r--r--maps/GoldenrodFlowerShop.asm119
-rw-r--r--maps/GoldenrodGym.asm400
-rw-r--r--maps/GoldenrodHappinessRater.asm154
-rw-r--r--maps/GoldenrodMagnetTrainStation.asm175
-rw-r--r--maps/GoldenrodNameRater.asm40
-rw-r--r--maps/GoldenrodPPSpeechHouse.asm68
-rw-r--r--maps/GoldenrodPokecenter1F.asm89
25 files changed, 2618 insertions, 32 deletions
diff --git a/constants/engine_flags.asm b/constants/engine_flags.asm
index e1ac69bf..d41a2528 100644
--- a/constants/engine_flags.asm
+++ b/constants/engine_flags.asm
@@ -104,7 +104,7 @@
engine_flag_def ENGINE_MT_MOON_SQUARE_CLEFAIRY, wWeeklyFlags, 0 ; mt moon square clefairy
engine_flag_def ENGINE_UNION_CAVE_LAPRAS, wWeeklyFlags, 1 ; union cave lapras ; $58
engine_flag_def ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT, wWeeklyFlags, 2 ; goldenrod underground haircut used
- engine_flag_def ENGINE_GOLDENROD_MALL_5F_HAPPINESS_EVENT, wWeeklyFlags, 3 ; goldenrod mall happiness event floor05 person07
- engine_flag_def ENGINE_TEA_IN_BLUES_HOUSE, wWeeklyFlags, 4 ; tea in blues house
+ engine_flag_def ENGINE_GOLDENROD_DEPT_STORE_TM27_RETURN, wWeeklyFlags, 3 ; goldenrod mall happiness event floor05 person07
+ engine_flag_def ENGINE_DAISYS_GROOMING, wWeeklyFlags, 4 ; tea in blues house
engine_flag_def ENGINE_INDIGO_PLATEAU_RIVAL_FIGHT, wWeeklyFlags, 5 ; indigo plateau rival fight
NUM_ENGINE_FLAGS EQU const_value
diff --git a/constants/event_flags.asm b/constants/event_flags.asm
index 932bb7c7..99b3d036 100644
--- a/constants/event_flags.asm
+++ b/constants/event_flags.asm
@@ -785,10 +785,10 @@
const EVENT_LEARNED_SLOWPOKETAIL
const EVENT_LEARNED_RATICATE_TAIL
const EVENT_OPENED_DOOR_TO_GIOVANNIS_OFFICE
- const EVENT_WAREHOUSE_LAYOUT_1
- const EVENT_WAREHOUSE_LAYOUT_2
- const EVENT_WAREHOUSE_LAYOUT_3
- const EVENT_WAREHOUSE_BLOCKED_OFF
+ const EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_1
+ const EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_2
+ const EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_3
+ const EVENT_GOLDENROD_UNDERGROUND_WAREHOUSE_BLOCKED_OFF
const EVENT_LEFT_MONS_WITH_CONTEST_OFFICER
const EVENT_WILLS_ROOM_ENTRANCE_CLOSED
const EVENT_WILLS_ROOM_EXIT_OPEN
diff --git a/constants/map_constants.asm b/constants/map_constants.asm
index 0fcef278..b24deb25 100644
--- a/constants/map_constants.asm
+++ b/constants/map_constants.asm
@@ -245,18 +245,18 @@ ENDM
map_const GOLDENROD_BILLS_HOUSE, 4, 4 ; 6
map_const GOLDENROD_MAGNET_TRAIN_STATION, 9, 10 ; 7
map_const GOLDENROD_FLOWER_SHOP, 4, 4 ; 8
- map_const GOLDENROD_PP_SPEECH_HOUSE, 4, 4 ; 9
- map_const GOLDENROD_NAME_RATER, 4, 4 ; 10
- map_const GOLDENROD_DEPT_STORE_1F, 4, 8 ; 11
- map_const GOLDENROD_DEPT_STORE_2F, 4, 8 ; 12
- map_const GOLDENROD_DEPT_STORE_3F, 4, 8 ; 13
- map_const GOLDENROD_DEPT_STORE_4F, 4, 8 ; 14
- map_const GOLDENROD_DEPT_STORE_5F, 4, 8 ; 15
- map_const GOLDENROD_DEPT_STORE_6F, 4, 8 ; 16
- map_const GOLDENROD_DEPT_STORE_ELEVATOR, 2, 2 ; 17
- map_const GOLDENROD_DEPT_STORE_ROOF, 4, 8 ; 18
- map_const GOLDENROD_GAME_CORNER, 7, 10 ; 19
- map_const GOLDENROD_POKECENTER_1F, 4, 5 ; 20
+ map_const GOLDENROD_POKECENTER_1F, 4, 5 ; 9
+ map_const GOLDENROD_PP_SPEECH_HOUSE, 4, 4 ; 10
+ map_const GOLDENROD_NAME_RATER, 4, 4 ; 11
+ map_const GOLDENROD_DEPT_STORE_1F, 4, 8 ; 12
+ map_const GOLDENROD_DEPT_STORE_2F, 4, 8 ; 13
+ map_const GOLDENROD_DEPT_STORE_3F, 4, 8 ; 14
+ map_const GOLDENROD_DEPT_STORE_4F, 4, 8 ; 15
+ map_const GOLDENROD_DEPT_STORE_5F, 4, 8 ; 16
+ map_const GOLDENROD_DEPT_STORE_6F, 4, 8 ; 17
+ map_const GOLDENROD_DEPT_STORE_ELEVATOR, 2, 2 ; 18
+ map_const GOLDENROD_DEPT_STORE_ROOF, 4, 8 ; 19
+ map_const GOLDENROD_GAME_CORNER, 7, 10 ; 20
map_const ILEX_FOREST_AZALEA_GATE, 4, 5 ; 21
map_const ROUTE_34_ILEX_FOREST_GATE, 4, 5 ; 22
map_const DAYCARE, 4, 5 ; 23
@@ -453,7 +453,7 @@ ENDM
map_const SAFFRON_POKECENTER_1F, 4, 5 ; 6
map_const SAFFRON_POKECENTER_2F_BETA, 4, 8 ; 7
map_const MR_PSYCHICS_HOUSE, 4, 4 ; 8
- map_const SAFFRON_TRAIN_STATION, 9, 10 ; 9
+ map_const SAFFRON_MAGNET_TRAIN_STATION, 9, 10 ; 9
map_const SILPH_CO_1F, 4, 8 ; 10
map_const COPYCATS_HOUSE_1F, 4, 4 ; 11
map_const COPYCATS_HOUSE_2F, 3, 5 ; 12
diff --git a/data/text/unused_sweet_honey.asm b/data/text/unused_sweet_honey.asm
new file mode 100644
index 00000000..04ceae2e
--- /dev/null
+++ b/data/text/unused_sweet_honey.asm
@@ -0,0 +1,68 @@
+; Sweet Honey is a feature that was scrapped before development.
+; It was later implemented in Pokémon Diamond and Pearl.
+;
+; Sweet Honey was probably reworked into Sweet Scent.
+; A map in the final game has a Butterfree and a woman who gives
+; the Sweet Scent TM.
+
+; Most of these texts seem to be associated with a single NPC.
+; The last text is associated with a second NPC, probably a Butterfree.
+
+UnusedSweetHoneyText:
+ text "My #MON is an"
+ line "expert at collect-"
+ cont "ing SWEET HONEY."
+
+ para "I'll share some"
+ line "with you."
+ done
+
+UnusedSweetHoneyBagFullText:
+ text "I want to give you"
+ line "some SWEET HONEY,"
+
+ para "but you have no"
+ line "room for it."
+ done
+
+UnusedSweetHoneyGiveText:
+ text "Here you go! Have"
+ line "some SWEET HONEY!"
+ done
+
+UnusedGotSweetHoneyText:
+ text "<PLAYER> received"
+ line "SWEET HONEY."
+ done
+
+UnusedSweetHoneyAfterText1:
+ text "My little brother"
+ line "takes SWEET HONEY"
+
+ para "and goes somewhere"
+ line "with it."
+
+ para "I wonder what he's"
+ line "up to?"
+ done
+
+UnusedSweetHoneyAfterText2:
+ text "Did you put SWEET"
+ line "HONEY on a tree?"
+
+ para "What happened to"
+ line "it?"
+ done
+
+UnusedSweetHoneyAfterText3:
+ text "Did you put SWEET"
+ line "HONEY on a tree?"
+
+ para "It takes about a"
+ line "day for #MON to"
+ cont "be drawn to it."
+ done
+
+UnusedSweetHoneyButterfreeText:
+ text "BUTTERFREE: Freeh!"
+ done
diff --git a/engine/engine_flags.asm b/engine/engine_flags.asm
index cbde8bd7..e5ed99fd 100755
--- a/engine/engine_flags.asm
+++ b/engine/engine_flags.asm
@@ -190,6 +190,6 @@ EngineFlags:
engine_flag ENGINE_MT_MOON_SQUARE_CLEFAIRY
engine_flag ENGINE_UNION_CAVE_LAPRAS
engine_flag ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
- engine_flag ENGINE_GOLDENROD_MALL_5F_HAPPINESS_EVENT
- engine_flag ENGINE_TEA_IN_BLUES_HOUSE
+ engine_flag ENGINE_GOLDENROD_DEPT_STORE_TM27_RETURN
+ engine_flag ENGINE_DAISYS_GROOMING
engine_flag ENGINE_INDIGO_PLATEAU_RIVAL_FIGHT
diff --git a/engine/specials.asm b/engine/specials.asm
index dd2d427a..15081555 100755
--- a/engine/specials.asm
+++ b/engine/specials.asm
@@ -116,7 +116,7 @@ SpecialsPointers:
add_special ResetLuckyNumberShowFlag
add_special PrintTodaysLuckyNumber
add_special SelectApricornForKurt
- add_special SpecialNameRater
+ add_special NameRater
add_special DisplayLinkRecord
add_special GetFirstPokemonHappiness
add_special CheckFirstMonIsEgg
@@ -223,8 +223,8 @@ IF DEF(SILVER)
db "GOLD@"
ENDC
-SpecialNameRater: ; c413 (3:4413)
- callba Functionfb7f7
+NameRater:
+ callba _NameRater
ret
OverworldTownMap: ; c41a (3:441a)
diff --git a/macros/scripts/events.asm b/macros/scripts/events.asm
index 8908140d..95148c0c 100644
--- a/macros/scripts/events.asm
+++ b/macros/scripts/events.asm
@@ -839,17 +839,17 @@ waitsfx: MACRO
db waitsfx_command
ENDM
- enum warpsound_command ; $87
+ enum warpsound_command ; $86
warpsound: MACRO
db warpsound_command
ENDM
- enum specialsound_command ; $88
+ enum specialsound_command ; $87
specialsound: MACRO
db specialsound_command
ENDM
- enum passtoengine_command ; $89
+ enum passtoengine_command ; $88
passtoengine: MACRO
db passtoengine_command
db \1 ; data_pointer
@@ -884,18 +884,18 @@ warpcheck: MACRO
db warpcheck_command
ENDM
- enum ptpriorityjump_command ; $8f
+ enum ptpriorityjump_command ; $8e
ptpriorityjump: MACRO
db ptpriorityjump_command
dw \1 ; pointer
ENDM
- enum return_command ; $90
+ enum return_command ; $8f
return: MACRO
db return_command
ENDM
- enum end_command ; $91
+ enum end_command ; $90
end: MACRO
db end_command
ENDM
diff --git a/main.asm b/main.asm
index 3125b481..e73742f9 100644
--- a/main.asm
+++ b/main.asm
@@ -1492,7 +1492,7 @@ Shrink1Pic:
dr $fb5be, $fb64e
Shrink2Pic:
dr $fb64e, $fb7f7
-Functionfb7f7:
+_NameRater:
dr $fb7f7, $fb94b
PlaySlowCry:
dr $fb94b, $fb981
@@ -1622,8 +1622,23 @@ SECTION "bank56", ROMX, BANK[$56]
dr $158000, $15c000
SECTION "bank57", ROMX, BANK[$57]
- dr $15c000, $15e7a2
+INCLUDE "maps/GoldenrodGym.asm"
+INCLUDE "maps/GoldenrodBikeShop.asm"
+INCLUDE "maps/GoldenrodHappinessRater.asm"
+INCLUDE "maps/BillsFamilysHouse.asm"
+INCLUDE "maps/GoldenrodMagnetTrainStation.asm"
+INCLUDE "maps/GoldenrodFlowerShop.asm"
+INCLUDE "maps/GoldenrodPokecenter1F.asm"
+INCLUDE "maps/GoldenrodPPSpeechHouse.asm"
+INCLUDE "maps/GoldenrodNameRater.asm"
+INCLUDE "maps/GoldenrodDeptStore1F.asm"
+INCLUDE "maps/GoldenrodDeptStore2F.asm"
+INCLUDE "maps/GoldenrodDeptStore3F.asm"
+INCLUDE "maps/GoldenrodDeptStore4F.asm"
+INCLUDE "maps/GoldenrodDeptStore5F.asm"
+INCLUDE "maps/GoldenrodDeptStore6F.asm"
+INCLUDE "maps/GoldenrodDeptStoreElevator.asm"
INCLUDE "maps/GoldenrodGameCorner.asm"
INCLUDE "maps/IlexForestAzaleaGate.asm"
INCLUDE "maps/Route34IlexForestGate.asm"
diff --git a/maps/BillsFamilysHouse.asm b/maps/BillsFamilysHouse.asm
new file mode 100644
index 00000000..b80aacc7
--- /dev/null
+++ b/maps/BillsFamilysHouse.asm
@@ -0,0 +1,244 @@
+ const_def 2 ; object constants
+ const BILLSFAMILYSHOUSE_BILL
+ const BILLSFAMILYSHOUSE_POKEFAN_F
+ const BILLSFAMILYSHOUSE_TWIN
+
+BillsFamilysHouse_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+BillScript:
+ faceplayer
+ opentext
+ checkevent EVENT_GOT_EEVEE
+ iftrue .GotEevee
+ writetext BillTakeThisEeveeText
+ yesorno
+ iffalse .Refused
+ writetext BillImCountingOnYouText
+ buttonsound
+ waitsfx
+ checkcode VAR_PARTYCOUNT
+ ifequal PARTY_LENGTH, .NoRoom
+ writetext ReceivedEeveeText
+ playsound SFX_CAUGHT_MON
+ waitsfx
+ givepoke EEVEE, 20
+ setevent EVENT_GOT_EEVEE
+ writetext BillEeveeMayEvolveText
+ waitbutton
+ closetext
+ end
+
+.NoRoom:
+ writetext BillPartyFullText
+ waitbutton
+ closetext
+ end
+
+.Refused:
+ writetext BillNoEeveeText
+ waitbutton
+ closetext
+ end
+
+.GotEevee:
+ writetext BillPopWontWorkText
+ waitbutton
+ closetext
+ end
+
+BillsMomScript:
+ faceplayer
+ opentext
+ checkevent EVENT_MET_BILL
+ iffalse .HaventMetBill
+ writetext BillsPopText
+ waitbutton
+ closetext
+ end
+
+.HaventMetBill:
+ writetext BillsMomText
+ waitbutton
+ closetext
+ end
+
+BillsSisterScript:
+ faceplayer
+ opentext
+ checkcellnum PHONE_BILL
+ iftrue .GotBillsNumber
+ writetext BillsSisterUsefulNumberText
+ askforphonenumber PHONE_BILL
+ ifequal PHONE_CONTACTS_FULL, .NoRoom
+ ifequal PHONE_CONTACT_REFUSED, .Refused
+ waitsfx
+ addcellnum PHONE_BILL
+ writetext RecordedBillsNumberText
+ playsound SFX_REGISTER_PHONE_NUMBER
+ waitsfx
+ buttonsound
+.GotBillsNumber:
+ writetext BillsSisterStorageSystemText
+ waitbutton
+ closetext
+ end
+
+.Refused:
+ writetext BillsSisterRefusedNumberText
+ waitbutton
+ closetext
+ end
+
+.NoRoom:
+ writetext BillsSisterPhoneFullText
+ buttonsound
+ jump .Refused
+
+BillsHouseBookshelf1:
+ jumpstd picturebookshelf
+
+BillsHouseBookshelf2:
+ jumpstd magazinebookshelf
+
+BillsHouseRadio:
+ jumpstd radio2
+
+BillTakeThisEeveeText:
+ text "BILL: Hi, <PLAYER>!"
+ line "Do us a favor and"
+ cont "take this EEVEE."
+
+ para "It came over when"
+ line "I was adjusting"
+ cont "the TIME CAPSULE."
+
+ para "Someone has to"
+ line "take care of it,"
+
+ para "but I don't like"
+ line "being outside."
+
+ para "Can I count on you"
+ line "to play with it,"
+ cont "<PLAYER>?"
+ done
+
+BillImCountingOnYouText:
+ text "BILL: I knew it!"
+ line "Way to go, hero!"
+
+ para "You're the real"
+ line "deal, dude!"
+
+ para "OK, I'm counting"
+ line "on you. Take good"
+ cont "care of it."
+ done
+
+ReceivedEeveeText:
+ text "<PLAYER> received"
+ line "EEVEE!"
+ done
+
+BillEeveeMayEvolveText:
+ text "BILL: PROF.ELM"
+ line "claims EEVEE may"
+
+ para "evolve in new and"
+ line "unknown ways."
+ done
+
+BillPartyFullText:
+ text "Whoa, wait. You"
+ line "can't carry any"
+ cont "more #MON."
+ done
+
+BillNoEeveeText:
+ text "Oh… Now what to"
+ line "do?"
+ done
+
+BillPopWontWorkText:
+ text "BILL: I used to"
+ line "experiment with a"
+ cont "TELEPORTER."
+
+ para "I ought to do a"
+ line "follow-up."
+ done
+
+BillsPopText:
+ text "Oh, you collect"
+ line "#MON? My son"
+ cont "BILL is an expert."
+
+ para "He had to leave"
+ line "for the #MON"
+
+ para "CENTER in ECRUTEAK"
+ line "CITY."
+ done
+
+BillsMomText:
+ text "I am so glad to"
+ line "see my son again."
+ done
+
+BillsSisterUsefulNumberText:
+ text "Are you a trainer?"
+
+ para "I've got a useful"
+ line "phone number for"
+ cont "you."
+ done
+
+RecordedBillsNumberText:
+ text "<PLAYER> recorded"
+ line "BILL's number."
+ done
+
+BillsSisterRefusedNumberText:
+ text "My brother made"
+ line "the PC #MON"
+ cont "storage system."
+
+ para "I was going to"
+ line "give you BILL's"
+ cont "number…"
+ done
+
+BillsSisterPhoneFullText:
+ text "You can't record"
+ line "any more numbers."
+ done
+
+BillsSisterStorageSystemText:
+ text "My big brother"
+ line "BILL made the PC"
+
+ para "#MON storage"
+ line "system."
+ done
+
+BillsFamilysHouse_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 2, 7, GOLDENROD_CITY, 4
+ warp_event 3, 7, GOLDENROD_CITY, 4
+
+ db 0 ; coord events
+
+ db 3 ; bg events
+ bg_event 0, 1, BGEVENT_READ, BillsHouseBookshelf2
+ bg_event 1, 1, BGEVENT_READ, BillsHouseBookshelf1
+ bg_event 7, 1, BGEVENT_READ, BillsHouseRadio
+
+ db 3 ; object events
+ object_event 2, 3, SPRITE_BILL, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BillScript, EVENT_MET_BILL
+ object_event 5, 3, SPRITE_POKEFAN_F, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BillsMomScript, -1
+ object_event 5, 4, SPRITE_TWIN, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, BillsSisterScript, -1
diff --git a/maps/GoldenrodBikeShop.asm b/maps/GoldenrodBikeShop.asm
new file mode 100644
index 00000000..caf328d1
--- /dev/null
+++ b/maps/GoldenrodBikeShop.asm
@@ -0,0 +1,123 @@
+ const_def 2 ; object constants
+ const GOLDENRODBIKESHOP_CLERK
+
+GoldenrodBikeShop_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+.UnreferencedDummyScene:
+ end
+
+GoldenrodBikeShopClerkScript:
+ faceplayer
+ opentext
+ checkevent EVENT_GOT_BICYCLE
+ iftrue .GotBicycle
+ writetext GoldenrodBikeShopClerkIntroText
+ yesorno
+ iffalse .Refused
+ writetext GoldenrodBikeShopClerkAgreedText
+ buttonsound
+ waitsfx
+ giveitem BICYCLE
+ writetext BorrowedABicycleText
+ playsound SFX_KEY_ITEM
+ waitsfx
+ itemnotify
+ setflag ENGINE_BIKE_SHOP_CALL_ENABLED
+ setevent EVENT_GOT_BICYCLE
+.GotBicycle:
+ writetext GoldenrodBikeShopClerkFirstRateBikesText
+ waitbutton
+ closetext
+ end
+
+.Refused:
+ writetext GoldenrodBikeShopClerkRefusedText
+ waitbutton
+ closetext
+ end
+
+GoldenrodBikeShopJustReleasedCompactBike:
+; unused
+ jumptext GoldenrodBikeShopJustReleasedCompactBikeText
+
+GoldenrodBikeShopBicycle:
+ jumptext GoldenrodBikeShopBicycleText
+
+GoldenrodBikeShopClerkIntroText:
+ text "…sigh… I moved"
+ line "here, but I can't"
+
+ para "sell my BICYCLES."
+ line "Why is that?"
+
+ para "Could you ride a"
+ line "BICYCLE and adver-"
+ cont "tise for me?"
+ done
+
+GoldenrodBikeShopClerkAgreedText:
+ text "Really? Great!"
+
+ para "Give me your name"
+ line "and phone number,"
+
+ para "and I'll loan you"
+ line "a BICYCLE."
+ done
+
+BorrowedABicycleText:
+ text "<PLAYER> borrowed a"
+ line "BICYCLE."
+ done
+
+GoldenrodBikeShopClerkFirstRateBikesText:
+ text "My BICYCLES are"
+ line "first-rate! You"
+
+ para "can ride them"
+ line "anywhere."
+ done
+
+GoldenrodBikeShopClerkRefusedText:
+ text "…sigh… Oh, for"
+ line "the kindness of"
+ cont "people…"
+ done
+
+GoldenrodBikeShopJustReleasedCompactBikeText:
+ text "Just released!"
+
+ para "First-rate compact"
+ line "BICYCLES!"
+ done
+
+GoldenrodBikeShopBicycleText:
+ text "It's a shiny new"
+ line "BICYCLE!"
+ done
+
+GoldenrodBikeShop_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 2, 7, GOLDENROD_CITY, 2
+ warp_event 3, 7, GOLDENROD_CITY, 2
+
+ db 0 ; coord events
+
+ db 9 ; bg events
+ bg_event 1, 2, BGEVENT_READ, GoldenrodBikeShopBicycle
+ bg_event 0, 3, BGEVENT_READ, GoldenrodBikeShopBicycle
+ bg_event 1, 3, BGEVENT_READ, GoldenrodBikeShopBicycle
+ bg_event 0, 5, BGEVENT_READ, GoldenrodBikeShopBicycle
+ bg_event 1, 5, BGEVENT_READ, GoldenrodBikeShopBicycle
+ bg_event 0, 6, BGEVENT_READ, GoldenrodBikeShopBicycle
+ bg_event 1, 6, BGEVENT_READ, GoldenrodBikeShopBicycle
+ bg_event 6, 6, BGEVENT_READ, GoldenrodBikeShopBicycle
+ bg_event 7, 6, BGEVENT_READ, GoldenrodBikeShopBicycle
+
+ db 1 ; object events
+ object_event 7, 2, SPRITE_CLERK, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, GoldenrodBikeShopClerkScript, -1
diff --git a/maps/GoldenrodDeptStore1F.asm b/maps/GoldenrodDeptStore1F.asm
new file mode 100644
index 00000000..ec79e968
--- /dev/null
+++ b/maps/GoldenrodDeptStore1F.asm
@@ -0,0 +1,96 @@
+ const_def 2 ; object constants
+ const GOLDENRODDEPTSTORE1F_RECEPTIONIST
+ const GOLDENRODDEPTSTORE1F_POKEFAN_F
+ const GOLDENRODDEPTSTORE1F_BUG_CATCHER
+ const GOLDENRODDEPTSTORE1F_GENTLEMAN
+
+GoldenrodDeptStore1F_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+GoldenrodDeptStore1FReceptionistScript:
+ jumptextfaceplayer GoldenrodDeptStore1FReceptionistText
+
+GoldenrodDeptStore1FGentlemanScript:
+ jumptextfaceplayer GoldenrodDeptStore1FGentlemanText
+
+GoldenrodDeptStore1FPokefanFScript:
+ jumptextfaceplayer GoldenrodDeptStore1FPokefanFText
+
+GoldenrodDeptStore1FBugCatcherScript:
+ jumptextfaceplayer GoldenrodDeptStore1FBugCatcherText
+
+GoldenrodDeptStore1FDirectory:
+ jumptext GoldenrodDeptStore1FDirectoryText
+
+GoldenrodDeptStore1FElevatorButton:
+ jumpstd elevatorbutton
+
+GoldenrodDeptStore1FReceptionistText:
+ text "Welcome to GOLDEN-"
+ line "ROD DEPT.STORE."
+ done
+
+GoldenrodDeptStore1FGentlemanText:
+ text "The DEPT.STORE"
+ line "has a decent se-"
+ cont "lection."
+
+ para "But some items"
+ line "are only available"
+
+ para "as GAME CORNER"
+ line "prizes."
+ done
+
+GoldenrodDeptStore1FPokefanFText:
+ text "I'm raring to shop"
+ line "again today!"
+ done
+
+GoldenrodDeptStore1FBugCatcherText:
+ text "Mom's good at"
+ line "bargain hunting."
+
+ para "She always buys"
+ line "stuff at lower"
+ cont "prices."
+ done
+
+GoldenrodDeptStore1FDirectoryText:
+ text "1F SERVICE COUNTER"
+
+ para "2F TRAINER'S"
+ line " MARKET"
+
+ para "3F BATTLE"
+ line " COLLECTION"
+
+ para "4F MEDICINE BOX"
+
+ para "5F TM CORNER"
+
+ para "6F ROOFTOP SQUARE"
+ done
+
+GoldenrodDeptStore1F_MapEvents:
+ db 0, 0 ; filler
+
+ db 4 ; warp events
+ warp_event 7, 7, GOLDENROD_CITY, 10
+ warp_event 8, 7, GOLDENROD_CITY, 10
+ warp_event 15, 0, GOLDENROD_DEPT_STORE_2F, 2
+ warp_event 2, 0, GOLDENROD_DEPT_STORE_ELEVATOR, 1
+
+ db 0 ; coord events
+
+ db 2 ; bg events
+ bg_event 14, 0, BGEVENT_READ, GoldenrodDeptStore1FDirectory
+ bg_event 3, 0, BGEVENT_READ, GoldenrodDeptStore1FElevatorButton
+
+ db 4 ; object events
+ object_event 10, 1, SPRITE_RECEPTIONIST, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore1FReceptionistScript, -1
+ object_event 5, 4, SPRITE_POKEFAN_F, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore1FPokefanFScript, -1
+ object_event 5, 5, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore1FBugCatcherScript, -1
+ object_event 11, 5, SPRITE_GENTLEMAN, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore1FGentlemanScript, -1
diff --git a/maps/GoldenrodDeptStore2F.asm b/maps/GoldenrodDeptStore2F.asm
new file mode 100644
index 00000000..d13fb9f2
--- /dev/null
+++ b/maps/GoldenrodDeptStore2F.asm
@@ -0,0 +1,119 @@
+ const_def 2 ; object constants
+ const GOLDENRODDEPTSTORE2F_CLERK1
+ const GOLDENRODDEPTSTORE2F_CLERK2
+ const GOLDENRODDEPTSTORE2F_YOUNGSTER
+ const GOLDENRODDEPTSTORE2F_COOLTRAINER_F
+ const GOLDENRODDEPTSTORE2F_GENTLEMAN
+
+GoldenrodDeptStore2F_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+GoldenrodDeptStore2FClerk1Script:
+ faceplayer
+ opentext
+ pokemart MARTTYPE_STANDARD, MART_GOLDENROD_2F_1
+ closetext
+ end
+
+GoldenrodDeptStore2FClerk2Script:
+ faceplayer
+ opentext
+ pokemart MARTTYPE_STANDARD, MART_GOLDENROD_2F_2
+ closetext
+ end
+
+GoldenrodDeptStore2FYoungsterScript:
+ jumptextfaceplayer GoldenrodDeptStore2FYoungsterText
+
+GoldenrodDeptStore2FCooltrainerFScript:
+ jumptextfaceplayer GoldenrodDeptStore2FCooltrainerFText
+
+GoldenrodDeptStore2FGentlemanScript:
+ jumptextfaceplayer GoldenrodDeptStore2FGentlemanText
+
+GoldenrodDeptStore2FDirectory:
+ jumptext GoldenrodDeptStore2FDirectoryText
+
+GoldenrodDeptStore2FElevatorButton:
+ jumpstd elevatorbutton
+
+GoldenrodDeptStore2FUnusedText1:
+; unused
+ text "We intend to sell"
+ line "items for #MON"
+ cont "to hold."
+
+ para "This is a free"
+ line "gift. Have a #-"
+ cont "MON hold it."
+ done
+
+GoldenrodDeptStore2FUnusedText2:
+; unused
+ text "Giving #MON"
+ line "items to hold dur-"
+ cont "ing battle could "
+ cont "tip the scales in"
+ cont "your favor."
+ done
+
+GoldenrodDeptStore2FYoungsterText:
+ text "#GEAR can store"
+ line "up to ten phone"
+ cont "numbers."
+
+ para "It's hard to de-"
+ line "cide which numbers"
+ cont "to keep."
+ done
+
+GoldenrodDeptStore2FCooltrainerFText:
+ text "I got my ABRA at"
+ line "the GAME CORNER."
+
+ para "Now it's my best"
+ line "partner."
+ done
+
+GoldenrodDeptStore2FGentlemanText:
+ text "This DEPT.STORE"
+ line "makes me realize"
+
+ para "that GOLDENROD is"
+ line "a big city."
+
+ para "The selection here"
+ line "is unmatched any-"
+ cont "where else."
+ done
+
+GoldenrodDeptStore2FDirectoryText:
+ text "Your Travel"
+ line "Companion"
+
+ para "2F TRAINER'S"
+ line " MARKET"
+ done
+
+GoldenrodDeptStore2F_MapEvents:
+ db 0, 0 ; filler
+
+ db 3 ; warp events
+ warp_event 12, 0, GOLDENROD_DEPT_STORE_3F, 1
+ warp_event 15, 0, GOLDENROD_DEPT_STORE_1F, 3
+ warp_event 2, 0, GOLDENROD_DEPT_STORE_ELEVATOR, 1
+
+ db 0 ; coord events
+
+ db 2 ; bg events
+ bg_event 14, 0, BGEVENT_READ, GoldenrodDeptStore2FDirectory
+ bg_event 3, 0, BGEVENT_READ, GoldenrodDeptStore2FElevatorButton
+
+ db 5 ; object events
+ object_event 13, 5, SPRITE_CLERK, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore2FClerk1Script, -1
+ object_event 13, 6, SPRITE_CLERK, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore2FClerk2Script, -1
+ object_event 9, 6, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 1, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore2FYoungsterScript, -1
+ object_event 6, 2, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 2, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore2FCooltrainerFScript, -1
+ object_event 2, 6, SPRITE_GENTLEMAN, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore2FGentlemanScript, -1
diff --git a/maps/GoldenrodDeptStore3F.asm b/maps/GoldenrodDeptStore3F.asm
new file mode 100644
index 00000000..83232dda
--- /dev/null
+++ b/maps/GoldenrodDeptStore3F.asm
@@ -0,0 +1,74 @@
+ const_def 2 ; object constants
+ const GOLDENRODDEPTSTORE3F_CLERK
+ const GOLDENRODDEPTSTORE3F_SUPER_NERD
+ const GOLDENRODDEPTSTORE3F_ROCKER
+
+GoldenrodDeptStore3F_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+GoldenrodDeptStore3FClerkScript:
+ faceplayer
+ opentext
+ pokemart MARTTYPE_STANDARD, MART_GOLDENROD_3F
+ closetext
+ end
+
+GoldenrodDeptStore3FSuperNerdScript:
+ jumptextfaceplayer GoldenrodDeptStore3FSuperNerdText
+
+GoldenrodDeptStore3FRockerScript:
+ jumptextfaceplayer GoldenrodDeptStore3FRockerText
+
+GoldenrodDeptStore3FDirectory:
+ jumptext GoldenrodDeptStore3FDirectoryText
+
+GoldenrodDeptStore3FElevatorButton:
+ jumpstd elevatorbutton
+
+GoldenrodDeptStore3FSuperNerdText:
+ text "I, I, I'm really"
+ line "impatient!"
+
+ para "I use X SPEED in"
+ line "battle to speed up"
+ cont "my #MON."
+ done
+
+GoldenrodDeptStore3FRockerText:
+ text "Hey! When you bat-"
+ line "tle, do you use X"
+ cont "SPECIAL?"
+
+ para "It's awesome. It"
+ line "really jacks up"
+ cont "the SPECIAL stats!"
+ done
+
+GoldenrodDeptStore3FDirectoryText:
+ text "For Victory"
+ line "Seekers"
+
+ para "3F BATTLE"
+ line " COLLECTION"
+ done
+
+GoldenrodDeptStore3F_MapEvents:
+ db 0, 0 ; filler
+
+ db 3 ; warp events
+ warp_event 12, 0, GOLDENROD_DEPT_STORE_2F, 1
+ warp_event 15, 0, GOLDENROD_DEPT_STORE_4F, 2
+ warp_event 2, 0, GOLDENROD_DEPT_STORE_ELEVATOR, 1
+
+ db 0 ; coord events
+
+ db 2 ; bg events
+ bg_event 14, 0, BGEVENT_READ, GoldenrodDeptStore3FDirectory
+ bg_event 3, 0, BGEVENT_READ, GoldenrodDeptStore3FElevatorButton
+
+ db 3 ; object events
+ object_event 6, 1, SPRITE_CLERK, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore3FClerkScript, -1
+ object_event 12, 5, SPRITE_SUPER_NERD, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 1, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore3FSuperNerdScript, -1
+ object_event 2, 5, SPRITE_ROCKER, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 1, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore3FRockerScript, -1
diff --git a/maps/GoldenrodDeptStore4F.asm b/maps/GoldenrodDeptStore4F.asm
new file mode 100644
index 00000000..895c8a4f
--- /dev/null
+++ b/maps/GoldenrodDeptStore4F.asm
@@ -0,0 +1,96 @@
+ const_def 2 ; object constants
+ const GOLDENRODDEPTSTORE4F_CLERK
+ const GOLDENRODDEPTSTORE4F_COOLTRAINER_M
+ const GOLDENRODDEPTSTORE4F_BUG_CATCHER
+ const GOLDENRODDEPTSTORE4F_GAMEBOY_KID
+
+GoldenrodDeptStore4F_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+GoldenrodDeptStore4FClerkScript:
+ faceplayer
+ opentext
+ pokemart MARTTYPE_STANDARD, MART_GOLDENROD_4F
+ closetext
+ end
+
+GoldenrodDeptStore4FCooltrainerMScript:
+ jumptextfaceplayer GoldenrodDeptStore4FCooltrainerMText
+
+GoldenrodDeptStore4FBugCatcherScript:
+ jumptextfaceplayer GoldenrodDeptStore4FBugCatcherText
+
+GoldenrodDeptStore4FGameboyKidScript:
+ faceplayer
+ opentext
+ writetext GoldenrodDeptStore4FGameboyKidText
+ waitbutton
+ closetext
+ turnobject GOLDENRODDEPTSTORE4F_GAMEBOY_KID, DOWN
+ end
+
+GoldenrodDeptStore4FDirectory:
+ jumptext GoldenrodDeptStore4FDirectoryText
+
+GoldenrodDeptStore4FElevatorButton:
+ jumpstd elevatorbutton
+
+GoldenrodDeptStore4FCooltrainerMText:
+ text "Hey. I love strong"
+ line "#MON."
+
+ para "I feed them PRO-"
+ line "TEIN to crank up"
+ cont "their ATTACK."
+ done
+
+GoldenrodDeptStore4FBugCatcherText:
+ text "IRON adds to your"
+ line "#MON's DEFENSE."
+ done
+
+GoldenrodDeptStore4FGameboyKidText:
+ text "Some #MON"
+ line "evolve only by"
+
+ para "being traded via a"
+ line "Game Link cable."
+
+ para "I know of four:"
+ line "MACHOKE, KADABRA,"
+
+ para "HAUNTER and, um,"
+ line "GRAVELER."
+
+ para "I heard there are"
+ line "others too."
+ done
+
+GoldenrodDeptStore4FDirectoryText:
+ text "Let Us Pump Up"
+ line "Your #MON!"
+
+ para "4F MEDICINE BOX"
+ done
+
+GoldenrodDeptStore4F_MapEvents:
+ db 0, 0 ; filler
+
+ db 3 ; warp events
+ warp_event 12, 0, GOLDENROD_DEPT_STORE_5F, 1
+ warp_event 15, 0, GOLDENROD_DEPT_STORE_3F, 2
+ warp_event 2, 0, GOLDENROD_DEPT_STORE_ELEVATOR, 1
+
+ db 0 ; coord events
+
+ db 2 ; bg events
+ bg_event 14, 0, BGEVENT_READ, GoldenrodDeptStore4FDirectory
+ bg_event 3, 0, BGEVENT_READ, GoldenrodDeptStore4FElevatorButton
+
+ db 4 ; object events
+ object_event 13, 5, SPRITE_CLERK, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore4FClerkScript, -1
+ object_event 11, 7, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore4FCooltrainerMScript, -1
+ object_event 7, 2, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore4FBugCatcherScript, -1
+ object_event 5, 1, SPRITE_GAMEBOY_KID, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore4FGameboyKidScript, -1
diff --git a/maps/GoldenrodDeptStore5F.asm b/maps/GoldenrodDeptStore5F.asm
new file mode 100644
index 00000000..4734656b
--- /dev/null
+++ b/maps/GoldenrodDeptStore5F.asm
@@ -0,0 +1,238 @@
+ const_def 2 ; object constants
+ const GOLDENRODDEPTSTORE5F_CLERK
+ const GOLDENRODDEPTSTORE5F_LASS
+ const GOLDENRODDEPTSTORE5F_MIKE
+ const GOLDENRODDEPTSTORE5F_POKEFAN_M
+ const GOLDENRODDEPTSTORE5F_CARRIE
+ const GOLDENRODDEPTSTORE5F_RECEPTIONIST
+
+GoldenrodDeptStore5F_MapScripts:
+ db 0 ; scene scripts
+
+ db 1 ; callbacks
+ callback MAPCALLBACK_OBJECTS, .CheckIfSunday
+
+.CheckIfSunday:
+ checkcode VAR_WEEKDAY
+ ifequal SUNDAY, .yes
+ disappear GOLDENRODDEPTSTORE5F_RECEPTIONIST
+ return
+
+.yes
+ appear GOLDENRODDEPTSTORE5F_RECEPTIONIST
+ return
+
+GoldenrodDeptStore5FClerkScript:
+ faceplayer
+ opentext
+ checkevent EVENT_GOT_TM02_HEADBUTT
+ iftrue .headbutt
+ checkevent EVENT_GOT_TM08_ROCK_SMASH
+ iftrue .onlyrocksmash
+ jump .neither
+
+.headbutt
+ checkevent EVENT_GOT_TM08_ROCK_SMASH
+ iftrue .both
+ jump .onlyheadbutt
+
+.neither
+ pokemart MARTTYPE_STANDARD, MART_GOLDENROD_5F_1
+ closetext
+ end
+
+.onlyheadbutt
+ pokemart MARTTYPE_STANDARD, MART_GOLDENROD_5F_2
+ closetext
+ end
+
+.onlyrocksmash
+ pokemart MARTTYPE_STANDARD, MART_GOLDENROD_5F_3
+ closetext
+ end
+
+.both
+ pokemart MARTTYPE_STANDARD, MART_GOLDENROD_5F_4
+ closetext
+ end
+
+GoldenrodDeptStore5FReceptionistScript:
+ faceplayer
+ opentext
+ checkcode VAR_WEEKDAY
+ ifnotequal SUNDAY, .EventIsOver
+ checkflag ENGINE_GOLDENROD_DEPT_STORE_TM27_RETURN
+ iftrue .EventIsOver
+ special GetFirstPokemonHappiness
+ writetext UnknownText_0x56143
+ buttonsound
+ ifgreater 150 - 1, .VeryHappy
+ ifgreater 50 - 1, .SomewhatHappy
+ jump .NotVeryHappy
+
+.VeryHappy:
+ writetext UnknownText_0x5615a
+ buttonsound
+ verbosegiveitem TM_RETURN
+ iffalse .Done
+ setflag ENGINE_GOLDENROD_DEPT_STORE_TM27_RETURN
+ closetext
+ end
+
+.SomewhatHappy:
+ writetext UnknownText_0x561a6
+ waitbutton
+ closetext
+ end
+
+.NotVeryHappy:
+ writetext UnknownText_0x561d8
+ buttonsound
+ verbosegiveitem TM_FRUSTRATION
+ iffalse .Done
+ setflag ENGINE_GOLDENROD_DEPT_STORE_TM27_RETURN
+ closetext
+ end
+
+.EventIsOver:
+ writetext UnknownText_0x56202
+ waitbutton
+.Done:
+ closetext
+ end
+
+Carrie:
+ faceplayer
+ opentext
+ special GameboyCheck
+ ifnotequal GBCHECK_CGB, .NotGBC ; This is a dummy check from Gold/Silver
+ writetext UnknownText_0x56241
+ waitbutton
+ closetext
+ special UnlockMysteryGift
+ end
+
+.NotGBC:
+ writetext UnknownText_0x56279
+ waitbutton
+ closetext
+ end
+
+GoldenrodDeptStore5FLassScript:
+ jumptextfaceplayer GoldenrodDeptStore5FLassText
+
+Mike:
+ faceplayer
+ opentext
+ trade NPC_TRADE_MIKE
+ waitbutton
+ closetext
+ end
+
+GoldenrodDeptStore5FPokefanMScript:
+ jumptextfaceplayer GoldenrodDeptStore5FPokefanMText
+
+GoldenrodDeptStore5FDirectory:
+ jumptext GoldenrodDeptStore5FDirectoryText
+
+GoldenrodDeptStore5FElevatorButton:
+ jumpstd elevatorbutton
+
+UnknownText_0x56143:
+ text "Hello. Oh, your"
+ line "#MON…"
+ done
+
+UnknownText_0x5615a:
+ text "It's very attached"
+ line "to you."
+
+ para "This move should"
+ line "be perfect for a"
+ cont "pair like you."
+ done
+
+UnknownText_0x561a6:
+ text "It's adorable!"
+
+ para "You should teach"
+ line "it good TM moves."
+ done
+
+UnknownText_0x561d8:
+ text "It looks evil. How"
+ line "about this TM for"
+ cont "it?"
+ done
+
+UnknownText_0x56202:
+ text "There are sure to"
+ line "be TMs that are"
+
+ para "just perfect for"
+ line "your #MON."
+ done
+
+UnknownText_0x56241:
+ text "MYSTERY GIFT."
+
+ para "With just a"
+ line "little beep, you"
+ cont "get a gift."
+ done
+
+UnknownText_0x56279:
+ text "The MYSTERY GIFT"
+ line "option requires a"
+ cont "Game Boy Color."
+ done
+
+GoldenrodDeptStore5FLassText:
+ text "On Sundays, a lady"
+ line "comes to check out"
+ cont "#MON."
+
+ para "She even gives"
+ line "away TMs!"
+ done
+
+GoldenrodDeptStore5FPokefanMText:
+ text "You can't rename a"
+ line "#MON you get in"
+ cont "a trade."
+
+ para "The name is a re-"
+ line "flection of the"
+
+ para "original trainer's"
+ line "feelings for it."
+ done
+
+GoldenrodDeptStore5FDirectoryText:
+ text "Customize Your"
+ line "#MON"
+
+ para "5F TM CORNER"
+ done
+
+GoldenrodDeptStore5F_MapEvents:
+ db 0, 0 ; filler
+
+ db 3 ; warp events
+ warp_event 12, 0, GOLDENROD_DEPT_STORE_4F, 1
+ warp_event 15, 0, GOLDENROD_DEPT_STORE_6F, 1
+ warp_event 2, 0, GOLDENROD_DEPT_STORE_ELEVATOR, 1
+
+ db 0 ; coord events
+
+ db 2 ; bg events
+ bg_event 14, 0, BGEVENT_READ, GoldenrodDeptStore5FDirectory
+ bg_event 3, 0, BGEVENT_READ, GoldenrodDeptStore5FElevatorButton
+
+ db 6 ; object events
+ object_event 8, 5, SPRITE_CLERK, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore5FClerkScript, -1
+ object_event 3, 6, SPRITE_LASS, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore5FLassScript, -1
+ object_event 6, 3, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Mike, -1
+ object_event 13, 5, SPRITE_POKEFAN_M, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore5FPokefanMScript, -1
+ object_event 9, 1, SPRITE_TWIN, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, Carrie, -1
+ object_event 7, 5, SPRITE_RECEPTIONIST, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore5FReceptionistScript, EVENT_GOLDENROD_DEPT_STORE_5F_HAPPINESS_EVENT_LADY
diff --git a/maps/GoldenrodDeptStore6F.asm b/maps/GoldenrodDeptStore6F.asm
new file mode 100644
index 00000000..e718b4ee
--- /dev/null
+++ b/maps/GoldenrodDeptStore6F.asm
@@ -0,0 +1,167 @@
+ const_def 2 ; object constants
+ const GOLDENRODDEPTSTORE6F_LASS
+ const GOLDENRODDEPTSTORE6F_SUPER_NERD
+
+GoldenrodDeptStore6F_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+GoldenrodVendingMachine:
+ opentext
+ writetext GoldenrodVendingText
+.Start:
+ special PlaceMoneyTopRight
+ loadmenu .MenuHeader
+ verticalmenu
+ closewindow
+ ifequal 1, .FreshWater
+ ifequal 2, .SodaPop
+ ifequal 3, .Lemonade
+ closetext
+ end
+
+.FreshWater:
+ checkmoney YOUR_MONEY, 200
+ ifequal HAVE_LESS, .NotEnoughMoney
+ giveitem FRESH_WATER
+ iffalse .NotEnoughSpace
+ takemoney YOUR_MONEY, 200
+ itemtotext FRESH_WATER, MEM_BUFFER_0
+ jump .VendItem
+
+.SodaPop:
+ checkmoney YOUR_MONEY, 300
+ ifequal HAVE_LESS, .NotEnoughMoney
+ giveitem SODA_POP
+ iffalse .NotEnoughSpace
+ takemoney YOUR_MONEY, 300
+ itemtotext SODA_POP, MEM_BUFFER_0
+ jump .VendItem
+
+.Lemonade:
+ checkmoney YOUR_MONEY, 350
+ ifequal HAVE_LESS, .NotEnoughMoney
+ giveitem LEMONADE
+ iffalse .NotEnoughSpace
+ takemoney YOUR_MONEY, 350
+ itemtotext LEMONADE, MEM_BUFFER_0
+ jump .VendItem
+
+.VendItem:
+ pause 10
+ playsound SFX_ENTER_DOOR
+ writetext GoldenrodClangText
+ buttonsound
+ itemnotify
+ jump .Start
+
+.NotEnoughMoney:
+ writetext GoldenrodVendingNoMoneyText
+ waitbutton
+ jump .Start
+
+.NotEnoughSpace:
+ writetext GoldenrodVendingNoSpaceText
+ waitbutton
+ jump .Start
+
+.MenuHeader:
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 2, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
+ dw .MenuData
+ db 1 ; default option
+
+.MenuData:
+ db STATICMENU_CURSOR ; flags
+ db 4 ; items
+ db "FRESH WATER ¥200@"
+ db "SODA POP ¥300@"
+ db "LEMONADE ¥350@"
+ db "CANCEL@"
+
+GoldenrodDeptStore6FLassScript:
+ jumptextfaceplayer GoldenrodDeptStore6FLassText
+
+GoldenrodDeptStore6FSuperNerdScript:
+ jumptextfaceplayer GoldenrodDeptStore6FSuperNerdText
+
+GoldenrodDeptStore6FDirectory:
+ jumptext GoldenrodDeptStore6FDirectoryText
+
+GoldenrodDeptStore6FElevatorButton:
+ jumpstd elevatorbutton
+
+GoldenrodVendingText:
+ text "A vending machine!"
+ line "Here's the menu."
+ done
+
+GoldenrodClangText:
+ text "Clang! A can of"
+ line "@"
+ text_from_ram wStringBuffer3
+ text_start
+ cont "popped out!"
+ done
+
+GoldenrodVendingNoMoneyText:
+ text "Oops, not enough"
+ line "money."
+ done
+
+GoldenrodVendingNoSpaceText:
+ text "There's no more"
+ line "room for stuff."
+ done
+
+GoldenrodDeptStore6FLassText:
+ text "Do you listen to"
+ line "LUCKY CHANNEL?"
+
+ para "If you want to"
+ line "win, trade #MON"
+
+ para "with as many peo-"
+ line "ple as possible to"
+
+ para "get different ID"
+ line "numbers."
+ done
+
+GoldenrodDeptStore6FSuperNerdText:
+ text "If you're tired,"
+ line "try the vending"
+ cont "machine's drinks."
+
+ para "Your #MON will"
+ line "love them too."
+ done
+
+GoldenrodDeptStore6FDirectoryText:
+ text "Take a Break from"
+ line "Shopping!"
+
+ para "6F ROOFTOP SQUARE"
+ done
+
+GoldenrodDeptStore6F_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 15, 0, GOLDENROD_DEPT_STORE_5F, 2
+ warp_event 2, 0, GOLDENROD_DEPT_STORE_ELEVATOR, 1
+
+ db 0 ; coord events
+
+ db 6 ; bg events
+ bg_event 14, 0, BGEVENT_READ, GoldenrodDeptStore6FDirectory
+ bg_event 3, 0, BGEVENT_READ, GoldenrodDeptStore6FElevatorButton
+ bg_event 8, 1, BGEVENT_UP, GoldenrodVendingMachine
+ bg_event 9, 1, BGEVENT_UP, GoldenrodVendingMachine
+ bg_event 10, 1, BGEVENT_UP, GoldenrodVendingMachine
+ bg_event 11, 1, BGEVENT_UP, GoldenrodVendingMachine
+
+ db 2 ; object events
+ object_event 10, 2, SPRITE_LASS, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore6FLassScript, -1
+ object_event 8, 2, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStore6FSuperNerdScript, -1
diff --git a/maps/GoldenrodDeptStoreElevator.asm b/maps/GoldenrodDeptStoreElevator.asm
new file mode 100644
index 00000000..e9d5e9d3
--- /dev/null
+++ b/maps/GoldenrodDeptStoreElevator.asm
@@ -0,0 +1,67 @@
+GoldenrodDeptStoreElevator_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+GoldenrodDeptStoreElevatorScript:
+ opentext
+ elevator GoldenrodDeptStoreElevatorData
+ closetext
+ iffalse .Done
+ pause 5
+ playsound SFX_ELEVATOR
+ earthquake 60
+ waitsfx
+ checkevent EVENT_GOLDENROD_UNDERGROUND_WAREHOUSE_BLOCKED_OFF
+ iftrue .Done
+ checkevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_1
+ iftrue .BoxLayout1
+ checkevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_2
+ iftrue .BoxLayout2
+ checkevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_3
+ iftrue .BoxLayout3
+.BoxLayout3:
+ setevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_1
+ clearevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_2
+ clearevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_3
+ end
+
+.BoxLayout1:
+ clearevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_1
+ setevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_2
+ clearevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_3
+ end
+
+.BoxLayout2:
+ clearevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_1
+ clearevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_2
+ setevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_3
+ end
+
+.Done:
+ end
+
+GoldenrodDeptStoreElevatorData:
+ db 7 ; floors
+ elevfloor FLOOR_B1F, 2, GOLDENROD_DEPT_STORE_B1F
+ elevfloor FLOOR_1F, 4, GOLDENROD_DEPT_STORE_1F
+ elevfloor FLOOR_2F, 3, GOLDENROD_DEPT_STORE_2F
+ elevfloor FLOOR_3F, 3, GOLDENROD_DEPT_STORE_3F
+ elevfloor FLOOR_4F, 3, GOLDENROD_DEPT_STORE_4F
+ elevfloor FLOOR_5F, 3, GOLDENROD_DEPT_STORE_5F
+ elevfloor FLOOR_6F, 2, GOLDENROD_DEPT_STORE_6F
+ db -1 ; end
+
+GoldenrodDeptStoreElevator_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 1, 3, GOLDENROD_DEPT_STORE_1F, -1
+ warp_event 2, 3, GOLDENROD_DEPT_STORE_1F, -1
+
+ db 0 ; coord events
+
+ db 1 ; bg events
+ bg_event 3, 0, BGEVENT_READ, GoldenrodDeptStoreElevatorScript
+
+ db 0 ; object events
diff --git a/maps/GoldenrodDeptStoreRoof.asm b/maps/GoldenrodDeptStoreRoof.asm
new file mode 100644
index 00000000..187d7b69
--- /dev/null
+++ b/maps/GoldenrodDeptStoreRoof.asm
@@ -0,0 +1,234 @@
+ const_def 2 ; object constants
+ const GOLDENRODDEPTSTOREROOF_CLERK
+ const GOLDENRODDEPTSTOREROOF_POKEFAN_F
+ const GOLDENRODDEPTSTOREROOF_FISHER
+ const GOLDENRODDEPTSTOREROOF_TWIN
+ const GOLDENRODDEPTSTOREROOF_SUPER_NERD
+ const GOLDENRODDEPTSTOREROOF_POKEFAN_M
+ const GOLDENRODDEPTSTOREROOF_TEACHER
+ const GOLDENRODDEPTSTOREROOF_BUG_CATCHER
+
+GoldenrodDeptStoreRoof_MapScripts:
+ db 0 ; scene scripts
+
+ db 2 ; callbacks
+ callback MAPCALLBACK_TILES, .CheckSaleChangeBlock
+ callback MAPCALLBACK_OBJECTS, .CheckSaleChangeClerk
+
+.CheckSaleChangeBlock:
+ checkflag ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON
+ iftrue .SaleIsOn
+ return
+
+.SaleIsOn:
+ changeblock 0, 2, $3f ; cardboard boxes
+ changeblock 0, 4, $0f ; vendor booth
+ return
+
+.CheckSaleChangeClerk:
+ checkflag ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON
+ iftrue .ChangeClerk
+ setevent EVENT_GOLDENROD_SALE_OFF
+ clearevent EVENT_GOLDENROD_SALE_ON
+ return
+
+.ChangeClerk:
+ clearevent EVENT_GOLDENROD_SALE_OFF
+ setevent EVENT_GOLDENROD_SALE_ON
+ return
+
+GoldenrodDeptStoreRoofClerkScript:
+ opentext
+ pokemart MARTTYPE_ROOFTOP, 0
+ closetext
+ end
+
+GoldenrodDeptStoreRoofPokefanFScript:
+ jumptextfaceplayer GoldenrodDeptStoreRoofPokefanFText
+
+GoldenrodDeptStoreRoofFisherScript:
+ faceplayer
+ opentext
+ writetext GoldenrodDeptStoreRoofFisherText
+ waitbutton
+ closetext
+ turnobject GOLDENRODDEPTSTOREROOF_FISHER, UP
+ end
+
+GoldenrodDeptStoreRoofTwinScript:
+ jumptextfaceplayer GoldenrodDeptStoreRoofTwinText
+
+GoldenrodDeptStoreRoofSuperNerdScript:
+ opentext
+ writetext GoldenrodDeptStoreRoofSuperNerdOhWowText
+ waitbutton
+ closetext
+ turnobject GOLDENRODDEPTSTOREROOF_SUPER_NERD, UP
+ opentext
+ writetext GoldenrodDeptStoreRoofSuperNerdQuitBotheringMeText
+ waitbutton
+ closetext
+ turnobject GOLDENRODDEPTSTOREROOF_SUPER_NERD, RIGHT
+ end
+
+GoldenrodDeptStoreRoofPokefanMScript:
+ jumptextfaceplayer GoldenrodDeptStoreRoofPokefanMText
+
+GoldenrodDeptStoreRoofTeacherScript:
+ jumptextfaceplayer GoldenrodDeptStoreRoofTeacherText
+
+GoldenrodDeptStoreRoofBugCatcherScript:
+ jumptextfaceplayer GoldenrodDeptStoreRoofBugCatcherText
+
+Binoculars1:
+ jumptext Binoculars1Text
+
+Binoculars2:
+ jumptext Binoculars2Text
+
+Binoculars3:
+ jumptext Binoculars3Text
+
+PokeDollVendingMachine:
+ jumptext PokeDollVendingMachineText
+
+GoldenrodDeptStoreRoofPokefanFText:
+ text "Whew, I'm tired."
+
+ para "I sometimes come"
+ line "up to the rooftop"
+
+ para "to take a break"
+ line "from shopping."
+ done
+
+GoldenrodDeptStoreRoofFisherText:
+ text "Pardon? Who says"
+ line "an adult can't get"
+ cont "into this?"
+
+ para "I'm going to be"
+ line "back every day to"
+
+ para "collect all the"
+ line "dolls!"
+ done
+
+GoldenrodDeptStoreRoofTwinText:
+ text "They have bargain"
+ line "sales here every"
+ cont "so often."
+ done
+
+GoldenrodDeptStoreRoofSuperNerdOhWowText:
+ text "Oh, wow!"
+ done
+
+GoldenrodDeptStoreRoofSuperNerdQuitBotheringMeText:
+ text "Will you quit"
+ line "bothering me?"
+ done
+
+GoldenrodDeptStoreRoofPokefanMText:
+ text "There's something"
+ line "I really want, but"
+
+ para "I don't have the"
+ line "necessary cash…"
+
+ para "Maybe I'll sell"
+ line "off the BERRIES"
+ cont "I've collected…"
+ done
+
+GoldenrodDeptStoreRoofTeacherText:
+ text "Oh, everything is"
+ line "so cheap!"
+
+ para "I bought so much,"
+ line "my PACK's crammed!"
+ done
+
+GoldenrodDeptStoreRoofBugCatcherText:
+ text "My #MON always"
+ line "get paralyzed or"
+
+ para "poisoned when the"
+ line "chips are down…"
+
+ para "So I came to buy"
+ line "some FULL HEAL."
+
+ para "I wonder if"
+ line "there's any left?"
+ done
+
+Binoculars1Text:
+ text "These binoculars"
+ line "let me see far"
+
+ para "away. Maybe I can"
+ line "see my own house."
+
+ para "Is it the one with"
+ line "the green roof?"
+ done
+
+Binoculars2Text:
+ text "Hey! Some trainers"
+ line "are battling on"
+ cont "the road!"
+
+ para "A #MON fired a"
+ line "flurry of leaves!"
+
+ para "That makes me feel"
+ line "like battling"
+ cont "right now!"
+ done
+
+Binoculars3Text:
+ text "A FISHER caught a"
+ line "lot of MAGIKARP…"
+
+ para "They're SPLASHing"
+ line "at the same time!"
+
+ para "Look at the water"
+ line "going everywhere!"
+ done
+
+PokeDollVendingMachineText:
+ text "A vending machine"
+ line "for #MON dolls?"
+
+ para "Insert money, then"
+ line "turn the crank…"
+
+ para "But it's almost"
+ line "empty…"
+ done
+
+GoldenrodDeptStoreRoof_MapEvents:
+ db 0, 0 ; filler
+
+ db 1 ; warp events
+ warp_event 13, 1, GOLDENROD_DEPT_STORE_6F, 3
+
+ db 0 ; coord events
+
+ db 4 ; bg events
+ bg_event 15, 3, BGEVENT_RIGHT, Binoculars1
+ bg_event 15, 5, BGEVENT_RIGHT, Binoculars2
+ bg_event 15, 6, BGEVENT_RIGHT, Binoculars3
+ bg_event 3, 0, BGEVENT_UP, PokeDollVendingMachine
+
+ db 8 ; object events
+ object_event 1, 4, SPRITE_CLERK, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStoreRoofClerkScript, EVENT_GOLDENROD_SALE_OFF
+ object_event 10, 3, SPRITE_POKEFAN_F, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStoreRoofPokefanFScript, -1
+ object_event 2, 1, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStoreRoofFisherScript, -1
+ object_event 3, 4, SPRITE_TWIN, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStoreRoofTwinScript, EVENT_GOLDENROD_SALE_ON
+ object_event 14, 6, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStoreRoofSuperNerdScript, EVENT_GOLDENROD_SALE_ON
+ object_event 7, 0, SPRITE_POKEFAN_M, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStoreRoofPokefanMScript, EVENT_GOLDENROD_SALE_OFF
+ object_event 5, 3, SPRITE_TEACHER, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStoreRoofTeacherScript, EVENT_GOLDENROD_SALE_OFF
+ object_event 1, 6, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, GoldenrodDeptStoreRoofBugCatcherScript, EVENT_GOLDENROD_SALE_OFF
diff --git a/maps/GoldenrodFlowerShop.asm b/maps/GoldenrodFlowerShop.asm
new file mode 100644
index 00000000..5377ecee
--- /dev/null
+++ b/maps/GoldenrodFlowerShop.asm
@@ -0,0 +1,119 @@
+ const_def 2 ; object constants
+ const GOLDENRODFLOWERSHOP_TEACHER
+ const GOLDENRODFLOWERSHOP_FLORIA
+
+GoldenrodFlowerShop_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+FlowerShopTeacherScript:
+ checkevent EVENT_GOT_SQUIRTBOTTLE
+ iftrue .Lalala
+ checkflag ENGINE_PLAINBADGE
+ iffalse .Lalala
+ faceplayer
+ opentext
+ writetext UnknownText_0x554c2
+ buttonsound
+ verbosegiveitem SQUIRTBOTTLE
+ setevent EVENT_GOT_SQUIRTBOTTLE
+ closetext
+
+.Lalala:
+ turnobject GOLDENRODFLOWERSHOP_TEACHER, LEFT
+ opentext
+ writetext UnknownText_0x5552e
+ waitbutton
+ closetext
+ end
+
+FlowerShopFloriaScript:
+ faceplayer
+ opentext
+ checkflag ENGINE_PLAINBADGE
+ iffalse .NoPlainBadge
+ writetext UnknownText_0x555e6
+ waitbutton
+ closetext
+ end
+
+.NoPlainBadge:
+ writetext UnknownText_0x55561
+ waitbutton
+ closetext
+ end
+
+FlowerShopShelf1:
+; unused
+ jumpstd picturebookshelf
+
+FlowerShopShelf2:
+; unused
+ jumpstd magazinebookshelf
+
+FlowerShopRadio:
+; unused
+ jumpstd radio2
+
+UnknownText_0x554c2:
+ text "Oh, you're better"
+ line "than WHITNEY."
+
+ para "Do you know about"
+ line "that moving tree?"
+
+ para "If you wet it with"
+ line "a SQUIRTBOTTLE, it"
+ cont "attacks."
+
+ para "But since you"
+ line "have some BADGES,"
+ cont "you should be OK."
+ done
+
+UnknownText_0x5552e:
+ text "Lalala lalalala."
+ line "Have plenty of"
+ cont "water, my lovely!"
+ done
+
+UnknownText_0x55561:
+ text "When I watered"
+ line "that moving tree"
+
+ para "on ROUTE 36, it"
+ line "jumped!"
+
+ para "I think it must be"
+ line "a #MON."
+
+ para "But it would take"
+ line "someone like WHIT-"
+ cont "NEY, our GYM LEAD-"
+ cont "ER, to beat it."
+ done
+
+UnknownText_0x555e6:
+ text "Do you know about"
+ line "the moving tree?"
+
+ para "If you water it,"
+ line "it jumps up in"
+ cont "surprise!"
+ done
+
+GoldenrodFlowerShop_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 2, 7, GOLDENROD_CITY, 6
+ warp_event 3, 7, GOLDENROD_CITY, 6
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 2 ; object events
+ object_event 2, 4, SPRITE_TEACHER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, FlowerShopTeacherScript, -1
+ object_event 5, 6, SPRITE_LASS, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, FlowerShopFloriaScript, -1
diff --git a/maps/GoldenrodGym.asm b/maps/GoldenrodGym.asm
new file mode 100644
index 00000000..9da4a895
--- /dev/null
+++ b/maps/GoldenrodGym.asm
@@ -0,0 +1,400 @@
+ const_def 2 ; object constants
+ const GOLDENRODGYM_WHITNEY
+ const GOLDENRODGYM_LASS1
+ const GOLDENRODGYM_LASS2
+ const GOLDENRODGYM_BUENA1
+ const GOLDENRODGYM_BUENA2
+ const GOLDENRODGYM_GYM_GUY
+
+GoldenrodGym_MapScripts:
+ db 2 ; scene scripts
+ scene_script .DummyScene0 ; SCENE_GOLDENRODGYM_NOTHING
+ scene_script .DummyScene1 ; SCENE_GOLDENRODGYM_WHITNEY_STOPS_CRYING
+
+ db 0 ; callbacks
+
+.DummyScene0:
+ end
+
+.DummyScene1:
+ end
+
+GoldenrodGymWhitneyScript:
+ faceplayer
+ checkevent EVENT_BEAT_WHITNEY
+ iftrue .FightDone
+ opentext
+ writetext WhitneyBeforeText
+ waitbutton
+ closetext
+ winlosstext WhitneyShouldntBeSoSeriousText, 0
+ loadtrainer WHITNEY, WHITNEY1
+ startbattle
+ reloadmapafterbattle
+ setevent EVENT_BEAT_WHITNEY
+ setevent EVENT_MADE_WHITNEY_CRY
+ setscene SCENE_GOLDENRODGYM_WHITNEY_STOPS_CRYING
+ setevent EVENT_BEAT_BEAUTY_VICTORIA
+ setevent EVENT_BEAT_BEAUTY_SAMANTHA
+ setevent EVENT_BEAT_LASS_CARRIE
+ setevent EVENT_BEAT_LASS_BRIDGET
+.FightDone:
+ opentext
+ checkevent EVENT_MADE_WHITNEY_CRY
+ iffalse .StoppedCrying
+ writetext WhitneyYouMeanieText
+ waitbutton
+ closetext
+ end
+
+.StoppedCrying:
+ checkevent EVENT_GOT_TM45_ATTRACT
+ iftrue .GotAttract
+ checkflag ENGINE_PLAINBADGE
+ iftrue .GotPlainBadge
+ writetext WhitneyWhatDoYouWantText
+ buttonsound
+ waitsfx
+ writetext PlayerReceivedPlainBadgeText
+ playsound SFX_GET_BADGE
+ waitsfx
+ setflag ENGINE_PLAINBADGE
+ checkcode VAR_BADGES
+ scall GoldenrodGymActivateRockets
+.GotPlainBadge:
+ writetext WhitneyPlainBadgeText
+ buttonsound
+ verbosegiveitem TM_ATTRACT
+ iffalse .NoRoomForAttract
+ setevent EVENT_GOT_TM45_ATTRACT
+ writetext WhitneyAttractText
+ waitbutton
+ closetext
+ end
+
+.GotAttract:
+ writetext WhitneyGoodCryText
+ waitbutton
+.NoRoomForAttract:
+ closetext
+ end
+
+GoldenrodGymActivateRockets:
+ ifequal 7, .RadioTowerRockets
+ ifequal 6, .GoldenrodRockets
+ end
+
+.GoldenrodRockets:
+ jumpstd goldenrodrockets
+
+.RadioTowerRockets:
+ jumpstd radiotowerrockets
+
+TrainerLassCarrie:
+ trainer LASS, CARRIE, EVENT_BEAT_LASS_CARRIE, LassCarrieSeenText, LassCarrieBeatenText, 0, .Script
+
+.Script:
+ endifjustbattled
+ opentext
+ writetext LassCarrieAfterBattleText
+ waitbutton
+ closetext
+ end
+
+WhitneyCriesScript:
+ showemote EMOTE_SHOCK, GOLDENRODGYM_LASS2, 15
+ applymovement GOLDENRODGYM_LASS2, BridgetWalksUpMovement
+ turnobject PLAYER, DOWN
+ opentext
+ writetext BridgetWhitneyCriesText
+ waitbutton
+ closetext
+ applymovement GOLDENRODGYM_LASS2, BridgetWalksAwayMovement
+ setscene SCENE_GOLDENRODGYM_NOTHING
+ clearevent EVENT_MADE_WHITNEY_CRY
+ end
+
+TrainerLassBridget:
+ trainer LASS, BRIDGET, EVENT_BEAT_LASS_BRIDGET, LassBridgetSeenText, LassBridgetBeatenText, 0, .Script
+
+.Script:
+ endifjustbattled
+ opentext
+ writetext LassBridgetAfterBattleText
+ waitbutton
+ closetext
+ end
+
+TrainerBeautyVictoria:
+ trainer BEAUTY, VICTORIA, EVENT_BEAT_BEAUTY_VICTORIA, BeautyVictoriaSeenText, BeautyVictoriaBeatenText, 0, .Script
+
+.Script:
+ endifjustbattled
+ opentext
+ writetext BeautyVictoriaAfterBattleText
+ waitbutton
+ closetext
+ end
+
+TrainerBeautySamantha:
+ trainer BEAUTY, SAMANTHA, EVENT_BEAT_BEAUTY_SAMANTHA, BeautySamanthaSeenText, BeautySamanthaBeatenText, 0, .Script
+
+.Script:
+ endifjustbattled
+ opentext
+ writetext BeautySamanthaAfterBattleText
+ waitbutton
+ closetext
+ end
+
+GoldenrodGymGuyScript:
+ faceplayer
+ checkevent EVENT_BEAT_WHITNEY
+ iftrue .GoldenrodGymGuyWinScript
+ opentext
+ writetext GoldenrodGymGuyText
+ waitbutton
+ closetext
+ end
+
+.GoldenrodGymGuyWinScript:
+ opentext
+ writetext GoldenrodGymGuyWinText
+ waitbutton
+ closetext
+ end
+
+GoldenrodGymStatue:
+ checkflag ENGINE_PLAINBADGE
+ iftrue .Beaten
+ jumpstd gymstatue1
+.Beaten:
+ trainertotext WHITNEY, WHITNEY1, MEM_BUFFER_1
+ jumpstd gymstatue2
+
+BridgetWalksUpMovement:
+ step LEFT
+ turn_head UP
+ step_end
+
+BridgetWalksAwayMovement:
+ step RIGHT
+ turn_head LEFT
+ step_end
+
+WhitneyBeforeText:
+ text "Hi! I'm WHITNEY!"
+
+ para "Everyone was into"
+ line "#MON, so I got"
+ cont "into it too!"
+
+ para "#MON are"
+ line "super-cute!"
+
+ para "You want to bat-"
+ line "tle? I'm warning"
+ cont "you--I'm good!"
+ done
+
+WhitneyShouldntBeSoSeriousText:
+ text "Sob…"
+
+ para "…Waaaaaaah!"
+ line "You're mean!"
+
+ para "You shouldn't be"
+ line "so serious! You,"
+ cont "you, child, you!"
+ done
+
+WhitneyYouMeanieText:
+ text "Waaaaah!"
+
+ para "Waaaaah!"
+
+ para "…Snivel, hic…"
+ line "…You meanie!"
+ done
+
+WhitneyWhatDoYouWantText:
+ text "…Sniff…"
+
+ para "What? What do you"
+ line "want? A BADGE?"
+
+ para "Oh, right. I for-"
+ line "got. Here's PLAIN-"
+ cont "BADGE."
+ done
+
+PlayerReceivedPlainBadgeText:
+ text "<PLAYER> received"
+ line "PLAINBADGE."
+ done
+
+WhitneyPlainBadgeText:
+ text "PLAINBADGE lets"
+ line "your #MON use"
+
+ para "STRENGTH outside"
+ line "of battle."
+
+ para "It also boosts"
+ line "your #MON's"
+ cont "SPEED."
+
+ para "Oh, you can have"
+ line "this too!"
+ done
+
+WhitneyAttractText:
+ text "It's ATTRACT!"
+ line "It makes full use"
+
+ para "of a #MON's"
+ line "charm."
+
+ para "Isn't it just per-"
+ line "fect for a cutie"
+ cont "like me?"
+ done
+
+WhitneyGoodCryText:
+ text "Ah, that was a"
+ line "good cry!"
+
+ para "Come for a visit"
+ line "again! Bye-bye!"
+ done
+
+LassCarrieSeenText:
+ text "Don't think I'm a"
+ line "pushover!"
+ done
+
+LassCarrieBeatenText:
+ text "Darn… I thought"
+ line "you were weak…"
+ done
+
+LassCarrieAfterBattleText:
+ text "In the world of"
+ line "#MON, I wonder"
+
+ para "what's stronger:"
+ line "male or female?"
+ done
+
+LassBridgetSeenText:
+ text "I like cute #-"
+ line "MON better than"
+ cont "strong #MON."
+
+ para "But I have strong"
+ line "and cute #MON!"
+ done
+
+LassBridgetBeatenText:
+ text "Oh, no, no, no!"
+ done
+
+LassBridgetAfterBattleText:
+ text "I'm trying to beat"
+ line "WHITNEY, but…"
+ cont "It's depressing."
+
+ para "I'm okay! If I"
+ line "lose, I'll just"
+
+ para "try harder next"
+ line "time!"
+ done
+
+BridgetWhitneyCriesText:
+ text "Oh, no. You made"
+ line "WHITNEY cry."
+
+ para "It's OK. She'll"
+ line "stop soon. She"
+
+ para "always cries when"
+ line "she loses."
+ done
+
+BeautyVictoriaSeenText:
+ text "Oh, you are a cute"
+ line "little trainer! "
+
+ para "I like you, but I"
+ line "won't hold back!"
+ done
+
+BeautyVictoriaBeatenText:
+ text "Let's see… Oops,"
+ line "it's over?"
+ done
+
+BeautyVictoriaAfterBattleText:
+ text "Wow, you must be"
+ line "good to beat me!"
+ cont "Keep it up!"
+ done
+
+BeautySamanthaSeenText:
+ text "Give it your best"
+ line "shot, or I'll take"
+ cont "you down!"
+ done
+
+BeautySamanthaBeatenText:
+ text "No! Oh, MEOWTH,"
+ line "I'm so sorry!"
+ done
+
+BeautySamanthaAfterBattleText:
+ text "I taught MEOWTH"
+ line "moves for taking"
+ cont "on any type…"
+ done
+
+GoldenrodGymGuyText:
+ text "Yo! CHAMP in"
+ line "making!"
+
+ para "This GYM is home"
+ line "to normal-type"
+ cont "#MON trainers."
+
+ para "I recommend you"
+ line "use fighting-type"
+ cont "#MON."
+ done
+
+GoldenrodGymGuyWinText:
+ text "You won? Great! I"
+ line "was busy admiring"
+ cont "the ladies here."
+ done
+
+GoldenrodGym_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 2, 17, GOLDENROD_CITY, 1
+ warp_event 3, 17, GOLDENROD_CITY, 1
+
+ db 1 ; coord events
+ coord_event 8, 5, SCENE_GOLDENRODGYM_WHITNEY_STOPS_CRYING, WhitneyCriesScript
+
+ db 2 ; bg events
+ bg_event 1, 15, BGEVENT_READ, GoldenrodGymStatue
+ bg_event 4, 15, BGEVENT_READ, GoldenrodGymStatue
+
+ db 6 ; object events
+ object_event 8, 3, SPRITE_WHITNEY, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, GoldenrodGymWhitneyScript, -1
+ object_event 9, 13, SPRITE_LASS, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 4, TrainerLassCarrie, -1
+ object_event 9, 6, SPRITE_LASS, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 1, TrainerLassBridget, -1
+ object_event 0, 2, SPRITE_BUENA, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerBeautyVictoria, -1
+ object_event 19, 5, SPRITE_BUENA, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerBeautySamantha, -1
+ object_event 5, 15, SPRITE_GYM_GUY, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, GoldenrodGymGuyScript, -1
diff --git a/maps/GoldenrodHappinessRater.asm b/maps/GoldenrodHappinessRater.asm
new file mode 100644
index 00000000..2b2093a2
--- /dev/null
+++ b/maps/GoldenrodHappinessRater.asm
@@ -0,0 +1,154 @@
+ const_def 2 ; object constants
+ const GOLDENRODHAPPINESSRATER_TEACHER
+ const GOLDENRODHAPPINESSRATER_POKEFAN_M
+ const GOLDENRODHAPPINESSRATER_TWIN
+
+GoldenrodHappinessRater_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+GoldenrodHappinessRaterTeacherScript:
+ faceplayer
+ opentext
+ special GetFirstPokemonHappiness
+ writetext GoldenrodHappinessRaterTeacherText
+ buttonsound
+ ifgreater 250 - 1, .LovesYouALot
+ ifgreater 200 - 1, .ReallyTrustsYou
+ ifgreater 150 - 1, .SortOfHappy
+ ifgreater 100 - 1, .QuiteCute
+ ifgreater 50 - 1, .NotUsedToYou
+ jump .LooksMean
+
+.LovesYouALot:
+ writetext GoldenrodHappinessRatingText_LovesYouALot
+ waitbutton
+ closetext
+ end
+
+.ReallyTrustsYou:
+ writetext GoldenrodHappinessRatingText_ReallyTrustsYou
+ waitbutton
+ closetext
+ end
+
+.SortOfHappy:
+ writetext GoldenrodHappinessRatingText_SortOfHappy
+ waitbutton
+ closetext
+ end
+
+.QuiteCute:
+ writetext GoldenrodHappinessRatingText_QuiteCute
+ waitbutton
+ closetext
+ end
+
+.NotUsedToYou:
+ writetext GoldenrodHappinessRatingText_NotUsedToYou
+ waitbutton
+ closetext
+ end
+
+.LooksMean:
+ writetext GoldenrodHappinessRatingText_LooksMean
+ waitbutton
+ closetext
+ end
+
+GoldenrodHappinessRaterPokefanMScript:
+ jumptextfaceplayer GoldenrodHappinessRaterPokefanMText
+
+GoldenrodHappinessRaterTwinScript:
+ jumptextfaceplayer GoldenrodHappinessRaterTwinText
+
+HappinessRatersHouseBookshelf:
+ jumpstd difficultbookshelf
+
+HappinessRatersHouseRadio:
+ jumpstd radio2
+
+GoldenrodHappinessRaterTeacherText:
+ text "If you treat your"
+ line "#MON nicely,"
+
+ para "they will love you"
+ line "in return."
+
+ para "Oh? Let me see"
+ line "your @"
+ text_from_ram wStringBuffer3
+ text "…"
+ done
+
+GoldenrodHappinessRatingText_LovesYouALot:
+ text "It looks really"
+ line "happy! It must"
+ cont "love you a lot."
+ done
+
+GoldenrodHappinessRatingText_ReallyTrustsYou:
+ text "I get the feeling"
+ line "that it really"
+ cont "trusts you."
+ done
+
+GoldenrodHappinessRatingText_SortOfHappy:
+ text "It's friendly to-"
+ line "ward you. It looks"
+ cont "sort of happy."
+ done
+
+GoldenrodHappinessRatingText_QuiteCute:
+ text "It's quite cute."
+ done
+
+GoldenrodHappinessRatingText_NotUsedToYou:
+ text "You should treat"
+ line "it better. It's"
+ cont "not used to you."
+ done
+
+GoldenrodHappinessRatingText_LooksMean:
+ text "It doesn't seem to"
+ line "like you at all."
+ cont "It looks mean."
+ done
+
+GoldenrodHappinessRaterPokefanMText:
+ text "I keep losing in"
+ line "battles, and my"
+
+ para "#MON end up"
+ line "fainting…"
+
+ para "Maybe that's why"
+ line "my #MON don't"
+ cont "like me much…"
+ done
+
+GoldenrodHappinessRaterTwinText:
+ text "When I use an item"
+ line "on my #MON, it"
+ cont "acts really glad!"
+ done
+
+GoldenrodHappinessRater_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 2, 7, GOLDENROD_CITY, 3
+ warp_event 3, 7, GOLDENROD_CITY, 3
+
+ db 0 ; coord events
+
+ db 3 ; bg events
+ bg_event 0, 1, BGEVENT_READ, HappinessRatersHouseBookshelf
+ bg_event 1, 1, BGEVENT_READ, HappinessRatersHouseBookshelf
+ bg_event 7, 1, BGEVENT_READ, HappinessRatersHouseRadio
+
+ db 3 ; object events
+ object_event 2, 4, SPRITE_TEACHER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, GoldenrodHappinessRaterTeacherScript, -1
+ object_event 5, 3, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodHappinessRaterPokefanMScript, -1
+ object_event 5, 6, SPRITE_TWIN, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, GoldenrodHappinessRaterTwinScript, -1
diff --git a/maps/GoldenrodMagnetTrainStation.asm b/maps/GoldenrodMagnetTrainStation.asm
new file mode 100644
index 00000000..c1d4a362
--- /dev/null
+++ b/maps/GoldenrodMagnetTrainStation.asm
@@ -0,0 +1,175 @@
+ const_def 2 ; object constants
+ const GOLDENRODMAGNETTRAINSTATION_OFFICER
+ const GOLDENRODMAGNETTRAINSTATION_GENTLEMAN
+
+GoldenrodMagnetTrainStation_MapScripts:
+ db 1 ; scene scripts
+ scene_script .DummyScene ; SCENE_DEFAULT
+
+ db 0 ; callbacks
+
+.DummyScene:
+ end
+
+GoldenrodMagnetTrainStationOfficerScript:
+ faceplayer
+ opentext
+ checkevent EVENT_RESTORED_POWER_TO_KANTO
+ iftrue .MagnetTrainToSaffron
+ writetext UnknownText_0x55160
+ waitbutton
+ closetext
+ end
+
+.MagnetTrainToSaffron:
+ writetext UnknownText_0x551b7
+ yesorno
+ iffalse .DecidedNotToRide
+ checkitem PASS
+ iffalse .PassNotInBag
+ writetext UnknownText_0x551ed
+ waitbutton
+ closetext
+ applymovement GOLDENRODMAGNETTRAINSTATION_OFFICER, MovementData_0x55146
+ applymovement PLAYER, MovementData_0x5514f
+ writebyte FALSE
+ special MagnetTrain
+ warpcheck
+ newloadmap MAPSETUP_TRAIN
+ end
+
+.PassNotInBag:
+ writetext UnknownText_0x5522c
+ waitbutton
+ closetext
+ end
+
+.DecidedNotToRide:
+ writetext UnknownText_0x5524f
+ waitbutton
+ closetext
+ end
+
+Script_ArriveFromSaffron:
+ applymovement GOLDENRODMAGNETTRAINSTATION_OFFICER, MovementData_0x55146
+ applymovement PLAYER, MovementData_0x55158
+ applymovement GOLDENRODMAGNETTRAINSTATION_OFFICER, MovementData_0x5514b
+ opentext
+ writetext UnknownText_0x5526a
+ waitbutton
+ closetext
+ end
+
+GoldenrodMagnetTrainStationGentlemanScript:
+ jumptextfaceplayer GoldenrodMagnetTrainStationGentlemanText
+
+MovementData_0x55146:
+ step UP
+ step UP
+ step RIGHT
+ turn_head LEFT
+ step_end
+
+MovementData_0x5514b:
+ step LEFT
+ step DOWN
+ step DOWN
+ step_end
+
+MovementData_0x5514f:
+ step UP
+ step UP
+ step UP
+ step LEFT
+ step LEFT
+ step LEFT
+ step UP
+ step UP
+ step_end
+
+MovementData_0x55158:
+ step LEFT
+ step LEFT
+ step DOWN
+ step DOWN
+ step DOWN
+ step DOWN
+ turn_head UP
+ step_end
+
+UnknownText_0x55160:
+ text "The train hasn't"
+ line "come in…"
+
+ para "I know! I'll carry"
+ line "the passengers on"
+ cont "my back!"
+
+ para "That won't work."
+ done
+
+UnknownText_0x551b7:
+ text "We'll soon depart"
+ line "for SAFFRON."
+
+ para "Are you coming"
+ line "aboard?"
+ done
+
+UnknownText_0x551ed:
+ text "May I see your"
+ line "rail PASS, please?"
+
+ para "OK. Right this"
+ line "way, sir."
+ done
+
+UnknownText_0x5522c:
+ text "Sorry. You don't"
+ line "have a rail PASS."
+ done
+
+UnknownText_0x5524f:
+ text "We hope to see you"
+ line "again!"
+ done
+
+UnknownText_0x5526a:
+ text "We have arrived in"
+ line "GOLDENROD."
+
+ para "We hope to see you"
+ line "again."
+ done
+
+GoldenrodMagnetTrainStationGentlemanText:
+ text "I'm the PRESIDENT."
+
+ para "My dream was to"
+ line "build a train that"
+
+ para "is faster than any"
+ line "#MON."
+
+ para "It really brings"
+ line "JOHTO much closer"
+ cont "to KANTO."
+ done
+
+GoldenrodMagnetTrainStation_MapEvents:
+ db 0, 0 ; filler
+
+ db 4 ; warp events
+ warp_event 8, 17, GOLDENROD_CITY, 5
+ warp_event 9, 17, GOLDENROD_CITY, 5
+ warp_event 6, 5, SAFFRON_MAGNET_TRAIN_STATION, 4
+ warp_event 11, 5, SAFFRON_MAGNET_TRAIN_STATION, 3
+
+ db 1 ; coord events
+ coord_event 11, 6, SCENE_DEFAULT, Script_ArriveFromSaffron
+
+ db 0 ; bg events
+
+ db 2 ; object events
+ object_event 9, 9, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodMagnetTrainStationOfficerScript, -1
+ object_event 11, 14, SPRITE_GENTLEMAN, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodMagnetTrainStationGentlemanScript, EVENT_GOLDENROD_TRAIN_STATION_GENTLEMAN
diff --git a/maps/GoldenrodNameRater.asm b/maps/GoldenrodNameRater.asm
new file mode 100644
index 00000000..e0e090b4
--- /dev/null
+++ b/maps/GoldenrodNameRater.asm
@@ -0,0 +1,40 @@
+ const_def 2 ; object constants
+ const GOLDENRODNAMERATER_NAME_RATER
+
+GoldenrodNameRater_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+GoldenrodNameRater:
+ faceplayer
+ opentext
+ special NameRater
+ waitbutton
+ closetext
+ end
+
+GoldenrodNameRaterBookshelf:
+ jumpstd difficultbookshelf
+
+GoldenrodNameRaterRadio:
+ jumpstd radio2
+
+INCLUDE "data/text/unused_sweet_honey.asm"
+
+GoldenrodNameRater_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 2, 7, GOLDENROD_CITY, 9
+ warp_event 3, 7, GOLDENROD_CITY, 9
+
+ db 0 ; coord events
+
+ db 3 ; bg events
+ bg_event 0, 1, BGEVENT_READ, GoldenrodNameRaterBookshelf
+ bg_event 1, 1, BGEVENT_READ, GoldenrodNameRaterBookshelf
+ bg_event 7, 1, BGEVENT_READ, GoldenrodNameRaterRadio
+
+ db 1 ; object events
+ object_event 2, 4, SPRITE_GENTLEMAN, SPRITEMOVEDATA_STANDING_DOWN, 2, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodNameRater, -1
diff --git a/maps/GoldenrodPPSpeechHouse.asm b/maps/GoldenrodPPSpeechHouse.asm
new file mode 100644
index 00000000..816258fa
--- /dev/null
+++ b/maps/GoldenrodPPSpeechHouse.asm
@@ -0,0 +1,68 @@
+ const_def 2 ; object constants
+ const GOLDENRODPPSPEECHHOUSE_FISHER
+ const GOLDENRODPPSPEECHHOUSE_LASS
+
+GoldenrodPPSpeechHouse_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+GoldenrodPPSpeechHouseFisherScript:
+ jumptextfaceplayer GoldenrodPPSpeechHouseFisherText
+
+GoldenrodPPSpeechHouseLassScript:
+ jumptextfaceplayer GoldenrodPPSpeechHouseLassText
+
+GoldenrodPPSpeechHouseBookshelf2:
+ jumpstd difficultbookshelf
+
+GoldenrodPPSpeechHouseBookshelf1:
+ jumpstd magazinebookshelf
+
+GoldenrodPPSpeechHouseRadio:
+ jumpstd radio2
+
+GoldenrodPPSpeechHouseFisherText:
+ text "Once while I was"
+ line "battling, my"
+
+ para "#MON couldn't"
+ line "make any moves."
+
+ para "The POWER POINTS,"
+ line "or PP, of its"
+
+ para "moves were all"
+ line "gone."
+ done
+
+GoldenrodPPSpeechHouseLassText:
+ text "Sometimes, a"
+ line "healthy #MON"
+
+ para "may be unable to"
+ line "use its moves."
+
+ para "If that happens,"
+ line "heal it at a #-"
+ cont "MON CENTER or use"
+ cont "an item."
+ done
+
+GoldenrodPPSpeechHouse_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 2, 7, GOLDENROD_CITY, 8
+ warp_event 3, 7, GOLDENROD_CITY, 8
+
+ db 0 ; coord events
+
+ db 3 ; bg events
+ bg_event 0, 1, BGEVENT_READ, GoldenrodPPSpeechHouseBookshelf1
+ bg_event 1, 1, BGEVENT_READ, GoldenrodPPSpeechHouseBookshelf2
+ bg_event 7, 1, BGEVENT_READ, GoldenrodPPSpeechHouseRadio
+
+ db 2 ; object events
+ object_event 2, 4, SPRITE_FISHER, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 1, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, GoldenrodPPSpeechHouseFisherScript, -1
+ object_event 5, 3, SPRITE_LASS, SPRITEMOVEDATA_STANDING_LEFT, 0, 1, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodPPSpeechHouseLassScript, -1
diff --git a/maps/GoldenrodPokecenter1F.asm b/maps/GoldenrodPokecenter1F.asm
new file mode 100644
index 00000000..1ec3e27d
--- /dev/null
+++ b/maps/GoldenrodPokecenter1F.asm
@@ -0,0 +1,89 @@
+ const_def 2 ; object constants
+ const GOLDENRODPOKECENTER1F_NURSE
+ const GOLDENRODPOKECENTER1F_GAMEBOY_KID
+ const GOLDENRODPOKECENTER1F_LASS
+
+GoldenrodPokecenter1F_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+GoldenrodPokecenter1FNurseScript:
+ jumpstd pokecenternurse
+
+GoldenrodPokecenter1FGameboyKidScript:
+ faceplayer
+ opentext
+ writetext GoldenrodPokecenter1FGameboyKidText
+ waitbutton
+ closetext
+ turnobject GOLDENRODPOKECENTER1F_GAMEBOY_KID, DOWN
+ end
+
+GoldenrodPokecenter1FPersonScript:
+ jumptextfaceplayer GoldenrodPokecenter1FPersonText
+
+GoldenrodPokecenter1FLassScript:
+ jumptextfaceplayer GoldenrodPokecenter1FLassText
+
+GoldenrodPokecenter1FGameboyKidText:
+ text "The COLOSSEUM--"
+ line "upstairs at any"
+
+ para "#MON CENTER--is"
+ line "for link battles."
+
+ para "Battle records are"
+ line "posted on the"
+
+ para "wall, so I can't"
+ line "afford to lose."
+ done
+
+GoldenrodPokecenter1FPersonText:
+ text "I wonder how many"
+ line "kinds of #MON"
+
+ para "there are in the"
+ line "world."
+
+ para "Three years ago,"
+ line "PROF.OAK said that"
+
+ para "there were 150"
+ line "different kinds."
+ done
+
+GoldenrodPokecenter1FLassText:
+ text "A higher level"
+ line "#MON doesn't"
+ cont "always win."
+
+ para "After all, it may"
+ line "have a type dis-"
+ cont "advantage."
+
+ para "I don't think"
+ line "there is a single"
+
+ para "#MON that is"
+ line "the toughest."
+ done
+
+GoldenrodPokecenter1F_MapEvents:
+ db 0, 0 ; filler
+
+ db 3 ; warp events
+ warp_event 3, 7, GOLDENROD_CITY, 7
+ warp_event 4, 7, GOLDENROD_CITY, 7
+ 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, GoldenrodPokecenter1FNurseScript, -1
+ object_event 7, 2, SPRITE_GAMEBOY_KID, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodPokecenter1FGameboyKidScript, -1
+ object_event 8, 6, SPRITE_FISHER, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodPokecenter1FPersonScript, -1
+ object_event 0, 5, SPRITE_TWIN, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodPokecenter1FLassScript, -1