shithub: pokecrystal

Download patch

ref: 0a1fef45fd4806de0f1c1439314971d5f46c8aa2
parent: 0b8b6f9259bedacad55bb4667de5b2bbe6eafda7
author: Remy Oukaour <[email protected]>
date: Sun Dec 24 13:06:12 EST 2017

Rename maps:

- Underground -> UndergroundPath
- Route5UndergroundEntrance -> Route5UndergroundPathEntrance
- Route6UndergroundEntrance -> Route6UndergroundPathEntrance

- WarehouseEntrance -> GoldenrodUnderground
- UndergroundWarehouse -> GoldenrodUndergroundWarehouse
- UndergroundPathSwitchRoomEntrances -> GoldenrodUndergroundSwitchRoomEntrances

--- a/constants/event_flags.asm
+++ b/constants/event_flags.asm
@@ -145,11 +145,11 @@
 	const EVENT_ILEX_FOREST_HIDDEN_ETHER
 	const EVENT_ILEX_FOREST_HIDDEN_SUPER_POTION
 	const EVENT_ILEX_FOREST_HIDDEN_FULL_HEAL
-	const EVENT_WAREHOUSE_ENTRANCE_HIDDEN_PARLYZ_HEAL
-	const EVENT_WAREHOUSE_ENTRANCE_HIDDEN_SUPER_POTION
-	const EVENT_WAREHOUSE_ENTRANCE_HIDDEN_ANTIDOTE
-	const EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_HIDDEN_MAX_POTION
-	const EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_HIDDEN_REVIVE
+	const EVENT_GOLDENROD_UNDERGROUND_HIDDEN_PARLYZ_HEAL
+	const EVENT_GOLDENROD_UNDERGROUND_HIDDEN_SUPER_POTION
+	const EVENT_GOLDENROD_UNDERGROUND_HIDDEN_ANTIDOTE
+	const EVENT_GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES_HIDDEN_MAX_POTION
+	const EVENT_GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES_HIDDEN_REVIVE
 	const EVENT_MOUNT_MORTAR_1F_OUTSIDE_HIDDEN_HYPER_POTION
 	const EVENT_MOUNT_MORTAR_1F_INSIDE_HIDDEN_MAX_REPEL
 	const EVENT_MOUNT_MORTAR_2F_INSIDE_HIDDEN_FULL_RESTORE
@@ -238,8 +238,8 @@
 	const EVENT_GOT_TM29_PSYCHIC
 ; Kanto hidden items
 	const EVENT_DIGLETTS_CAVE_HIDDEN_MAX_REVIVE
-	const EVENT_UNDERGROUND_HIDDEN_FULL_RESTORE
-	const EVENT_UNDERGROUND_HIDDEN_X_SPECIAL
+	const EVENT_UNDERGROUND_PATH_HIDDEN_FULL_RESTORE
+	const EVENT_UNDERGROUND_PATH_HIDDEN_X_SPECIAL
 	const EVENT_ROCK_TUNNEL_1F_HIDDEN_X_ACCURACY
 	const EVENT_ROCK_TUNNEL_1F_HIDDEN_X_DEFEND
 	const EVENT_ROCK_TUNNEL_B1F_HIDDEN_MAX_POTION
@@ -787,10 +787,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
@@ -1691,7 +1691,7 @@
 	const EVENT_TIN_TOWER_8F_MAX_ELIXER
 	const EVENT_TIN_TOWER_8F_FULL_RESTORE
 	const EVENT_TEAM_ROCKET_BASE_B3F_ULTRA_BALL
-	const EVENT_UNDERGROUND_WAREHOUSE_ULTRA_BALL
+	const EVENT_GOLDENROD_UNDERGROUND_WAREHOUSE_ULTRA_BALL
 	const EVENT_BURNED_TOWER_1F_HP_UP
 	const EVENT_BURNED_TOWER_B1F_TM_ENDURE
 	const EVENT_NATIONAL_PARK_PARLYZ_HEAL
@@ -1720,15 +1720,15 @@
 	const EVENT_TEAM_ROCKET_BASE_B3F_FULL_HEAL
 	const EVENT_TEAM_ROCKET_BASE_B3F_ICE_HEAL
 	const EVENT_ILEX_FOREST_REVIVE
-	const EVENT_WAREHOUSE_ENTRANCE_COIN_CASE
-	const EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_SMOKE_BALL
-	const EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_FULL_HEAL
+	const EVENT_GOLDENROD_UNDERGROUND_COIN_CASE
+	const EVENT_GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES_SMOKE_BALL
+	const EVENT_GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES_FULL_HEAL
 	const EVENT_GOLDENROD_DEPT_STORE_B1F_ETHER
 	const EVENT_GOLDENROD_DEPT_STORE_B1F_AMULET_COIN
 	const EVENT_GOLDENROD_DEPT_STORE_B1F_BURN_HEAL
 	const EVENT_GOLDENROD_DEPT_STORE_B1F_ULTRA_BALL
-	const EVENT_UNDERGROUND_WAREHOUSE_MAX_ETHER
-	const EVENT_UNDERGROUND_WAREHOUSE_TM_SLEEP_TALK
+	const EVENT_GOLDENROD_UNDERGROUND_WAREHOUSE_MAX_ETHER
+	const EVENT_GOLDENROD_UNDERGROUND_WAREHOUSE_TM_SLEEP_TALK
 	const EVENT_MOUNT_MORTAR_1F_OUTSIDE_ETHER
 	const EVENT_MOUNT_MORTAR_1F_OUTSIDE_REVIVE
 	const EVENT_MOUNT_MORTAR_1F_INSIDE_ESCAPE_ROPE
@@ -1800,7 +1800,7 @@
 	const EVENT_RIVAL_CHERRYGROVE_CITY
 	const EVENT_RIVAL_AZALEA_TOWN
 	const EVENT_RIVAL_TEAM_ROCKET_BASE
-	const EVENT_RIVAL_UNDERGROUND_PATH
+	const EVENT_RIVAL_GOLDENROD_UNDERGROUND
 	const EVENT_RIVAL_VICTORY_ROAD
 	const EVENT_RIVAL_OLIVINE_CITY
 	const EVENT_RIVAL_SPROUT_TOWER
@@ -1945,10 +1945,10 @@
 	const EVENT_OPENED_MT_SILVER
 	const EVENT_FOUGHT_SNORLAX ; 750
 	const EVENT_LAKE_OF_RAGE_RED_GYARADOS
-	const EVENT_WAREHOUSE_ENTRANCE_GRANNY
-	const EVENT_WAREHOUSE_ENTRANCE_GRAMPS
-	const EVENT_WAREHOUSE_ENTRANCE_OLDER_HAIRCUT_BROTHER
-	const EVENT_WAREHOUSE_ENTRANCE_YOUNGER_HAIRCUT_BROTHER
+	const EVENT_GOLDENROD_UNDERGROUND_GRANNY
+	const EVENT_GOLDENROD_UNDERGROUND_GRAMPS
+	const EVENT_GOLDENROD_UNDERGROUND_OLDER_HAIRCUT_BROTHER
+	const EVENT_GOLDENROD_UNDERGROUND_YOUNGER_HAIRCUT_BROTHER
 	const EVENT_MAHOGANY_TOWN_POKEFAN_M_BLOCKS_EAST
 	const EVENT_MAHOGANY_TOWN_POKEFAN_M_BLOCKS_GYM
 	const EVENT_ROUTE_32_FRIEDA_OF_FRIDAY
--- a/constants/landmark_constants.asm
+++ b/constants/landmark_constants.asm
@@ -63,7 +63,7 @@
 	const ROUTE_24          ; 38
 	const ROUTE_25          ; 39
 	const ROUTE_5           ; 3a
-	const UNDERGROUND       ; 3b
+	const UNDERGROUND_PATH  ; 3b
 	const ROUTE_6           ; 3c
 	const VERMILION_CITY    ; 3d
 	const DIGLETTS_CAVE     ; 3e
--- a/constants/map_dimension_constants.asm
+++ b/constants/map_dimension_constants.asm
@@ -23,466 +23,466 @@
 
 	newgroup                                                    ;  1
 
-	mapgroup OLIVINE_POKECENTER_1F,                       4,  5 ;  1
-	mapgroup OLIVINE_GYM,                                 8,  5 ;  2
-	mapgroup OLIVINE_TIMS_HOUSE,                          4,  4 ;  3
-	mapgroup OLIVINE_HOUSE_BETA,                          4,  4 ;  4
-	mapgroup OLIVINE_PUNISHMENT_SPEECH_HOUSE,             4,  4 ;  5
-	mapgroup OLIVINE_GOOD_ROD_HOUSE,                      4,  4 ;  6
-	mapgroup OLIVINE_CAFE,                                4,  4 ;  7
-	mapgroup OLIVINE_MART,                                4,  6 ;  8
-	mapgroup ROUTE_38_ECRUTEAK_GATE,                      4,  5 ;  9
-	mapgroup ROUTE_39_BARN,                               4,  4 ; 10
-	mapgroup ROUTE_39_FARMHOUSE,                          4,  4 ; 11
-	mapgroup ROUTE_38,                                    9, 20 ; 12
-	mapgroup ROUTE_39,                                   18, 10 ; 13
-	mapgroup OLIVINE_CITY,                               18, 20 ; 14
+	mapgroup OLIVINE_POKECENTER_1F,                        4,  5 ;  1
+	mapgroup OLIVINE_GYM,                                  8,  5 ;  2
+	mapgroup OLIVINE_TIMS_HOUSE,                           4,  4 ;  3
+	mapgroup OLIVINE_HOUSE_BETA,                           4,  4 ;  4
+	mapgroup OLIVINE_PUNISHMENT_SPEECH_HOUSE,              4,  4 ;  5
+	mapgroup OLIVINE_GOOD_ROD_HOUSE,                       4,  4 ;  6
+	mapgroup OLIVINE_CAFE,                                 4,  4 ;  7
+	mapgroup OLIVINE_MART,                                 4,  6 ;  8
+	mapgroup ROUTE_38_ECRUTEAK_GATE,                       4,  5 ;  9
+	mapgroup ROUTE_39_BARN,                                4,  4 ; 10
+	mapgroup ROUTE_39_FARMHOUSE,                           4,  4 ; 11
+	mapgroup ROUTE_38,                                     9, 20 ; 12
+	mapgroup ROUTE_39,                                    18, 10 ; 13
+	mapgroup OLIVINE_CITY,                                18, 20 ; 14
 
 	newgroup                                                    ;  2
 
-	mapgroup MAHOGANY_RED_GYARADOS_SPEECH_HOUSE,          4,  4 ;  1
-	mapgroup MAHOGANY_GYM,                                9,  5 ;  2
-	mapgroup MAHOGANY_POKECENTER_1F,                      4,  5 ;  3
-	mapgroup ROUTE_42_ECRUTEAK_GATE,                      4,  5 ;  4
-	mapgroup ROUTE_42,                                    9, 30 ;  5
-	mapgroup ROUTE_44,                                    9, 30 ;  6
-	mapgroup MAHOGANY_TOWN,                               9, 10 ;  7
+	mapgroup MAHOGANY_RED_GYARADOS_SPEECH_HOUSE,           4,  4 ;  1
+	mapgroup MAHOGANY_GYM,                                 9,  5 ;  2
+	mapgroup MAHOGANY_POKECENTER_1F,                       4,  5 ;  3
+	mapgroup ROUTE_42_ECRUTEAK_GATE,                       4,  5 ;  4
+	mapgroup ROUTE_42,                                     9, 30 ;  5
+	mapgroup ROUTE_44,                                     9, 30 ;  6
+	mapgroup MAHOGANY_TOWN,                                9, 10 ;  7
 
 	newgroup                                                    ;  3
 
-	mapgroup SPROUT_TOWER_1F,                             8, 10 ;  1
-	mapgroup SPROUT_TOWER_2F,                             8, 10 ;  2
-	mapgroup SPROUT_TOWER_3F,                             8, 10 ;  3
-	mapgroup TIN_TOWER_1F,                                9, 10 ;  4
-	mapgroup TIN_TOWER_2F,                                9, 10 ;  5
-	mapgroup TIN_TOWER_3F,                                9, 10 ;  6
-	mapgroup TIN_TOWER_4F,                                9, 10 ;  7
-	mapgroup TIN_TOWER_5F,                                9, 10 ;  8
-	mapgroup TIN_TOWER_6F,                                9, 10 ;  9
-	mapgroup TIN_TOWER_7F,                                9, 10 ; 10
-	mapgroup TIN_TOWER_8F,                                9, 10 ; 11
-	mapgroup TIN_TOWER_9F,                                9, 10 ; 12
-	mapgroup BURNED_TOWER_1F,                             9, 10 ; 13
-	mapgroup BURNED_TOWER_B1F,                            9, 10 ; 14
-	mapgroup NATIONAL_PARK,                              27, 20 ; 15
-	mapgroup NATIONAL_PARK_BUG_CONTEST,                  27, 20 ; 16
-	mapgroup RADIO_TOWER_1F,                              4,  9 ; 17
-	mapgroup RADIO_TOWER_2F,                              4,  9 ; 18
-	mapgroup RADIO_TOWER_3F,                              4,  9 ; 19
-	mapgroup RADIO_TOWER_4F,                              4,  9 ; 20
-	mapgroup RADIO_TOWER_5F,                              4,  9 ; 21
-	mapgroup RUINS_OF_ALPH_OUTSIDE,                      18, 10 ; 22
-	mapgroup RUINS_OF_ALPH_HO_OH_CHAMBER,                 5,  4 ; 23
-	mapgroup RUINS_OF_ALPH_KABUTO_CHAMBER,                5,  4 ; 24
-	mapgroup RUINS_OF_ALPH_OMANYTE_CHAMBER,               5,  4 ; 25
-	mapgroup RUINS_OF_ALPH_AERODACTYL_CHAMBER,            5,  4 ; 26
-	mapgroup RUINS_OF_ALPH_INNER_CHAMBER,                14, 10 ; 27
-	mapgroup RUINS_OF_ALPH_RESEARCH_CENTER,               4,  4 ; 28
-	mapgroup RUINS_OF_ALPH_HO_OH_ITEM_ROOM,               5,  4 ; 29
-	mapgroup RUINS_OF_ALPH_KABUTO_ITEM_ROOM,              5,  4 ; 30
-	mapgroup RUINS_OF_ALPH_OMANYTE_ITEM_ROOM,             5,  4 ; 31
-	mapgroup RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM,          5,  4 ; 32
-	mapgroup RUINS_OF_ALPH_HO_OH_WORD_ROOM,              12, 10 ; 33
-	mapgroup RUINS_OF_ALPH_KABUTO_WORD_ROOM,              7, 10 ; 34
-	mapgroup RUINS_OF_ALPH_OMANYTE_WORD_ROOM,             8, 10 ; 35
-	mapgroup RUINS_OF_ALPH_AERODACTYL_WORD_ROOM,          7, 10 ; 36
-	mapgroup UNION_CAVE_1F,                              18, 10 ; 37
-	mapgroup UNION_CAVE_B1F,                             18, 10 ; 38
-	mapgroup UNION_CAVE_B2F,                             18, 10 ; 39
-	mapgroup SLOWPOKE_WELL_B1F,                           9, 10 ; 40
-	mapgroup SLOWPOKE_WELL_B2F,                           9, 10 ; 41
-	mapgroup OLIVINE_LIGHTHOUSE_1F,                       9, 10 ; 42
-	mapgroup OLIVINE_LIGHTHOUSE_2F,                       9, 10 ; 43
-	mapgroup OLIVINE_LIGHTHOUSE_3F,                       9, 10 ; 44
-	mapgroup OLIVINE_LIGHTHOUSE_4F,                       9, 10 ; 45
-	mapgroup OLIVINE_LIGHTHOUSE_5F,                       9, 10 ; 46
-	mapgroup OLIVINE_LIGHTHOUSE_6F,                       9, 10 ; 47
-	mapgroup MAHOGANY_MART_1F,                            4,  4 ; 48
-	mapgroup TEAM_ROCKET_BASE_B1F,                        9, 15 ; 49
-	mapgroup TEAM_ROCKET_BASE_B2F,                        9, 15 ; 50
-	mapgroup TEAM_ROCKET_BASE_B3F,                        9, 15 ; 51
-	mapgroup ILEX_FOREST,                                27, 15 ; 52
-	mapgroup WAREHOUSE_ENTRANCE,                         18, 15 ; 53
-	mapgroup UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES,     18, 15 ; 54
-	mapgroup GOLDENROD_DEPT_STORE_B1F,                    9, 10 ; 55
-	mapgroup UNDERGROUND_WAREHOUSE,                       9, 10 ; 56
-	mapgroup MOUNT_MORTAR_1F_OUTSIDE,                    18, 20 ; 57
-	mapgroup MOUNT_MORTAR_1F_INSIDE,                     27, 20 ; 58
-	mapgroup MOUNT_MORTAR_2F_INSIDE,                     18, 20 ; 59
-	mapgroup MOUNT_MORTAR_B1F,                           18, 20 ; 60
-	mapgroup ICE_PATH_1F,                                18, 20 ; 61
-	mapgroup ICE_PATH_B1F,                               18, 10 ; 62
-	mapgroup ICE_PATH_B2F_MAHOGANY_SIDE,                  9, 10 ; 63
-	mapgroup ICE_PATH_B2F_BLACKTHORN_SIDE,                9,  5 ; 64
-	mapgroup ICE_PATH_B3F,                                9, 10 ; 65
-	mapgroup WHIRL_ISLAND_NW,                             9,  5 ; 66
-	mapgroup WHIRL_ISLAND_NE,                             9, 10 ; 67
-	mapgroup WHIRL_ISLAND_SW,                             9, 10 ; 68
-	mapgroup WHIRL_ISLAND_CAVE,                           9,  5 ; 69
-	mapgroup WHIRL_ISLAND_SE,                             9,  5 ; 70
-	mapgroup WHIRL_ISLAND_B1F,                           18, 20 ; 71
-	mapgroup WHIRL_ISLAND_B2F,                           18, 10 ; 72
-	mapgroup WHIRL_ISLAND_LUGIA_CHAMBER,                  9, 10 ; 73
-	mapgroup SILVER_CAVE_ROOM_1,                         18, 10 ; 74
-	mapgroup SILVER_CAVE_ROOM_2,                         18, 15 ; 75
-	mapgroup SILVER_CAVE_ROOM_3,                         18, 10 ; 76
-	mapgroup SILVER_CAVE_ITEM_ROOMS,                      9, 10 ; 77
-	mapgroup DARK_CAVE_VIOLET_ENTRANCE,                  18, 20 ; 78
-	mapgroup DARK_CAVE_BLACKTHORN_ENTRANCE,              18, 15 ; 79
-	mapgroup DRAGONS_DEN_1F,                              9,  5 ; 80
-	mapgroup DRAGONS_DEN_B1F,                            18, 20 ; 81
-	mapgroup DRAGON_SHRINE,                               5,  5 ; 82
-	mapgroup TOHJO_FALLS,                                 9, 15 ; 83
-	mapgroup DIGLETTS_CAVE,                              18, 10 ; 84
-	mapgroup MOUNT_MOON,                                  9, 15 ; 85
-	mapgroup UNDERGROUND,                                14,  3 ; 86
-	mapgroup ROCK_TUNNEL_1F,                             18, 15 ; 87
-	mapgroup ROCK_TUNNEL_B1F,                            18, 15 ; 88
-	mapgroup SAFARI_ZONE_FUCHSIA_GATE_BETA,               4,  5 ; 89
-	mapgroup SAFARI_ZONE_BETA,                           18, 10 ; 90
-	mapgroup VICTORY_ROAD,                               36, 10 ; 91
+	mapgroup SPROUT_TOWER_1F,                              8, 10 ;  1
+	mapgroup SPROUT_TOWER_2F,                              8, 10 ;  2
+	mapgroup SPROUT_TOWER_3F,                              8, 10 ;  3
+	mapgroup TIN_TOWER_1F,                                 9, 10 ;  4
+	mapgroup TIN_TOWER_2F,                                 9, 10 ;  5
+	mapgroup TIN_TOWER_3F,                                 9, 10 ;  6
+	mapgroup TIN_TOWER_4F,                                 9, 10 ;  7
+	mapgroup TIN_TOWER_5F,                                 9, 10 ;  8
+	mapgroup TIN_TOWER_6F,                                 9, 10 ;  9
+	mapgroup TIN_TOWER_7F,                                 9, 10 ; 10
+	mapgroup TIN_TOWER_8F,                                 9, 10 ; 11
+	mapgroup TIN_TOWER_9F,                                 9, 10 ; 12
+	mapgroup BURNED_TOWER_1F,                              9, 10 ; 13
+	mapgroup BURNED_TOWER_B1F,                             9, 10 ; 14
+	mapgroup NATIONAL_PARK,                               27, 20 ; 15
+	mapgroup NATIONAL_PARK_BUG_CONTEST,                   27, 20 ; 16
+	mapgroup RADIO_TOWER_1F,                               4,  9 ; 17
+	mapgroup RADIO_TOWER_2F,                               4,  9 ; 18
+	mapgroup RADIO_TOWER_3F,                               4,  9 ; 19
+	mapgroup RADIO_TOWER_4F,                               4,  9 ; 20
+	mapgroup RADIO_TOWER_5F,                               4,  9 ; 21
+	mapgroup RUINS_OF_ALPH_OUTSIDE,                       18, 10 ; 22
+	mapgroup RUINS_OF_ALPH_HO_OH_CHAMBER,                  5,  4 ; 23
+	mapgroup RUINS_OF_ALPH_KABUTO_CHAMBER,                 5,  4 ; 24
+	mapgroup RUINS_OF_ALPH_OMANYTE_CHAMBER,                5,  4 ; 25
+	mapgroup RUINS_OF_ALPH_AERODACTYL_CHAMBER,             5,  4 ; 26
+	mapgroup RUINS_OF_ALPH_INNER_CHAMBER,                 14, 10 ; 27
+	mapgroup RUINS_OF_ALPH_RESEARCH_CENTER,                4,  4 ; 28
+	mapgroup RUINS_OF_ALPH_HO_OH_ITEM_ROOM,                5,  4 ; 29
+	mapgroup RUINS_OF_ALPH_KABUTO_ITEM_ROOM,               5,  4 ; 30
+	mapgroup RUINS_OF_ALPH_OMANYTE_ITEM_ROOM,              5,  4 ; 31
+	mapgroup RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM,           5,  4 ; 32
+	mapgroup RUINS_OF_ALPH_HO_OH_WORD_ROOM,               12, 10 ; 33
+	mapgroup RUINS_OF_ALPH_KABUTO_WORD_ROOM,               7, 10 ; 34
+	mapgroup RUINS_OF_ALPH_OMANYTE_WORD_ROOM,              8, 10 ; 35
+	mapgroup RUINS_OF_ALPH_AERODACTYL_WORD_ROOM,           7, 10 ; 36
+	mapgroup UNION_CAVE_1F,                               18, 10 ; 37
+	mapgroup UNION_CAVE_B1F,                              18, 10 ; 38
+	mapgroup UNION_CAVE_B2F,                              18, 10 ; 39
+	mapgroup SLOWPOKE_WELL_B1F,                            9, 10 ; 40
+	mapgroup SLOWPOKE_WELL_B2F,                            9, 10 ; 41
+	mapgroup OLIVINE_LIGHTHOUSE_1F,                        9, 10 ; 42
+	mapgroup OLIVINE_LIGHTHOUSE_2F,                        9, 10 ; 43
+	mapgroup OLIVINE_LIGHTHOUSE_3F,                        9, 10 ; 44
+	mapgroup OLIVINE_LIGHTHOUSE_4F,                        9, 10 ; 45
+	mapgroup OLIVINE_LIGHTHOUSE_5F,                        9, 10 ; 46
+	mapgroup OLIVINE_LIGHTHOUSE_6F,                        9, 10 ; 47
+	mapgroup MAHOGANY_MART_1F,                             4,  4 ; 48
+	mapgroup TEAM_ROCKET_BASE_B1F,                         9, 15 ; 49
+	mapgroup TEAM_ROCKET_BASE_B2F,                         9, 15 ; 50
+	mapgroup TEAM_ROCKET_BASE_B3F,                         9, 15 ; 51
+	mapgroup ILEX_FOREST,                                 27, 15 ; 52
+	mapgroup GOLDENROD_UNDERGROUND,                       18, 15 ; 53
+	mapgroup GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, 18, 15 ; 54
+	mapgroup GOLDENROD_DEPT_STORE_B1F,                     9, 10 ; 55
+	mapgroup GOLDENROD_UNDERGROUND_WAREHOUSE,              9, 10 ; 56
+	mapgroup MOUNT_MORTAR_1F_OUTSIDE,                     18, 20 ; 57
+	mapgroup MOUNT_MORTAR_1F_INSIDE,                      27, 20 ; 58
+	mapgroup MOUNT_MORTAR_2F_INSIDE,                      18, 20 ; 59
+	mapgroup MOUNT_MORTAR_B1F,                            18, 20 ; 60
+	mapgroup ICE_PATH_1F,                                 18, 20 ; 61
+	mapgroup ICE_PATH_B1F,                                18, 10 ; 62
+	mapgroup ICE_PATH_B2F_MAHOGANY_SIDE,                   9, 10 ; 63
+	mapgroup ICE_PATH_B2F_BLACKTHORN_SIDE,                 9,  5 ; 64
+	mapgroup ICE_PATH_B3F,                                 9, 10 ; 65
+	mapgroup WHIRL_ISLAND_NW,                              9,  5 ; 66
+	mapgroup WHIRL_ISLAND_NE,                              9, 10 ; 67
+	mapgroup WHIRL_ISLAND_SW,                              9, 10 ; 68
+	mapgroup WHIRL_ISLAND_CAVE,                            9,  5 ; 69
+	mapgroup WHIRL_ISLAND_SE,                              9,  5 ; 70
+	mapgroup WHIRL_ISLAND_B1F,                            18, 20 ; 71
+	mapgroup WHIRL_ISLAND_B2F,                            18, 10 ; 72
+	mapgroup WHIRL_ISLAND_LUGIA_CHAMBER,                   9, 10 ; 73
+	mapgroup SILVER_CAVE_ROOM_1,                          18, 10 ; 74
+	mapgroup SILVER_CAVE_ROOM_2,                          18, 15 ; 75
+	mapgroup SILVER_CAVE_ROOM_3,                          18, 10 ; 76
+	mapgroup SILVER_CAVE_ITEM_ROOMS,                       9, 10 ; 77
+	mapgroup DARK_CAVE_VIOLET_ENTRANCE,                   18, 20 ; 78
+	mapgroup DARK_CAVE_BLACKTHORN_ENTRANCE,               18, 15 ; 79
+	mapgroup DRAGONS_DEN_1F,                               9,  5 ; 80
+	mapgroup DRAGONS_DEN_B1F,                             18, 20 ; 81
+	mapgroup DRAGON_SHRINE,                                5,  5 ; 82
+	mapgroup TOHJO_FALLS,                                  9, 15 ; 83
+	mapgroup DIGLETTS_CAVE,                               18, 10 ; 84
+	mapgroup MOUNT_MOON,                                   9, 15 ; 85
+	mapgroup UNDERGROUND_PATH,                            14,  3 ; 86
+	mapgroup ROCK_TUNNEL_1F,                              18, 15 ; 87
+	mapgroup ROCK_TUNNEL_B1F,                             18, 15 ; 88
+	mapgroup SAFARI_ZONE_FUCHSIA_GATE_BETA,                4,  5 ; 89
+	mapgroup SAFARI_ZONE_BETA,                            18, 10 ; 90
+	mapgroup VICTORY_ROAD,                                36, 10 ; 91
 
 	newgroup                                                    ;  4
 
-	mapgroup ECRUTEAK_HOUSE,                              9, 10 ;  1
-	mapgroup WISE_TRIOS_ROOM,                             4,  4 ;  2
-	mapgroup ECRUTEAK_POKECENTER_1F,                      4,  5 ;  3
-	mapgroup ECRUTEAK_LUGIA_SPEECH_HOUSE,                 4,  4 ;  4
-	mapgroup DANCE_THEATRE,                               7,  6 ;  5
-	mapgroup ECRUTEAK_MART,                               4,  6 ;  6
-	mapgroup ECRUTEAK_GYM,                                9,  5 ;  7
-	mapgroup ECRUTEAK_ITEMFINDER_HOUSE,                   4,  4 ;  8
-	mapgroup ECRUTEAK_CITY,                              18, 20 ;  9
+	mapgroup ECRUTEAK_HOUSE,                               9, 10 ;  1
+	mapgroup WISE_TRIOS_ROOM,                              4,  4 ;  2
+	mapgroup ECRUTEAK_POKECENTER_1F,                       4,  5 ;  3
+	mapgroup ECRUTEAK_LUGIA_SPEECH_HOUSE,                  4,  4 ;  4
+	mapgroup DANCE_THEATRE,                                7,  6 ;  5
+	mapgroup ECRUTEAK_MART,                                4,  6 ;  6
+	mapgroup ECRUTEAK_GYM,                                 9,  5 ;  7
+	mapgroup ECRUTEAK_ITEMFINDER_HOUSE,                    4,  4 ;  8
+	mapgroup ECRUTEAK_CITY,                               18, 20 ;  9
 
 	newgroup                                                    ;  5
 
-	mapgroup BLACKTHORN_GYM_1F,                           9,  5 ;  1
-	mapgroup BLACKTHORN_GYM_2F,                           9,  5 ;  2
-	mapgroup BLACKTHORN_DRAGON_SPEECH_HOUSE,              4,  4 ;  3
-	mapgroup BLACKTHORN_EMYS_HOUSE,                       4,  4 ;  4
-	mapgroup BLACKTHORN_MART,                             4,  6 ;  5
-	mapgroup BLACKTHORN_POKECENTER_1F,                    4,  5 ;  6
-	mapgroup MOVE_DELETERS_HOUSE,                         4,  4 ;  7
-	mapgroup ROUTE_45,                                   45, 10 ;  8
-	mapgroup ROUTE_46,                                   18, 10 ;  9
-	mapgroup BLACKTHORN_CITY,                            18, 20 ; 10
+	mapgroup BLACKTHORN_GYM_1F,                            9,  5 ;  1
+	mapgroup BLACKTHORN_GYM_2F,                            9,  5 ;  2
+	mapgroup BLACKTHORN_DRAGON_SPEECH_HOUSE,               4,  4 ;  3
+	mapgroup BLACKTHORN_EMYS_HOUSE,                        4,  4 ;  4
+	mapgroup BLACKTHORN_MART,                              4,  6 ;  5
+	mapgroup BLACKTHORN_POKECENTER_1F,                     4,  5 ;  6
+	mapgroup MOVE_DELETERS_HOUSE,                          4,  4 ;  7
+	mapgroup ROUTE_45,                                    45, 10 ;  8
+	mapgroup ROUTE_46,                                    18, 10 ;  9
+	mapgroup BLACKTHORN_CITY,                             18, 20 ; 10
 
 	newgroup                                                    ;  6
 
-	mapgroup CINNABAR_POKECENTER_1F,                      4,  5 ;  1
-	mapgroup CINNABAR_POKECENTER_2F_BETA,                 4,  8 ;  2
-	mapgroup ROUTE_19___FUCHSIA_GATE,                     4,  5 ;  3
-	mapgroup SEAFOAM_GYM,                                 4,  5 ;  4
-	mapgroup ROUTE_19,                                   18, 10 ;  5
-	mapgroup ROUTE_20,                                    9, 30 ;  6
-	mapgroup ROUTE_21,                                   18, 10 ;  7
-	mapgroup CINNABAR_ISLAND,                             9, 10 ;  8
+	mapgroup CINNABAR_POKECENTER_1F,                       4,  5 ;  1
+	mapgroup CINNABAR_POKECENTER_2F_BETA,                  4,  8 ;  2
+	mapgroup ROUTE_19___FUCHSIA_GATE,                      4,  5 ;  3
+	mapgroup SEAFOAM_GYM,                                  4,  5 ;  4
+	mapgroup ROUTE_19,                                    18, 10 ;  5
+	mapgroup ROUTE_20,                                     9, 30 ;  6
+	mapgroup ROUTE_21,                                    18, 10 ;  7
+	mapgroup CINNABAR_ISLAND,                              9, 10 ;  8
 
 	newgroup                                                    ;  7
 
-	mapgroup CERULEAN_GYM_BADGE_SPEECH_HOUSE,             4,  4 ;  1
-	mapgroup CERULEAN_POLICE_STATION,                     4,  4 ;  2
-	mapgroup CERULEAN_TRADE_SPEECH_HOUSE,                 4,  4 ;  3
-	mapgroup CERULEAN_POKECENTER_1F,                      4,  5 ;  4
-	mapgroup CERULEAN_POKECENTER_2F_BETA,                 4,  8 ;  5
-	mapgroup CERULEAN_GYM,                                8,  5 ;  6
-	mapgroup CERULEAN_MART,                               4,  6 ;  7
-	mapgroup ROUTE_10_POKECENTER_1F,                      4,  5 ;  8
-	mapgroup ROUTE_10_POKECENTER_2F_BETA,                 4,  8 ;  9
-	mapgroup POWER_PLANT,                                 9, 10 ; 10
-	mapgroup BILLS_HOUSE,                                 4,  4 ; 11
-	mapgroup ROUTE_4,                                     9, 20 ; 12
-	mapgroup ROUTE_9,                                     9, 30 ; 13
-	mapgroup ROUTE_10_NORTH,                              9, 10 ; 14
-	mapgroup ROUTE_24,                                    9, 10 ; 15
-	mapgroup ROUTE_25,                                    9, 30 ; 16
-	mapgroup CERULEAN_CITY,                              18, 20 ; 17
+	mapgroup CERULEAN_GYM_BADGE_SPEECH_HOUSE,              4,  4 ;  1
+	mapgroup CERULEAN_POLICE_STATION,                      4,  4 ;  2
+	mapgroup CERULEAN_TRADE_SPEECH_HOUSE,                  4,  4 ;  3
+	mapgroup CERULEAN_POKECENTER_1F,                       4,  5 ;  4
+	mapgroup CERULEAN_POKECENTER_2F_BETA,                  4,  8 ;  5
+	mapgroup CERULEAN_GYM,                                 8,  5 ;  6
+	mapgroup CERULEAN_MART,                                4,  6 ;  7
+	mapgroup ROUTE_10_POKECENTER_1F,                       4,  5 ;  8
+	mapgroup ROUTE_10_POKECENTER_2F_BETA,                  4,  8 ;  9
+	mapgroup POWER_PLANT,                                  9, 10 ; 10
+	mapgroup BILLS_HOUSE,                                  4,  4 ; 11
+	mapgroup ROUTE_4,                                      9, 20 ; 12
+	mapgroup ROUTE_9,                                      9, 30 ; 13
+	mapgroup ROUTE_10_NORTH,                               9, 10 ; 14
+	mapgroup ROUTE_24,                                     9, 10 ; 15
+	mapgroup ROUTE_25,                                     9, 30 ; 16
+	mapgroup CERULEAN_CITY,                               18, 20 ; 17
 
 	newgroup                                                    ;  8
 
-	mapgroup AZALEA_POKECENTER_1F,                        4,  5 ;  1
-	mapgroup CHARCOAL_KILN,                               4,  4 ;  2
-	mapgroup AZALEA_MART,                                 4,  6 ;  3
-	mapgroup KURTS_HOUSE,                                 4,  8 ;  4
-	mapgroup AZALEA_GYM,                                  8,  5 ;  5
-	mapgroup ROUTE_33,                                    9, 10 ;  6
-	mapgroup AZALEA_TOWN,                                 9, 20 ;  7
+	mapgroup AZALEA_POKECENTER_1F,                         4,  5 ;  1
+	mapgroup CHARCOAL_KILN,                                4,  4 ;  2
+	mapgroup AZALEA_MART,                                  4,  6 ;  3
+	mapgroup KURTS_HOUSE,                                  4,  8 ;  4
+	mapgroup AZALEA_GYM,                                   8,  5 ;  5
+	mapgroup ROUTE_33,                                     9, 10 ;  6
+	mapgroup AZALEA_TOWN,                                  9, 20 ;  7
 
 	newgroup                                                    ;  9
 
-	mapgroup LAKE_OF_RAGE_HIDDEN_POWER_HOUSE,             4,  4 ;  1
-	mapgroup LAKE_OF_RAGE_MAGIKARP_HOUSE,                 4,  4 ;  2
-	mapgroup ROUTE_43_MAHOGANY_GATE,                      4,  5 ;  3
-	mapgroup ROUTE_43_GATE,                               4,  5 ;  4
-	mapgroup ROUTE_43,                                   27, 10 ;  5
-	mapgroup LAKE_OF_RAGE,                               18, 20 ;  6
+	mapgroup LAKE_OF_RAGE_HIDDEN_POWER_HOUSE,              4,  4 ;  1
+	mapgroup LAKE_OF_RAGE_MAGIKARP_HOUSE,                  4,  4 ;  2
+	mapgroup ROUTE_43_MAHOGANY_GATE,                       4,  5 ;  3
+	mapgroup ROUTE_43_GATE,                                4,  5 ;  4
+	mapgroup ROUTE_43,                                    27, 10 ;  5
+	mapgroup LAKE_OF_RAGE,                                18, 20 ;  6
 
 	newgroup                                                    ; 10
 
-	mapgroup ROUTE_32,                                   45, 10 ;  1
-	mapgroup ROUTE_35,                                   18, 10 ;  2
-	mapgroup ROUTE_36,                                    9, 30 ;  3
-	mapgroup ROUTE_37,                                    9, 10 ;  4
-	mapgroup VIOLET_CITY,                                18, 20 ;  5
-	mapgroup VIOLET_MART,                                 4,  6 ;  6
-	mapgroup VIOLET_GYM,                                  8,  5 ;  7
-	mapgroup EARLS_POKEMON_ACADEMY,                       8,  4 ;  8
-	mapgroup VIOLET_NICKNAME_SPEECH_HOUSE,                4,  4 ;  9
-	mapgroup VIOLET_POKECENTER_1F,                        4,  5 ; 10
-	mapgroup VIOLET_KYLES_HOUSE,                          4,  4 ; 11
-	mapgroup ROUTE_32_RUINS_OF_ALPH_GATE,                 4,  5 ; 12
-	mapgroup ROUTE_32_POKECENTER_1F,                      4,  5 ; 13
-	mapgroup ROUTE_35_GOLDENROD_GATE,                     4,  5 ; 14
-	mapgroup ROUTE_35_NATIONAL_PARK_GATE,                 4,  4 ; 15
-	mapgroup ROUTE_36_RUINS_OF_ALPH_GATE,                 4,  5 ; 16
-	mapgroup ROUTE_36_NATIONAL_PARK_GATE,                 4,  5 ; 17
+	mapgroup ROUTE_32,                                    45, 10 ;  1
+	mapgroup ROUTE_35,                                    18, 10 ;  2
+	mapgroup ROUTE_36,                                     9, 30 ;  3
+	mapgroup ROUTE_37,                                     9, 10 ;  4
+	mapgroup VIOLET_CITY,                                 18, 20 ;  5
+	mapgroup VIOLET_MART,                                  4,  6 ;  6
+	mapgroup VIOLET_GYM,                                   8,  5 ;  7
+	mapgroup EARLS_POKEMON_ACADEMY,                        8,  4 ;  8
+	mapgroup VIOLET_NICKNAME_SPEECH_HOUSE,                 4,  4 ;  9
+	mapgroup VIOLET_POKECENTER_1F,                         4,  5 ; 10
+	mapgroup VIOLET_KYLES_HOUSE,                           4,  4 ; 11
+	mapgroup ROUTE_32_RUINS_OF_ALPH_GATE,                  4,  5 ; 12
+	mapgroup ROUTE_32_POKECENTER_1F,                       4,  5 ; 13
+	mapgroup ROUTE_35_GOLDENROD_GATE,                      4,  5 ; 14
+	mapgroup ROUTE_35_NATIONAL_PARK_GATE,                  4,  4 ; 15
+	mapgroup ROUTE_36_RUINS_OF_ALPH_GATE,                  4,  5 ; 16
+	mapgroup ROUTE_36_NATIONAL_PARK_GATE,                  4,  5 ; 17
 
 	newgroup                                                    ; 11
 
-	mapgroup ROUTE_34,                                   27, 10 ;  1
-	mapgroup GOLDENROD_CITY,                             18, 20 ;  2
-	mapgroup GOLDENROD_GYM,                               9, 10 ;  3
-	mapgroup GOLDENROD_BIKE_SHOP,                         4,  4 ;  4
-	mapgroup GOLDENROD_HAPPINESS_RATER,                   4,  4 ;  5
-	mapgroup GOLDENROD_BILLS_HOUSE,                       4,  4 ;  6
-	mapgroup GOLDENROD_MAGNET_TRAIN_STATION,              9, 10 ;  7
-	mapgroup GOLDENROD_FLOWER_SHOP,                       4,  4 ;  8
-	mapgroup GOLDENROD_PP_SPEECH_HOUSE,                   4,  4 ;  9
-	mapgroup GOLDENROD_NAME_RATER,                        4,  4 ; 10
-	mapgroup GOLDENROD_DEPT_STORE_1F,                     4,  8 ; 11
-	mapgroup GOLDENROD_DEPT_STORE_2F,                     4,  8 ; 12
-	mapgroup GOLDENROD_DEPT_STORE_3F,                     4,  8 ; 13
-	mapgroup GOLDENROD_DEPT_STORE_4F,                     4,  8 ; 14
-	mapgroup GOLDENROD_DEPT_STORE_5F,                     4,  8 ; 15
-	mapgroup GOLDENROD_DEPT_STORE_6F,                     4,  8 ; 16
-	mapgroup GOLDENROD_DEPT_STORE_ELEVATOR,               2,  2 ; 17
-	mapgroup GOLDENROD_DEPT_STORE_ROOF,                   4,  8 ; 18
-	mapgroup GOLDENROD_GAME_CORNER,                       7, 10 ; 19
-	mapgroup GOLDENROD_POKECENTER_1F,                     4,  5 ; 20
-	mapgroup GOLDENROD_POKECOM_CENTER_2F_MOBILE,         16, 16 ; 21
-	mapgroup ILEX_FOREST_AZALEA_GATE,                     4,  5 ; 22
-	mapgroup ROUTE_34_ILEX_FOREST_GATE,                   4,  5 ; 23
-	mapgroup DAY_CARE,                                    4,  5 ; 24
+	mapgroup ROUTE_34,                                    27, 10 ;  1
+	mapgroup GOLDENROD_CITY,                              18, 20 ;  2
+	mapgroup GOLDENROD_GYM,                                9, 10 ;  3
+	mapgroup GOLDENROD_BIKE_SHOP,                          4,  4 ;  4
+	mapgroup GOLDENROD_HAPPINESS_RATER,                    4,  4 ;  5
+	mapgroup GOLDENROD_BILLS_HOUSE,                        4,  4 ;  6
+	mapgroup GOLDENROD_MAGNET_TRAIN_STATION,               9, 10 ;  7
+	mapgroup GOLDENROD_FLOWER_SHOP,                        4,  4 ;  8
+	mapgroup GOLDENROD_PP_SPEECH_HOUSE,                    4,  4 ;  9
+	mapgroup GOLDENROD_NAME_RATER,                         4,  4 ; 10
+	mapgroup GOLDENROD_DEPT_STORE_1F,                      4,  8 ; 11
+	mapgroup GOLDENROD_DEPT_STORE_2F,                      4,  8 ; 12
+	mapgroup GOLDENROD_DEPT_STORE_3F,                      4,  8 ; 13
+	mapgroup GOLDENROD_DEPT_STORE_4F,                      4,  8 ; 14
+	mapgroup GOLDENROD_DEPT_STORE_5F,                      4,  8 ; 15
+	mapgroup GOLDENROD_DEPT_STORE_6F,                      4,  8 ; 16
+	mapgroup GOLDENROD_DEPT_STORE_ELEVATOR,                2,  2 ; 17
+	mapgroup GOLDENROD_DEPT_STORE_ROOF,                    4,  8 ; 18
+	mapgroup GOLDENROD_GAME_CORNER,                        7, 10 ; 19
+	mapgroup GOLDENROD_POKECENTER_1F,                      4,  5 ; 20
+	mapgroup GOLDENROD_POKECOM_CENTER_2F_MOBILE,          16, 16 ; 21
+	mapgroup ILEX_FOREST_AZALEA_GATE,                      4,  5 ; 22
+	mapgroup ROUTE_34_ILEX_FOREST_GATE,                    4,  5 ; 23
+	mapgroup DAY_CARE,                                     4,  5 ; 24
 
 	newgroup                                                    ; 12
 
-	mapgroup ROUTE_6,                                     9, 10 ;  1
-	mapgroup ROUTE_11,                                    9, 20 ;  2
-	mapgroup VERMILION_CITY,                             18, 20 ;  3
-	mapgroup VERMILION_HOUSE_FISHING_SPEECH_HOUSE,        4,  4 ;  4
-	mapgroup VERMILION_POKECENTER_1F,                     4,  5 ;  5
-	mapgroup VERMILION_POKECENTER_2F_BETA,                4,  8 ;  6
-	mapgroup POKEMON_FAN_CLUB,                            4,  5 ;  7
-	mapgroup VERMILION_MAGNET_TRAIN_SPEECH_HOUSE,         4,  4 ;  8
-	mapgroup VERMILION_MART,                              4,  6 ;  9
-	mapgroup VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE,  4,  4 ; 10
-	mapgroup VERMILION_GYM,                               9,  5 ; 11
-	mapgroup ROUTE_6_SAFFRON_GATE,                        4,  5 ; 12
-	mapgroup ROUTE_6_UNDERGROUND_ENTRANCE,                4,  4 ; 13
+	mapgroup ROUTE_6,                                      9, 10 ;  1
+	mapgroup ROUTE_11,                                     9, 20 ;  2
+	mapgroup VERMILION_CITY,                              18, 20 ;  3
+	mapgroup VERMILION_HOUSE_FISHING_SPEECH_HOUSE,         4,  4 ;  4
+	mapgroup VERMILION_POKECENTER_1F,                      4,  5 ;  5
+	mapgroup VERMILION_POKECENTER_2F_BETA,                 4,  8 ;  6
+	mapgroup POKEMON_FAN_CLUB,                             4,  5 ;  7
+	mapgroup VERMILION_MAGNET_TRAIN_SPEECH_HOUSE,          4,  4 ;  8
+	mapgroup VERMILION_MART,                               4,  6 ;  9
+	mapgroup VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE,   4,  4 ; 10
+	mapgroup VERMILION_GYM,                                9,  5 ; 11
+	mapgroup ROUTE_6_SAFFRON_GATE,                         4,  5 ; 12
+	mapgroup ROUTE_6_UNDERGROUND_PATH_ENTRANCE,            4,  4 ; 13
 
 	newgroup                                                    ; 13
 
-	mapgroup ROUTE_1,                                    18, 10 ;  1
-	mapgroup PALLET_TOWN,                                 9, 10 ;  2
-	mapgroup REDS_HOUSE_1F,                               4,  4 ;  3
-	mapgroup REDS_HOUSE_2F,                               4,  4 ;  4
-	mapgroup BLUES_HOUSE,                                 4,  4 ;  5
-	mapgroup OAKS_LAB,                                    6,  5 ;  6
+	mapgroup ROUTE_1,                                     18, 10 ;  1
+	mapgroup PALLET_TOWN,                                  9, 10 ;  2
+	mapgroup REDS_HOUSE_1F,                                4,  4 ;  3
+	mapgroup REDS_HOUSE_2F,                                4,  4 ;  4
+	mapgroup BLUES_HOUSE,                                  4,  4 ;  5
+	mapgroup OAKS_LAB,                                     6,  5 ;  6
 
 	newgroup                                                    ; 14
 
-	mapgroup ROUTE_3,                                     9, 30 ;  1
-	mapgroup PEWTER_CITY,                                18, 20 ;  2
-	mapgroup PEWTER_NIDORAN_SPEECH_HOUSE,                 4,  4 ;  3
-	mapgroup PEWTER_GYM,                                  7,  5 ;  4
-	mapgroup PEWTER_MART,                                 4,  6 ;  5
-	mapgroup PEWTER_POKECENTER_1F,                        4,  5 ;  6
-	mapgroup PEWTER_POKECENTER_2F_BETA,                   4,  8 ;  7
-	mapgroup PEWTER_SNOOZE_SPEECH_HOUSE,                  4,  4 ;  8
+	mapgroup ROUTE_3,                                      9, 30 ;  1
+	mapgroup PEWTER_CITY,                                 18, 20 ;  2
+	mapgroup PEWTER_NIDORAN_SPEECH_HOUSE,                  4,  4 ;  3
+	mapgroup PEWTER_GYM,                                   7,  5 ;  4
+	mapgroup PEWTER_MART,                                  4,  6 ;  5
+	mapgroup PEWTER_POKECENTER_1F,                         4,  5 ;  6
+	mapgroup PEWTER_POKECENTER_2F_BETA,                    4,  8 ;  7
+	mapgroup PEWTER_SNOOZE_SPEECH_HOUSE,                   4,  4 ;  8
 
 	newgroup                                                    ; 15
 
-	mapgroup OLIVINE_PORT,                               18, 10 ;  1
-	mapgroup VERMILION_PORT,                             18, 10 ;  2
-	mapgroup FAST_SHIP_1F,                                9, 16 ;  3
-	mapgroup FAST_SHIP_CABINS_NNW_NNE_NE,                16,  4 ;  4
-	mapgroup FAST_SHIP_CABINS_SW_SSW_NW,                 16,  4 ;  5
-	mapgroup FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN,     17,  5 ;  6
-	mapgroup FAST_SHIP_B1F,                               8, 16 ;  7
-	mapgroup OLIVINE_PORT_PASSAGE,                        9, 10 ;  8
-	mapgroup VERMILION_PORT_PASSAGE,                      9, 10 ;  9
-	mapgroup MOUNT_MOON_SQUARE,                           9, 15 ; 10
-	mapgroup MOUNT_MOON_GIFT_SHOP,                        4,  4 ; 11
-	mapgroup TIN_TOWER_ROOF,                              9, 10 ; 12
+	mapgroup OLIVINE_PORT,                                18, 10 ;  1
+	mapgroup VERMILION_PORT,                              18, 10 ;  2
+	mapgroup FAST_SHIP_1F,                                 9, 16 ;  3
+	mapgroup FAST_SHIP_CABINS_NNW_NNE_NE,                 16,  4 ;  4
+	mapgroup FAST_SHIP_CABINS_SW_SSW_NW,                  16,  4 ;  5
+	mapgroup FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN,      17,  5 ;  6
+	mapgroup FAST_SHIP_B1F,                                8, 16 ;  7
+	mapgroup OLIVINE_PORT_PASSAGE,                         9, 10 ;  8
+	mapgroup VERMILION_PORT_PASSAGE,                       9, 10 ;  9
+	mapgroup MOUNT_MOON_SQUARE,                            9, 15 ; 10
+	mapgroup MOUNT_MOON_GIFT_SHOP,                         4,  4 ; 11
+	mapgroup TIN_TOWER_ROOF,                               9, 10 ; 12
 
 	newgroup                                                    ; 16
 
-	mapgroup ROUTE_23,                                    9, 10 ;  1
-	mapgroup INDIGO_PLATEAU_POKECENTER_1F,                7,  9 ;  2
-	mapgroup WILLS_ROOM,                                  9,  5 ;  3
-	mapgroup KOGAS_ROOM,                                  9,  5 ;  4
-	mapgroup BRUNOS_ROOM,                                 9,  5 ;  5
-	mapgroup KARENS_ROOM,                                 9,  5 ;  6
-	mapgroup LANCES_ROOM,                                12,  5 ;  7
-	mapgroup HALL_OF_FAME,                                7,  5 ;  8
+	mapgroup ROUTE_23,                                     9, 10 ;  1
+	mapgroup INDIGO_PLATEAU_POKECENTER_1F,                 7,  9 ;  2
+	mapgroup WILLS_ROOM,                                   9,  5 ;  3
+	mapgroup KOGAS_ROOM,                                   9,  5 ;  4
+	mapgroup BRUNOS_ROOM,                                  9,  5 ;  5
+	mapgroup KARENS_ROOM,                                  9,  5 ;  6
+	mapgroup LANCES_ROOM,                                 12,  5 ;  7
+	mapgroup HALL_OF_FAME,                                 7,  5 ;  8
 
 	newgroup                                                    ; 17
 
-	mapgroup ROUTE_13,                                    9, 30 ;  1
-	mapgroup ROUTE_14,                                   18, 10 ;  2
-	mapgroup ROUTE_15,                                    9, 20 ;  3
-	mapgroup ROUTE_18,                                    9, 10 ;  4
-	mapgroup FUCHSIA_CITY,                               18, 20 ;  5
-	mapgroup FUCHSIA_MART,                                4,  6 ;  6
-	mapgroup SAFARI_ZONE_MAIN_OFFICE,                     4,  4 ;  7
-	mapgroup FUCHSIA_GYM,                                 9,  5 ;  8
-	mapgroup FUCHSIA_BILL_SPEECH_HOUSE,                   4,  4 ;  9
-	mapgroup FUCHSIA_POKECENTER_1F,                       4,  5 ; 10
-	mapgroup FUCHSIA_POKECENTER_2F_BETA,                  4,  8 ; 11
-	mapgroup SAFARI_ZONE_WARDENS_HOME,                    4,  5 ; 12
-	mapgroup ROUTE_15_FUCHSIA_GATE,                       4,  5 ; 13
+	mapgroup ROUTE_13,                                     9, 30 ;  1
+	mapgroup ROUTE_14,                                    18, 10 ;  2
+	mapgroup ROUTE_15,                                     9, 20 ;  3
+	mapgroup ROUTE_18,                                     9, 10 ;  4
+	mapgroup FUCHSIA_CITY,                                18, 20 ;  5
+	mapgroup FUCHSIA_MART,                                 4,  6 ;  6
+	mapgroup SAFARI_ZONE_MAIN_OFFICE,                      4,  4 ;  7
+	mapgroup FUCHSIA_GYM,                                  9,  5 ;  8
+	mapgroup FUCHSIA_BILL_SPEECH_HOUSE,                    4,  4 ;  9
+	mapgroup FUCHSIA_POKECENTER_1F,                        4,  5 ; 10
+	mapgroup FUCHSIA_POKECENTER_2F_BETA,                   4,  8 ; 11
+	mapgroup SAFARI_ZONE_WARDENS_HOME,                     4,  5 ; 12
+	mapgroup ROUTE_15_FUCHSIA_GATE,                        4,  5 ; 13
 
 	newgroup                                                    ; 18
 
-	mapgroup ROUTE_8,                                     9, 20 ;  1
-	mapgroup ROUTE_12,                                   27, 10 ;  2
-	mapgroup ROUTE_10_SOUTH,                              9, 10 ;  3
-	mapgroup LAVENDER_TOWN,                               9, 10 ;  4
-	mapgroup LAVENDER_POKECENTER_1F,                      4,  5 ;  5
-	mapgroup LAVENDER_POKECENTER_2F_BETA,                 4,  8 ;  6
-	mapgroup MR_FUJIS_HOUSE,                              4,  5 ;  7
-	mapgroup LAVENDER_TOWN_SPEECH_HOUSE,                  4,  4 ;  8
-	mapgroup LAVENDER_NAME_RATER,                         4,  4 ;  9
-	mapgroup LAVENDER_MART,                               4,  6 ; 10
-	mapgroup SOUL_HOUSE,                                  4,  5 ; 11
-	mapgroup LAV_RADIO_TOWER_1F,                          4, 10 ; 12
-	mapgroup ROUTE_8_SAFFRON_GATE,                        4,  5 ; 13
-	mapgroup ROUTE_12_SUPER_ROD_HOUSE,                    4,  4 ; 14
+	mapgroup ROUTE_8,                                      9, 20 ;  1
+	mapgroup ROUTE_12,                                    27, 10 ;  2
+	mapgroup ROUTE_10_SOUTH,                               9, 10 ;  3
+	mapgroup LAVENDER_TOWN,                                9, 10 ;  4
+	mapgroup LAVENDER_POKECENTER_1F,                       4,  5 ;  5
+	mapgroup LAVENDER_POKECENTER_2F_BETA,                  4,  8 ;  6
+	mapgroup MR_FUJIS_HOUSE,                               4,  5 ;  7
+	mapgroup LAVENDER_TOWN_SPEECH_HOUSE,                   4,  4 ;  8
+	mapgroup LAVENDER_NAME_RATER,                          4,  4 ;  9
+	mapgroup LAVENDER_MART,                                4,  6 ; 10
+	mapgroup SOUL_HOUSE,                                   4,  5 ; 11
+	mapgroup LAV_RADIO_TOWER_1F,                           4, 10 ; 12
+	mapgroup ROUTE_8_SAFFRON_GATE,                         4,  5 ; 13
+	mapgroup ROUTE_12_SUPER_ROD_HOUSE,                     4,  4 ; 14
 
 	newgroup                                                    ; 19
 
-	mapgroup ROUTE_28,                                    9, 20 ;  1
-	mapgroup SILVER_CAVE_OUTSIDE,                        18, 20 ;  2
-	mapgroup SILVER_CAVE_POKECENTER_1F,                   4,  5 ;  3
-	mapgroup ROUTE_28_FAMOUS_SPEECH_HOUSE,                4,  4 ;  4
+	mapgroup ROUTE_28,                                     9, 20 ;  1
+	mapgroup SILVER_CAVE_OUTSIDE,                         18, 20 ;  2
+	mapgroup SILVER_CAVE_POKECENTER_1F,                    4,  5 ;  3
+	mapgroup ROUTE_28_FAMOUS_SPEECH_HOUSE,                 4,  4 ;  4
 
 	newgroup                                                    ; 20
 
-	mapgroup POKECENTER_2F,                               4,  8 ;  1
-	mapgroup TRADE_CENTER,                                4,  5 ;  2
-	mapgroup COLOSSEUM,                                   4,  5 ;  3
-	mapgroup TIME_CAPSULE,                                4,  5 ;  4
-	mapgroup MOBILE_TRADE_ROOM_MOBILE,                    4,  5 ;  5
-	mapgroup MOBILE_BATTLE_ROOM,                          4,  5 ;  6
+	mapgroup POKECENTER_2F,                                4,  8 ;  1
+	mapgroup TRADE_CENTER,                                 4,  5 ;  2
+	mapgroup COLOSSEUM,                                    4,  5 ;  3
+	mapgroup TIME_CAPSULE,                                 4,  5 ;  4
+	mapgroup MOBILE_TRADE_ROOM_MOBILE,                     4,  5 ;  5
+	mapgroup MOBILE_BATTLE_ROOM,                           4,  5 ;  6
 
 	newgroup                                                    ; 21
 
-	mapgroup ROUTE_7,                                     9, 10 ;  1
-	mapgroup ROUTE_16,                                    9, 10 ;  2
-	mapgroup ROUTE_17,                                   45, 10 ;  3
-	mapgroup CELADON_CITY,                               18, 20 ;  4
-	mapgroup CELADON_DEPT_STORE_1F,                       4,  8 ;  5
-	mapgroup CELADON_DEPT_STORE_2F,                       4,  8 ;  6
-	mapgroup CELADON_DEPT_STORE_3F,                       4,  8 ;  7
-	mapgroup CELADON_DEPT_STORE_4F,                       4,  8 ;  8
-	mapgroup CELADON_DEPT_STORE_5F,                       4,  8 ;  9
-	mapgroup CELADON_DEPT_STORE_6F,                       4,  8 ; 10
-	mapgroup CELADON_DEPT_STORE_ELEVATOR,                 2,  2 ; 11
-	mapgroup CELADON_MANSION_1F,                          5,  4 ; 12
-	mapgroup CELADON_MANSION_2F,                          5,  4 ; 13
-	mapgroup CELADON_MANSION_3F,                          5,  4 ; 14
-	mapgroup CELADON_MANSION_ROOF,                        5,  4 ; 15
-	mapgroup CELADON_MANSION_ROOF_HOUSE,                  4,  4 ; 16
-	mapgroup CELADON_POKECENTER_1F,                       4,  5 ; 17
-	mapgroup CELADON_POKECENTER_2F_BETA,                  4,  8 ; 18
-	mapgroup CELADON_GAME_CORNER,                         7, 10 ; 19
-	mapgroup CELADON_GAME_CORNER_PRIZE_ROOM,              3,  3 ; 20
-	mapgroup CELADON_GYM,                                 9,  5 ; 21
-	mapgroup CELADON_CAFE,                                4,  6 ; 22
-	mapgroup ROUTE_16_FUCHSIA_SPEECH_HOUSE,               4,  4 ; 23
-	mapgroup ROUTE_16_GATE,                               4,  5 ; 24
-	mapgroup ROUTE_7_SAFFRON_GATE,                        4,  5 ; 25
-	mapgroup ROUTE_17_18_GATE,                            4,  5 ; 26
+	mapgroup ROUTE_7,                                      9, 10 ;  1
+	mapgroup ROUTE_16,                                     9, 10 ;  2
+	mapgroup ROUTE_17,                                    45, 10 ;  3
+	mapgroup CELADON_CITY,                                18, 20 ;  4
+	mapgroup CELADON_DEPT_STORE_1F,                        4,  8 ;  5
+	mapgroup CELADON_DEPT_STORE_2F,                        4,  8 ;  6
+	mapgroup CELADON_DEPT_STORE_3F,                        4,  8 ;  7
+	mapgroup CELADON_DEPT_STORE_4F,                        4,  8 ;  8
+	mapgroup CELADON_DEPT_STORE_5F,                        4,  8 ;  9
+	mapgroup CELADON_DEPT_STORE_6F,                        4,  8 ; 10
+	mapgroup CELADON_DEPT_STORE_ELEVATOR,                  2,  2 ; 11
+	mapgroup CELADON_MANSION_1F,                           5,  4 ; 12
+	mapgroup CELADON_MANSION_2F,                           5,  4 ; 13
+	mapgroup CELADON_MANSION_3F,                           5,  4 ; 14
+	mapgroup CELADON_MANSION_ROOF,                         5,  4 ; 15
+	mapgroup CELADON_MANSION_ROOF_HOUSE,                   4,  4 ; 16
+	mapgroup CELADON_POKECENTER_1F,                        4,  5 ; 17
+	mapgroup CELADON_POKECENTER_2F_BETA,                   4,  8 ; 18
+	mapgroup CELADON_GAME_CORNER,                          7, 10 ; 19
+	mapgroup CELADON_GAME_CORNER_PRIZE_ROOM,               3,  3 ; 20
+	mapgroup CELADON_GYM,                                  9,  5 ; 21
+	mapgroup CELADON_CAFE,                                 4,  6 ; 22
+	mapgroup ROUTE_16_FUCHSIA_SPEECH_HOUSE,                4,  4 ; 23
+	mapgroup ROUTE_16_GATE,                                4,  5 ; 24
+	mapgroup ROUTE_7_SAFFRON_GATE,                         4,  5 ; 25
+	mapgroup ROUTE_17_18_GATE,                             4,  5 ; 26
 
 	newgroup                                                    ; 22
 
-	mapgroup ROUTE_40,                                   18, 10 ;  1
-	mapgroup ROUTE_41,                                   27, 25 ;  2
-	mapgroup CIANWOOD_CITY,                              27, 15 ;  3
-	mapgroup MANIAS_HOUSE,                                4,  4 ;  4
-	mapgroup CIANWOOD_GYM,                                9,  5 ;  5
-	mapgroup CIANWOOD_POKECENTER_1F,                      4,  5 ;  6
-	mapgroup CIANWOOD_PHARMACY,                           4,  4 ;  7
-	mapgroup CIANWOOD_CITY_PHOTO_STUDIO,                  4,  4 ;  8
-	mapgroup CIANWOOD_LUGIA_SPEECH_HOUSE,                 4,  4 ;  9
-	mapgroup POKE_SEERS_HOUSE,                            4,  4 ; 10
-	mapgroup BATTLE_TOWER_1F,                             5,  8 ; 11
-	mapgroup BATTLE_TOWER_BATTLE_ROOM,                    4,  4 ; 12
-	mapgroup BATTLE_TOWER_ELEVATOR,                       2,  2 ; 13
-	mapgroup BATTLE_TOWER_HALLWAY,                        2, 11 ; 14
-	mapgroup ROUTE_40_BATTLE_TOWER_GATE,                  4,  5 ; 15
-	mapgroup BATTLE_TOWER_OUTSIDE,                       14, 10 ; 16
+	mapgroup ROUTE_40,                                    18, 10 ;  1
+	mapgroup ROUTE_41,                                    27, 25 ;  2
+	mapgroup CIANWOOD_CITY,                               27, 15 ;  3
+	mapgroup MANIAS_HOUSE,                                 4,  4 ;  4
+	mapgroup CIANWOOD_GYM,                                 9,  5 ;  5
+	mapgroup CIANWOOD_POKECENTER_1F,                       4,  5 ;  6
+	mapgroup CIANWOOD_PHARMACY,                            4,  4 ;  7
+	mapgroup CIANWOOD_CITY_PHOTO_STUDIO,                   4,  4 ;  8
+	mapgroup CIANWOOD_LUGIA_SPEECH_HOUSE,                  4,  4 ;  9
+	mapgroup POKE_SEERS_HOUSE,                             4,  4 ; 10
+	mapgroup BATTLE_TOWER_1F,                              5,  8 ; 11
+	mapgroup BATTLE_TOWER_BATTLE_ROOM,                     4,  4 ; 12
+	mapgroup BATTLE_TOWER_ELEVATOR,                        2,  2 ; 13
+	mapgroup BATTLE_TOWER_HALLWAY,                         2, 11 ; 14
+	mapgroup ROUTE_40_BATTLE_TOWER_GATE,                   4,  5 ; 15
+	mapgroup BATTLE_TOWER_OUTSIDE,                        14, 10 ; 16
 
 	newgroup                                                    ; 23
 
-	mapgroup ROUTE_2,                                    27, 10 ;  1
-	mapgroup ROUTE_22,                                    9, 20 ;  2
-	mapgroup VIRIDIAN_CITY,                              18, 20 ;  3
-	mapgroup VIRIDIAN_GYM,                                9,  5 ;  4
-	mapgroup VIRIDIAN_NICKNAME_SPEECH_HOUSE,              4,  4 ;  5
-	mapgroup TRAINER_HOUSE_1F,                            7,  5 ;  6
-	mapgroup TRAINER_HOUSE_B1F,                           8,  5 ;  7
-	mapgroup VIRIDIAN_MART,                               4,  6 ;  8
-	mapgroup VIRIDIAN_POKECENTER_1F,                      4,  5 ;  9
-	mapgroup VIRIDIAN_POKECENTER_2F_BETA,                 4,  8 ; 10
-	mapgroup ROUTE_2_NUGGET_SPEECH_HOUSE,                 4,  4 ; 11
-	mapgroup ROUTE_2_GATE,                                4,  5 ; 12
-	mapgroup VICTORY_ROAD_GATE,                           9, 10 ; 13
+	mapgroup ROUTE_2,                                     27, 10 ;  1
+	mapgroup ROUTE_22,                                     9, 20 ;  2
+	mapgroup VIRIDIAN_CITY,                               18, 20 ;  3
+	mapgroup VIRIDIAN_GYM,                                 9,  5 ;  4
+	mapgroup VIRIDIAN_NICKNAME_SPEECH_HOUSE,               4,  4 ;  5
+	mapgroup TRAINER_HOUSE_1F,                             7,  5 ;  6
+	mapgroup TRAINER_HOUSE_B1F,                            8,  5 ;  7
+	mapgroup VIRIDIAN_MART,                                4,  6 ;  8
+	mapgroup VIRIDIAN_POKECENTER_1F,                       4,  5 ;  9
+	mapgroup VIRIDIAN_POKECENTER_2F_BETA,                  4,  8 ; 10
+	mapgroup ROUTE_2_NUGGET_SPEECH_HOUSE,                  4,  4 ; 11
+	mapgroup ROUTE_2_GATE,                                 4,  5 ; 12
+	mapgroup VICTORY_ROAD_GATE,                            9, 10 ; 13
 
 	newgroup                                                    ; 24
 
-	mapgroup ROUTE_26,                                   54, 10 ;  1
-	mapgroup ROUTE_27,                                    9, 40 ;  2
-	mapgroup ROUTE_29,                                    9, 30 ;  3
-	mapgroup NEW_BARK_TOWN,                               9, 10 ;  4
-	mapgroup ELMS_LAB,                                    6,  5 ;  5
-	mapgroup KRISS_HOUSE_1F,                              4,  5 ;  6
-	mapgroup KRISS_HOUSE_2F,                              3,  4 ;  7
-	mapgroup KRISS_NEIGHBORS_HOUSE,                       4,  4 ;  8
-	mapgroup ELMS_HOUSE,                                  4,  4 ;  9
-	mapgroup ROUTE_26_HEAL_SPEECH_HOUSE,                  4,  4 ; 10
-	mapgroup ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE,         4,  4 ; 11
-	mapgroup ROUTE_27_SANDSTORM_HOUSE,                    4,  4 ; 12
-	mapgroup ROUTE_29_46_GATE,                            4,  5 ; 13
+	mapgroup ROUTE_26,                                    54, 10 ;  1
+	mapgroup ROUTE_27,                                     9, 40 ;  2
+	mapgroup ROUTE_29,                                     9, 30 ;  3
+	mapgroup NEW_BARK_TOWN,                                9, 10 ;  4
+	mapgroup ELMS_LAB,                                     6,  5 ;  5
+	mapgroup KRISS_HOUSE_1F,                               4,  5 ;  6
+	mapgroup KRISS_HOUSE_2F,                               3,  4 ;  7
+	mapgroup KRISS_NEIGHBORS_HOUSE,                        4,  4 ;  8
+	mapgroup ELMS_HOUSE,                                   4,  4 ;  9
+	mapgroup ROUTE_26_HEAL_SPEECH_HOUSE,                   4,  4 ; 10
+	mapgroup ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE,          4,  4 ; 11
+	mapgroup ROUTE_27_SANDSTORM_HOUSE,                     4,  4 ; 12
+	mapgroup ROUTE_29_46_GATE,                             4,  5 ; 13
 
 	newgroup                                                    ; 25
 
-	mapgroup ROUTE_5,                                     9, 10 ;  1
-	mapgroup SAFFRON_CITY,                               18, 20 ;  2
-	mapgroup FIGHTING_DOJO,                               6,  5 ;  3
-	mapgroup SAFFRON_GYM,                                 9, 10 ;  4
-	mapgroup SAFFRON_MART,                                4,  6 ;  5
-	mapgroup SAFFRON_POKECENTER_1F,                       4,  5 ;  6
-	mapgroup SAFFRON_POKECENTER_2F_BETA,                  4,  8 ;  7
-	mapgroup MR_PSYCHICS_HOUSE,                           4,  4 ;  8
-	mapgroup SAFFRON_TRAIN_STATION,                       9, 10 ;  9
-	mapgroup SILPH_CO_1F,                                 4,  8 ; 10
-	mapgroup COPYCATS_HOUSE_1F,                           4,  4 ; 11
-	mapgroup COPYCATS_HOUSE_2F,                           3,  5 ; 12
-	mapgroup ROUTE_5_UNDERGROUND_ENTRANCE,                4,  4 ; 13
-	mapgroup ROUTE_5_SAFFRON_CITY_GATE,                   4,  5 ; 14
-	mapgroup ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE,            4,  4 ; 15
+	mapgroup ROUTE_5,                                      9, 10 ;  1
+	mapgroup SAFFRON_CITY,                                18, 20 ;  2
+	mapgroup FIGHTING_DOJO,                                6,  5 ;  3
+	mapgroup SAFFRON_GYM,                                  9, 10 ;  4
+	mapgroup SAFFRON_MART,                                 4,  6 ;  5
+	mapgroup SAFFRON_POKECENTER_1F,                        4,  5 ;  6
+	mapgroup SAFFRON_POKECENTER_2F_BETA,                   4,  8 ;  7
+	mapgroup MR_PSYCHICS_HOUSE,                            4,  4 ;  8
+	mapgroup SAFFRON_TRAIN_STATION,                        9, 10 ;  9
+	mapgroup SILPH_CO_1F,                                  4,  8 ; 10
+	mapgroup COPYCATS_HOUSE_1F,                            4,  4 ; 11
+	mapgroup COPYCATS_HOUSE_2F,                            3,  5 ; 12
+	mapgroup ROUTE_5_UNDERGROUND_PATH_ENTRANCE,            4,  4 ; 13
+	mapgroup ROUTE_5_SAFFRON_CITY_GATE,                    4,  5 ; 14
+	mapgroup ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE,             4,  4 ; 15
 
 	newgroup                                                    ; 26
 
-	mapgroup ROUTE_30,                                   27, 10 ;  1
-	mapgroup ROUTE_31,                                    9, 20 ;  2
-	mapgroup CHERRYGROVE_CITY,                            9, 20 ;  3
-	mapgroup CHERRYGROVE_MART,                            4,  6 ;  4
-	mapgroup CHERRYGROVE_POKECENTER_1F,                   4,  5 ;  5
-	mapgroup CHERRYGROVE_GYM_SPEECH_HOUSE,                4,  4 ;  6
-	mapgroup GUIDE_GENTS_HOUSE,                           4,  4 ;  7
-	mapgroup CHERRYGROVE_EVOLUTION_SPEECH_HOUSE,          4,  4 ;  8
-	mapgroup ROUTE_30_BERRY_SPEECH_HOUSE,                 4,  4 ;  9
-	mapgroup MR_POKEMONS_HOUSE,                           4,  4 ; 10
-	mapgroup ROUTE_31_VIOLET_GATE,                        4,  5 ; 11
+	mapgroup ROUTE_30,                                    27, 10 ;  1
+	mapgroup ROUTE_31,                                     9, 20 ;  2
+	mapgroup CHERRYGROVE_CITY,                             9, 20 ;  3
+	mapgroup CHERRYGROVE_MART,                             4,  6 ;  4
+	mapgroup CHERRYGROVE_POKECENTER_1F,                    4,  5 ;  5
+	mapgroup CHERRYGROVE_GYM_SPEECH_HOUSE,                 4,  4 ;  6
+	mapgroup GUIDE_GENTS_HOUSE,                            4,  4 ;  7
+	mapgroup CHERRYGROVE_EVOLUTION_SPEECH_HOUSE,           4,  4 ;  8
+	mapgroup ROUTE_30_BERRY_SPEECH_HOUSE,                  4,  4 ;  9
+	mapgroup MR_POKEMONS_HOUSE,                            4,  4 ; 10
+	mapgroup ROUTE_31_VIOLET_GATE,                         4,  5 ; 11
--- a/data/maps/map_scenes.asm
+++ b/data/maps/map_scenes.asm
@@ -6,84 +6,84 @@
 ENDM
 
 MapScenes:: ; 4d01e
-	scene_def POKECENTER_2F,                          wPokecenter2FSceneID
-	scene_def TRADE_CENTER,                           wTradeCenterSceneID
-	scene_def COLOSSEUM,                              wColosseumSceneID
-	scene_def TIME_CAPSULE,                           wTimeCapsuleSceneID
-	scene_def POWER_PLANT,                            wPowerPlantSceneID
-	scene_def CERULEAN_GYM,                           wCeruleanGymSceneID
-	scene_def ROUTE_25,                               wRoute25SceneID
-	scene_def TRAINER_HOUSE_B1F,                      wTrainerHouseB1FSceneID
-	scene_def VICTORY_ROAD_GATE,                      wVictoryRoadGateSceneID
-	scene_def SAFFRON_TRAIN_STATION,                  wSaffronTrainStationSceneID
-	scene_def ROUTE_16_GATE,                          wRoute16GateSceneID
-	scene_def ROUTE_17_18_GATE,                       wRoute1718GateSceneID
-	scene_def INDIGO_PLATEAU_POKECENTER_1F,           wIndigoPlateauPokecenter1FSceneID
-	scene_def WILLS_ROOM,                             wWillsRoomSceneID
-	scene_def KOGAS_ROOM,                             wKogasRoomSceneID
-	scene_def BRUNOS_ROOM,                            wBrunosRoomSceneID
-	scene_def KARENS_ROOM,                            wKarensRoomSceneID
-	scene_def LANCES_ROOM,                            wLancesRoomSceneID
-	scene_def HALL_OF_FAME,                           wHallOfFameSceneID
-	scene_def ROUTE_27,                               wRoute27SceneID
-	scene_def NEW_BARK_TOWN,                          wNewBarkTownSceneID
-	scene_def ELMS_LAB,                               wElmsLabSceneID
-	scene_def KRISS_HOUSE_1F,                         wKrissHouse1FSceneID
-	scene_def ROUTE_29,                               wRoute29SceneID
-	scene_def CHERRYGROVE_CITY,                       wCherrygroveCitySceneID
-	scene_def MR_POKEMONS_HOUSE,                      wMrPokemonsHouseSceneID
-	scene_def ROUTE_32,                               wRoute32SceneID
-	scene_def ROUTE_35_NATIONAL_PARK_GATE,            wRoute35NationalParkGateSceneID
-	scene_def ROUTE_36,                               wRoute36SceneID
-	scene_def ROUTE_36_NATIONAL_PARK_GATE,            wRoute36NationalParkGateSceneID
-	scene_def AZALEA_TOWN,                            wAzaleaTownSceneID
-	scene_def GOLDENROD_GYM,                          wGoldenrodGymSceneID
-	scene_def GOLDENROD_MAGNET_TRAIN_STATION,         wGoldenrodMagnetTrainStationSceneID
-	scene_def GOLDENROD_POKECENTER_1F,                wGoldenrodPokecenter1FSceneID
-	scene_def OLIVINE_CITY,                           wOlivineCitySceneID
-	scene_def ROUTE_34,                               wRoute34SceneID
-	scene_def ROUTE_34_ILEX_FOREST_GATE,              wRoute34IlexForestGateSceneID
-	scene_def ECRUTEAK_HOUSE,                         wEcruteakHouseSceneID
-	scene_def WISE_TRIOS_ROOM,                        wWiseTriosRoomSceneID
-	scene_def ECRUTEAK_POKECENTER_1F,                 wEcruteakPokecenter1FSceneID
-	scene_def ECRUTEAK_GYM,                           wEcruteakGymSceneID
-	scene_def MAHOGANY_TOWN,                          wMahoganyTownSceneID
-	scene_def ROUTE_42,                               wRoute42SceneID
-	scene_def CIANWOOD_CITY,                          wCianwoodCitySceneID
-	scene_def BATTLE_TOWER_1F,                        wBattleTower1FSceneID
-	scene_def BATTLE_TOWER_BATTLE_ROOM,               wBattleTowerBattleRoomSceneID
-	scene_def BATTLE_TOWER_ELEVATOR,                  wBattleTowerElevatorSceneID
-	scene_def BATTLE_TOWER_HALLWAY,                   wBattleTowerHallwaySceneID
-	scene_def BATTLE_TOWER_OUTSIDE,                   wBattleTowerOutsideSceneID
-	scene_def ROUTE_43_GATE,                          wRoute43GateSceneID
-	scene_def MOUNT_MOON,                             wMountMoonSceneID
-	scene_def SPROUT_TOWER_3F,                        wSproutTower3FSceneID
-	scene_def TIN_TOWER_1F,                           wTinTower1FSceneID
-	scene_def BURNED_TOWER_1F,                        wBurnedTower1FSceneID
-	scene_def BURNED_TOWER_B1F,                       wBurnedTowerB1FSceneID
-	scene_def RADIO_TOWER_5F,                         wRadioTower5FSceneID
-	scene_def RUINS_OF_ALPH_OUTSIDE,                  wRuinsOfAlphOutsideSceneID
-	scene_def RUINS_OF_ALPH_RESEARCH_CENTER,          wRuinsOfAlphResearchCenterSceneID
-	scene_def RUINS_OF_ALPH_HO_OH_CHAMBER,            wRuinsOfAlphHoOhChamberSceneID
-	scene_def RUINS_OF_ALPH_KABUTO_CHAMBER,           wRuinsOfAlphKabutoChamberSceneID
-	scene_def RUINS_OF_ALPH_OMANYTE_CHAMBER,          wRuinsOfAlphOmanyteChamberSceneID
-	scene_def RUINS_OF_ALPH_AERODACTYL_CHAMBER,       wRuinsOfAlphAerodactylChamberSceneID
-	scene_def RUINS_OF_ALPH_INNER_CHAMBER,            wRuinsOfAlphInnerChamberSceneID
-	scene_def MAHOGANY_MART_1F,                       wMahoganyMart1FSceneID
-	scene_def TEAM_ROCKET_BASE_B1F,                   wTeamRocketBaseB1FSceneID
-	scene_def TEAM_ROCKET_BASE_B2F,                   wTeamRocketBaseB2FSceneID
-	scene_def TEAM_ROCKET_BASE_B3F,                   wTeamRocketBaseB3FSceneID
-	scene_def UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES, wUndergroundPathSwitchRoomEntrancesSceneID
-	scene_def SILVER_CAVE_ROOM_3,                     wSilverCaveRoom3SceneID
-	scene_def VICTORY_ROAD,                           wVictoryRoadSceneID
-	scene_def DRAGONS_DEN_B1F,                        wDragonsDenB1FSceneID
-	scene_def DRAGON_SHRINE,                          wDragonShrineSceneID
-	scene_def OLIVINE_PORT,                           wOlivinePortSceneID
-	scene_def VERMILION_PORT,                         wVermilionPortSceneID
-	scene_def FAST_SHIP_1F,                           wFastShip1FSceneID
-	scene_def FAST_SHIP_B1F,                          wFastShipB1FSceneID
-	scene_def MOUNT_MOON_SQUARE,                      wMountMoonSquareSceneID
-	scene_def MOBILE_TRADE_ROOM_MOBILE,               wMobileTradeRoomMobileSceneID
-	scene_def MOBILE_BATTLE_ROOM,                     wMobileBattleRoomSceneID
+	scene_def POKECENTER_2F,                               wPokecenter2FSceneID
+	scene_def TRADE_CENTER,                                wTradeCenterSceneID
+	scene_def COLOSSEUM,                                   wColosseumSceneID
+	scene_def TIME_CAPSULE,                                wTimeCapsuleSceneID
+	scene_def POWER_PLANT,                                 wPowerPlantSceneID
+	scene_def CERULEAN_GYM,                                wCeruleanGymSceneID
+	scene_def ROUTE_25,                                    wRoute25SceneID
+	scene_def TRAINER_HOUSE_B1F,                           wTrainerHouseB1FSceneID
+	scene_def VICTORY_ROAD_GATE,                           wVictoryRoadGateSceneID
+	scene_def SAFFRON_TRAIN_STATION,                       wSaffronTrainStationSceneID
+	scene_def ROUTE_16_GATE,                               wRoute16GateSceneID
+	scene_def ROUTE_17_18_GATE,                            wRoute1718GateSceneID
+	scene_def INDIGO_PLATEAU_POKECENTER_1F,                wIndigoPlateauPokecenter1FSceneID
+	scene_def WILLS_ROOM,                                  wWillsRoomSceneID
+	scene_def KOGAS_ROOM,                                  wKogasRoomSceneID
+	scene_def BRUNOS_ROOM,                                 wBrunosRoomSceneID
+	scene_def KARENS_ROOM,                                 wKarensRoomSceneID
+	scene_def LANCES_ROOM,                                 wLancesRoomSceneID
+	scene_def HALL_OF_FAME,                                wHallOfFameSceneID
+	scene_def ROUTE_27,                                    wRoute27SceneID
+	scene_def NEW_BARK_TOWN,                               wNewBarkTownSceneID
+	scene_def ELMS_LAB,                                    wElmsLabSceneID
+	scene_def KRISS_HOUSE_1F,                              wKrissHouse1FSceneID
+	scene_def ROUTE_29,                                    wRoute29SceneID
+	scene_def CHERRYGROVE_CITY,                            wCherrygroveCitySceneID
+	scene_def MR_POKEMONS_HOUSE,                           wMrPokemonsHouseSceneID
+	scene_def ROUTE_32,                                    wRoute32SceneID
+	scene_def ROUTE_35_NATIONAL_PARK_GATE,                 wRoute35NationalParkGateSceneID
+	scene_def ROUTE_36,                                    wRoute36SceneID
+	scene_def ROUTE_36_NATIONAL_PARK_GATE,                 wRoute36NationalParkGateSceneID
+	scene_def AZALEA_TOWN,                                 wAzaleaTownSceneID
+	scene_def GOLDENROD_GYM,                               wGoldenrodGymSceneID
+	scene_def GOLDENROD_MAGNET_TRAIN_STATION,              wGoldenrodMagnetTrainStationSceneID
+	scene_def GOLDENROD_POKECENTER_1F,                     wGoldenrodPokecenter1FSceneID
+	scene_def OLIVINE_CITY,                                wOlivineCitySceneID
+	scene_def ROUTE_34,                                    wRoute34SceneID
+	scene_def ROUTE_34_ILEX_FOREST_GATE,                   wRoute34IlexForestGateSceneID
+	scene_def ECRUTEAK_HOUSE,                              wEcruteakHouseSceneID
+	scene_def WISE_TRIOS_ROOM,                             wWiseTriosRoomSceneID
+	scene_def ECRUTEAK_POKECENTER_1F,                      wEcruteakPokecenter1FSceneID
+	scene_def ECRUTEAK_GYM,                                wEcruteakGymSceneID
+	scene_def MAHOGANY_TOWN,                               wMahoganyTownSceneID
+	scene_def ROUTE_42,                                    wRoute42SceneID
+	scene_def CIANWOOD_CITY,                               wCianwoodCitySceneID
+	scene_def BATTLE_TOWER_1F,                             wBattleTower1FSceneID
+	scene_def BATTLE_TOWER_BATTLE_ROOM,                    wBattleTowerBattleRoomSceneID
+	scene_def BATTLE_TOWER_ELEVATOR,                       wBattleTowerElevatorSceneID
+	scene_def BATTLE_TOWER_HALLWAY,                        wBattleTowerHallwaySceneID
+	scene_def BATTLE_TOWER_OUTSIDE,                        wBattleTowerOutsideSceneID
+	scene_def ROUTE_43_GATE,                               wRoute43GateSceneID
+	scene_def MOUNT_MOON,                                  wMountMoonSceneID
+	scene_def SPROUT_TOWER_3F,                             wSproutTower3FSceneID
+	scene_def TIN_TOWER_1F,                                wTinTower1FSceneID
+	scene_def BURNED_TOWER_1F,                             wBurnedTower1FSceneID
+	scene_def BURNED_TOWER_B1F,                            wBurnedTowerB1FSceneID
+	scene_def RADIO_TOWER_5F,                              wRadioTower5FSceneID
+	scene_def RUINS_OF_ALPH_OUTSIDE,                       wRuinsOfAlphOutsideSceneID
+	scene_def RUINS_OF_ALPH_RESEARCH_CENTER,               wRuinsOfAlphResearchCenterSceneID
+	scene_def RUINS_OF_ALPH_HO_OH_CHAMBER,                 wRuinsOfAlphHoOhChamberSceneID
+	scene_def RUINS_OF_ALPH_KABUTO_CHAMBER,                wRuinsOfAlphKabutoChamberSceneID
+	scene_def RUINS_OF_ALPH_OMANYTE_CHAMBER,               wRuinsOfAlphOmanyteChamberSceneID
+	scene_def RUINS_OF_ALPH_AERODACTYL_CHAMBER,            wRuinsOfAlphAerodactylChamberSceneID
+	scene_def RUINS_OF_ALPH_INNER_CHAMBER,                 wRuinsOfAlphInnerChamberSceneID
+	scene_def MAHOGANY_MART_1F,                            wMahoganyMart1FSceneID
+	scene_def TEAM_ROCKET_BASE_B1F,                        wTeamRocketBaseB1FSceneID
+	scene_def TEAM_ROCKET_BASE_B2F,                        wTeamRocketBaseB2FSceneID
+	scene_def TEAM_ROCKET_BASE_B3F,                        wTeamRocketBaseB3FSceneID
+	scene_def GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, wGoldenrodUndergroundSwitchRoomEntrancesSceneID
+	scene_def SILVER_CAVE_ROOM_3,                          wSilverCaveRoom3SceneID
+	scene_def VICTORY_ROAD,                                wVictoryRoadSceneID
+	scene_def DRAGONS_DEN_B1F,                             wDragonsDenB1FSceneID
+	scene_def DRAGON_SHRINE,                               wDragonShrineSceneID
+	scene_def OLIVINE_PORT,                                wOlivinePortSceneID
+	scene_def VERMILION_PORT,                              wVermilionPortSceneID
+	scene_def FAST_SHIP_1F,                                wFastShip1FSceneID
+	scene_def FAST_SHIP_B1F,                               wFastShipB1FSceneID
+	scene_def MOUNT_MOON_SQUARE,                           wMountMoonSquareSceneID
+	scene_def MOBILE_TRADE_ROOM_MOBILE,                    wMobileTradeRoomMobileSceneID
+	scene_def MOBILE_BATTLE_ROOM,                          wMobileBattleRoomSceneID
 	db -1
 ; 4d15b
--- a/engine/events_3.asm
+++ b/engine/events_3.asm
@@ -78,7 +78,7 @@
 	ret z
 	cp LAV_RADIO_TOWER
 	ret z
-	cp UNDERGROUND
+	cp UNDERGROUND_PATH
 	ret z
 	cp INDIGO_PLATEAU
 	ret z
--- a/engine/std_scripts.asm
+++ b/engine/std_scripts.asm
@@ -497,7 +497,7 @@
 	setevent EVENT_USED_THE_CARD_KEY_IN_THE_RADIO_TOWER
 	setevent EVENT_RIVAL_CHERRYGROVE_CITY
 	setevent EVENT_RIVAL_AZALEA_TOWN
-	setevent EVENT_RIVAL_UNDERGROUND_PATH
+	setevent EVENT_RIVAL_GOLDENROD_UNDERGROUND
 	setevent EVENT_AZALEA_TOWN_SLOWPOKES
 	setevent EVENT_KURTS_HOUSE_SLOWPOKE
 	setevent EVENT_GUIDE_GENT_VISIBLE_IN_CHERRYGROVE
@@ -550,8 +550,8 @@
 	setevent EVENT_ECRUTEAK_POKE_CENTER_BILL
 	setevent EVENT_MYSTERY_GIFT_DELIVERY_GUY
 	setevent EVENT_LAKE_OF_RAGE_LANCE
-	setevent EVENT_WAREHOUSE_LAYOUT_1
-	setevent EVENT_WAREHOUSE_BLOCKED_OFF
+	setevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_1
+	setevent EVENT_GOLDENROD_UNDERGROUND_WAREHOUSE_BLOCKED_OFF
 	setevent EVENT_DRAGONS_DEN_CLAIR
 	setevent EVENT_RIVAL_OLIVINE_CITY
 	setevent EVENT_RIVAL_VICTORY_ROAD
--- a/event/basement_key.asm
+++ b/event/basement_key.asm
@@ -1,11 +1,11 @@
 _BasementKey: ; 507b4
 ; Are we even in the right map to use this?
 	ld a, [MapGroup]
-	cp GROUP_WAREHOUSE_ENTRANCE
+	cp GROUP_GOLDENROD_UNDERGROUND
 	jr nz, .nope
 
 	ld a, [MapNumber]
-	cp MAP_WAREHOUSE_ENTRANCE
+	cp MAP_GOLDENROD_UNDERGROUND
 	jr nz, .nope
 ; Are we on the tile in front of the door?
 	call GetFacingTileCoord
--- a/maps.asm
+++ b/maps.asm
@@ -139,7 +139,7 @@
 
 INCLUDE "maps/DiglettsCave.asm"
 INCLUDE "maps/MountMoon.asm"
-INCLUDE "maps/Underground.asm"
+INCLUDE "maps/UndergroundPath.asm"
 INCLUDE "maps/RockTunnel1F.asm"
 INCLUDE "maps/RockTunnelB1F.asm"
 INCLUDE "maps/SafariZoneFuchsiaGateBeta.asm"
@@ -176,10 +176,10 @@
 SECTION "Map Scripts 10", ROMX
 
 INCLUDE "maps/Route22.asm"
-INCLUDE "maps/WarehouseEntrance.asm"
-INCLUDE "maps/UndergroundPathSwitchRoomEntrances.asm"
+INCLUDE "maps/GoldenrodUnderground.asm"
+INCLUDE "maps/GoldenrodUndergroundSwitchRoomEntrances.asm"
 INCLUDE "maps/GoldenrodDeptStoreB1F.asm"
-INCLUDE "maps/UndergroundWarehouse.asm"
+INCLUDE "maps/GoldenrodUndergroundWarehouse.asm"
 INCLUDE "maps/MountMortar1FOutside.asm"
 INCLUDE "maps/MountMortar1FInside.asm"
 INCLUDE "maps/MountMortar2FInside.asm"
@@ -304,7 +304,7 @@
 INCLUDE "maps/SilphCo1F.asm"
 INCLUDE "maps/CopycatsHouse1F.asm"
 INCLUDE "maps/CopycatsHouse2F.asm"
-INCLUDE "maps/Route5UndergroundEntrance.asm"
+INCLUDE "maps/Route5UndergroundPathEntrance.asm"
 INCLUDE "maps/Route5SaffronCityGate.asm"
 INCLUDE "maps/Route5CleanseTagSpeechHouse.asm"
 
@@ -350,7 +350,7 @@
 INCLUDE "maps/VermilionHouseDiglettsCaveSpeechHouse.asm"
 INCLUDE "maps/VermilionGym.asm"
 INCLUDE "maps/Route6SaffronGate.asm"
-INCLUDE "maps/Route6UndergroundEntrance.asm"
+INCLUDE "maps/Route6UndergroundPathEntrance.asm"
 INCLUDE "maps/Pokecenter2F.asm"
 INCLUDE "maps/TradeCenter.asm"
 INCLUDE "maps/Colosseum.asm"
--- a/maps/GoldenrodCity.asm
+++ b/maps/GoldenrodCity.asm
@@ -572,8 +572,8 @@
 	warp_def $15, $e, 1, GOLDENROD_GAME_CORNER
 	warp_def $f, $5, 1, RADIO_TOWER_1F
 	warp_def $1, $13, 3, ROUTE_35_GOLDENROD_GATE
-	warp_def $5, $9, 8, UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES
-	warp_def $1d, $b, 5, UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES
+	warp_def $5, $9, 8, GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES
+	warp_def $1d, $b, 5, GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES
 	warp_def $1b, $f, 1, GOLDENROD_POKECENTER_1F
 
 .CoordEvents:
--- a/maps/GoldenrodDeptStoreB1F.asm
+++ b/maps/GoldenrodDeptStoreB1F.asm
@@ -27,9 +27,9 @@
 	jump UnknownScript_0x7d791
 
 UnknownScript_0x7d791:
-	checkevent EVENT_WAREHOUSE_LAYOUT_2
+	checkevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_2
 	iftrue .Layout2
-	checkevent EVENT_WAREHOUSE_LAYOUT_3
+	checkevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_3
 	iftrue .Layout3
 	changeblock $a, $8, $d
 	return
@@ -43,7 +43,7 @@
 	return
 
 UnknownScript_0x7d7ac:
-	clearevent EVENT_WAREHOUSE_BLOCKED_OFF
+	clearevent EVENT_GOLDENROD_UNDERGROUND_WAREHOUSE_BLOCKED_OFF
 	return
 
 GoldenrodDeptStoreB1FBlackBelt1Script:
@@ -115,7 +115,7 @@
 
 .Warps:
 	db 3
-	warp_def $2, $11, 3, UNDERGROUND_WAREHOUSE
+	warp_def $2, $11, 3, GOLDENROD_UNDERGROUND_WAREHOUSE
 	warp_def $4, $9, 1, GOLDENROD_DEPT_STORE_ELEVATOR
 	warp_def $4, $a, 2, GOLDENROD_DEPT_STORE_ELEVATOR
 
--- a/maps/GoldenrodDeptStoreElevator.asm
+++ b/maps/GoldenrodDeptStoreElevator.asm
@@ -14,30 +14,30 @@
 	playsound SFX_ELEVATOR
 	earthquake 60
 	waitsfx
-	checkevent EVENT_WAREHOUSE_BLOCKED_OFF
+	checkevent EVENT_GOLDENROD_UNDERGROUND_WAREHOUSE_BLOCKED_OFF
 	iftrue .Done
-	checkevent EVENT_WAREHOUSE_LAYOUT_1
+	checkevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_1
 	iftrue .BoxLayout1
-	checkevent EVENT_WAREHOUSE_LAYOUT_2
+	checkevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_2
 	iftrue .BoxLayout2
-	checkevent EVENT_WAREHOUSE_LAYOUT_3
+	checkevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_3
 	iftrue .BoxLayout3
 .BoxLayout3:
-	setevent EVENT_WAREHOUSE_LAYOUT_1
-	clearevent EVENT_WAREHOUSE_LAYOUT_2
-	clearevent EVENT_WAREHOUSE_LAYOUT_3
+	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_WAREHOUSE_LAYOUT_1
-	setevent EVENT_WAREHOUSE_LAYOUT_2
-	clearevent EVENT_WAREHOUSE_LAYOUT_3
+	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_WAREHOUSE_LAYOUT_1
-	clearevent EVENT_WAREHOUSE_LAYOUT_2
-	setevent EVENT_WAREHOUSE_LAYOUT_3
+	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:
--- /dev/null
+++ b/maps/GoldenrodUnderground.asm
@@ -1,0 +1,683 @@
+const_value set 2
+	const GOLDENRODUNDERGROUND_SUPER_NERD1
+	const GOLDENRODUNDERGROUND_SUPER_NERD2
+	const GOLDENRODUNDERGROUND_SUPER_NERD3
+	const GOLDENRODUNDERGROUND_SUPER_NERD4
+	const GOLDENRODUNDERGROUND_POKE_BALL
+	const GOLDENRODUNDERGROUND_GRAMPS
+	const GOLDENRODUNDERGROUND_SUPER_NERD5
+	const GOLDENRODUNDERGROUND_SUPER_NERD6
+	const GOLDENRODUNDERGROUND_GRANNY
+
+GoldenrodUnderground_MapScriptHeader:
+.SceneScripts:
+	db 0
+
+.MapCallbacks:
+	db 3
+	dbw MAPCALLBACK_NEWMAP, .ResetSwitches
+	dbw MAPCALLBACK_TILES, .CheckBasementKey
+	dbw MAPCALLBACK_OBJECTS, .CheckDayOfWeek
+
+.ResetSwitches:
+	clearevent EVENT_SWITCH_1
+	clearevent EVENT_SWITCH_2
+	clearevent EVENT_SWITCH_3
+	clearevent EVENT_EMERGENCY_SWITCH
+	clearevent EVENT_SWITCH_4
+	clearevent EVENT_SWITCH_5
+	clearevent EVENT_SWITCH_6
+	clearevent EVENT_SWITCH_7
+	clearevent EVENT_SWITCH_8
+	clearevent EVENT_SWITCH_9
+	clearevent EVENT_SWITCH_10
+	clearevent EVENT_SWITCH_11
+	clearevent EVENT_SWITCH_12
+	clearevent EVENT_SWITCH_13
+	clearevent EVENT_SWITCH_14
+	writebyte $0
+	copyvartobyte UndergroundSwitchPositions
+	return
+
+.CheckBasementKey:
+	checkevent EVENT_USED_BASEMENT_KEY
+	iffalse .LockBasementDoor
+	return
+
+.LockBasementDoor:
+	changeblock $12, $6, $3d
+	return
+
+.CheckDayOfWeek:
+	checkcode VAR_WEEKDAY
+	if_equal MONDAY, .Monday
+	if_equal TUESDAY, .Tuesday
+	if_equal WEDNESDAY, .Wednesday
+	if_equal THURSDAY, .Thursday
+	if_equal FRIDAY, .Friday
+	if_equal SATURDAY, .Saturday
+
+.Sunday:
+	disappear GOLDENRODUNDERGROUND_GRAMPS
+	disappear GOLDENRODUNDERGROUND_SUPER_NERD5
+	appear GOLDENRODUNDERGROUND_SUPER_NERD6
+	appear GOLDENRODUNDERGROUND_GRANNY
+	return
+
+.Monday:
+	disappear GOLDENRODUNDERGROUND_GRAMPS
+	checkmorn
+	iffalse .NotMondayMorning
+	appear GOLDENRODUNDERGROUND_GRAMPS
+.NotMondayMorning:
+	disappear GOLDENRODUNDERGROUND_SUPER_NERD5
+	disappear GOLDENRODUNDERGROUND_SUPER_NERD6
+	disappear GOLDENRODUNDERGROUND_GRANNY
+	return
+
+.Tuesday:
+	disappear GOLDENRODUNDERGROUND_GRAMPS
+	appear GOLDENRODUNDERGROUND_SUPER_NERD5
+	disappear GOLDENRODUNDERGROUND_SUPER_NERD6
+	disappear GOLDENRODUNDERGROUND_GRANNY
+	return
+
+.Wednesday:
+	disappear GOLDENRODUNDERGROUND_GRAMPS
+	disappear GOLDENRODUNDERGROUND_SUPER_NERD5
+	appear GOLDENRODUNDERGROUND_SUPER_NERD6
+	disappear GOLDENRODUNDERGROUND_GRANNY
+	return
+
+.Thursday:
+	disappear GOLDENRODUNDERGROUND_GRAMPS
+	appear GOLDENRODUNDERGROUND_SUPER_NERD5
+	disappear GOLDENRODUNDERGROUND_SUPER_NERD6
+	disappear GOLDENRODUNDERGROUND_GRANNY
+	return
+
+.Friday:
+	disappear GOLDENRODUNDERGROUND_GRAMPS
+	disappear GOLDENRODUNDERGROUND_SUPER_NERD5
+	appear GOLDENRODUNDERGROUND_SUPER_NERD6
+	disappear GOLDENRODUNDERGROUND_GRANNY
+	return
+
+.Saturday:
+	disappear GOLDENRODUNDERGROUND_GRAMPS
+	appear GOLDENRODUNDERGROUND_SUPER_NERD5
+	disappear GOLDENRODUNDERGROUND_SUPER_NERD6
+	appear GOLDENRODUNDERGROUND_GRANNY
+	return
+
+TrainerSupernerdEric:
+	trainer EVENT_BEAT_SUPER_NERD_ERIC, SUPER_NERD, ERIC, SupernerdEricSeenText, SupernerdEricBeatenText, 0, .Script
+
+.Script:
+	end_if_just_battled
+	opentext
+	writetext SupernerdEricAfterBattleText
+	waitbutton
+	closetext
+	end
+
+TrainerSupernerdTeru:
+	trainer EVENT_BEAT_SUPER_NERD_TERU, SUPER_NERD, TERU, SupernerdTeruSeenText, SupernerdTeruBeatenText, 0, .Script
+
+.Script:
+	end_if_just_battled
+	opentext
+	writetext SupernerdTeruAfterBattleText
+	waitbutton
+	closetext
+	end
+
+TrainerPokemaniacIssac:
+	trainer EVENT_BEAT_POKEMANIAC_ISSAC, POKEMANIAC, ISSAC, PokemaniacIssacSeenText, PokemaniacIssacBeatenText, 0, .Script
+
+.Script:
+	end_if_just_battled
+	opentext
+	writetext PokemaniacIssacAfterBattleText
+	waitbutton
+	closetext
+	end
+
+TrainerPokemaniacDonald:
+	trainer EVENT_BEAT_POKEMANIAC_DONALD, POKEMANIAC, DONALD, PokemaniacDonaldSeenText, PokemaniacDonaldBeatenText, 0, .Script
+
+.Script:
+	end_if_just_battled
+	opentext
+	writetext PokemaniacDonaldAfterBattleText
+	waitbutton
+	closetext
+	end
+
+GrannyScript_0x7c132:
+	opentext
+	checkcode VAR_WEEKDAY
+	if_equal SUNDAY, .Open
+	if_equal SATURDAY, .Open
+	jump GoldenrodUndergroundScript_ShopClosed
+
+.Open:
+	pokemart MARTTYPE_BITTER, MART_UNDERGROUND
+	closetext
+	end
+
+GrampsScript_0x7c146:
+	opentext
+	checkflag ENGINE_GOLDENROD_UNDERGROUND_MERCHANT_CLOSED
+	iftrue GoldenrodUndergroundScript_ShopClosed
+	checkcode VAR_WEEKDAY
+	if_equal MONDAY, .CheckMorn
+	jump GoldenrodUndergroundScript_ShopClosed
+
+.CheckMorn:
+	checkmorn
+	iffalse GoldenrodUndergroundScript_ShopClosed
+	pokemart MARTTYPE_BARGAIN, 0
+	closetext
+	end
+
+OlderHaircutBrotherScript:
+	opentext
+	checkcode VAR_WEEKDAY
+	if_equal TUESDAY, .DoHaircut
+	if_equal THURSDAY, .DoHaircut
+	if_equal SATURDAY, .DoHaircut
+	jump GoldenrodUndergroundScript_ShopClosed
+
+.DoHaircut:
+	checkflag ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
+	iftrue .AlreadyGotHaircut
+	special PlaceMoneyTopRight
+	writetext UnknownText_0x7c5f9
+	yesorno
+	iffalse .Refused
+	checkmoney $0, 500
+	if_equal $2, .NotEnoughMoney
+	writetext UnknownText_0x7c69a
+	buttonsound
+	special Special_YoungerHaircutBrother
+	if_equal $0, .Refused
+	if_equal $1, .Refused
+	setflag ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
+	if_equal $2, .two
+	if_equal $3, .three
+	jump .else
+
+.two
+	setevent EVENT_GAVE_KURT_APRICORNS
+	clearevent EVENT_RECEIVED_BALLS_FROM_KURT
+	clearevent EVENT_DRAGON_SHRINE_QUESTION_2
+	jump .then
+
+.three
+	clearevent EVENT_GAVE_KURT_APRICORNS
+	setevent EVENT_RECEIVED_BALLS_FROM_KURT
+	clearevent EVENT_DRAGON_SHRINE_QUESTION_2
+	jump .then
+
+.else
+	clearevent EVENT_GAVE_KURT_APRICORNS
+	clearevent EVENT_RECEIVED_BALLS_FROM_KURT
+	setevent EVENT_DRAGON_SHRINE_QUESTION_2
+	jump .then
+
+.then
+	takemoney $0, 500
+	special PlaceMoneyTopRight
+	writetext UnknownText_0x7c6b8
+	waitbutton
+	closetext
+	special FadeOutPalettes
+	playmusic MUSIC_HEAL
+	pause 60
+	special FadeInPalettes
+	special RestartMapMusic
+	opentext
+	writetext UnknownText_0x7c6d8
+	waitbutton
+	checkevent EVENT_GAVE_KURT_APRICORNS
+	iftrue UnknownScript_0x7c2bb
+	checkevent EVENT_RECEIVED_BALLS_FROM_KURT
+	iftrue UnknownScript_0x7c2c4
+	jump UnknownScript_0x7c2cd
+
+.Refused:
+	writetext UnknownText_0x7c6ea
+	waitbutton
+	closetext
+	end
+
+.NotEnoughMoney:
+	writetext UnknownText_0x7c709
+	waitbutton
+	closetext
+	end
+
+.AlreadyGotHaircut:
+	writetext UnknownText_0x7c72b
+	waitbutton
+	closetext
+	end
+
+YoungerHaircutBrotherScript:
+	opentext
+	checkcode VAR_WEEKDAY
+	if_equal SUNDAY, .DoHaircut
+	if_equal WEDNESDAY, .DoHaircut
+	if_equal FRIDAY, .DoHaircut
+	jump GoldenrodUndergroundScript_ShopClosed
+
+.DoHaircut:
+	checkflag ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
+	iftrue .AlreadyGotHaircut
+	special PlaceMoneyTopRight
+	writetext UnknownText_0x7c75c
+	yesorno
+	iffalse .Refused
+	checkmoney $0, 300
+	if_equal $2, .NotEnoughMoney
+	writetext UnknownText_0x7c7f1
+	buttonsound
+	special Special_OlderHaircutBrother
+	if_equal $0, .Refused
+	if_equal $1, .Refused
+	setflag ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
+	if_equal $2, .two
+	if_equal $3, .three
+	jump .else
+
+.two
+	setevent EVENT_GAVE_KURT_APRICORNS
+	clearevent EVENT_RECEIVED_BALLS_FROM_KURT
+	clearevent EVENT_DRAGON_SHRINE_QUESTION_2
+	jump .then
+
+.three
+	clearevent EVENT_GAVE_KURT_APRICORNS
+	setevent EVENT_RECEIVED_BALLS_FROM_KURT
+	clearevent EVENT_DRAGON_SHRINE_QUESTION_2
+	jump .then
+
+.else
+	clearevent EVENT_GAVE_KURT_APRICORNS
+	clearevent EVENT_RECEIVED_BALLS_FROM_KURT
+	setevent EVENT_DRAGON_SHRINE_QUESTION_2
+	jump .then
+
+.then
+	takemoney $0, 300
+	special PlaceMoneyTopRight
+	writetext UnknownText_0x7c80e
+	waitbutton
+	closetext
+	special FadeOutPalettes
+	playmusic MUSIC_HEAL
+	pause 60
+	special FadeInPalettes
+	special RestartMapMusic
+	opentext
+	writetext UnknownText_0x7c82a
+	waitbutton
+	checkevent EVENT_GAVE_KURT_APRICORNS
+	iftrue UnknownScript_0x7c2bb
+	checkevent EVENT_RECEIVED_BALLS_FROM_KURT
+	iftrue UnknownScript_0x7c2c4
+	jump UnknownScript_0x7c2cd
+
+.Refused:
+	writetext UnknownText_0x7c842
+	waitbutton
+	closetext
+	end
+
+.NotEnoughMoney:
+	writetext UnknownText_0x7c85b
+	waitbutton
+	closetext
+	end
+
+.AlreadyGotHaircut:
+	writetext UnknownText_0x7c87b
+	waitbutton
+	closetext
+	end
+
+UnknownScript_0x7c2bb:
+	writetext HaircutBrosText_SlightlyHappier
+	special PlayCurMonCry
+	waitbutton
+	closetext
+	end
+
+UnknownScript_0x7c2c4:
+	writetext HaircutBrosText_Happier
+	special PlayCurMonCry
+	waitbutton
+	closetext
+	end
+
+UnknownScript_0x7c2cd:
+	writetext HaircutBrosText_MuchHappier
+	special PlayCurMonCry
+	waitbutton
+	closetext
+	end
+
+BasementDoorScript::
+	opentext
+	checkevent EVENT_USED_BASEMENT_KEY
+	iftrue .Open
+	checkitem BASEMENT_KEY
+	iftrue .Unlock
+	writetext UnknownText_0x7c5b0
+	waitbutton
+	closetext
+	end
+
+.Unlock:
+	playsound SFX_TRANSACTION
+	writetext UnknownText_0x7c5d6
+	waitbutton
+	closetext
+	changeblock $12, $6, $2e
+	reloadmappart
+	closetext
+	setevent EVENT_USED_BASEMENT_KEY
+	end
+
+.Open:
+	writetext UnknownText_0x7c5c3
+	waitbutton
+	closetext
+	end
+
+GoldenrodUndergroundScript_ShopClosed:
+	writetext UnknownText_0x7c904
+	waitbutton
+	closetext
+	end
+
+GoldenrodUndergroundCoinCase:
+	itemball COIN_CASE
+
+MapGoldenrodUndergroundSignpost1Script:
+	jumptext UnknownText_0x7c91a
+
+GoldenrodUndergroundHiddenParlyzHeal:
+	dwb EVENT_GOLDENROD_UNDERGROUND_HIDDEN_PARLYZ_HEAL, PARLYZ_HEAL
+
+GoldenrodUndergroundHiddenSuperPotion:
+	dwb EVENT_GOLDENROD_UNDERGROUND_HIDDEN_SUPER_POTION, SUPER_POTION
+
+GoldenrodUndergroundHiddenAntidote:
+	dwb EVENT_GOLDENROD_UNDERGROUND_HIDDEN_ANTIDOTE, ANTIDOTE
+
+SupernerdEricSeenText:
+	text "I got booted out"
+	line "of the GAME COR-"
+	cont "NER."
+
+	para "I was trying to"
+	line "cheat using my"
+	cont "#MON…"
+	done
+
+SupernerdEricBeatenText:
+	text "…Grumble…"
+	done
+
+SupernerdEricAfterBattleText:
+	text "I guess I have to"
+	line "do things fair and"
+	cont "square…"
+	done
+
+SupernerdTeruSeenText:
+	text "Do you consider"
+	line "type alignments in"
+	cont "battle?"
+
+	para "If you know your"
+	line "type advantages,"
+
+	para "you'll do better"
+	line "in battle."
+	done
+
+SupernerdTeruBeatenText:
+	text "Ow, ow, ow!"
+	done
+
+SupernerdTeruAfterBattleText:
+	text "I know my #MON"
+	line "type alignments."
+
+	para "But I only use one"
+	line "type of #MON."
+	done
+
+PokemaniacIssacSeenText:
+	text "My #MON just"
+	line "got a haircut!"
+
+	para "I'll show you how"
+	line "strong it is!"
+	done
+
+PokemaniacIssacBeatenText:
+	text "Aiyeeee!"
+	done
+
+PokemaniacIssacAfterBattleText:
+	text "Your #MON will"
+	line "like you more if"
+
+	para "you give them"
+	line "haircuts."
+	done
+
+PokemaniacDonaldSeenText:
+	text "I think you have"
+	line "some rare #MON"
+	cont "with you."
+
+	para "Let me see them!"
+	done
+
+PokemaniacDonaldBeatenText:
+	text "Gaah! I lost!"
+	line "That makes me mad!"
+	done
+
+PokemaniacDonaldAfterBattleText:
+	text "Are you making a"
+	line "#DEX? Here's a"
+	cont "hot tip."
+
+	para "The HIKER on ROUTE"
+	line "33, ANTHONY, is a"
+	cont "good guy."
+
+	para "He'll phone you if"
+	line "he sees any rare"
+	cont "#MON."
+	done
+
+UnknownText_0x7c5b0:
+	text "The door's locked…"
+	done
+
+UnknownText_0x7c5c3:
+	text "The door is open."
+	done
+
+UnknownText_0x7c5d6:
+	text "The BASEMENT KEY"
+	line "opened the door."
+	done
+
+UnknownText_0x7c5f9:
+	text "Welcome!"
+
+	para "I run the #MON"
+	line "SALON!"
+
+	para "I'm the older and"
+	line "better of the two"
+	cont "HAIRCUT BROTHERS."
+
+	para "I can make your"
+	line "#MON beautiful"
+	cont "for just ¥500."
+
+	para "Would you like me"
+	line "to do that?"
+	done
+
+UnknownText_0x7c69a:
+	text "Which #MON"
+	line "should I work on?"
+	done
+
+UnknownText_0x7c6b8:
+	text "OK! Watch it"
+	line "become beautiful!"
+	done
+
+UnknownText_0x7c6d8:
+	text "There! All done!"
+	done
+
+UnknownText_0x7c6ea:
+	text "Is that right?"
+	line "That's a shame!"
+	done
+
+UnknownText_0x7c709:
+	text "You'll need more"
+	line "money than that."
+	done
+
+UnknownText_0x7c72b:
+	text "I do only one"
+	line "haircut a day. I'm"
+	cont "done for today."
+	done
+
+UnknownText_0x7c75c:
+	text "Welcome to the"
+	line "#MON SALON!"
+
+	para "I'm the younger"
+	line "and less expen-"
+	cont "sive of the two"
+	cont "HAIRCUT BROTHERS."
+
+	para "I'll spiff up your"
+	line "#MON for just"
+	cont "¥300."
+
+	para "So? How about it?"
+	done
+
+UnknownText_0x7c7f1:
+	text "OK, which #MON"
+	line "should I do?"
+	done
+
+UnknownText_0x7c80e:
+	text "OK! I'll make it"
+	line "look cool!"
+	done
+
+UnknownText_0x7c82a:
+	text "There we go!"
+	line "All done!"
+	done
+
+UnknownText_0x7c842:
+	text "No? "
+	line "How disappointing!"
+	done
+
+UnknownText_0x7c85b:
+	text "You're a little"
+	line "short on funds."
+	done
+
+UnknownText_0x7c87b:
+	text "I can do only one"
+	line "haircut a day."
+
+	para "Sorry, but I'm all"
+	line "done for today."
+	done
+
+HaircutBrosText_SlightlyHappier:
+	text_from_ram StringBuffer3
+	text " looks a"
+	line "little happier."
+	done
+
+HaircutBrosText_Happier:
+	text_from_ram StringBuffer3
+	text " looks"
+	line "happy."
+	done
+
+HaircutBrosText_MuchHappier:
+	text_from_ram StringBuffer3
+	text " looks"
+	line "delighted!"
+	done
+
+UnknownText_0x7c904:
+	text "We're not open"
+	line "today."
+	done
+
+UnknownText_0x7c91a:
+	text "NO ENTRY BEYOND"
+	line "THIS POINT"
+	done
+
+GoldenrodUnderground_MapEventHeader:
+	; filler
+	db 0, 0
+
+.Warps:
+	db 6
+	warp_def $2, $3, 7, GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES
+	warp_def $22, $3, 4, GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES
+	warp_def $6, $12, 4, GOLDENROD_UNDERGROUND
+	warp_def $1f, $15, 3, GOLDENROD_UNDERGROUND
+	warp_def $1f, $16, 3, GOLDENROD_UNDERGROUND
+	warp_def $1b, $16, 1, GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES
+
+.CoordEvents:
+	db 0
+
+.BGEvents:
+	db 5
+	bg_event 6, 18, BGEVENT_READ, BasementDoorScript
+	bg_event 6, 19, BGEVENT_READ, MapGoldenrodUndergroundSignpost1Script
+	bg_event 13, 6, BGEVENT_ITEM, GoldenrodUndergroundHiddenParlyzHeal
+	bg_event 18, 4, BGEVENT_ITEM, GoldenrodUndergroundHiddenSuperPotion
+	bg_event 8, 17, BGEVENT_ITEM, GoldenrodUndergroundHiddenAntidote
+
+.ObjectEvents:
+	db 9
+	object_event SPRITE_SUPER_NERD, 31, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 3, TrainerSupernerdEric, -1
+	object_event SPRITE_SUPER_NERD, 9, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 2, TrainerSupernerdTeru, -1
+	object_event SPRITE_SUPER_NERD, 27, 3, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 2, TrainerPokemaniacIssac, -1
+	object_event SPRITE_SUPER_NERD, 6, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerPokemaniacDonald, -1
+	object_event SPRITE_POKE_BALL, 25, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, GoldenrodUndergroundCoinCase, EVENT_GOLDENROD_UNDERGROUND_COIN_CASE
+	object_event SPRITE_GRAMPS, 11, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, GrampsScript_0x7c146, EVENT_GOLDENROD_UNDERGROUND_GRAMPS
+	object_event SPRITE_SUPER_NERD, 14, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, OlderHaircutBrotherScript, EVENT_GOLDENROD_UNDERGROUND_OLDER_HAIRCUT_BROTHER
+	object_event SPRITE_SUPER_NERD, 15, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, YoungerHaircutBrotherScript, EVENT_GOLDENROD_UNDERGROUND_YOUNGER_HAIRCUT_BROTHER
+	object_event SPRITE_GRANNY, 21, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, GrannyScript_0x7c132, EVENT_GOLDENROD_UNDERGROUND_GRANNY
--- /dev/null
+++ b/maps/GoldenrodUnderground.blk
@@ -1,0 +1,1 @@
+''''''''''''''1:''''''''''''''''''''''''''.'''''':''''''''''852''''''''''''83''''''''''''852''''''''''''3'''''''''''':''''''''''''852''''''''''''83''''''''''''8''''''''''''''4;+'''5''''''<0
'''5''''''%&''''''''''''''''1''''''''''''
\ No newline at end of file
--- /dev/null
+++ b/maps/GoldenrodUndergroundSwitchRoomEntrances.asm
@@ -1,0 +1,974 @@
+UNDERGROUND_DOOR_CLOSED1 EQU $2a
+UNDERGROUND_DOOR_CLOSED2 EQU $3e
+UNDERGROUND_DOOR_CLOSED3 EQU $3f
+UNDERGROUND_DOOR_OPEN1   EQU $2d
+UNDERGROUND_DOOR_OPEN2   EQU $3d
+
+ugdoor: macro
+\1_YCOORD EQU \2
+\1_XCOORD EQU \3
+endm
+
+	ugdoor UGDOOR_1,  $10, $06
+	ugdoor UGDOOR_2,  $0a, $06
+	ugdoor UGDOOR_3,  $02, $06
+	ugdoor UGDOOR_4,  $02, $0a
+	ugdoor UGDOOR_5,  $0a, $0a
+	ugdoor UGDOOR_6,  $10, $0a
+	ugdoor UGDOOR_7,  $0c, $06
+	ugdoor UGDOOR_8,  $0c, $08
+	ugdoor UGDOOR_9,  $06, $06
+	ugdoor UGDOOR_10, $06, $08
+	ugdoor UGDOOR_11, $0c, $0a
+	ugdoor UGDOOR_12, $0c, $0c
+	ugdoor UGDOOR_13, $06, $0a
+	ugdoor UGDOOR_14, $06, $0c
+	ugdoor UGDOOR_15, $12, $0a
+	ugdoor UGDOOR_16, $12, $0c
+
+doorstate: macro
+	changeblock UGDOOR_\1_YCOORD, UGDOOR_\1_XCOORD, UNDERGROUND_DOOR_\2
+endm
+
+const_value set 2
+	const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_PHARMACIST1
+	const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_PHARMACIST2
+	const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_ROCKET1
+	const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_ROCKET2
+	const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_ROCKET3
+	const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_ROCKET_GIRL
+	const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_TEACHER
+	const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SUPER_NERD
+	const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_POKE_BALL1
+	const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_POKE_BALL2
+	const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER
+
+GoldenrodUndergroundSwitchRoomEntrances_MapScriptHeader:
+.SceneScripts:
+	db 2
+	scene_script .DummyScene0
+	scene_script .DummyScene1
+
+.MapCallbacks:
+	db 1
+	dbw MAPCALLBACK_TILES, .UpdateDoorPositions
+
+.DummyScene0:
+	end
+
+.DummyScene1:
+	end
+
+.UpdateDoorPositions:
+	checkevent EVENT_SWITCH_4
+	iffalse .false4
+	doorstate 1, OPEN1
+.false4
+	checkevent EVENT_SWITCH_5
+	iffalse .false5
+	doorstate 2, OPEN1
+.false5
+	checkevent EVENT_SWITCH_6
+	iffalse .false6
+	doorstate 3, OPEN1
+.false6
+	checkevent EVENT_SWITCH_7
+	iffalse .false7
+	doorstate 4, OPEN1
+.false7
+	checkevent EVENT_SWITCH_8
+	iffalse .false8
+	doorstate 5, OPEN1
+.false8
+	checkevent EVENT_SWITCH_9
+	iffalse .false9
+	doorstate 6, OPEN1
+.false9
+	checkevent EVENT_SWITCH_10
+	iffalse .false10
+	doorstate 7, CLOSED1
+	doorstate 8, OPEN1
+.false10
+	checkevent EVENT_SWITCH_11
+	iffalse .false11
+	doorstate 9, CLOSED1
+	doorstate 10, OPEN1
+.false11
+	checkevent EVENT_SWITCH_12
+	iffalse .false12
+	doorstate 11, CLOSED1
+	doorstate 12, OPEN1
+.false12
+	checkevent EVENT_SWITCH_13
+	iffalse .false13
+	doorstate 13, CLOSED1
+	doorstate 14, OPEN1
+.false13
+	checkevent EVENT_SWITCH_14
+	iffalse .false14
+	doorstate 15, CLOSED1
+	doorstate 16, OPEN1
+.false14
+	return
+
+SuperNerdScript_0x7ca7a:
+	jumptextfaceplayer GoldenrodUndergroundSwitchRoomEntrances_SuperNerdText
+
+TeacherScript_0x7ca7d:
+	jumptextfaceplayer GoldenrodUndergroundSwitchRoomEntrances_TeacherText
+
+UndergroundSilverScene1:
+	spriteface PLAYER, RIGHT
+	showemote EMOTE_SHOCK, PLAYER, 15
+	special Special_FadeOutMusic
+	pause 15
+	playsound SFX_EXIT_BUILDING
+	appear GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER
+	waitsfx
+	applymovement GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER, UndergroundSilverApproachMovement1
+	spriteface PLAYER, RIGHT
+	scall UndergroundSilverBattleScript
+	applymovement GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER, UndergroundSilverRetreatMovement1
+	playsound SFX_EXIT_BUILDING
+	disappear GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER
+	setscene 1
+	waitsfx
+	playmapmusic
+	end
+
+UndergroundSilverScene2:
+	spriteface PLAYER, RIGHT
+	showemote EMOTE_SHOCK, PLAYER, 15
+	special Special_FadeOutMusic
+	pause 15
+	playsound SFX_EXIT_BUILDING
+	appear GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER
+	waitsfx
+	applymovement GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER, UndergroundSilverApproachMovement2
+	spriteface PLAYER, RIGHT
+	scall UndergroundSilverBattleScript
+	applymovement GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER, UndergroundSilverRetreatMovement2
+	playsound SFX_EXIT_BUILDING
+	disappear GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER
+	setscene 1
+	waitsfx
+	playmapmusic
+	end
+
+UndergroundSilverBattleScript:
+	checkevent EVENT_RIVAL_BURNED_TOWER
+	iftrue .Continue
+	setevent EVENT_RIVAL_BURNED_TOWER
+	setmapscene BURNED_TOWER_1F, 1
+.Continue:
+	playmusic MUSIC_RIVAL_ENCOUNTER
+	opentext
+	writetext UndergroundSilverBeforeText
+	waitbutton
+	closetext
+	setevent EVENT_RIVAL_GOLDENROD_UNDERGROUND
+	checkevent EVENT_GOT_TOTODILE_FROM_ELM
+	iftrue .Totodile
+	checkevent EVENT_GOT_CHIKORITA_FROM_ELM
+	iftrue .Chikorita
+	winlosstext UndergroundSilverWinText, UndergroundSilverLossText
+	setlasttalked GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER
+	loadtrainer RIVAL1, RIVAL1_4_TOTODILE
+	startbattle
+	dontrestartmapmusic
+	reloadmapafterbattle
+	jump .FinishRivalBattle
+
+.Totodile:
+	winlosstext UndergroundSilverWinText, UndergroundSilverLossText
+	setlasttalked GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER
+	loadtrainer RIVAL1, RIVAL1_4_CHIKORITA
+	startbattle
+	dontrestartmapmusic
+	reloadmapafterbattle
+	jump .FinishRivalBattle
+
+.Chikorita:
+	winlosstext UndergroundSilverWinText, UndergroundSilverLossText
+	setlasttalked GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER
+	loadtrainer RIVAL1, RIVAL1_4_CYNDAQUIL
+	startbattle
+	dontrestartmapmusic
+	reloadmapafterbattle
+	jump .FinishRivalBattle
+
+.FinishRivalBattle:
+	playmusic MUSIC_RIVAL_AFTER
+	opentext
+	writetext UndergroundSilverAfterText
+	waitbutton
+	closetext
+	end
+
+TrainerGruntM11:
+	trainer EVENT_BEAT_ROCKET_GRUNTM_11, GRUNTM, GRUNTM_11, GruntM11SeenText, GruntM11BeatenText, 0, .Script
+
+.Script:
+	end_if_just_battled
+	opentext
+	writetext GruntM11AfterBattleText
+	waitbutton
+	closetext
+	end
+
+TrainerGruntM25:
+	trainer EVENT_BEAT_ROCKET_GRUNTM_25, GRUNTM, GRUNTM_25, GruntM25SeenText, GruntM25BeatenText, 0, .Script
+
+.Script:
+	end_if_just_battled
+	opentext
+	writetext GruntM25AfterBattleText
+	waitbutton
+	closetext
+	end
+
+TrainerBurglarDuncan:
+	trainer EVENT_BEAT_BURGLAR_DUNCAN, BURGLAR, DUNCAN, BurglarDuncanSeenText, BurglarDuncanBeatenText, 0, .Script
+
+.Script:
+	end_if_just_battled
+	opentext
+	writetext BurglarDuncanAfterBattleText
+	waitbutton
+	closetext
+	end
+
+TrainerBurglarEddie:
+	trainer EVENT_BEAT_BURGLAR_EDDIE, BURGLAR, EDDIE, BurglarEddieSeenText, BurglarEddieBeatenText, 0, .Script
+
+.Script:
+	end_if_just_battled
+	opentext
+	writetext BurglarEddieAfterBattleText
+	waitbutton
+	closetext
+	end
+
+TrainerGruntM13:
+	trainer EVENT_BEAT_ROCKET_GRUNTM_13, GRUNTM, GRUNTM_13, GruntM13SeenText, GruntM13BeatenText, 0, .Script
+
+.Script:
+	end_if_just_battled
+	opentext
+	writetext GruntM13AfterBattleText
+	waitbutton
+	closetext
+	end
+
+TrainerGruntF3:
+	trainer EVENT_BEAT_ROCKET_GRUNTF_3, GRUNTF, GRUNTF_3, GruntF3SeenText, GruntF3BeatenText, 0, .Script
+
+.Script:
+	end_if_just_battled
+	opentext
+	writetext GruntF3AfterBattleText
+	waitbutton
+	closetext
+	end
+
+Switch1Script:
+	opentext
+	writetext SwitchRoomText_Switch1
+	buttonsound
+	checkevent EVENT_SWITCH_1
+	iftrue .On
+	writetext SwitchRoomText_OffTurnOn
+	yesorno
+	iffalse GoldenrodUndergroundSwitchRoomEntrances_DontToggle
+	copybytetovar UndergroundSwitchPositions
+	addvar 1
+	copyvartobyte UndergroundSwitchPositions
+	setevent EVENT_SWITCH_1
+	jump GoldenrodUndergroundSwitchRoomEntrances_UpdateDoors
+
+.On:
+	writetext SwitchRoomText_OnTurnOff
+	yesorno
+	iffalse GoldenrodUndergroundSwitchRoomEntrances_DontToggle
+	copybytetovar UndergroundSwitchPositions
+	addvar -1
+	copyvartobyte UndergroundSwitchPositions
+	clearevent EVENT_SWITCH_1
+	jump GoldenrodUndergroundSwitchRoomEntrances_UpdateDoors
+
+Switch2Script:
+	opentext
+	writetext SwitchRoomText_Switch2
+	buttonsound
+	checkevent EVENT_SWITCH_2
+	iftrue .On
+	writetext SwitchRoomText_OffTurnOn
+	yesorno
+	iffalse GoldenrodUndergroundSwitchRoomEntrances_DontToggle
+	copybytetovar UndergroundSwitchPositions
+	addvar 2
+	copyvartobyte UndergroundSwitchPositions
+	setevent EVENT_SWITCH_2
+	jump GoldenrodUndergroundSwitchRoomEntrances_UpdateDoors
+
+.On:
+	writetext SwitchRoomText_OnTurnOff
+	yesorno
+	iffalse GoldenrodUndergroundSwitchRoomEntrances_DontToggle
+	copybytetovar UndergroundSwitchPositions
+	addvar -2
+	copyvartobyte UndergroundSwitchPositions
+	clearevent EVENT_SWITCH_2
+	jump GoldenrodUndergroundSwitchRoomEntrances_UpdateDoors
+
+Switch3Script:
+	opentext
+	writetext SwitchRoomText_Switch3
+	buttonsound
+	checkevent EVENT_SWITCH_3
+	iftrue .On
+	writetext SwitchRoomText_OffTurnOn
+	yesorno
+	iffalse GoldenrodUndergroundSwitchRoomEntrances_DontToggle
+	copybytetovar UndergroundSwitchPositions
+	addvar 3
+	copyvartobyte UndergroundSwitchPositions
+	setevent EVENT_SWITCH_3
+	jump GoldenrodUndergroundSwitchRoomEntrances_UpdateDoors
+
+.On:
+	writetext SwitchRoomText_OnTurnOff
+	yesorno
+	iffalse GoldenrodUndergroundSwitchRoomEntrances_DontToggle
+	copybytetovar UndergroundSwitchPositions
+	addvar -3
+	copyvartobyte UndergroundSwitchPositions
+	clearevent EVENT_SWITCH_3
+	jump GoldenrodUndergroundSwitchRoomEntrances_UpdateDoors
+
+EmergencySwitchScript:
+	opentext
+	writetext SwitchRoomText_Emergency
+	buttonsound
+	checkevent EVENT_EMERGENCY_SWITCH
+	iftrue .On
+	writetext SwitchRoomText_OffTurnOn
+	yesorno
+	iffalse GoldenrodUndergroundSwitchRoomEntrances_DontToggle
+	writebyte 7
+	copyvartobyte UndergroundSwitchPositions
+	setevent EVENT_EMERGENCY_SWITCH
+	setevent EVENT_SWITCH_1
+	setevent EVENT_SWITCH_2
+	setevent EVENT_SWITCH_3
+	jump GoldenrodUndergroundSwitchRoomEntrances_UpdateDoors
+
+.On:
+	writetext SwitchRoomText_OnTurnOff
+	yesorno
+	iffalse GoldenrodUndergroundSwitchRoomEntrances_DontToggle
+	writebyte 0
+	copyvartobyte UndergroundSwitchPositions
+	clearevent EVENT_EMERGENCY_SWITCH
+	clearevent EVENT_SWITCH_1
+	clearevent EVENT_SWITCH_2
+	clearevent EVENT_SWITCH_3
+	jump GoldenrodUndergroundSwitchRoomEntrances_UpdateDoors
+
+GoldenrodUndergroundSwitchRoomEntrances_DontToggle:
+	closetext
+	end
+
+GoldenrodUndergroundSwitchRoomEntrances_UpdateDoors:
+	copybytetovar UndergroundSwitchPositions
+	if_equal 0, .Position0
+	if_equal 1, .Position1
+	if_equal 2, .Position2
+	if_equal 3, .Position3
+	if_equal 4, .Position4
+	if_equal 5, .Position5
+	if_equal 6, .Position6
+	if_equal 7, .EmergencyPosition
+.Position0:
+	playsound SFX_ENTER_DOOR
+	scall .Clear4
+	scall .Clear5
+	scall .Clear6
+	scall .Clear7
+	scall .Clear8
+	scall .Clear9
+	scall .Clear10
+	scall .Clear11
+	scall .Clear12
+	scall .Clear13
+	scall .Clear14
+	reloadmappart
+	closetext
+	end
+
+.Position1:
+	playsound SFX_ENTER_DOOR
+	scall .Set4
+	scall .Set10
+	scall .Set13
+	scall .Clear9
+	scall .Clear11
+	scall .Clear12
+	scall .Clear14
+	reloadmappart
+	closetext
+	end
+
+.Position2:
+	playsound SFX_ENTER_DOOR
+	scall .Set5
+	scall .Set11
+	scall .Set12
+	scall .Clear8
+	scall .Clear10
+	scall .Clear13
+	scall .Clear14
+	reloadmappart
+	closetext
+	end
+
+.Position3:
+	playsound SFX_ENTER_DOOR
+	scall .Set6
+	scall .Set10
+	scall .Set13
+	scall .Clear7
+	scall .Clear11
+	scall .Clear12
+	scall .Clear14
+	reloadmappart
+	closetext
+	end
+
+.Position4:
+	playsound SFX_ENTER_DOOR
+	scall .Set7
+	scall .Set11
+	scall .Set12
+	scall .Clear6
+	scall .Clear10
+	scall .Clear13
+	scall .Clear14
+	reloadmappart
+	closetext
+	end
+
+.Position5:
+	playsound SFX_ENTER_DOOR
+	scall .Set8
+	scall .Set10
+	scall .Set13
+	scall .Clear5
+	scall .Clear11
+	scall .Clear12
+	scall .Clear14
+	reloadmappart
+	closetext
+	end
+
+.Position6:
+	playsound SFX_ENTER_DOOR
+	scall .Set9
+	scall .Set11
+	scall .Set12
+	scall .Set14
+	scall .Clear4
+	scall .Clear10
+	scall .Clear13
+	reloadmappart
+	closetext
+	end
+
+.EmergencyPosition:
+	playsound SFX_ENTER_DOOR
+	scall .Clear4
+	scall .Clear5
+	scall .Set6
+	scall .Clear7
+	scall .Set8
+	scall .Set9
+	scall .Clear10
+	scall .Set11
+	scall .Set12
+	scall .Clear13
+	scall .Set14
+	reloadmappart
+	closetext
+	writebyte 6
+	copyvartobyte UndergroundSwitchPositions
+	end
+
+.Set4:
+	doorstate 1, OPEN1
+	setevent EVENT_SWITCH_4
+	end
+
+.Set5:
+	doorstate 2, OPEN1
+	setevent EVENT_SWITCH_5
+	end
+
+.Set6:
+	doorstate 3, OPEN1
+	setevent EVENT_SWITCH_6
+	end
+
+.Set7:
+	doorstate 4, OPEN1
+	setevent EVENT_SWITCH_7
+	end
+
+.Set8:
+	doorstate 5, OPEN1
+	setevent EVENT_SWITCH_8
+	end
+
+.Set9:
+	doorstate 6, OPEN1
+	setevent EVENT_SWITCH_9
+	end
+
+.Set10:
+	doorstate 7, CLOSED1
+	doorstate 8, OPEN1
+	setevent EVENT_SWITCH_10
+	end
+
+.Set11:
+	doorstate 9, CLOSED1
+	doorstate 10, OPEN1
+	setevent EVENT_SWITCH_11
+	end
+
+.Set12:
+	doorstate 11, CLOSED1
+	doorstate 12, OPEN1
+	setevent EVENT_SWITCH_12
+	end
+
+.Set13:
+	doorstate 13, CLOSED1
+	doorstate 14, OPEN1
+	setevent EVENT_SWITCH_13
+	end
+
+.Set14:
+	doorstate 15, CLOSED1
+	doorstate 16, OPEN1
+	setevent EVENT_SWITCH_14
+	end
+
+.Clear4:
+	doorstate 1, CLOSED2
+	clearevent EVENT_SWITCH_4
+	end
+
+.Clear5:
+	doorstate 2, CLOSED2
+	clearevent EVENT_SWITCH_5
+	end
+
+.Clear6:
+	doorstate 3, CLOSED2
+	clearevent EVENT_SWITCH_6
+	end
+
+.Clear7:
+	doorstate 4, CLOSED2
+	clearevent EVENT_SWITCH_7
+	end
+
+.Clear8:
+	doorstate 5, CLOSED2
+	clearevent EVENT_SWITCH_8
+	end
+
+.Clear9:
+	doorstate 6, CLOSED2
+	clearevent EVENT_SWITCH_9
+	end
+
+.Clear10:
+	doorstate 7, CLOSED3
+	doorstate 8, OPEN2
+	clearevent EVENT_SWITCH_10
+	end
+
+.Clear11:
+	doorstate 9, CLOSED3
+	doorstate 10, OPEN2
+	clearevent EVENT_SWITCH_11
+	end
+
+.Clear12:
+	doorstate 11, CLOSED3
+	doorstate 12, OPEN2
+	clearevent EVENT_SWITCH_12
+	end
+
+.Clear13:
+	doorstate 13, CLOSED3
+	doorstate 14, OPEN2
+	clearevent EVENT_SWITCH_13
+	end
+
+.Clear14:
+	doorstate 15, CLOSED3
+	doorstate 16, OPEN2
+	clearevent EVENT_SWITCH_14
+	end
+
+GoldenrodUndergroundSwitchRoomEntrancesSmokeBall:
+	itemball SMOKE_BALL
+
+GoldenrodUndergroundSwitchRoomEntrancesFullHeal:
+	itemball FULL_HEAL
+
+GoldenrodUndergroundSwitchRoomEntrancesHiddenMaxPotion:
+	dwb EVENT_GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES_HIDDEN_MAX_POTION, MAX_POTION
+
+GoldenrodUndergroundSwitchRoomEntrancesHiddenRevive:
+	dwb EVENT_GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES_HIDDEN_REVIVE, REVIVE
+
+UndergroundSilverApproachMovement1:
+	step DOWN
+	step LEFT
+	step LEFT
+	step LEFT
+	step_end
+
+UndergroundSilverApproachMovement2:
+	step DOWN
+	step DOWN
+	step LEFT
+	step LEFT
+	step LEFT
+	step_end
+
+UndergroundSilverRetreatMovement1:
+	step RIGHT
+	step RIGHT
+	step RIGHT
+	step UP
+	step_end
+
+UndergroundSilverRetreatMovement2:
+	step RIGHT
+	step RIGHT
+	step RIGHT
+	step UP
+	step UP
+	step_end
+
+UndergroundSilverBeforeText:
+	text "Hold it!"
+
+	para "I saw you, so I"
+	line "tailed you."
+
+	para "I don't need you"
+	line "underfoot while I"
+
+	para "take care of TEAM"
+	line "ROCKET."
+
+	para "…Wait a second."
+	line "You beat me be-"
+	cont "fore, didn't you?"
+
+	para "That was just a"
+	line "fluke."
+
+	para "But I repay my"
+	line "debts!"
+	done
+
+UndergroundSilverWinText:
+	text "…Why…"
+	line "Why do I lose?"
+
+	para "I've assembled the"
+	line "toughest #MON."
+
+	para "I didn't ease up"
+	line "on the gas."
+
+	para "So why do I lose?"
+	done
+
+UndergroundSilverAfterText:
+	text "…I don't under-"
+	line "stand…"
+
+	para "Is what that LANCE"
+	line "guy said true?"
+
+	para "That I don't treat"
+	line "#MON properly?"
+
+	para "Love…"
+
+	para "Trust…"
+
+	para "Are they really"
+	line "what I lack?"
+
+	para "Are they keeping"
+	line "me from winning?"
+
+	para "I… I just don't"
+	line "understand."
+
+	para "But it's not going"
+	line "to end here."
+
+	para "Not now. Not"
+	line "because of this."
+
+	para "I won't give up my"
+	line "dream of becoming"
+
+	para "the world's best"
+	line "#MON trainer!"
+	done
+
+UndergroundSilverLossText:
+	text "Humph. This is my"
+	line "real power, wimp."
+
+	para "I'll make TEAM"
+	line "ROCKET history."
+
+	para "And I'm going to"
+	line "grind that LANCE"
+	cont "under my heels."
+	done
+
+GoldenrodUndergroundSwitchRoomEntrances_SuperNerdText:
+	text "I was challenged"
+	line "to a battle down-"
+	cont "stairs."
+
+	para "It's rough down"
+	line "there. You'd"
+	cont "better be careful."
+	done
+
+GoldenrodUndergroundSwitchRoomEntrances_TeacherText:
+	text "There are some"
+	line "shops downstairs…"
+
+	para "But there are"
+	line "also trainers."
+
+	para "I'm scared to go"
+	line "down there."
+	done
+
+GruntM11SeenText:
+	text "Open one shutter,"
+	line "another closes."
+
+	para "Bet you can't get"
+	line "where you want!"
+	done
+
+GruntM11BeatenText:
+	text "Drat! I was sunk"
+	line "by indecision!"
+	done
+
+GruntM11AfterBattleText:
+	text "I'm confused too…"
+	line "The switch on the"
+
+	para "end is the one to"
+	line "press first, but…"
+	done
+
+GruntM25SeenText:
+	text "Kwahaha!"
+
+	para "Confounded by the"
+	line "shutters, are we?"
+
+	para "I'll let you in on"
+	line "a secret if you"
+	cont "can beat me!"
+	done
+
+GruntM25BeatenText:
+	text "Uwww…"
+	line "I blew it."
+	done
+
+GruntM25AfterBattleText:
+	text "All right. A hint!"
+
+	para "Change the order"
+	line "of switching."
+
+	para "That'll change the"
+	line "ways the shutters"
+	cont "open and close."
+	done
+
+BurglarDuncanSeenText:
+	text "Fork over your"
+	line "goodies!"
+	done
+
+BurglarDuncanBeatenText:
+	text "Mercy!"
+	done
+
+BurglarDuncanAfterBattleText:
+	text "Steal and sell!"
+	line "That's basic in"
+	cont "crime, kid!"
+	done
+
+BurglarEddieSeenText:
+	text "They ditched this"
+	line "project before"
+	cont "they finished."
+
+	para "I'm searching for"
+	line "leftover loot."
+	done
+
+BurglarEddieBeatenText:
+	text "Over the top!"
+	done
+
+BurglarEddieAfterBattleText:
+	text "UNDERGROUND WARE-"
+	line "HOUSE?"
+
+	para "What do you want"
+	line "to go there for?"
+
+	para "There's nothing"
+	line "down there."
+	done
+
+GruntM13SeenText:
+	text "I don't care if"
+	line "you're lost."
+
+	para "You show up here,"
+	line "you're nothing but"
+	cont "a victim!"
+	done
+
+GruntM13BeatenText:
+	text "Urk! Yeah, think"
+	line "you're cool, huh?"
+	done
+
+GruntM13AfterBattleText:
+	text "You must have ice"
+	line "in your veins to"
+	cont "dis TEAM ROCKET."
+	done
+
+SwitchRoomText_Switch1:
+	text "It's labeled"
+	line "SWITCH 1."
+	done
+
+GruntF3SeenText:
+	text "Are you lost? No,"
+	line "you can't be."
+
+	para "You don't have"
+	line "that scared look."
+
+	para "I'll give you"
+	line "something to be"
+	cont "scared about!"
+	done
+
+GruntF3BeatenText:
+	text "How could you?"
+	done
+
+GruntF3AfterBattleText:
+	text "Go wherever you'd"
+	line "like! Get lost!"
+	cont "See if I care!"
+	done
+
+SwitchRoomText_OffTurnOn:
+	text "It's OFF."
+	line "Turn it ON?"
+	done
+
+SwitchRoomText_OnTurnOff:
+	text "It's ON."
+	line "Turn it OFF?"
+	done
+
+SwitchRoomText_Switch2:
+	text "It's labeled"
+	line "SWITCH 2."
+	done
+
+SwitchRoomText_Switch3:
+	text "It's labeled"
+	line "SWITCH 3."
+	done
+
+SwitchRoomText_Emergency:
+	text "It's labeled"
+	line "EMERGENCY."
+	done
+
+GoldenrodUndergroundSwitchRoomEntrances_MapEventHeader:
+	; filler
+	db 0, 0
+
+.Warps:
+	db 9
+	warp_def $3, $17, 6, GOLDENROD_UNDERGROUND
+	warp_def $a, $16, 1, GOLDENROD_UNDERGROUND_WAREHOUSE
+	warp_def $a, $17, 2, GOLDENROD_UNDERGROUND_WAREHOUSE
+	warp_def $19, $5, 2, GOLDENROD_UNDERGROUND
+	warp_def $1d, $4, 14, GOLDENROD_CITY
+	warp_def $1d, $5, 14, GOLDENROD_CITY
+	warp_def $19, $15, 1, GOLDENROD_UNDERGROUND
+	warp_def $1d, $14, 13, GOLDENROD_CITY
+	warp_def $1d, $15, 13, GOLDENROD_CITY
+
+.CoordEvents:
+	db 2
+	coord_event 0, $4, $13, UndergroundSilverScene1
+	coord_event 0, $5, $13, UndergroundSilverScene2
+
+.BGEvents:
+	db 6
+	bg_event 1, 16, BGEVENT_READ, Switch1Script
+	bg_event 1, 10, BGEVENT_READ, Switch2Script
+	bg_event 1, 2, BGEVENT_READ, Switch3Script
+	bg_event 11, 20, BGEVENT_READ, EmergencySwitchScript
+	bg_event 9, 8, BGEVENT_ITEM, GoldenrodUndergroundSwitchRoomEntrancesHiddenMaxPotion
+	bg_event 8, 1, BGEVENT_ITEM, GoldenrodUndergroundSwitchRoomEntrancesHiddenRevive
+
+.ObjectEvents:
+	db 11
+	object_event SPRITE_PHARMACIST, 12, 9, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 2, TrainerBurglarDuncan, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	object_event SPRITE_PHARMACIST, 8, 4, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 2, TrainerBurglarEddie, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	object_event SPRITE_ROCKET, 2, 17, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, TrainerGruntM13, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	object_event SPRITE_ROCKET, 2, 11, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, TrainerGruntM11, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	object_event SPRITE_ROCKET, 2, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, TrainerGruntM25, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	object_event SPRITE_ROCKET_GIRL, 12, 19, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 1, TrainerGruntF3, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	object_event SPRITE_TEACHER, 27, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, TeacherScript_0x7ca7d, -1
+	object_event SPRITE_SUPER_NERD, 27, 19, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SuperNerdScript_0x7ca7a, -1
+	object_event SPRITE_POKE_BALL, 12, 1, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, GoldenrodUndergroundSwitchRoomEntrancesSmokeBall, EVENT_GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES_SMOKE_BALL
+	object_event SPRITE_POKE_BALL, 9, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, GoldenrodUndergroundSwitchRoomEntrancesFullHeal, EVENT_GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES_FULL_HEAL
+	object_event SPRITE_SILVER, 3, 23, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_RIVAL_GOLDENROD_UNDERGROUND
--- /dev/null
+++ b/maps/GoldenrodUndergroundSwitchRoomEntrances.blk
@@ -1,0 +1,2 @@
+*7**7*7***---*--*--*-)--------------*>*?*>?*>---=--=--*>*?*>?*>?7<---=--=--=--***********************




+((----
\ No newline at end of file
--- /dev/null
+++ b/maps/GoldenrodUndergroundWarehouse.asm
@@ -1,0 +1,237 @@
+const_value set 2
+	const GOLDENRODUNDERGROUNDWAREHOUSE_ROCKET1
+	const GOLDENRODUNDERGROUNDWAREHOUSE_ROCKET2
+	const GOLDENRODUNDERGROUNDWAREHOUSE_ROCKET3
+	const GOLDENRODUNDERGROUNDWAREHOUSE_GENTLEMAN
+	const GOLDENRODUNDERGROUNDWAREHOUSE_POKE_BALL1
+	const GOLDENRODUNDERGROUNDWAREHOUSE_POKE_BALL2
+	const GOLDENRODUNDERGROUNDWAREHOUSE_POKE_BALL3
+
+GoldenrodUndergroundWarehouse_MapScriptHeader:
+.SceneScripts:
+	db 0
+
+.MapCallbacks:
+	db 1
+	dbw MAPCALLBACK_NEWMAP, .ResetSwitches
+
+.ResetSwitches:
+	clearevent EVENT_SWITCH_1
+	clearevent EVENT_SWITCH_2
+	clearevent EVENT_SWITCH_3
+	clearevent EVENT_EMERGENCY_SWITCH
+	clearevent EVENT_SWITCH_4
+	clearevent EVENT_SWITCH_5
+	clearevent EVENT_SWITCH_6
+	clearevent EVENT_SWITCH_7
+	clearevent EVENT_SWITCH_8
+	clearevent EVENT_SWITCH_9
+	clearevent EVENT_SWITCH_10
+	clearevent EVENT_SWITCH_11
+	clearevent EVENT_SWITCH_12
+	clearevent EVENT_SWITCH_13
+	clearevent EVENT_SWITCH_14
+	writebyte $0
+	copyvartobyte UndergroundSwitchPositions
+	return
+
+TrainerGruntM24:
+	trainer EVENT_BEAT_ROCKET_GRUNTM_24, GRUNTM, GRUNTM_24, GruntM24SeenText, GruntM24BeatenText, 0, .Script
+
+.Script:
+	end_if_just_battled
+	opentext
+	writetext GruntM24AfterBattleText
+	waitbutton
+	closetext
+	end
+
+TrainerGruntM14:
+	trainer EVENT_BEAT_ROCKET_GRUNTM_14, GRUNTM, GRUNTM_14, GruntM14SeenText, GruntM14BeatenText, 0, .Script
+
+.Script:
+	end_if_just_battled
+	opentext
+	writetext GruntM14AfterBattleText
+	waitbutton
+	closetext
+	end
+
+TrainerGruntM15:
+	trainer EVENT_BEAT_ROCKET_GRUNTM_15, GRUNTM, GRUNTM_15, GruntM15SeenText, GruntM15BeatenText, 0, .Script
+
+.Script:
+	end_if_just_battled
+	opentext
+	writetext GruntM15AfterBattleText
+	waitbutton
+	closetext
+	end
+
+GentlemanScript_0x7d9bf:
+	faceplayer
+	opentext
+	checkevent EVENT_RECEIVED_CARD_KEY
+	iftrue UnknownScript_0x7d9de
+	writetext UnknownText_0x7dbc6
+	buttonsound
+	verbosegiveitem CARD_KEY
+	setevent EVENT_RECEIVED_CARD_KEY
+	setevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_1
+	clearevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_2
+	clearevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_3
+	writetext UnknownText_0x7dc5b
+	buttonsound
+UnknownScript_0x7d9de:
+	writetext UnknownText_0x7dc8d
+	waitbutton
+	closetext
+	end
+
+GoldenrodUndergroundWarehouseMaxEther:
+	itemball MAX_ETHER
+
+GoldenrodUndergroundWarehouseTMSleepTalk:
+	itemball TM_SLEEP_TALK
+
+GoldenrodUndergroundWarehouseUltraBall:
+	itemball ULTRA_BALL
+
+GruntM24SeenText:
+	text "How did you get"
+	line "this far?"
+
+	para "I guess it can't"
+	line "be helped. I'll"
+	cont "dispose of you."
+	done
+
+GruntM24BeatenText:
+	text "I got disposed of…"
+	done
+
+GruntM24AfterBattleText:
+	text "TEAM ROCKET will"
+	line "keep going, wait-"
+	cont "ing for the return"
+	cont "of GIOVANNI."
+
+	para "We'll do whatever"
+	line "it takes."
+	done
+
+GruntM14SeenText:
+	text "You're not going"
+	line "any farther!"
+
+	para "I don't show mercy"
+	line "to my enemies, not"
+	cont "even brats!"
+	done
+
+GruntM14BeatenText:
+	text "Blast it!"
+	done
+
+GruntM14AfterBattleText:
+	text "I lost…"
+
+	para "Please forgive me,"
+	line "GIOVANNI!"
+	done
+
+GruntM15SeenText:
+	text "Hyuck-hyuck-hyuck!"
+	line "I remember you!"
+
+	para "You got me good"
+	line "at our hideout!"
+	done
+
+GruntM15BeatenText:
+	text "Hyuck-hyuck-hyuck!"
+	line "So, that's how?"
+	done
+
+GruntM15AfterBattleText:
+	text "Hyuck-hyuck-hyuck!"
+	line "That was a blast!"
+	cont "I'll remember you!"
+	done
+
+UnknownText_0x7dbc6:
+	text "DIRECTOR: Who?"
+	line "What? You came to"
+	cont "rescue me?"
+
+	para "Thank you!"
+
+	para "The RADIO TOWER!"
+
+	para "What's happening"
+	line "there?"
+
+	para "Taken over by TEAM"
+	line "ROCKET?"
+
+	para "Here. Take this"
+	line "CARD KEY."
+	done
+
+UnknownText_0x7dc5b:
+	text "DIRECTOR: Use that"
+	line "to open the shut-"
+	cont "ters on 3F."
+	done
+
+UnknownText_0x7dc8d:
+	text "I'm begging you to"
+	line "help."
+
+	para "There's no telling"
+	line "what they'll do if"
+
+	para "they control the"
+	line "transmitter."
+
+	para "They may even be"
+	line "able to control"
+
+	para "#MON using a"
+	line "special signal!"
+
+	para "You're the only"
+	line "one I can call on."
+
+	para "Please save the"
+	line "RADIO TOWER…"
+
+	para "And all the #-"
+	line "MON nationwide!"
+	done
+
+GoldenrodUndergroundWarehouse_MapEventHeader:
+	; filler
+	db 0, 0
+
+.Warps:
+	db 3
+	warp_def $c, $2, 2, GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES
+	warp_def $c, $3, 3, GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES
+	warp_def $2, $11, 1, GOLDENROD_DEPT_STORE_B1F
+
+.CoordEvents:
+	db 0
+
+.BGEvents:
+	db 0
+
+.ObjectEvents:
+	db 7
+	object_event SPRITE_ROCKET, 8, 9, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, TrainerGruntM24, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	object_event SPRITE_ROCKET, 15, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, TrainerGruntM14, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	object_event SPRITE_ROCKET, 3, 14, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 4, TrainerGruntM15, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	object_event SPRITE_GENTLEMAN, 8, 12, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GentlemanScript_0x7d9bf, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	object_event SPRITE_POKE_BALL, 15, 18, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, GoldenrodUndergroundWarehouseMaxEther, EVENT_GOLDENROD_UNDERGROUND_WAREHOUSE_MAX_ETHER
+	object_event SPRITE_POKE_BALL, 9, 13, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, GoldenrodUndergroundWarehouseTMSleepTalk, EVENT_GOLDENROD_UNDERGROUND_WAREHOUSE_TM_SLEEP_TALK
+	object_event SPRITE_POKE_BALL, 1, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, GoldenrodUndergroundWarehouseUltraBall, EVENT_GOLDENROD_UNDERGROUND_WAREHOUSE_ULTRA_BALL
--- /dev/null
+++ b/maps/GoldenrodUndergroundWarehouse.blk
@@ -1,0 +1,3 @@
+							
+



	
+










,.4





0

2//////-
\ No newline at end of file
--- a/maps/Route5.asm
+++ b/maps/Route5.asm
@@ -45,7 +45,7 @@
 
 .Warps:
 	db 4
-	warp_def $f, $11, 1, ROUTE_5_UNDERGROUND_ENTRANCE
+	warp_def $f, $11, 1, ROUTE_5_UNDERGROUND_PATH_ENTRANCE
 	warp_def $11, $8, 1, ROUTE_5_SAFFRON_CITY_GATE
 	warp_def $11, $9, 2, ROUTE_5_SAFFRON_CITY_GATE
 	warp_def $b, $a, 1, ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE
--- a/maps/Route5UndergroundEntrance.asm
+++ /dev/null
@@ -1,40 +1,0 @@
-const_value set 2
-	const ROUTE5UNDERGROUNDENTRANCE_TEACHER
-
-Route5UndergroundEntrance_MapScriptHeader:
-.SceneScripts:
-	db 0
-
-.MapCallbacks:
-	db 0
-
-Route5UndergroundEntranceTeacherScript:
-	jumptextfaceplayer Route5UndergroundEntranceTeacherText
-
-Route5UndergroundEntranceTeacherText:
-	text "Many cities in"
-	line "JOHTO have long"
-
-	para "histories. I'd"
-	line "love to visit!"
-	done
-
-Route5UndergroundEntrance_MapEventHeader:
-	; filler
-	db 0, 0
-
-.Warps:
-	db 3
-	warp_def $7, $3, 1, ROUTE_5
-	warp_def $7, $4, 1, ROUTE_5
-	warp_def $3, $4, 1, UNDERGROUND
-
-.CoordEvents:
-	db 0
-
-.BGEvents:
-	db 0
-
-.ObjectEvents:
-	db 1
-	object_event SPRITE_TEACHER, 2, 2, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, Route5UndergroundEntranceTeacherScript, -1
--- /dev/null
+++ b/maps/Route5UndergroundPathEntrance.asm
@@ -1,0 +1,40 @@
+const_value set 2
+	const ROUTE5UNDERGROUNDPATHENTRANCE_TEACHER
+
+Route5UndergroundPathEntrance_MapScriptHeader:
+.SceneScripts:
+	db 0
+
+.MapCallbacks:
+	db 0
+
+Route5UndergroundPathEntranceTeacherScript:
+	jumptextfaceplayer Route5UndergroundPathEntranceTeacherText
+
+Route5UndergroundPathEntranceTeacherText:
+	text "Many cities in"
+	line "JOHTO have long"
+
+	para "histories. I'd"
+	line "love to visit!"
+	done
+
+Route5UndergroundPathEntrance_MapEventHeader:
+	; filler
+	db 0, 0
+
+.Warps:
+	db 3
+	warp_def $7, $3, 1, ROUTE_5
+	warp_def $7, $4, 1, ROUTE_5
+	warp_def $3, $4, 1, UNDERGROUND_PATH
+
+.CoordEvents:
+	db 0
+
+.BGEvents:
+	db 0
+
+.ObjectEvents:
+	db 1
+	object_event SPRITE_TEACHER, 2, 2, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, Route5UndergroundPathEntranceTeacherScript, -1
--- a/maps/Route6.asm
+++ b/maps/Route6.asm
@@ -97,7 +97,7 @@
 
 .Warps:
 	db 2
-	warp_def $3, $11, 1, ROUTE_6_UNDERGROUND_ENTRANCE
+	warp_def $3, $11, 1, ROUTE_6_UNDERGROUND_PATH_ENTRANCE
 	warp_def $1, $6, 3, ROUTE_6_SAFFRON_GATE
 
 .CoordEvents:
--- a/maps/Route6UndergroundEntrance.asm
+++ /dev/null
@@ -1,25 +1,0 @@
-Route6UndergroundEntrance_MapScriptHeader:
-.SceneScripts:
-	db 0
-
-.MapCallbacks:
-	db 0
-
-Route6UndergroundEntrance_MapEventHeader:
-	; filler
-	db 0, 0
-
-.Warps:
-	db 3
-	warp_def $7, $3, 1, ROUTE_6
-	warp_def $7, $4, 1, ROUTE_6
-	warp_def $3, $4, 2, UNDERGROUND
-
-.CoordEvents:
-	db 0
-
-.BGEvents:
-	db 0
-
-.ObjectEvents:
-	db 0
--- /dev/null
+++ b/maps/Route6UndergroundPathEntrance.asm
@@ -1,0 +1,25 @@
+Route6UndergroundPathEntrance_MapScriptHeader:
+.SceneScripts:
+	db 0
+
+.MapCallbacks:
+	db 0
+
+Route6UndergroundPathEntrance_MapEventHeader:
+	; filler
+	db 0, 0
+
+.Warps:
+	db 3
+	warp_def $7, $3, 1, ROUTE_6
+	warp_def $7, $4, 1, ROUTE_6
+	warp_def $3, $4, 2, UNDERGROUND_PATH
+
+.CoordEvents:
+	db 0
+
+.BGEvents:
+	db 0
+
+.ObjectEvents:
+	db 0
--- a/maps/Underground.asm
+++ /dev/null
@@ -1,34 +1,0 @@
-Underground_MapScriptHeader:
-.SceneScripts:
-	db 0
-
-.MapCallbacks:
-	db 0
-
-UndergroundHiddenFullRestore:
-	dwb EVENT_UNDERGROUND_HIDDEN_FULL_RESTORE, FULL_RESTORE
-
-
-UndergroundHiddenXSpecial:
-	dwb EVENT_UNDERGROUND_HIDDEN_X_SPECIAL, X_SPECIAL
-
-
-Underground_MapEventHeader:
-	; filler
-	db 0, 0
-
-.Warps:
-	db 2
-	warp_def $2, $3, 3, ROUTE_5_UNDERGROUND_ENTRANCE
-	warp_def $18, $3, 3, ROUTE_6_UNDERGROUND_ENTRANCE
-
-.CoordEvents:
-	db 0
-
-.BGEvents:
-	db 2
-	bg_event 9, 3, BGEVENT_ITEM, UndergroundHiddenFullRestore
-	bg_event 19, 1, BGEVENT_ITEM, UndergroundHiddenXSpecial
-
-.ObjectEvents:
-	db 0
--- a/maps/Underground.blk
+++ /dev/null
@@ -1,2 +1,0 @@
-	
-










\ No newline at end of file
--- /dev/null
+++ b/maps/UndergroundPath.asm
@@ -1,0 +1,34 @@
+UndergroundPath_MapScriptHeader:
+.SceneScripts:
+	db 0
+
+.MapCallbacks:
+	db 0
+
+UndergroundPathHiddenFullRestore:
+	dwb EVENT_UNDERGROUND_PATH_HIDDEN_FULL_RESTORE, FULL_RESTORE
+
+
+UndergroundPathHiddenXSpecial:
+	dwb EVENT_UNDERGROUND_PATH_HIDDEN_X_SPECIAL, X_SPECIAL
+
+
+UndergroundPath_MapEventHeader:
+	; filler
+	db 0, 0
+
+.Warps:
+	db 2
+	warp_def $2, $3, 3, ROUTE_5_UNDERGROUND_PATH_ENTRANCE
+	warp_def $18, $3, 3, ROUTE_6_UNDERGROUND_PATH_ENTRANCE
+
+.CoordEvents:
+	db 0
+
+.BGEvents:
+	db 2
+	bg_event 9, 3, BGEVENT_ITEM, UndergroundPathHiddenFullRestore
+	bg_event 19, 1, BGEVENT_ITEM, UndergroundPathHiddenXSpecial
+
+.ObjectEvents:
+	db 0
--- /dev/null
+++ b/maps/UndergroundPath.blk
@@ -1,0 +1,2 @@
+	
+










\ No newline at end of file
--- a/maps/UndergroundPathSwitchRoomEntrances.asm
+++ /dev/null
@@ -1,976 +1,0 @@
-UNDERGROUND_DOOR_CLOSED1 EQU $2a
-UNDERGROUND_DOOR_CLOSED2 EQU $3e
-UNDERGROUND_DOOR_CLOSED3 EQU $3f
-UNDERGROUND_DOOR_OPEN1   EQU $2d
-UNDERGROUND_DOOR_OPEN2   EQU $3d
-
-ugdoor: macro
-\1_YCOORD EQU \2
-\1_XCOORD EQU \3
-endm
-
-	ugdoor UGDOOR_1,  $10, $06
-	ugdoor UGDOOR_2,  $0a, $06
-	ugdoor UGDOOR_3,  $02, $06
-	ugdoor UGDOOR_4,  $02, $0a
-	ugdoor UGDOOR_5,  $0a, $0a
-	ugdoor UGDOOR_6,  $10, $0a
-	ugdoor UGDOOR_7,  $0c, $06
-	ugdoor UGDOOR_8,  $0c, $08
-	ugdoor UGDOOR_9,  $06, $06
-	ugdoor UGDOOR_10, $06, $08
-	ugdoor UGDOOR_11, $0c, $0a
-	ugdoor UGDOOR_12, $0c, $0c
-	ugdoor UGDOOR_13, $06, $0a
-	ugdoor UGDOOR_14, $06, $0c
-	ugdoor UGDOOR_15, $12, $0a
-	ugdoor UGDOOR_16, $12, $0c
-
-doorstate: macro
-	changeblock UGDOOR_\1_YCOORD, UGDOOR_\1_XCOORD, UNDERGROUND_DOOR_\2
-endm
-
-const_value set 2
-	const UNDERGROUNDPATHSWITCHROOMENTRANCES_PHARMACIST1
-	const UNDERGROUNDPATHSWITCHROOMENTRANCES_PHARMACIST2
-	const UNDERGROUNDPATHSWITCHROOMENTRANCES_ROCKET1
-	const UNDERGROUNDPATHSWITCHROOMENTRANCES_ROCKET2
-	const UNDERGROUNDPATHSWITCHROOMENTRANCES_ROCKET3
-	const UNDERGROUNDPATHSWITCHROOMENTRANCES_ROCKET_GIRL
-	const UNDERGROUNDPATHSWITCHROOMENTRANCES_TEACHER
-	const UNDERGROUNDPATHSWITCHROOMENTRANCES_SUPER_NERD
-	const UNDERGROUNDPATHSWITCHROOMENTRANCES_POKE_BALL1
-	const UNDERGROUNDPATHSWITCHROOMENTRANCES_POKE_BALL2
-	const UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
-
-UndergroundPathSwitchRoomEntrances_MapScriptHeader:
-.SceneScripts:
-	db 2
-	scene_script .DummyScene0
-	scene_script .DummyScene1
-
-.MapCallbacks:
-	db 1
-	dbw MAPCALLBACK_TILES, .UpdateDoorPositions
-
-.DummyScene0:
-	end
-
-.DummyScene1:
-	end
-
-.UpdateDoorPositions:
-	checkevent EVENT_SWITCH_4
-	iffalse .false4
-	doorstate 1, OPEN1
-.false4
-	checkevent EVENT_SWITCH_5
-	iffalse .false5
-	doorstate 2, OPEN1
-.false5
-	checkevent EVENT_SWITCH_6
-	iffalse .false6
-	doorstate 3, OPEN1
-.false6
-	checkevent EVENT_SWITCH_7
-	iffalse .false7
-	doorstate 4, OPEN1
-.false7
-	checkevent EVENT_SWITCH_8
-	iffalse .false8
-	doorstate 5, OPEN1
-.false8
-	checkevent EVENT_SWITCH_9
-	iffalse .false9
-	doorstate 6, OPEN1
-.false9
-	checkevent EVENT_SWITCH_10
-	iffalse .false10
-	doorstate 7, CLOSED1
-	doorstate 8, OPEN1
-.false10
-	checkevent EVENT_SWITCH_11
-	iffalse .false11
-	doorstate 9, CLOSED1
-	doorstate 10, OPEN1
-.false11
-	checkevent EVENT_SWITCH_12
-	iffalse .false12
-	doorstate 11, CLOSED1
-	doorstate 12, OPEN1
-.false12
-	checkevent EVENT_SWITCH_13
-	iffalse .false13
-	doorstate 13, CLOSED1
-	doorstate 14, OPEN1
-.false13
-	checkevent EVENT_SWITCH_14
-	iffalse .false14
-	doorstate 15, CLOSED1
-	doorstate 16, OPEN1
-.false14
-	return
-
-SuperNerdScript_0x7ca7a:
-	jumptextfaceplayer UndergroundPathSwitchRoomEntrances_SuperNerdText
-
-TeacherScript_0x7ca7d:
-	jumptextfaceplayer UndergroundPathSwitchRoomEntrances_TeacherText
-
-UndergroundSilverScene1:
-	spriteface PLAYER, RIGHT
-	showemote EMOTE_SHOCK, PLAYER, 15
-	special Special_FadeOutMusic
-	pause 15
-	playsound SFX_EXIT_BUILDING
-	appear UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
-	waitsfx
-	applymovement UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER, UndergroundSilverApproachMovement1
-	spriteface PLAYER, RIGHT
-	scall UndergroundSilverBattleScript
-	applymovement UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER, UndergroundSilverRetreatMovement1
-	playsound SFX_EXIT_BUILDING
-	disappear UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
-	setscene 1
-	waitsfx
-	playmapmusic
-	end
-
-UndergroundSilverScene2:
-	spriteface PLAYER, RIGHT
-	showemote EMOTE_SHOCK, PLAYER, 15
-	special Special_FadeOutMusic
-	pause 15
-	playsound SFX_EXIT_BUILDING
-	appear UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
-	waitsfx
-	applymovement UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER, UndergroundSilverApproachMovement2
-	spriteface PLAYER, RIGHT
-	scall UndergroundSilverBattleScript
-	applymovement UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER, UndergroundSilverRetreatMovement2
-	playsound SFX_EXIT_BUILDING
-	disappear UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
-	setscene 1
-	waitsfx
-	playmapmusic
-	end
-
-UndergroundSilverBattleScript:
-	checkevent EVENT_RIVAL_BURNED_TOWER
-	iftrue .Continue
-	setevent EVENT_RIVAL_BURNED_TOWER
-	setmapscene BURNED_TOWER_1F, 1
-.Continue:
-	playmusic MUSIC_RIVAL_ENCOUNTER
-	opentext
-	writetext UndergroundSilverBeforeText
-	waitbutton
-	closetext
-	setevent EVENT_RIVAL_UNDERGROUND_PATH
-	checkevent EVENT_GOT_TOTODILE_FROM_ELM
-	iftrue .Totodile
-	checkevent EVENT_GOT_CHIKORITA_FROM_ELM
-	iftrue .Chikorita
-	winlosstext UndergroundSilverWinText, UndergroundSilverLossText
-	setlasttalked UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
-	loadtrainer RIVAL1, RIVAL1_4_TOTODILE
-	startbattle
-	dontrestartmapmusic
-	reloadmapafterbattle
-	jump .FinishRivalBattle
-
-.Totodile:
-	winlosstext UndergroundSilverWinText, UndergroundSilverLossText
-	setlasttalked UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
-	loadtrainer RIVAL1, RIVAL1_4_CHIKORITA
-	startbattle
-	dontrestartmapmusic
-	reloadmapafterbattle
-	jump .FinishRivalBattle
-
-.Chikorita:
-	winlosstext UndergroundSilverWinText, UndergroundSilverLossText
-	setlasttalked UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
-	loadtrainer RIVAL1, RIVAL1_4_CYNDAQUIL
-	startbattle
-	dontrestartmapmusic
-	reloadmapafterbattle
-	jump .FinishRivalBattle
-
-.FinishRivalBattle:
-	playmusic MUSIC_RIVAL_AFTER
-	opentext
-	writetext UndergroundSilverAfterText
-	waitbutton
-	closetext
-	end
-
-TrainerGruntM11:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_11, GRUNTM, GRUNTM_11, GruntM11SeenText, GruntM11BeatenText, 0, .Script
-
-.Script:
-	end_if_just_battled
-	opentext
-	writetext GruntM11AfterBattleText
-	waitbutton
-	closetext
-	end
-
-TrainerGruntM25:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_25, GRUNTM, GRUNTM_25, GruntM25SeenText, GruntM25BeatenText, 0, .Script
-
-.Script:
-	end_if_just_battled
-	opentext
-	writetext GruntM25AfterBattleText
-	waitbutton
-	closetext
-	end
-
-TrainerBurglarDuncan:
-	trainer EVENT_BEAT_BURGLAR_DUNCAN, BURGLAR, DUNCAN, BurglarDuncanSeenText, BurglarDuncanBeatenText, 0, .Script
-
-.Script:
-	end_if_just_battled
-	opentext
-	writetext BurglarDuncanAfterBattleText
-	waitbutton
-	closetext
-	end
-
-TrainerBurglarEddie:
-	trainer EVENT_BEAT_BURGLAR_EDDIE, BURGLAR, EDDIE, BurglarEddieSeenText, BurglarEddieBeatenText, 0, .Script
-
-.Script:
-	end_if_just_battled
-	opentext
-	writetext BurglarEddieAfterBattleText
-	waitbutton
-	closetext
-	end
-
-TrainerGruntM13:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_13, GRUNTM, GRUNTM_13, GruntM13SeenText, GruntM13BeatenText, 0, .Script
-
-.Script:
-	end_if_just_battled
-	opentext
-	writetext GruntM13AfterBattleText
-	waitbutton
-	closetext
-	end
-
-TrainerGruntF3:
-	trainer EVENT_BEAT_ROCKET_GRUNTF_3, GRUNTF, GRUNTF_3, GruntF3SeenText, GruntF3BeatenText, 0, .Script
-
-.Script:
-	end_if_just_battled
-	opentext
-	writetext GruntF3AfterBattleText
-	waitbutton
-	closetext
-	end
-
-Switch1Script:
-	opentext
-	writetext SwitchRoomText_Switch1
-	buttonsound
-	checkevent EVENT_SWITCH_1
-	iftrue .On
-	writetext SwitchRoomText_OffTurnOn
-	yesorno
-	iffalse UndergroundPathSwitchRoomEntrances_DontToggle
-	copybytetovar UndergroundSwitchPositions
-	addvar 1
-	copyvartobyte UndergroundSwitchPositions
-	setevent EVENT_SWITCH_1
-	jump UndergroundPathSwitchRoomEntrances_UpdateDoors
-
-.On:
-	writetext SwitchRoomText_OnTurnOff
-	yesorno
-	iffalse UndergroundPathSwitchRoomEntrances_DontToggle
-	copybytetovar UndergroundSwitchPositions
-	addvar -1
-	copyvartobyte UndergroundSwitchPositions
-	clearevent EVENT_SWITCH_1
-	jump UndergroundPathSwitchRoomEntrances_UpdateDoors
-
-Switch2Script:
-	opentext
-	writetext SwitchRoomText_Switch2
-	buttonsound
-	checkevent EVENT_SWITCH_2
-	iftrue .On
-	writetext SwitchRoomText_OffTurnOn
-	yesorno
-	iffalse UndergroundPathSwitchRoomEntrances_DontToggle
-	copybytetovar UndergroundSwitchPositions
-	addvar 2
-	copyvartobyte UndergroundSwitchPositions
-	setevent EVENT_SWITCH_2
-	jump UndergroundPathSwitchRoomEntrances_UpdateDoors
-
-.On:
-	writetext SwitchRoomText_OnTurnOff
-	yesorno
-	iffalse UndergroundPathSwitchRoomEntrances_DontToggle
-	copybytetovar UndergroundSwitchPositions
-	addvar -2
-	copyvartobyte UndergroundSwitchPositions
-	clearevent EVENT_SWITCH_2
-	jump UndergroundPathSwitchRoomEntrances_UpdateDoors
-
-Switch3Script:
-	opentext
-	writetext SwitchRoomText_Switch3
-	buttonsound
-	checkevent EVENT_SWITCH_3
-	iftrue .On
-	writetext SwitchRoomText_OffTurnOn
-	yesorno
-	iffalse UndergroundPathSwitchRoomEntrances_DontToggle
-	copybytetovar UndergroundSwitchPositions
-	addvar 3
-	copyvartobyte UndergroundSwitchPositions
-	setevent EVENT_SWITCH_3
-	jump UndergroundPathSwitchRoomEntrances_UpdateDoors
-
-.On:
-	writetext SwitchRoomText_OnTurnOff
-	yesorno
-	iffalse UndergroundPathSwitchRoomEntrances_DontToggle
-	copybytetovar UndergroundSwitchPositions
-	addvar -3
-	copyvartobyte UndergroundSwitchPositions
-	clearevent EVENT_SWITCH_3
-	jump UndergroundPathSwitchRoomEntrances_UpdateDoors
-
-EmergencySwitchScript:
-	opentext
-	writetext SwitchRoomText_Emergency
-	buttonsound
-	checkevent EVENT_EMERGENCY_SWITCH
-	iftrue .On
-	writetext SwitchRoomText_OffTurnOn
-	yesorno
-	iffalse UndergroundPathSwitchRoomEntrances_DontToggle
-	writebyte 7
-	copyvartobyte UndergroundSwitchPositions
-	setevent EVENT_EMERGENCY_SWITCH
-	setevent EVENT_SWITCH_1
-	setevent EVENT_SWITCH_2
-	setevent EVENT_SWITCH_3
-	jump UndergroundPathSwitchRoomEntrances_UpdateDoors
-
-.On:
-	writetext SwitchRoomText_OnTurnOff
-	yesorno
-	iffalse UndergroundPathSwitchRoomEntrances_DontToggle
-	writebyte 0
-	copyvartobyte UndergroundSwitchPositions
-	clearevent EVENT_EMERGENCY_SWITCH
-	clearevent EVENT_SWITCH_1
-	clearevent EVENT_SWITCH_2
-	clearevent EVENT_SWITCH_3
-	jump UndergroundPathSwitchRoomEntrances_UpdateDoors
-
-UndergroundPathSwitchRoomEntrances_DontToggle:
-	closetext
-	end
-
-UndergroundPathSwitchRoomEntrances_UpdateDoors:
-	copybytetovar UndergroundSwitchPositions
-	if_equal 0, .Position0
-	if_equal 1, .Position1
-	if_equal 2, .Position2
-	if_equal 3, .Position3
-	if_equal 4, .Position4
-	if_equal 5, .Position5
-	if_equal 6, .Position6
-	if_equal 7, .EmergencyPosition
-.Position0:
-	playsound SFX_ENTER_DOOR
-	scall .Clear4
-	scall .Clear5
-	scall .Clear6
-	scall .Clear7
-	scall .Clear8
-	scall .Clear9
-	scall .Clear10
-	scall .Clear11
-	scall .Clear12
-	scall .Clear13
-	scall .Clear14
-	reloadmappart
-	closetext
-	end
-
-.Position1:
-	playsound SFX_ENTER_DOOR
-	scall .Set4
-	scall .Set10
-	scall .Set13
-	scall .Clear9
-	scall .Clear11
-	scall .Clear12
-	scall .Clear14
-	reloadmappart
-	closetext
-	end
-
-.Position2:
-	playsound SFX_ENTER_DOOR
-	scall .Set5
-	scall .Set11
-	scall .Set12
-	scall .Clear8
-	scall .Clear10
-	scall .Clear13
-	scall .Clear14
-	reloadmappart
-	closetext
-	end
-
-.Position3:
-	playsound SFX_ENTER_DOOR
-	scall .Set6
-	scall .Set10
-	scall .Set13
-	scall .Clear7
-	scall .Clear11
-	scall .Clear12
-	scall .Clear14
-	reloadmappart
-	closetext
-	end
-
-.Position4:
-	playsound SFX_ENTER_DOOR
-	scall .Set7
-	scall .Set11
-	scall .Set12
-	scall .Clear6
-	scall .Clear10
-	scall .Clear13
-	scall .Clear14
-	reloadmappart
-	closetext
-	end
-
-.Position5:
-	playsound SFX_ENTER_DOOR
-	scall .Set8
-	scall .Set10
-	scall .Set13
-	scall .Clear5
-	scall .Clear11
-	scall .Clear12
-	scall .Clear14
-	reloadmappart
-	closetext
-	end
-
-.Position6:
-	playsound SFX_ENTER_DOOR
-	scall .Set9
-	scall .Set11
-	scall .Set12
-	scall .Set14
-	scall .Clear4
-	scall .Clear10
-	scall .Clear13
-	reloadmappart
-	closetext
-	end
-
-.EmergencyPosition:
-	playsound SFX_ENTER_DOOR
-	scall .Clear4
-	scall .Clear5
-	scall .Set6
-	scall .Clear7
-	scall .Set8
-	scall .Set9
-	scall .Clear10
-	scall .Set11
-	scall .Set12
-	scall .Clear13
-	scall .Set14
-	reloadmappart
-	closetext
-	writebyte 6
-	copyvartobyte UndergroundSwitchPositions
-	end
-
-.Set4:
-	doorstate 1, OPEN1
-	setevent EVENT_SWITCH_4
-	end
-
-.Set5:
-	doorstate 2, OPEN1
-	setevent EVENT_SWITCH_5
-	end
-
-.Set6:
-	doorstate 3, OPEN1
-	setevent EVENT_SWITCH_6
-	end
-
-.Set7:
-	doorstate 4, OPEN1
-	setevent EVENT_SWITCH_7
-	end
-
-.Set8:
-	doorstate 5, OPEN1
-	setevent EVENT_SWITCH_8
-	end
-
-.Set9:
-	doorstate 6, OPEN1
-	setevent EVENT_SWITCH_9
-	end
-
-.Set10:
-	doorstate 7, CLOSED1
-	doorstate 8, OPEN1
-	setevent EVENT_SWITCH_10
-	end
-
-.Set11:
-	doorstate 9, CLOSED1
-	doorstate 10, OPEN1
-	setevent EVENT_SWITCH_11
-	end
-
-.Set12:
-	doorstate 11, CLOSED1
-	doorstate 12, OPEN1
-	setevent EVENT_SWITCH_12
-	end
-
-.Set13:
-	doorstate 13, CLOSED1
-	doorstate 14, OPEN1
-	setevent EVENT_SWITCH_13
-	end
-
-.Set14:
-	doorstate 15, CLOSED1
-	doorstate 16, OPEN1
-	setevent EVENT_SWITCH_14
-	end
-
-.Clear4:
-	doorstate 1, CLOSED2
-	clearevent EVENT_SWITCH_4
-	end
-
-.Clear5:
-	doorstate 2, CLOSED2
-	clearevent EVENT_SWITCH_5
-	end
-
-.Clear6:
-	doorstate 3, CLOSED2
-	clearevent EVENT_SWITCH_6
-	end
-
-.Clear7:
-	doorstate 4, CLOSED2
-	clearevent EVENT_SWITCH_7
-	end
-
-.Clear8:
-	doorstate 5, CLOSED2
-	clearevent EVENT_SWITCH_8
-	end
-
-.Clear9:
-	doorstate 6, CLOSED2
-	clearevent EVENT_SWITCH_9
-	end
-
-.Clear10:
-	doorstate 7, CLOSED3
-	doorstate 8, OPEN2
-	clearevent EVENT_SWITCH_10
-	end
-
-.Clear11:
-	doorstate 9, CLOSED3
-	doorstate 10, OPEN2
-	clearevent EVENT_SWITCH_11
-	end
-
-.Clear12:
-	doorstate 11, CLOSED3
-	doorstate 12, OPEN2
-	clearevent EVENT_SWITCH_12
-	end
-
-.Clear13:
-	doorstate 13, CLOSED3
-	doorstate 14, OPEN2
-	clearevent EVENT_SWITCH_13
-	end
-
-.Clear14:
-	doorstate 15, CLOSED3
-	doorstate 16, OPEN2
-	clearevent EVENT_SWITCH_14
-	end
-
-UndergroundPathSwitchRoomEntrancesSmokeBall:
-	itemball SMOKE_BALL
-
-UndergroundPathSwitchRoomEntrancesFullHeal:
-	itemball FULL_HEAL
-
-UndergroundPathSwitchRoomEntrancesHiddenMaxPotion:
-	dwb EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_HIDDEN_MAX_POTION, MAX_POTION
-
-
-UndergroundPathSwitchRoomEntrancesHiddenRevive:
-	dwb EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_HIDDEN_REVIVE, REVIVE
-
-
-UndergroundSilverApproachMovement1:
-	step DOWN
-	step LEFT
-	step LEFT
-	step LEFT
-	step_end
-
-UndergroundSilverApproachMovement2:
-	step DOWN
-	step DOWN
-	step LEFT
-	step LEFT
-	step LEFT
-	step_end
-
-UndergroundSilverRetreatMovement1:
-	step RIGHT
-	step RIGHT
-	step RIGHT
-	step UP
-	step_end
-
-UndergroundSilverRetreatMovement2:
-	step RIGHT
-	step RIGHT
-	step RIGHT
-	step UP
-	step UP
-	step_end
-
-UndergroundSilverBeforeText:
-	text "Hold it!"
-
-	para "I saw you, so I"
-	line "tailed you."
-
-	para "I don't need you"
-	line "underfoot while I"
-
-	para "take care of TEAM"
-	line "ROCKET."
-
-	para "…Wait a second."
-	line "You beat me be-"
-	cont "fore, didn't you?"
-
-	para "That was just a"
-	line "fluke."
-
-	para "But I repay my"
-	line "debts!"
-	done
-
-UndergroundSilverWinText:
-	text "…Why…"
-	line "Why do I lose?"
-
-	para "I've assembled the"
-	line "toughest #MON."
-
-	para "I didn't ease up"
-	line "on the gas."
-
-	para "So why do I lose?"
-	done
-
-UndergroundSilverAfterText:
-	text "…I don't under-"
-	line "stand…"
-
-	para "Is what that LANCE"
-	line "guy said true?"
-
-	para "That I don't treat"
-	line "#MON properly?"
-
-	para "Love…"
-
-	para "Trust…"
-
-	para "Are they really"
-	line "what I lack?"
-
-	para "Are they keeping"
-	line "me from winning?"
-
-	para "I… I just don't"
-	line "understand."
-
-	para "But it's not going"
-	line "to end here."
-
-	para "Not now. Not"
-	line "because of this."
-
-	para "I won't give up my"
-	line "dream of becoming"
-
-	para "the world's best"
-	line "#MON trainer!"
-	done
-
-UndergroundSilverLossText:
-	text "Humph. This is my"
-	line "real power, wimp."
-
-	para "I'll make TEAM"
-	line "ROCKET history."
-
-	para "And I'm going to"
-	line "grind that LANCE"
-	cont "under my heels."
-	done
-
-UndergroundPathSwitchRoomEntrances_SuperNerdText:
-	text "I was challenged"
-	line "to a battle down-"
-	cont "stairs."
-
-	para "It's rough down"
-	line "there. You'd"
-	cont "better be careful."
-	done
-
-UndergroundPathSwitchRoomEntrances_TeacherText:
-	text "There are some"
-	line "shops downstairs…"
-
-	para "But there are"
-	line "also trainers."
-
-	para "I'm scared to go"
-	line "down there."
-	done
-
-GruntM11SeenText:
-	text "Open one shutter,"
-	line "another closes."
-
-	para "Bet you can't get"
-	line "where you want!"
-	done
-
-GruntM11BeatenText:
-	text "Drat! I was sunk"
-	line "by indecision!"
-	done
-
-GruntM11AfterBattleText:
-	text "I'm confused too…"
-	line "The switch on the"
-
-	para "end is the one to"
-	line "press first, but…"
-	done
-
-GruntM25SeenText:
-	text "Kwahaha!"
-
-	para "Confounded by the"
-	line "shutters, are we?"
-
-	para "I'll let you in on"
-	line "a secret if you"
-	cont "can beat me!"
-	done
-
-GruntM25BeatenText:
-	text "Uwww…"
-	line "I blew it."
-	done
-
-GruntM25AfterBattleText:
-	text "All right. A hint!"
-
-	para "Change the order"
-	line "of switching."
-
-	para "That'll change the"
-	line "ways the shutters"
-	cont "open and close."
-	done
-
-BurglarDuncanSeenText:
-	text "Fork over your"
-	line "goodies!"
-	done
-
-BurglarDuncanBeatenText:
-	text "Mercy!"
-	done
-
-BurglarDuncanAfterBattleText:
-	text "Steal and sell!"
-	line "That's basic in"
-	cont "crime, kid!"
-	done
-
-BurglarEddieSeenText:
-	text "They ditched this"
-	line "project before"
-	cont "they finished."
-
-	para "I'm searching for"
-	line "leftover loot."
-	done
-
-BurglarEddieBeatenText:
-	text "Over the top!"
-	done
-
-BurglarEddieAfterBattleText:
-	text "UNDERGROUND WARE-"
-	line "HOUSE?"
-
-	para "What do you want"
-	line "to go there for?"
-
-	para "There's nothing"
-	line "down there."
-	done
-
-GruntM13SeenText:
-	text "I don't care if"
-	line "you're lost."
-
-	para "You show up here,"
-	line "you're nothing but"
-	cont "a victim!"
-	done
-
-GruntM13BeatenText:
-	text "Urk! Yeah, think"
-	line "you're cool, huh?"
-	done
-
-GruntM13AfterBattleText:
-	text "You must have ice"
-	line "in your veins to"
-	cont "dis TEAM ROCKET."
-	done
-
-SwitchRoomText_Switch1:
-	text "It's labeled"
-	line "SWITCH 1."
-	done
-
-GruntF3SeenText:
-	text "Are you lost? No,"
-	line "you can't be."
-
-	para "You don't have"
-	line "that scared look."
-
-	para "I'll give you"
-	line "something to be"
-	cont "scared about!"
-	done
-
-GruntF3BeatenText:
-	text "How could you?"
-	done
-
-GruntF3AfterBattleText:
-	text "Go wherever you'd"
-	line "like! Get lost!"
-	cont "See if I care!"
-	done
-
-SwitchRoomText_OffTurnOn:
-	text "It's OFF."
-	line "Turn it ON?"
-	done
-
-SwitchRoomText_OnTurnOff:
-	text "It's ON."
-	line "Turn it OFF?"
-	done
-
-SwitchRoomText_Switch2:
-	text "It's labeled"
-	line "SWITCH 2."
-	done
-
-SwitchRoomText_Switch3:
-	text "It's labeled"
-	line "SWITCH 3."
-	done
-
-SwitchRoomText_Emergency:
-	text "It's labeled"
-	line "EMERGENCY."
-	done
-
-UndergroundPathSwitchRoomEntrances_MapEventHeader:
-	; filler
-	db 0, 0
-
-.Warps:
-	db 9
-	warp_def $3, $17, 6, WAREHOUSE_ENTRANCE
-	warp_def $a, $16, 1, UNDERGROUND_WAREHOUSE
-	warp_def $a, $17, 2, UNDERGROUND_WAREHOUSE
-	warp_def $19, $5, 2, WAREHOUSE_ENTRANCE
-	warp_def $1d, $4, 14, GOLDENROD_CITY
-	warp_def $1d, $5, 14, GOLDENROD_CITY
-	warp_def $19, $15, 1, WAREHOUSE_ENTRANCE
-	warp_def $1d, $14, 13, GOLDENROD_CITY
-	warp_def $1d, $15, 13, GOLDENROD_CITY
-
-.CoordEvents:
-	db 2
-	coord_event 0, $4, $13, UndergroundSilverScene1
-	coord_event 0, $5, $13, UndergroundSilverScene2
-
-.BGEvents:
-	db 6
-	bg_event 1, 16, BGEVENT_READ, Switch1Script
-	bg_event 1, 10, BGEVENT_READ, Switch2Script
-	bg_event 1, 2, BGEVENT_READ, Switch3Script
-	bg_event 11, 20, BGEVENT_READ, EmergencySwitchScript
-	bg_event 9, 8, BGEVENT_ITEM, UndergroundPathSwitchRoomEntrancesHiddenMaxPotion
-	bg_event 8, 1, BGEVENT_ITEM, UndergroundPathSwitchRoomEntrancesHiddenRevive
-
-.ObjectEvents:
-	db 11
-	object_event SPRITE_PHARMACIST, 12, 9, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 2, TrainerBurglarDuncan, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	object_event SPRITE_PHARMACIST, 8, 4, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 2, TrainerBurglarEddie, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	object_event SPRITE_ROCKET, 2, 17, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, TrainerGruntM13, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	object_event SPRITE_ROCKET, 2, 11, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, TrainerGruntM11, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	object_event SPRITE_ROCKET, 2, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, TrainerGruntM25, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	object_event SPRITE_ROCKET_GIRL, 12, 19, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 1, TrainerGruntF3, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	object_event SPRITE_TEACHER, 27, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, TeacherScript_0x7ca7d, -1
-	object_event SPRITE_SUPER_NERD, 27, 19, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SuperNerdScript_0x7ca7a, -1
-	object_event SPRITE_POKE_BALL, 12, 1, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, UndergroundPathSwitchRoomEntrancesSmokeBall, EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_SMOKE_BALL
-	object_event SPRITE_POKE_BALL, 9, 14, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, UndergroundPathSwitchRoomEntrancesFullHeal, EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_FULL_HEAL
-	object_event SPRITE_SILVER, 3, 23, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_RIVAL_UNDERGROUND_PATH
--- a/maps/UndergroundPathSwitchRoomEntrances.blk
+++ /dev/null
@@ -1,2 +1,0 @@
-*7**7*7***---*--*--*-)--------------*>*?*>?*>---=--=--*>*?*>?*>?7<---=--=--=--***********************




-((----
\ No newline at end of file
--- a/maps/UndergroundWarehouse.asm
+++ /dev/null
@@ -1,237 +1,0 @@
-const_value set 2
-	const UNDERGROUNDWAREHOUSE_ROCKET1
-	const UNDERGROUNDWAREHOUSE_ROCKET2
-	const UNDERGROUNDWAREHOUSE_ROCKET3
-	const UNDERGROUNDWAREHOUSE_GENTLEMAN
-	const UNDERGROUNDWAREHOUSE_POKE_BALL1
-	const UNDERGROUNDWAREHOUSE_POKE_BALL2
-	const UNDERGROUNDWAREHOUSE_POKE_BALL3
-
-UndergroundWarehouse_MapScriptHeader:
-.SceneScripts:
-	db 0
-
-.MapCallbacks:
-	db 1
-	dbw MAPCALLBACK_NEWMAP, .ResetSwitches
-
-.ResetSwitches:
-	clearevent EVENT_SWITCH_1
-	clearevent EVENT_SWITCH_2
-	clearevent EVENT_SWITCH_3
-	clearevent EVENT_EMERGENCY_SWITCH
-	clearevent EVENT_SWITCH_4
-	clearevent EVENT_SWITCH_5
-	clearevent EVENT_SWITCH_6
-	clearevent EVENT_SWITCH_7
-	clearevent EVENT_SWITCH_8
-	clearevent EVENT_SWITCH_9
-	clearevent EVENT_SWITCH_10
-	clearevent EVENT_SWITCH_11
-	clearevent EVENT_SWITCH_12
-	clearevent EVENT_SWITCH_13
-	clearevent EVENT_SWITCH_14
-	writebyte $0
-	copyvartobyte UndergroundSwitchPositions
-	return
-
-TrainerGruntM24:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_24, GRUNTM, GRUNTM_24, GruntM24SeenText, GruntM24BeatenText, 0, .Script
-
-.Script:
-	end_if_just_battled
-	opentext
-	writetext GruntM24AfterBattleText
-	waitbutton
-	closetext
-	end
-
-TrainerGruntM14:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_14, GRUNTM, GRUNTM_14, GruntM14SeenText, GruntM14BeatenText, 0, .Script
-
-.Script:
-	end_if_just_battled
-	opentext
-	writetext GruntM14AfterBattleText
-	waitbutton
-	closetext
-	end
-
-TrainerGruntM15:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_15, GRUNTM, GRUNTM_15, GruntM15SeenText, GruntM15BeatenText, 0, .Script
-
-.Script:
-	end_if_just_battled
-	opentext
-	writetext GruntM15AfterBattleText
-	waitbutton
-	closetext
-	end
-
-GentlemanScript_0x7d9bf:
-	faceplayer
-	opentext
-	checkevent EVENT_RECEIVED_CARD_KEY
-	iftrue UnknownScript_0x7d9de
-	writetext UnknownText_0x7dbc6
-	buttonsound
-	verbosegiveitem CARD_KEY
-	setevent EVENT_RECEIVED_CARD_KEY
-	setevent EVENT_WAREHOUSE_LAYOUT_1
-	clearevent EVENT_WAREHOUSE_LAYOUT_2
-	clearevent EVENT_WAREHOUSE_LAYOUT_3
-	writetext UnknownText_0x7dc5b
-	buttonsound
-UnknownScript_0x7d9de:
-	writetext UnknownText_0x7dc8d
-	waitbutton
-	closetext
-	end
-
-UndergroundWarehouseMaxEther:
-	itemball MAX_ETHER
-
-UndergroundWarehouseTMSleepTalk:
-	itemball TM_SLEEP_TALK
-
-UndergroundWarehouseUltraBall:
-	itemball ULTRA_BALL
-
-GruntM24SeenText:
-	text "How did you get"
-	line "this far?"
-
-	para "I guess it can't"
-	line "be helped. I'll"
-	cont "dispose of you."
-	done
-
-GruntM24BeatenText:
-	text "I got disposed of…"
-	done
-
-GruntM24AfterBattleText:
-	text "TEAM ROCKET will"
-	line "keep going, wait-"
-	cont "ing for the return"
-	cont "of GIOVANNI."
-
-	para "We'll do whatever"
-	line "it takes."
-	done
-
-GruntM14SeenText:
-	text "You're not going"
-	line "any farther!"
-
-	para "I don't show mercy"
-	line "to my enemies, not"
-	cont "even brats!"
-	done
-
-GruntM14BeatenText:
-	text "Blast it!"
-	done
-
-GruntM14AfterBattleText:
-	text "I lost…"
-
-	para "Please forgive me,"
-	line "GIOVANNI!"
-	done
-
-GruntM15SeenText:
-	text "Hyuck-hyuck-hyuck!"
-	line "I remember you!"
-
-	para "You got me good"
-	line "at our hideout!"
-	done
-
-GruntM15BeatenText:
-	text "Hyuck-hyuck-hyuck!"
-	line "So, that's how?"
-	done
-
-GruntM15AfterBattleText:
-	text "Hyuck-hyuck-hyuck!"
-	line "That was a blast!"
-	cont "I'll remember you!"
-	done
-
-UnknownText_0x7dbc6:
-	text "DIRECTOR: Who?"
-	line "What? You came to"
-	cont "rescue me?"
-
-	para "Thank you!"
-
-	para "The RADIO TOWER!"
-
-	para "What's happening"
-	line "there?"
-
-	para "Taken over by TEAM"
-	line "ROCKET?"
-
-	para "Here. Take this"
-	line "CARD KEY."
-	done
-
-UnknownText_0x7dc5b:
-	text "DIRECTOR: Use that"
-	line "to open the shut-"
-	cont "ters on 3F."
-	done
-
-UnknownText_0x7dc8d:
-	text "I'm begging you to"
-	line "help."
-
-	para "There's no telling"
-	line "what they'll do if"
-
-	para "they control the"
-	line "transmitter."
-
-	para "They may even be"
-	line "able to control"
-
-	para "#MON using a"
-	line "special signal!"
-
-	para "You're the only"
-	line "one I can call on."
-
-	para "Please save the"
-	line "RADIO TOWER…"
-
-	para "And all the #-"
-	line "MON nationwide!"
-	done
-
-UndergroundWarehouse_MapEventHeader:
-	; filler
-	db 0, 0
-
-.Warps:
-	db 3
-	warp_def $c, $2, 2, UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES
-	warp_def $c, $3, 3, UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES
-	warp_def $2, $11, 1, GOLDENROD_DEPT_STORE_B1F
-
-.CoordEvents:
-	db 0
-
-.BGEvents:
-	db 0
-
-.ObjectEvents:
-	db 7
-	object_event SPRITE_ROCKET, 8, 9, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, TrainerGruntM24, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	object_event SPRITE_ROCKET, 15, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, TrainerGruntM14, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	object_event SPRITE_ROCKET, 3, 14, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 4, TrainerGruntM15, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	object_event SPRITE_GENTLEMAN, 8, 12, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GentlemanScript_0x7d9bf, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	object_event SPRITE_POKE_BALL, 15, 18, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, UndergroundWarehouseMaxEther, EVENT_UNDERGROUND_WAREHOUSE_MAX_ETHER
-	object_event SPRITE_POKE_BALL, 9, 13, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, UndergroundWarehouseTMSleepTalk, EVENT_UNDERGROUND_WAREHOUSE_TM_SLEEP_TALK
-	object_event SPRITE_POKE_BALL, 1, 2, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, UndergroundWarehouseUltraBall, EVENT_UNDERGROUND_WAREHOUSE_ULTRA_BALL
--- a/maps/UndergroundWarehouse.blk
+++ /dev/null
@@ -1,3 +1,0 @@
-							
-



	
-










,.4





0

2//////-
\ No newline at end of file
--- a/maps/WarehouseEntrance.asm
+++ /dev/null
@@ -1,686 +1,0 @@
-const_value set 2
-	const WAREHOUSEENTRANCE_SUPER_NERD1
-	const WAREHOUSEENTRANCE_SUPER_NERD2
-	const WAREHOUSEENTRANCE_SUPER_NERD3
-	const WAREHOUSEENTRANCE_SUPER_NERD4
-	const WAREHOUSEENTRANCE_POKE_BALL
-	const WAREHOUSEENTRANCE_GRAMPS
-	const WAREHOUSEENTRANCE_SUPER_NERD5
-	const WAREHOUSEENTRANCE_SUPER_NERD6
-	const WAREHOUSEENTRANCE_GRANNY
-
-WarehouseEntrance_MapScriptHeader:
-.SceneScripts:
-	db 0
-
-.MapCallbacks:
-	db 3
-	dbw MAPCALLBACK_NEWMAP, .ResetSwitches
-	dbw MAPCALLBACK_TILES, .CheckBasementKey
-	dbw MAPCALLBACK_OBJECTS, .CheckDayOfWeek
-
-.ResetSwitches:
-	clearevent EVENT_SWITCH_1
-	clearevent EVENT_SWITCH_2
-	clearevent EVENT_SWITCH_3
-	clearevent EVENT_EMERGENCY_SWITCH
-	clearevent EVENT_SWITCH_4
-	clearevent EVENT_SWITCH_5
-	clearevent EVENT_SWITCH_6
-	clearevent EVENT_SWITCH_7
-	clearevent EVENT_SWITCH_8
-	clearevent EVENT_SWITCH_9
-	clearevent EVENT_SWITCH_10
-	clearevent EVENT_SWITCH_11
-	clearevent EVENT_SWITCH_12
-	clearevent EVENT_SWITCH_13
-	clearevent EVENT_SWITCH_14
-	writebyte $0
-	copyvartobyte UndergroundSwitchPositions
-	return
-
-.CheckBasementKey:
-	checkevent EVENT_USED_BASEMENT_KEY
-	iffalse .LockBasementDoor
-	return
-
-.LockBasementDoor:
-	changeblock $12, $6, $3d
-	return
-
-.CheckDayOfWeek:
-	checkcode VAR_WEEKDAY
-	if_equal MONDAY, .Monday
-	if_equal TUESDAY, .Tuesday
-	if_equal WEDNESDAY, .Wednesday
-	if_equal THURSDAY, .Thursday
-	if_equal FRIDAY, .Friday
-	if_equal SATURDAY, .Saturday
-
-.Sunday:
-	disappear WAREHOUSEENTRANCE_GRAMPS
-	disappear WAREHOUSEENTRANCE_SUPER_NERD5
-	appear WAREHOUSEENTRANCE_SUPER_NERD6
-	appear WAREHOUSEENTRANCE_GRANNY
-	return
-
-.Monday:
-	disappear WAREHOUSEENTRANCE_GRAMPS
-	checkmorn
-	iffalse .NotMondayMorning
-	appear WAREHOUSEENTRANCE_GRAMPS
-.NotMondayMorning:
-	disappear WAREHOUSEENTRANCE_SUPER_NERD5
-	disappear WAREHOUSEENTRANCE_SUPER_NERD6
-	disappear WAREHOUSEENTRANCE_GRANNY
-	return
-
-.Tuesday:
-	disappear WAREHOUSEENTRANCE_GRAMPS
-	appear WAREHOUSEENTRANCE_SUPER_NERD5
-	disappear WAREHOUSEENTRANCE_SUPER_NERD6
-	disappear WAREHOUSEENTRANCE_GRANNY
-	return
-
-.Wednesday:
-	disappear WAREHOUSEENTRANCE_GRAMPS
-	disappear WAREHOUSEENTRANCE_SUPER_NERD5
-	appear WAREHOUSEENTRANCE_SUPER_NERD6
-	disappear WAREHOUSEENTRANCE_GRANNY
-	return
-
-.Thursday:
-	disappear WAREHOUSEENTRANCE_GRAMPS
-	appear WAREHOUSEENTRANCE_SUPER_NERD5
-	disappear WAREHOUSEENTRANCE_SUPER_NERD6
-	disappear WAREHOUSEENTRANCE_GRANNY
-	return
-
-.Friday:
-	disappear WAREHOUSEENTRANCE_GRAMPS
-	disappear WAREHOUSEENTRANCE_SUPER_NERD5
-	appear WAREHOUSEENTRANCE_SUPER_NERD6
-	disappear WAREHOUSEENTRANCE_GRANNY
-	return
-
-.Saturday:
-	disappear WAREHOUSEENTRANCE_GRAMPS
-	appear WAREHOUSEENTRANCE_SUPER_NERD5
-	disappear WAREHOUSEENTRANCE_SUPER_NERD6
-	appear WAREHOUSEENTRANCE_GRANNY
-	return
-
-TrainerSupernerdEric:
-	trainer EVENT_BEAT_SUPER_NERD_ERIC, SUPER_NERD, ERIC, SupernerdEricSeenText, SupernerdEricBeatenText, 0, .Script
-
-.Script:
-	end_if_just_battled
-	opentext
-	writetext SupernerdEricAfterBattleText
-	waitbutton
-	closetext
-	end
-
-TrainerSupernerdTeru:
-	trainer EVENT_BEAT_SUPER_NERD_TERU, SUPER_NERD, TERU, SupernerdTeruSeenText, SupernerdTeruBeatenText, 0, .Script
-
-.Script:
-	end_if_just_battled
-	opentext
-	writetext SupernerdTeruAfterBattleText
-	waitbutton
-	closetext
-	end
-
-TrainerPokemaniacIssac:
-	trainer EVENT_BEAT_POKEMANIAC_ISSAC, POKEMANIAC, ISSAC, PokemaniacIssacSeenText, PokemaniacIssacBeatenText, 0, .Script
-
-.Script:
-	end_if_just_battled
-	opentext
-	writetext PokemaniacIssacAfterBattleText
-	waitbutton
-	closetext
-	end
-
-TrainerPokemaniacDonald:
-	trainer EVENT_BEAT_POKEMANIAC_DONALD, POKEMANIAC, DONALD, PokemaniacDonaldSeenText, PokemaniacDonaldBeatenText, 0, .Script
-
-.Script:
-	end_if_just_battled
-	opentext
-	writetext PokemaniacDonaldAfterBattleText
-	waitbutton
-	closetext
-	end
-
-GrannyScript_0x7c132:
-	opentext
-	checkcode VAR_WEEKDAY
-	if_equal SUNDAY, .Open
-	if_equal SATURDAY, .Open
-	jump WarehouseEntranceScript_ShopClosed
-
-.Open:
-	pokemart MARTTYPE_BITTER, MART_UNDERGROUND
-	closetext
-	end
-
-GrampsScript_0x7c146:
-	opentext
-	checkflag ENGINE_GOLDENROD_UNDERGROUND_MERCHANT_CLOSED
-	iftrue WarehouseEntranceScript_ShopClosed
-	checkcode VAR_WEEKDAY
-	if_equal MONDAY, .CheckMorn
-	jump WarehouseEntranceScript_ShopClosed
-
-.CheckMorn:
-	checkmorn
-	iffalse WarehouseEntranceScript_ShopClosed
-	pokemart MARTTYPE_BARGAIN, 0
-	closetext
-	end
-
-OlderHaircutBrotherScript:
-	opentext
-	checkcode VAR_WEEKDAY
-	if_equal TUESDAY, .DoHaircut
-	if_equal THURSDAY, .DoHaircut
-	if_equal SATURDAY, .DoHaircut
-	jump WarehouseEntranceScript_ShopClosed
-
-.DoHaircut:
-	checkflag ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
-	iftrue .AlreadyGotHaircut
-	special PlaceMoneyTopRight
-	writetext UnknownText_0x7c5f9
-	yesorno
-	iffalse .Refused
-	checkmoney $0, 500
-	if_equal $2, .NotEnoughMoney
-	writetext UnknownText_0x7c69a
-	buttonsound
-	special Special_YoungerHaircutBrother
-	if_equal $0, .Refused
-	if_equal $1, .Refused
-	setflag ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
-	if_equal $2, .two
-	if_equal $3, .three
-	jump .else
-
-.two
-	setevent EVENT_GAVE_KURT_APRICORNS
-	clearevent EVENT_RECEIVED_BALLS_FROM_KURT
-	clearevent EVENT_DRAGON_SHRINE_QUESTION_2
-	jump .then
-
-.three
-	clearevent EVENT_GAVE_KURT_APRICORNS
-	setevent EVENT_RECEIVED_BALLS_FROM_KURT
-	clearevent EVENT_DRAGON_SHRINE_QUESTION_2
-	jump .then
-
-.else
-	clearevent EVENT_GAVE_KURT_APRICORNS
-	clearevent EVENT_RECEIVED_BALLS_FROM_KURT
-	setevent EVENT_DRAGON_SHRINE_QUESTION_2
-	jump .then
-
-.then
-	takemoney $0, 500
-	special PlaceMoneyTopRight
-	writetext UnknownText_0x7c6b8
-	waitbutton
-	closetext
-	special FadeOutPalettes
-	playmusic MUSIC_HEAL
-	pause 60
-	special FadeInPalettes
-	special RestartMapMusic
-	opentext
-	writetext UnknownText_0x7c6d8
-	waitbutton
-	checkevent EVENT_GAVE_KURT_APRICORNS
-	iftrue UnknownScript_0x7c2bb
-	checkevent EVENT_RECEIVED_BALLS_FROM_KURT
-	iftrue UnknownScript_0x7c2c4
-	jump UnknownScript_0x7c2cd
-
-.Refused:
-	writetext UnknownText_0x7c6ea
-	waitbutton
-	closetext
-	end
-
-.NotEnoughMoney:
-	writetext UnknownText_0x7c709
-	waitbutton
-	closetext
-	end
-
-.AlreadyGotHaircut:
-	writetext UnknownText_0x7c72b
-	waitbutton
-	closetext
-	end
-
-YoungerHaircutBrotherScript:
-	opentext
-	checkcode VAR_WEEKDAY
-	if_equal SUNDAY, .DoHaircut
-	if_equal WEDNESDAY, .DoHaircut
-	if_equal FRIDAY, .DoHaircut
-	jump WarehouseEntranceScript_ShopClosed
-
-.DoHaircut:
-	checkflag ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
-	iftrue .AlreadyGotHaircut
-	special PlaceMoneyTopRight
-	writetext UnknownText_0x7c75c
-	yesorno
-	iffalse .Refused
-	checkmoney $0, 300
-	if_equal $2, .NotEnoughMoney
-	writetext UnknownText_0x7c7f1
-	buttonsound
-	special Special_OlderHaircutBrother
-	if_equal $0, .Refused
-	if_equal $1, .Refused
-	setflag ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
-	if_equal $2, .two
-	if_equal $3, .three
-	jump .else
-
-.two
-	setevent EVENT_GAVE_KURT_APRICORNS
-	clearevent EVENT_RECEIVED_BALLS_FROM_KURT
-	clearevent EVENT_DRAGON_SHRINE_QUESTION_2
-	jump .then
-
-.three
-	clearevent EVENT_GAVE_KURT_APRICORNS
-	setevent EVENT_RECEIVED_BALLS_FROM_KURT
-	clearevent EVENT_DRAGON_SHRINE_QUESTION_2
-	jump .then
-
-.else
-	clearevent EVENT_GAVE_KURT_APRICORNS
-	clearevent EVENT_RECEIVED_BALLS_FROM_KURT
-	setevent EVENT_DRAGON_SHRINE_QUESTION_2
-	jump .then
-
-.then
-	takemoney $0, 300
-	special PlaceMoneyTopRight
-	writetext UnknownText_0x7c80e
-	waitbutton
-	closetext
-	special FadeOutPalettes
-	playmusic MUSIC_HEAL
-	pause 60
-	special FadeInPalettes
-	special RestartMapMusic
-	opentext
-	writetext UnknownText_0x7c82a
-	waitbutton
-	checkevent EVENT_GAVE_KURT_APRICORNS
-	iftrue UnknownScript_0x7c2bb
-	checkevent EVENT_RECEIVED_BALLS_FROM_KURT
-	iftrue UnknownScript_0x7c2c4
-	jump UnknownScript_0x7c2cd
-
-.Refused:
-	writetext UnknownText_0x7c842
-	waitbutton
-	closetext
-	end
-
-.NotEnoughMoney:
-	writetext UnknownText_0x7c85b
-	waitbutton
-	closetext
-	end
-
-.AlreadyGotHaircut:
-	writetext UnknownText_0x7c87b
-	waitbutton
-	closetext
-	end
-
-UnknownScript_0x7c2bb:
-	writetext HaircutBrosText_SlightlyHappier
-	special PlayCurMonCry
-	waitbutton
-	closetext
-	end
-
-UnknownScript_0x7c2c4:
-	writetext HaircutBrosText_Happier
-	special PlayCurMonCry
-	waitbutton
-	closetext
-	end
-
-UnknownScript_0x7c2cd:
-	writetext HaircutBrosText_MuchHappier
-	special PlayCurMonCry
-	waitbutton
-	closetext
-	end
-
-BasementDoorScript::
-	opentext
-	checkevent EVENT_USED_BASEMENT_KEY
-	iftrue .Open
-	checkitem BASEMENT_KEY
-	iftrue .Unlock
-	writetext UnknownText_0x7c5b0
-	waitbutton
-	closetext
-	end
-
-.Unlock:
-	playsound SFX_TRANSACTION
-	writetext UnknownText_0x7c5d6
-	waitbutton
-	closetext
-	changeblock $12, $6, $2e
-	reloadmappart
-	closetext
-	setevent EVENT_USED_BASEMENT_KEY
-	end
-
-.Open:
-	writetext UnknownText_0x7c5c3
-	waitbutton
-	closetext
-	end
-
-WarehouseEntranceScript_ShopClosed:
-	writetext UnknownText_0x7c904
-	waitbutton
-	closetext
-	end
-
-WarehouseEntranceCoinCase:
-	itemball COIN_CASE
-
-MapWarehouseEntranceSignpost1Script:
-	jumptext UnknownText_0x7c91a
-
-WarehouseEntranceHiddenParlyzHeal:
-	dwb EVENT_WAREHOUSE_ENTRANCE_HIDDEN_PARLYZ_HEAL, PARLYZ_HEAL
-
-
-WarehouseEntranceHiddenSuperPotion:
-	dwb EVENT_WAREHOUSE_ENTRANCE_HIDDEN_SUPER_POTION, SUPER_POTION
-
-
-WarehouseEntranceHiddenAntidote:
-	dwb EVENT_WAREHOUSE_ENTRANCE_HIDDEN_ANTIDOTE, ANTIDOTE
-
-
-SupernerdEricSeenText:
-	text "I got booted out"
-	line "of the GAME COR-"
-	cont "NER."
-
-	para "I was trying to"
-	line "cheat using my"
-	cont "#MON…"
-	done
-
-SupernerdEricBeatenText:
-	text "…Grumble…"
-	done
-
-SupernerdEricAfterBattleText:
-	text "I guess I have to"
-	line "do things fair and"
-	cont "square…"
-	done
-
-SupernerdTeruSeenText:
-	text "Do you consider"
-	line "type alignments in"
-	cont "battle?"
-
-	para "If you know your"
-	line "type advantages,"
-
-	para "you'll do better"
-	line "in battle."
-	done
-
-SupernerdTeruBeatenText:
-	text "Ow, ow, ow!"
-	done
-
-SupernerdTeruAfterBattleText:
-	text "I know my #MON"
-	line "type alignments."
-
-	para "But I only use one"
-	line "type of #MON."
-	done
-
-PokemaniacIssacSeenText:
-	text "My #MON just"
-	line "got a haircut!"
-
-	para "I'll show you how"
-	line "strong it is!"
-	done
-
-PokemaniacIssacBeatenText:
-	text "Aiyeeee!"
-	done
-
-PokemaniacIssacAfterBattleText:
-	text "Your #MON will"
-	line "like you more if"
-
-	para "you give them"
-	line "haircuts."
-	done
-
-PokemaniacDonaldSeenText:
-	text "I think you have"
-	line "some rare #MON"
-	cont "with you."
-
-	para "Let me see them!"
-	done
-
-PokemaniacDonaldBeatenText:
-	text "Gaah! I lost!"
-	line "That makes me mad!"
-	done
-
-PokemaniacDonaldAfterBattleText:
-	text "Are you making a"
-	line "#DEX? Here's a"
-	cont "hot tip."
-
-	para "The HIKER on ROUTE"
-	line "33, ANTHONY, is a"
-	cont "good guy."
-
-	para "He'll phone you if"
-	line "he sees any rare"
-	cont "#MON."
-	done
-
-UnknownText_0x7c5b0:
-	text "The door's locked…"
-	done
-
-UnknownText_0x7c5c3:
-	text "The door is open."
-	done
-
-UnknownText_0x7c5d6:
-	text "The BASEMENT KEY"
-	line "opened the door."
-	done
-
-UnknownText_0x7c5f9:
-	text "Welcome!"
-
-	para "I run the #MON"
-	line "SALON!"
-
-	para "I'm the older and"
-	line "better of the two"
-	cont "HAIRCUT BROTHERS."
-
-	para "I can make your"
-	line "#MON beautiful"
-	cont "for just ¥500."
-
-	para "Would you like me"
-	line "to do that?"
-	done
-
-UnknownText_0x7c69a:
-	text "Which #MON"
-	line "should I work on?"
-	done
-
-UnknownText_0x7c6b8:
-	text "OK! Watch it"
-	line "become beautiful!"
-	done
-
-UnknownText_0x7c6d8:
-	text "There! All done!"
-	done
-
-UnknownText_0x7c6ea:
-	text "Is that right?"
-	line "That's a shame!"
-	done
-
-UnknownText_0x7c709:
-	text "You'll need more"
-	line "money than that."
-	done
-
-UnknownText_0x7c72b:
-	text "I do only one"
-	line "haircut a day. I'm"
-	cont "done for today."
-	done
-
-UnknownText_0x7c75c:
-	text "Welcome to the"
-	line "#MON SALON!"
-
-	para "I'm the younger"
-	line "and less expen-"
-	cont "sive of the two"
-	cont "HAIRCUT BROTHERS."
-
-	para "I'll spiff up your"
-	line "#MON for just"
-	cont "¥300."
-
-	para "So? How about it?"
-	done
-
-UnknownText_0x7c7f1:
-	text "OK, which #MON"
-	line "should I do?"
-	done
-
-UnknownText_0x7c80e:
-	text "OK! I'll make it"
-	line "look cool!"
-	done
-
-UnknownText_0x7c82a:
-	text "There we go!"
-	line "All done!"
-	done
-
-UnknownText_0x7c842:
-	text "No? "
-	line "How disappointing!"
-	done
-
-UnknownText_0x7c85b:
-	text "You're a little"
-	line "short on funds."
-	done
-
-UnknownText_0x7c87b:
-	text "I can do only one"
-	line "haircut a day."
-
-	para "Sorry, but I'm all"
-	line "done for today."
-	done
-
-HaircutBrosText_SlightlyHappier:
-	text_from_ram StringBuffer3
-	text " looks a"
-	line "little happier."
-	done
-
-HaircutBrosText_Happier:
-	text_from_ram StringBuffer3
-	text " looks"
-	line "happy."
-	done
-
-HaircutBrosText_MuchHappier:
-	text_from_ram StringBuffer3
-	text " looks"
-	line "delighted!"
-	done
-
-UnknownText_0x7c904:
-	text "We're not open"
-	line "today."
-	done
-
-UnknownText_0x7c91a:
-	text "NO ENTRY BEYOND"
-	line "THIS POINT"
-	done
-
-WarehouseEntrance_MapEventHeader:
-	; filler
-	db 0, 0
-
-.Warps:
-	db 6
-	warp_def $2, $3, 7, UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES
-	warp_def $22, $3, 4, UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES
-	warp_def $6, $12, 4, WAREHOUSE_ENTRANCE
-	warp_def $1f, $15, 3, WAREHOUSE_ENTRANCE
-	warp_def $1f, $16, 3, WAREHOUSE_ENTRANCE
-	warp_def $1b, $16, 1, UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES
-
-.CoordEvents:
-	db 0
-
-.BGEvents:
-	db 5
-	bg_event 6, 18, BGEVENT_READ, BasementDoorScript
-	bg_event 6, 19, BGEVENT_READ, MapWarehouseEntranceSignpost1Script
-	bg_event 13, 6, BGEVENT_ITEM, WarehouseEntranceHiddenParlyzHeal
-	bg_event 18, 4, BGEVENT_ITEM, WarehouseEntranceHiddenSuperPotion
-	bg_event 8, 17, BGEVENT_ITEM, WarehouseEntranceHiddenAntidote
-
-.ObjectEvents:
-	db 9
-	object_event SPRITE_SUPER_NERD, 31, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 3, TrainerSupernerdEric, -1
-	object_event SPRITE_SUPER_NERD, 9, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 2, TrainerSupernerdTeru, -1
-	object_event SPRITE_SUPER_NERD, 27, 3, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 2, TrainerPokemaniacIssac, -1
-	object_event SPRITE_SUPER_NERD, 6, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerPokemaniacDonald, -1
-	object_event SPRITE_POKE_BALL, 25, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, WarehouseEntranceCoinCase, EVENT_WAREHOUSE_ENTRANCE_COIN_CASE
-	object_event SPRITE_GRAMPS, 11, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, GrampsScript_0x7c146, EVENT_WAREHOUSE_ENTRANCE_GRAMPS
-	object_event SPRITE_SUPER_NERD, 14, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, OlderHaircutBrotherScript, EVENT_WAREHOUSE_ENTRANCE_OLDER_HAIRCUT_BROTHER
-	object_event SPRITE_SUPER_NERD, 15, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, YoungerHaircutBrotherScript, EVENT_WAREHOUSE_ENTRANCE_YOUNGER_HAIRCUT_BROTHER
-	object_event SPRITE_GRANNY, 21, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, GrannyScript_0x7c132, EVENT_WAREHOUSE_ENTRANCE_GRANNY
--- a/maps/WarehouseEntrance.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-''''''''''''''1:''''''''''''''''''''''''''.'''''':''''''''''852''''''''''''83''''''''''''852''''''''''''3'''''''''''':''''''''''''852''''''''''''83''''''''''''8''''''''''''''4;+'''5''''''<0
'''5''''''%&''''''''''''''''1''''''''''''
\ No newline at end of file
--- a/maps/blockdata.asm
+++ b/maps/blockdata.asm
@@ -462,8 +462,8 @@
 NationalParkBugContest_BlockData:
 	INCBIN "maps/NationalPark.blk"
 
-Route6UndergroundEntrance_BlockData:
-Route5UndergroundEntrance_BlockData:
+Route5UndergroundPathEntrance_BlockData:
+Route6UndergroundPathEntrance_BlockData:
 	INCBIN "maps/UndergroundPathEntrance.blk"
 
 BetaPokecenterTradeStation_BlockData:
@@ -571,17 +571,17 @@
 Route18_BlockData:
 	INCBIN "maps/Route18.blk"
 
-WarehouseEntrance_BlockData:
-	INCBIN "maps/WarehouseEntrance.blk"
+GoldenrodUnderground_BlockData:
+	INCBIN "maps/GoldenrodUnderground.blk"
 
-UndergroundPathSwitchRoomEntrances_BlockData:
-	INCBIN "maps/UndergroundPathSwitchRoomEntrances.blk"
+GoldenrodUndergroundSwitchRoomEntrances_BlockData:
+	INCBIN "maps/GoldenrodUndergroundSwitchRoomEntrances.blk"
 
 GoldenrodDeptStoreB1F_BlockData:
 	INCBIN "maps/GoldenrodDeptStoreB1F.blk"
 
-UndergroundWarehouse_BlockData:
-	INCBIN "maps/UndergroundWarehouse.blk"
+GoldenrodUndergroundWarehouse_BlockData:
+	INCBIN "maps/GoldenrodUndergroundWarehouse.blk"
 
 BetaElevator_BlockData:
 	INCBIN "maps/BetaElevator.blk"
@@ -953,8 +953,8 @@
 SafariZoneBeta_BlockData:
 	INCBIN "maps/SafariZoneBeta.blk"
 
-Underground_BlockData:
-	INCBIN "maps/Underground.blk"
+UndergroundPath_BlockData:
+	INCBIN "maps/UndergroundPath.blk"
 
 Route39Barn_BlockData:
 	INCBIN "maps/Route39Barn.blk"
--- a/maps/map_headers.asm
+++ b/maps/map_headers.asm
@@ -124,10 +124,10 @@
 	map_header TeamRocketBaseB2F, TILESET_POWER_PLANT, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 1, PALETTE_DAY, FISHGROUP_SHORE
 	map_header TeamRocketBaseB3F, TILESET_POWER_PLANT, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 1, PALETTE_DAY, FISHGROUP_SHORE
 	map_header IlexForest, TILESET_ILEX_FOREST, CAVE, ILEX_FOREST, MUSIC_UNION_CAVE, 0, PALETTE_NITE, FISHGROUP_POND
-	map_header WarehouseEntrance, TILESET_GATE, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
-	map_header UndergroundPathSwitchRoomEntrances, TILESET_GYM_1, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
+	map_header GoldenrodUnderground, TILESET_GATE, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
+	map_header GoldenrodUndergroundSwitchRoomEntrances, TILESET_GYM_1, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
 	map_header GoldenrodDeptStoreB1F, TILESET_UNDERGROUND, DUNGEON, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
-	map_header UndergroundWarehouse, TILESET_UNDERGROUND, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
+	map_header GoldenrodUndergroundWarehouse, TILESET_UNDERGROUND, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
 	map_header MountMortar1FOutside, TILESET_WHIRL_ISLANDS, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, PALETTE_NITE, FISHGROUP_LAKE
 	map_header MountMortar1FInside, TILESET_WHIRL_ISLANDS, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, PALETTE_NITE, FISHGROUP_LAKE
 	map_header MountMortar2FInside, TILESET_WHIRL_ISLANDS, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, PALETTE_NITE, FISHGROUP_LAKE
@@ -157,7 +157,7 @@
 	map_header TohjoFalls, TILESET_CAVE, CAVE, TOHJO_FALLS, MUSIC_UNION_CAVE, 1, PALETTE_NITE, FISHGROUP_LAKE
 	map_header DiglettsCave, TILESET_CAVE, CAVE, DIGLETTS_CAVE, MUSIC_MT_MOON, 1, PALETTE_NITE, FISHGROUP_SHORE
 	map_header MountMoon, TILESET_CAVE, CAVE, MT_MOON, MUSIC_MT_MOON, 1, PALETTE_NITE, FISHGROUP_SHORE
-	map_header Underground, TILESET_UNDERGROUND, GATE, UNDERGROUND, MUSIC_MT_MOON, 0, PALETTE_NITE, FISHGROUP_SHORE
+	map_header UndergroundPath, TILESET_UNDERGROUND, GATE, UNDERGROUND_PATH, MUSIC_MT_MOON, 0, PALETTE_NITE, FISHGROUP_SHORE
 	map_header RockTunnel1F, TILESET_WHIRL_ISLANDS, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, 1, PALETTE_DARK, FISHGROUP_SHORE
 	map_header RockTunnelB1F, TILESET_WHIRL_ISLANDS, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, 1, PALETTE_DARK, FISHGROUP_SHORE
 	map_header SafariZoneFuchsiaGateBeta, TILESET_GATE, INDOOR, FUCHSIA_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
@@ -300,7 +300,7 @@
 	map_header VermilionHouseDiglettsCaveSpeechHouse, TILESET_HOUSE_1, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
 	map_header VermilionGym, TILESET_GAME_CORNER, INDOOR, VERMILION_CITY, MUSIC_GYM, 1, PALETTE_DAY, FISHGROUP_SHORE
 	map_header Route6SaffronGate, TILESET_GATE, GATE, ROUTE_6, MUSIC_ROUTE_3, 0, PALETTE_DAY, FISHGROUP_SHORE
-	map_header Route6UndergroundEntrance, TILESET_GATE, GATE, ROUTE_6, MUSIC_ROUTE_3, 0, PALETTE_DAY, FISHGROUP_SHORE
+	map_header Route6UndergroundPathEntrance, TILESET_GATE, GATE, ROUTE_6, MUSIC_ROUTE_3, 0, PALETTE_DAY, FISHGROUP_SHORE
 
 
 MapGroup_Pallet:
@@ -491,7 +491,7 @@
 	map_header SilphCo1F, TILESET_POWER_PLANT, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
 	map_header CopycatsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
 	map_header CopycatsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
-	map_header Route5UndergroundEntrance, TILESET_GATE, GATE, ROUTE_5, MUSIC_ROUTE_3, 0, PALETTE_DAY, FISHGROUP_SHORE
+	map_header Route5UndergroundPathEntrance, TILESET_GATE, GATE, ROUTE_5, MUSIC_ROUTE_3, 0, PALETTE_DAY, FISHGROUP_SHORE
 	map_header Route5SaffronCityGate, TILESET_GATE, GATE, ROUTE_5, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
 	map_header Route5CleanseTagSpeechHouse, TILESET_HOUSE_1, INDOOR, ROUTE_5, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
 
--- a/maps/second_map_headers.asm
+++ b/maps/second_map_headers.asm
@@ -416,10 +416,10 @@
 	map_header_2 TeamRocketBaseB2F, TEAM_ROCKET_BASE_B2F, $0, 0
 	map_header_2 TeamRocketBaseB3F, TEAM_ROCKET_BASE_B3F, $0, 0
 	map_header_2 IlexForest, ILEX_FOREST, $5, 0
-	map_header_2 WarehouseEntrance, WAREHOUSE_ENTRANCE, $0, 0
-	map_header_2 UndergroundPathSwitchRoomEntrances, UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES, $0, 0
+	map_header_2 GoldenrodUnderground, GOLDENROD_UNDERGROUND, $0, 0
+	map_header_2 GoldenrodUndergroundSwitchRoomEntrances, GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, $0, 0
 	map_header_2 GoldenrodDeptStoreB1F, GOLDENROD_DEPT_STORE_B1F, $0, 0
-	map_header_2 UndergroundWarehouse, UNDERGROUND_WAREHOUSE, $0, 0
+	map_header_2 GoldenrodUndergroundWarehouse, GOLDENROD_UNDERGROUND_WAREHOUSE, $0, 0
 	map_header_2 MountMortar1FOutside, MOUNT_MORTAR_1F_OUTSIDE, $9, 0
 	map_header_2 MountMortar1FInside, MOUNT_MORTAR_1F_INSIDE, $9, 0
 	map_header_2 MountMortar2FInside, MOUNT_MORTAR_2F_INSIDE, $9, 0
@@ -464,7 +464,7 @@
 	map_header_2 Route42EcruteakGate, ROUTE_42_ECRUTEAK_GATE, $0, 0
 	map_header_2 DiglettsCave, DIGLETTS_CAVE, $9, 0
 	map_header_2 MountMoon, MOUNT_MOON, $9, 0
-	map_header_2 Underground, UNDERGROUND, $0, 0
+	map_header_2 UndergroundPath, UNDERGROUND_PATH, $0, 0
 	map_header_2 RockTunnel1F, ROCK_TUNNEL_1F, $9, 0
 	map_header_2 RockTunnelB1F, ROCK_TUNNEL_B1F, $9, 0
 	map_header_2 SafariZoneFuchsiaGateBeta, SAFARI_ZONE_FUCHSIA_GATE_BETA, $0, 0
@@ -552,7 +552,7 @@
 	map_header_2 VermilionHouseDiglettsCaveSpeechHouse, VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE, $0, 0
 	map_header_2 VermilionGym, VERMILION_GYM, $0, 0
 	map_header_2 Route6SaffronGate, ROUTE_6_SAFFRON_GATE, $0, 0
-	map_header_2 Route6UndergroundEntrance, ROUTE_6_UNDERGROUND_ENTRANCE, $0, 0
+	map_header_2 Route6UndergroundPathEntrance, ROUTE_6_UNDERGROUND_PATH_ENTRANCE, $0, 0
 	map_header_2 RedsHouse1F, REDS_HOUSE_1F, $0, 0
 	map_header_2 RedsHouse2F, REDS_HOUSE_2F, $0, 0
 	map_header_2 BluesHouse, BLUES_HOUSE, $0, 0
@@ -672,7 +672,7 @@
 	map_header_2 SilphCo1F, SILPH_CO_1F, $0, 0
 	map_header_2 CopycatsHouse1F, COPYCATS_HOUSE_1F, $0, 0
 	map_header_2 CopycatsHouse2F, COPYCATS_HOUSE_2F, $0, 0
-	map_header_2 Route5UndergroundEntrance, ROUTE_5_UNDERGROUND_ENTRANCE, $0, 0
+	map_header_2 Route5UndergroundPathEntrance, ROUTE_5_UNDERGROUND_PATH_ENTRANCE, $0, 0
 	map_header_2 Route5SaffronCityGate, ROUTE_5_SAFFRON_CITY_GATE, $0, 0
 	map_header_2 Route5CleanseTagSpeechHouse, ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE, $0, 0
 	map_header_2 CherrygroveMart, CHERRYGROVE_MART, $0, 0
--- a/wram.asm
+++ b/wram.asm
@@ -2427,85 +2427,85 @@
 	ds 13
 
 ; map scene ids
-wPokecenter2FSceneID::                       db ; d972
-wTradeCenterSceneID::                        db ; d973
-wColosseumSceneID::                          db ; d974
-wTimeCapsuleSceneID::                        db ; d975
-wPowerPlantSceneID::                         db ; d976
-wCeruleanGymSceneID::                        db ; d977
-wRoute25SceneID::                            db ; d978
-wTrainerHouseB1FSceneID::                    db ; d979
-wVictoryRoadGateSceneID::                    db ; d97a
-wSaffronTrainStationSceneID::                db ; d97b
-wRoute16GateSceneID::                        db ; d97c
-wRoute1718GateSceneID::                      db ; d97d
-wIndigoPlateauPokecenter1FSceneID::          db ; d97e
-wWillsRoomSceneID::                          db ; d97f
-wKogasRoomSceneID::                          db ; d980
-wBrunosRoomSceneID::                         db ; d981
-wKarensRoomSceneID::                         db ; d982
-wLancesRoomSceneID::                         db ; d983
-wHallOfFameSceneID::                         db ; d984
-wRoute27SceneID::                            db ; d985
-wNewBarkTownSceneID::                        db ; d986
-wElmsLabSceneID::                            db ; d987
-wKrissHouse1FSceneID::                       db ; d988
-wRoute29SceneID::                            db ; d989
-wCherrygroveCitySceneID::                    db ; d98a
-wMrPokemonsHouseSceneID::                    db ; d98b
-wRoute32SceneID::                            db ; d98c
-wRoute35NationalParkGateSceneID::            db ; d98d
-wRoute36SceneID::                            db ; d98e
-wRoute36NationalParkGateSceneID::            db ; d98f
-wAzaleaTownSceneID::                         db ; d990
-wGoldenrodGymSceneID::                       db ; d991
-wGoldenrodMagnetTrainStationSceneID::        db ; d992
-wGoldenrodPokecenter1FSceneID::              db ; d993
-wOlivineCitySceneID::                        db ; d994
-wRoute34SceneID::                            db ; d995
-wRoute34IlexForestGateSceneID::              db ; d996
-wEcruteakHouseSceneID::                      db ; d997
-wWiseTriosRoomSceneID::                      db ; d998
-wEcruteakPokecenter1FSceneID::               db ; d999
-wEcruteakGymSceneID::                        db ; d99a
-wMahoganyTownSceneID::                       db ; d99b
-wRoute42SceneID::                            db ; d99c
-wCianwoodCitySceneID::                       db ; d99d
-wBattleTower1FSceneID::                      db ; d99e
-wBattleTowerBattleRoomSceneID::              db ; d99f
-wBattleTowerElevatorSceneID::                db ; d9a0
-wBattleTowerHallwaySceneID::                 db ; d9a1
-wBattleTowerOutsideSceneID::                 db ; d9a2
-wRoute43GateSceneID::                        db ; d9a3
-wMountMoonSceneID::                          db ; d9a4
-wSproutTower3FSceneID::                      db ; d9a5
-wTinTower1FSceneID::                         db ; d9a6
-wBurnedTower1FSceneID::                      db ; d9a7
-wBurnedTowerB1FSceneID::                     db ; d9a8
-wRadioTower5FSceneID::                       db ; d9a9
-wRuinsOfAlphOutsideSceneID::                 db ; d9aa
-wRuinsOfAlphResearchCenterSceneID::          db ; d9ab
-wRuinsOfAlphHoOhChamberSceneID::             db ; d9ac
-wRuinsOfAlphKabutoChamberSceneID::           db ; d9ad
-wRuinsOfAlphOmanyteChamberSceneID::          db ; d9ae
-wRuinsOfAlphAerodactylChamberSceneID::       db ; d9af
-wRuinsOfAlphInnerChamberSceneID::            db ; d9b0
-wMahoganyMart1FSceneID::                     db ; d9b1
-wTeamRocketBaseB1FSceneID::                  db ; d9b2
-wTeamRocketBaseB2FSceneID::                  db ; d9b3
-wTeamRocketBaseB3FSceneID::                  db ; d9b4
-wUndergroundPathSwitchRoomEntrancesSceneID:: db ; d9b5
-wSilverCaveRoom3SceneID::                    db ; d9b6
-wVictoryRoadSceneID::                        db ; d9b7
-wDragonsDenB1FSceneID::                      db ; d9b8
-wDragonShrineSceneID::                       db ; d9b9
-wOlivinePortSceneID::                        db ; d9ba
-wVermilionPortSceneID::                      db ; d9bb
-wFastShip1FSceneID::                         db ; d9bc
-wFastShipB1FSceneID::                        db ; d9bd
-wMountMoonSquareSceneID::                    db ; d9be
-wMobileTradeRoomMobileSceneID::              db ; d9bf
-wMobileBattleRoomSceneID::                   db ; d9c0
+wPokecenter2FSceneID::                            db ; d972
+wTradeCenterSceneID::                             db ; d973
+wColosseumSceneID::                               db ; d974
+wTimeCapsuleSceneID::                             db ; d975
+wPowerPlantSceneID::                              db ; d976
+wCeruleanGymSceneID::                             db ; d977
+wRoute25SceneID::                                 db ; d978
+wTrainerHouseB1FSceneID::                         db ; d979
+wVictoryRoadGateSceneID::                         db ; d97a
+wSaffronTrainStationSceneID::                     db ; d97b
+wRoute16GateSceneID::                             db ; d97c
+wRoute1718GateSceneID::                           db ; d97d
+wIndigoPlateauPokecenter1FSceneID::               db ; d97e
+wWillsRoomSceneID::                               db ; d97f
+wKogasRoomSceneID::                               db ; d980
+wBrunosRoomSceneID::                              db ; d981
+wKarensRoomSceneID::                              db ; d982
+wLancesRoomSceneID::                              db ; d983
+wHallOfFameSceneID::                              db ; d984
+wRoute27SceneID::                                 db ; d985
+wNewBarkTownSceneID::                             db ; d986
+wElmsLabSceneID::                                 db ; d987
+wKrissHouse1FSceneID::                            db ; d988
+wRoute29SceneID::                                 db ; d989
+wCherrygroveCitySceneID::                         db ; d98a
+wMrPokemonsHouseSceneID::                         db ; d98b
+wRoute32SceneID::                                 db ; d98c
+wRoute35NationalParkGateSceneID::                 db ; d98d
+wRoute36SceneID::                                 db ; d98e
+wRoute36NationalParkGateSceneID::                 db ; d98f
+wAzaleaTownSceneID::                              db ; d990
+wGoldenrodGymSceneID::                            db ; d991
+wGoldenrodMagnetTrainStationSceneID::             db ; d992
+wGoldenrodPokecenter1FSceneID::                   db ; d993
+wOlivineCitySceneID::                             db ; d994
+wRoute34SceneID::                                 db ; d995
+wRoute34IlexForestGateSceneID::                   db ; d996
+wEcruteakHouseSceneID::                           db ; d997
+wWiseTriosRoomSceneID::                           db ; d998
+wEcruteakPokecenter1FSceneID::                    db ; d999
+wEcruteakGymSceneID::                             db ; d99a
+wMahoganyTownSceneID::                            db ; d99b
+wRoute42SceneID::                                 db ; d99c
+wCianwoodCitySceneID::                            db ; d99d
+wBattleTower1FSceneID::                           db ; d99e
+wBattleTowerBattleRoomSceneID::                   db ; d99f
+wBattleTowerElevatorSceneID::                     db ; d9a0
+wBattleTowerHallwaySceneID::                      db ; d9a1
+wBattleTowerOutsideSceneID::                      db ; d9a2
+wRoute43GateSceneID::                             db ; d9a3
+wMountMoonSceneID::                               db ; d9a4
+wSproutTower3FSceneID::                           db ; d9a5
+wTinTower1FSceneID::                              db ; d9a6
+wBurnedTower1FSceneID::                           db ; d9a7
+wBurnedTowerB1FSceneID::                          db ; d9a8
+wRadioTower5FSceneID::                            db ; d9a9
+wRuinsOfAlphOutsideSceneID::                      db ; d9aa
+wRuinsOfAlphResearchCenterSceneID::               db ; d9ab
+wRuinsOfAlphHoOhChamberSceneID::                  db ; d9ac
+wRuinsOfAlphKabutoChamberSceneID::                db ; d9ad
+wRuinsOfAlphOmanyteChamberSceneID::               db ; d9ae
+wRuinsOfAlphAerodactylChamberSceneID::            db ; d9af
+wRuinsOfAlphInnerChamberSceneID::                 db ; d9b0
+wMahoganyMart1FSceneID::                          db ; d9b1
+wTeamRocketBaseB1FSceneID::                       db ; d9b2
+wTeamRocketBaseB2FSceneID::                       db ; d9b3
+wTeamRocketBaseB3FSceneID::                       db ; d9b4
+wGoldenrodUndergroundSwitchRoomEntrancesSceneID:: db ; d9b5
+wSilverCaveRoom3SceneID::                         db ; d9b6
+wVictoryRoadSceneID::                             db ; d9b7
+wDragonsDenB1FSceneID::                           db ; d9b8
+wDragonShrineSceneID::                            db ; d9b9
+wOlivinePortSceneID::                             db ; d9ba
+wVermilionPortSceneID::                           db ; d9bb
+wFastShip1FSceneID::                              db ; d9bc
+wFastShipB1FSceneID::                             db ; d9bd
+wMountMoonSquareSceneID::                         db ; d9be
+wMobileTradeRoomMobileSceneID::                   db ; d9bf
+wMobileBattleRoomSceneID::                        db ; d9c0
 
 	ds 49