shithub: pokecrystal

Download patch

ref: 6ff2cb20e67db2054486fc5dc48eb9263298d4ad
parent: bf138d94d42ba0d092d5028e40a85260c250a4ee
author: Rangi <remy.oukaour+rangi42@gmail.com>
date: Sat Feb 3 11:58:49 EST 2018

map → map_id; map_def → map; map_data → map_attributes

--- a/Makefile
+++ b/Makefile
@@ -17,7 +17,7 @@
 main.o \
 wram.o \
 data/text/common.o \
-data/maps/maps.o \
+data/maps/map_data.o \
 data/pokemon/dex_entries.o \
 data/pokemon/egg_moves.o \
 data/pokemon/evos_attacks.o \
--- a/constants/map_data_constants.asm
+++ b/constants/map_data_constants.asm
@@ -4,18 +4,17 @@
 MAP_NONE   EQU 0
 
 
-; map_def struct members (see data/maps/definitions.asm)
+; map struct members (see data/maps/maps.asm)
 	const_def
-	const MAPDEF_MAPDATA_BANK ; 0
-	const MAPDEF_TILESET      ; 1
-	const MAPDEF_ENVIRONMENT  ; 2
-	const MAPDEF_MAPDATA      ; 3
-	const MAPDEF_MAPDATA_HI   ; 4
-	const MAPDEF_LOCATION     ; 5
-	const MAPDEF_MUSIC        ; 6
-	const MAPDEF_PALETTE      ; 7
-	const MAPDEF_FISHGROUP    ; 8
-NUM_MAPDEF_ATTRIBUTES EQU const_value
+	const MAP_MAPATTRIBUTES_BANK ; 0
+	const MAP_TILESET            ; 1
+	const MAP_ENVIRONMENT        ; 2
+	const MAP_MAPATTRIBUTES      ; 3
+	const MAP_MAPATTRIBUTES_HI   ; 4
+	const MAP_LOCATION           ; 5
+	const MAP_MUSIC              ; 6
+	const MAP_PALETTE            ; 7
+	const MAP_FISHGROUP          ; 8
 
 ; map environments (wEnvironment)
 	const_def 1
--- a/constants/map_setup_constants.asm
+++ b/constants/map_setup_constants.asm
@@ -44,8 +44,8 @@
 	const map_load_spawn          ; 17
 	const map_load_connection     ; 18
 	const map_load_warp           ; 19
-	const map_attributes          ; 1a
-	const map_attributes_2        ; 1b
+	const map_load_attributes     ; 1a
+	const map_load_attributes_2   ; 1b
 	const map_clear_bg_palettes   ; 1c
 	const map_fade_out_palettes   ; 1d
 	const map_fade_in_palettes    ; 1e
--- /dev/null
+++ b/data/maps/attributes.asm
@@ -1,0 +1,663 @@
+map_attributes: MACRO
+;\1: map name
+;\2: map id
+;\3: border block
+;\4: connections: combo of NORTH, SOUTH, WEST, and/or EAST, or 0 for none
+CURRENT_MAP_WIDTH = \2_WIDTH
+CURRENT_MAP_HEIGHT = \2_HEIGHT
+\1_MapAttributes::
+	db \3
+	db CURRENT_MAP_HEIGHT, CURRENT_MAP_WIDTH
+	db BANK(\1_Blocks)
+	dw \1_Blocks
+	db BANK(\1_MapScripts) ; BANK(\1_MapEvents)
+	dw \1_MapScripts
+	dw \1_MapEvents
+	db \4
+ENDM
+
+connection: MACRO
+;\1: direction
+;\2: map name
+;\3: map id
+;\4: x offset for east/west, y offset for north/south
+;\5: distance offset?
+;\6: strip length
+if "\1" == "north"
+	map_id \3
+	dw \2_Blocks + \3_WIDTH * (\3_HEIGHT - 3) + \5
+	dw OverworldMap + \4 + 3
+	db \6
+	db \3_WIDTH
+	db \3_HEIGHT * 2 - 1
+	db (\4 - \5) * -2
+	dw OverworldMap + \3_HEIGHT * (\3_WIDTH + 6) + 1
+elif "\1" == "south"
+	map_id \3
+	dw \2_Blocks + \5
+	dw OverworldMap + (CURRENT_MAP_HEIGHT + 3) * (CURRENT_MAP_WIDTH + 6) + \4 + 3
+	db \6
+	db \3_WIDTH
+	db 0
+	db (\4 - \5) * -2
+	dw OverworldMap + \3_WIDTH + 7
+elif "\1" == "west"
+	map_id \3
+	dw \2_Blocks + (\3_WIDTH * \5) + \3_WIDTH - 3
+	dw OverworldMap + (CURRENT_MAP_WIDTH + 6) * (\4 + 3)
+	db \6
+	db \3_WIDTH
+	db (\4 - \5) * -2
+	db \3_WIDTH * 2 - 1
+	dw OverworldMap + \3_WIDTH * 2 + 6
+elif "\1" == "east"
+	map_id \3
+	dw \2_Blocks + (\3_WIDTH * \5)
+	dw OverworldMap + (CURRENT_MAP_WIDTH + 6) * (\4 + 3 + 1) - 3
+	db \6
+	db \3_WIDTH
+	db (\4 - \5) * -2
+	db 0
+	dw OverworldMap + \3_WIDTH + 7
+endc
+ENDM
+
+
+	map_attributes NewBarkTown, NEW_BARK_TOWN, $05, WEST | EAST
+	connection west, Route29, ROUTE_29, 0, 0, 9
+	connection east, Route27, ROUTE_27, 0, 0, 9
+
+	map_attributes CherrygroveCity, CHERRYGROVE_CITY, $35, NORTH | EAST
+	connection north, Route30, ROUTE_30, 5, 0, 10
+	connection east, Route29, ROUTE_29, 0, 0, 9
+
+	map_attributes VioletCity, VIOLET_CITY, $05, SOUTH | WEST | EAST
+	connection south, Route32, ROUTE_32, 0, 0, 10
+	connection west, Route36, ROUTE_36, 0, 0, 9
+	connection east, Route31, ROUTE_31, 9, 0, 9
+
+	map_attributes AzaleaTown, AZALEA_TOWN, $05, WEST | EAST
+	connection west, Route34, ROUTE_34, -3, 15, 12
+	connection east, Route33, ROUTE_33, 0, 0, 9
+
+	map_attributes CianwoodCity, CIANWOOD_CITY, $35, EAST
+	connection east, Route41, ROUTE_41, 0, 0, 27
+
+	map_attributes GoldenrodCity, GOLDENROD_CITY, $35, NORTH | SOUTH
+	connection north, Route35, ROUTE_35, 5, 0, 10
+	connection south, Route34, ROUTE_34, 5, 0, 10
+
+	map_attributes OlivineCity, OLIVINE_CITY, $35, NORTH | WEST
+	connection north, Route39, ROUTE_39, 5, 0, 10
+	connection west, Route40, ROUTE_40, 9, 0, 12
+
+	map_attributes EcruteakCity, ECRUTEAK_CITY, $05, SOUTH | WEST | EAST
+	connection south, Route37, ROUTE_37, 5, 0, 10
+	connection west, Route38, ROUTE_38, 5, 0, 9
+	connection east, Route42, ROUTE_42, 9, 0, 9
+
+	map_attributes MahoganyTown, MAHOGANY_TOWN, $71, NORTH | WEST | EAST
+	connection north, Route43, ROUTE_43, 0, 0, 10
+	connection west, Route42, ROUTE_42, 0, 0, 9
+	connection east, Route44, ROUTE_44, 0, 0, 9
+
+	map_attributes LakeOfRage, LAKE_OF_RAGE, $05, SOUTH
+	connection south, Route43, ROUTE_43, 5, 0, 10
+
+	map_attributes BlackthornCity, BLACKTHORN_CITY, $71, SOUTH | WEST
+	connection south, Route45, ROUTE_45, 0, 0, 10
+	connection west, Route44, ROUTE_44, 9, 0, 9
+
+	map_attributes SilverCaveOutside, SILVER_CAVE_OUTSIDE, $2c, EAST
+	connection east, Route28, ROUTE_28, 9, 0, 9
+
+	map_attributes Route26, ROUTE_26, $05, WEST
+	connection west, Route27, ROUTE_27, 45, 0, 9
+
+	map_attributes Route27, ROUTE_27, $35, WEST | EAST
+	connection west, NewBarkTown, NEW_BARK_TOWN, 0, 0, 9
+	connection east, Route26, ROUTE_26, -3, 42, 12
+
+	map_attributes Route28, ROUTE_28, $2c, WEST
+	connection west, SilverCaveOutside, SILVER_CAVE_OUTSIDE, -3, 6, 12
+
+	map_attributes Route29, ROUTE_29, $05, NORTH | WEST | EAST
+	connection north, Route46, ROUTE_46, 10, 0, 10
+	connection west, CherrygroveCity, CHERRYGROVE_CITY, 0, 0, 9
+	connection east, NewBarkTown, NEW_BARK_TOWN, 0, 0, 9
+
+	map_attributes Route30, ROUTE_30, $05, NORTH | SOUTH
+	connection north, Route31, ROUTE_31, -3, 7, 13
+	connection south, CherrygroveCity, CHERRYGROVE_CITY, -3, 2, 16
+
+	map_attributes Route31, ROUTE_31, $05, SOUTH | WEST
+	connection south, Route30, ROUTE_30, 10, 0, 10
+	connection west, VioletCity, VIOLET_CITY, -3, 6, 12
+
+	map_attributes Route32, ROUTE_32, $05, NORTH | SOUTH
+	connection north, VioletCity, VIOLET_CITY, 0, 0, 13
+	connection south, Route33, ROUTE_33, 0, 0, 10
+
+	map_attributes Route33, ROUTE_33, $05, NORTH | WEST
+	connection north, Route32, ROUTE_32, 0, 0, 10
+	connection west, AzaleaTown, AZALEA_TOWN, 0, 0, 9
+
+	map_attributes Route34, ROUTE_34, $05, NORTH | EAST
+	connection north, GoldenrodCity, GOLDENROD_CITY, -3, 2, 16
+	connection east, AzaleaTown, AZALEA_TOWN, 18, 0, 9
+
+	map_attributes Route35, ROUTE_35, $05, NORTH | SOUTH
+	connection north, Route36, ROUTE_36, 0, 0, 13
+	connection south, GoldenrodCity, GOLDENROD_CITY, -3, 2, 16
+
+	map_attributes Route36, ROUTE_36, $05, NORTH | SOUTH | EAST
+	connection north, Route37, ROUTE_37, 10, 0, 10
+	connection south, Route35, ROUTE_35, 0, 0, 10
+	connection east, VioletCity, VIOLET_CITY, 0, 0, 12
+
+	map_attributes Route37, ROUTE_37, $05, NORTH | SOUTH
+	connection north, EcruteakCity, ECRUTEAK_CITY, -3, 2, 16
+	connection south, Route36, ROUTE_36, -3, 7, 16
+
+	map_attributes Route38, ROUTE_38, $05, WEST | EAST
+	connection west, Route39, ROUTE_39, 0, 0, 12
+	connection east, EcruteakCity, ECRUTEAK_CITY, -3, 2, 15
+
+	map_attributes Route39, ROUTE_39, $05, SOUTH | EAST
+	connection south, OlivineCity, OLIVINE_CITY, -3, 2, 16
+	connection east, Route38, ROUTE_38, 0, 0, 9
+
+	map_attributes Route40, ROUTE_40, $35, SOUTH | EAST
+	connection south, Route41, ROUTE_41, -3, 12, 13
+	connection east, OlivineCity, OLIVINE_CITY, -3, 6, 12
+
+	map_attributes Route41, ROUTE_41, $35, NORTH | WEST
+	connection north, Route40, ROUTE_40, 15, 0, 10
+	connection west, CianwoodCity, CIANWOOD_CITY, 0, 0, 27
+
+	map_attributes Route42, ROUTE_42, $05, WEST | EAST
+	connection west, EcruteakCity, ECRUTEAK_CITY, -3, 6, 12
+	connection east, MahoganyTown, MAHOGANY_TOWN, 0, 0, 9
+
+	map_attributes Route43, ROUTE_43, $05, NORTH | SOUTH
+	connection north, LakeOfRage, LAKE_OF_RAGE, -3, 2, 16
+	connection south, MahoganyTown, MAHOGANY_TOWN, 0, 0, 10
+
+	map_attributes Route44, ROUTE_44, $71, WEST | EAST
+	connection west, MahoganyTown, MAHOGANY_TOWN, 0, 0, 9
+	connection east, BlackthornCity, BLACKTHORN_CITY, -3, 6, 12
+
+	map_attributes Route45, ROUTE_45, $71, NORTH | WEST
+	connection north, BlackthornCity, BLACKTHORN_CITY, 0, 0, 13
+	connection west, Route46, ROUTE_46, 36, 0, 12
+
+	map_attributes Route46, ROUTE_46, $05, SOUTH | EAST
+	connection south, Route29, ROUTE_29, -3, 7, 16
+	connection east, Route45, ROUTE_45, -3, 33, 12
+
+	map_attributes PewterCity, PEWTER_CITY, $0f, SOUTH | EAST
+	connection south, Route2, ROUTE_2, 5, 0, 10
+	connection east, Route3, ROUTE_3, 5, 0, 9
+
+	map_attributes Route2, ROUTE_2, $0f, NORTH | SOUTH
+	connection north, PewterCity, PEWTER_CITY, -3, 2, 16
+	connection south, ViridianCity, VIRIDIAN_CITY, -3, 2, 16
+
+	map_attributes ViridianCity, VIRIDIAN_CITY, $0f, NORTH | SOUTH | WEST
+	connection north, Route2, ROUTE_2, 5, 0, 10
+	connection south, Route1, ROUTE_1, 10, 0, 10
+	connection west, Route22, ROUTE_22, 4, 0, 9
+
+	map_attributes Route22, ROUTE_22, $2c, EAST
+	connection east, ViridianCity, VIRIDIAN_CITY, -3, 1, 15
+
+	map_attributes Route1, ROUTE_1, $0f, NORTH | SOUTH
+	connection north, ViridianCity, VIRIDIAN_CITY, -3, 7, 13
+	connection south, PalletTown, PALLET_TOWN, 0, 0, 10
+
+	map_attributes PalletTown, PALLET_TOWN, $0f, NORTH | SOUTH
+	connection north, Route1, ROUTE_1, 0, 0, 10
+	connection south, Route21, ROUTE_21, 0, 0, 10
+
+	map_attributes Route21, ROUTE_21, $43, NORTH | SOUTH
+	connection north, PalletTown, PALLET_TOWN, 0, 0, 10
+	connection south, CinnabarIsland, CINNABAR_ISLAND, 0, 0, 10
+
+	map_attributes CinnabarIsland, CINNABAR_ISLAND, $43, NORTH | EAST
+	connection north, Route21, ROUTE_21, 0, 0, 10
+	connection east, Route20, ROUTE_20, 0, 0, 9
+
+	map_attributes Route20, ROUTE_20, $43, WEST | EAST
+	connection west, CinnabarIsland, CINNABAR_ISLAND, 0, 0, 9
+	connection east, Route19, ROUTE_19, -3, 6, 12
+
+	map_attributes Route19, ROUTE_19, $43, NORTH | WEST
+	connection north, FuchsiaCity, FUCHSIA_CITY, 0, 0, 13
+	connection west, Route20, ROUTE_20, 9, 0, 9
+
+	map_attributes FuchsiaCity, FUCHSIA_CITY, $0f, SOUTH | WEST | EAST
+	connection south, Route19, ROUTE_19, 0, 0, 10
+	connection west, Route18, ROUTE_18, 7, 0, 9
+	connection east, Route15, ROUTE_15, 9, 0, 9
+
+	map_attributes Route18, ROUTE_18, $43, WEST | EAST
+	connection west, Route17, ROUTE_17, -3, 35, 10
+	connection east, FuchsiaCity, FUCHSIA_CITY, -3, 4, 14
+
+	map_attributes Route17, ROUTE_17, $43, NORTH | EAST
+	connection north, Route16, ROUTE_16, 0, 0, 10
+	connection east, Route18, ROUTE_18, 38, 0, 9
+
+	map_attributes Route16, ROUTE_16, $0f, SOUTH | EAST
+	connection south, Route17, ROUTE_17, 0, 0, 10
+	connection east, CeladonCity, CELADON_CITY, -3, 6, 12
+
+	map_attributes CeladonCity, CELADON_CITY, $0f, WEST | EAST
+	connection west, Route16, ROUTE_16, 9, 0, 9
+	connection east, Route7, ROUTE_7, 5, 0, 9
+
+	map_attributes Route7, ROUTE_7, $0f, WEST | EAST
+	connection west, CeladonCity, CELADON_CITY, -3, 2, 15
+	connection east, SaffronCity, SAFFRON_CITY, -3, 6, 12
+
+	map_attributes Route15, ROUTE_15, $0f, WEST | EAST
+	connection west, FuchsiaCity, FUCHSIA_CITY, -3, 6, 12
+	connection east, Route14, ROUTE_14, -3, 6, 12
+
+	map_attributes Route14, ROUTE_14, $43, NORTH | WEST
+	connection north, Route13, ROUTE_13, 0, 0, 13
+	connection west, Route15, ROUTE_15, 9, 0, 9
+
+	map_attributes Route13, ROUTE_13, $43, NORTH | SOUTH
+	connection north, Route12, ROUTE_12, 20, 0, 10
+	connection south, Route14, ROUTE_14, 0, 0, 10
+
+	map_attributes Route12, ROUTE_12, $43, NORTH | SOUTH | WEST
+	connection north, LavenderTown, LAVENDER_TOWN, 0, 0, 10
+	connection south, Route13, ROUTE_13, -3, 17, 13
+	connection west, Route11, ROUTE_11, 9, 0, 9
+
+	map_attributes Route11, ROUTE_11, $0f, WEST | EAST
+	connection west, VermilionCity, VERMILION_CITY, 0, 0, 12
+	connection east, Route12, ROUTE_12, -3, 6, 15
+
+	map_attributes LavenderTown, LAVENDER_TOWN, $2c, NORTH | SOUTH | WEST
+	connection north, Route10South, ROUTE_10_SOUTH, 0, 0, 10
+	connection south, Route12, ROUTE_12, 0, 0, 10
+	connection west, Route8, ROUTE_8, 0, 0, 9
+
+	map_attributes VermilionCity, VERMILION_CITY, $43, NORTH | EAST
+	connection north, Route6, ROUTE_6, 5, 0, 10
+	connection east, Route11, ROUTE_11, 0, 0, 9
+
+	map_attributes Route6, ROUTE_6, $0f, NORTH | SOUTH
+	connection north, SaffronCity, SAFFRON_CITY, -3, 2, 16
+	connection south, VermilionCity, VERMILION_CITY, -3, 2, 16
+
+	map_attributes SaffronCity, SAFFRON_CITY, $0f, NORTH | SOUTH | WEST | EAST
+	connection north, Route5, ROUTE_5, 5, 0, 10
+	connection south, Route6, ROUTE_6, 5, 0, 10
+	connection west, Route7, ROUTE_7, 9, 0, 9
+	connection east, Route8, ROUTE_8, 9, 0, 9
+
+	map_attributes Route5, ROUTE_5, $0f, NORTH | SOUTH
+	connection north, CeruleanCity, CERULEAN_CITY, -3, 2, 16
+	connection south, SaffronCity, SAFFRON_CITY, -3, 2, 16
+
+	map_attributes CeruleanCity, CERULEAN_CITY, $0f, NORTH | SOUTH | WEST | EAST
+	connection north, Route24, ROUTE_24, 6, 0, 10
+	connection south, Route5, ROUTE_5, 5, 0, 10
+	connection west, Route4, ROUTE_4, 5, 0, 9
+	connection east, Route9, ROUTE_9, 9, 0, 9
+
+	map_attributes Route9, ROUTE_9, $2c, SOUTH | WEST
+	connection south, Route10North, ROUTE_10_NORTH, 20, 0, 10
+	connection west, CeruleanCity, CERULEAN_CITY, -3, 6, 12
+
+	map_attributes Route24, ROUTE_24, $2c, NORTH | SOUTH
+	connection north, Route25, ROUTE_25, 0, 0, 13
+	connection south, CeruleanCity, CERULEAN_CITY, -3, 3, 16
+
+	map_attributes Route25, ROUTE_25, $2c, SOUTH
+	connection south, Route24, ROUTE_24, 0, 0, 10
+
+	map_attributes Route3, ROUTE_3, $2c, WEST | EAST
+	connection west, PewterCity, PEWTER_CITY, -3, 2, 15
+	connection east, Route4, ROUTE_4, 0, 0, 9
+
+	map_attributes Route4, ROUTE_4, $2c, WEST | EAST
+	connection west, Route3, ROUTE_3, 0, 0, 9
+	connection east, CeruleanCity, CERULEAN_CITY, -3, 2, 15
+
+	map_attributes Route8, ROUTE_8, $2c, WEST | EAST
+	connection west, SaffronCity, SAFFRON_CITY, -3, 6, 12
+	connection east, LavenderTown, LAVENDER_TOWN, 0, 0, 9
+
+	map_attributes Route10North, ROUTE_10_NORTH, $2c, NORTH | SOUTH
+	connection north, Route9, ROUTE_9, -3, 17, 13
+	connection south, Route10South, ROUTE_10_SOUTH, 0, 0, 10
+
+	map_attributes Route10South, ROUTE_10_SOUTH, $2c, NORTH | SOUTH
+	connection north, Route10North, ROUTE_10_NORTH, 0, 0, 10
+	connection south, LavenderTown, LAVENDER_TOWN, 0, 0, 10
+
+	map_attributes Route23, ROUTE_23, $0f, 0
+	map_attributes SproutTower1F, SPROUT_TOWER_1F, $00, 0
+	map_attributes SproutTower2F, SPROUT_TOWER_2F, $00, 0
+	map_attributes SproutTower3F, SPROUT_TOWER_3F, $00, 0
+	map_attributes TinTower1F, TIN_TOWER_1F, $00, 0
+	map_attributes TinTower2F, TIN_TOWER_2F, $00, 0
+	map_attributes TinTower3F, TIN_TOWER_3F, $00, 0
+	map_attributes TinTower4F, TIN_TOWER_4F, $00, 0
+	map_attributes TinTower5F, TIN_TOWER_5F, $00, 0
+	map_attributes TinTower6F, TIN_TOWER_6F, $00, 0
+	map_attributes TinTower7F, TIN_TOWER_7F, $00, 0
+	map_attributes TinTower8F, TIN_TOWER_8F, $00, 0
+	map_attributes TinTower9F, TIN_TOWER_9F, $00, 0
+	map_attributes BurnedTower1F, BURNED_TOWER_1F, $00, 0
+	map_attributes BurnedTowerB1F, BURNED_TOWER_B1F, $09, 0
+	map_attributes NationalPark, NATIONAL_PARK, $00, 0
+	map_attributes NationalParkBugContest, NATIONAL_PARK_BUG_CONTEST, $00, 0
+	map_attributes RadioTower1F, RADIO_TOWER_1F, $00, 0
+	map_attributes RadioTower2F, RADIO_TOWER_2F, $00, 0
+	map_attributes RadioTower3F, RADIO_TOWER_3F, $00, 0
+	map_attributes RadioTower4F, RADIO_TOWER_4F, $00, 0
+	map_attributes RadioTower5F, RADIO_TOWER_5F, $00, 0
+	map_attributes RuinsOfAlphOutside, RUINS_OF_ALPH_OUTSIDE, $05, 0
+	map_attributes RuinsOfAlphHoOhChamber, RUINS_OF_ALPH_HO_OH_CHAMBER, $00, 0
+	map_attributes RuinsOfAlphKabutoChamber, RUINS_OF_ALPH_KABUTO_CHAMBER, $00, 0
+	map_attributes RuinsOfAlphOmanyteChamber, RUINS_OF_ALPH_OMANYTE_CHAMBER, $00, 0
+	map_attributes RuinsOfAlphAerodactylChamber, RUINS_OF_ALPH_AERODACTYL_CHAMBER, $00, 0
+	map_attributes RuinsOfAlphInnerChamber, RUINS_OF_ALPH_INNER_CHAMBER, $00, 0
+	map_attributes RuinsOfAlphResearchCenter, RUINS_OF_ALPH_RESEARCH_CENTER, $00, 0
+	map_attributes RuinsOfAlphHoOhItemRoom, RUINS_OF_ALPH_HO_OH_ITEM_ROOM, $00, 0
+	map_attributes RuinsOfAlphKabutoItemRoom, RUINS_OF_ALPH_KABUTO_ITEM_ROOM, $00, 0
+	map_attributes RuinsOfAlphOmanyteItemRoom, RUINS_OF_ALPH_OMANYTE_ITEM_ROOM, $00, 0
+	map_attributes RuinsOfAlphAerodactylItemRoom, RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM, $00, 0
+	map_attributes RuinsOfAlphHoOhWordRoom, RUINS_OF_ALPH_HO_OH_WORD_ROOM, $00, 0
+	map_attributes RuinsOfAlphKabutoWordRoom, RUINS_OF_ALPH_KABUTO_WORD_ROOM, $00, 0
+	map_attributes RuinsOfAlphOmanyteWordRoom, RUINS_OF_ALPH_OMANYTE_WORD_ROOM, $00, 0
+	map_attributes RuinsOfAlphAerodactylWordRoom, RUINS_OF_ALPH_AERODACTYL_WORD_ROOM, $00, 0
+	map_attributes UnionCave1F, UNION_CAVE_1F, $09, 0
+	map_attributes UnionCaveB1F, UNION_CAVE_B1F, $09, 0
+	map_attributes UnionCaveB2F, UNION_CAVE_B2F, $09, 0
+	map_attributes SlowpokeWellB1F, SLOWPOKE_WELL_B1F, $09, 0
+	map_attributes SlowpokeWellB2F, SLOWPOKE_WELL_B2F, $09, 0
+	map_attributes OlivineLighthouse1F, OLIVINE_LIGHTHOUSE_1F, $00, 0
+	map_attributes OlivineLighthouse2F, OLIVINE_LIGHTHOUSE_2F, $00, 0
+	map_attributes OlivineLighthouse3F, OLIVINE_LIGHTHOUSE_3F, $00, 0
+	map_attributes OlivineLighthouse4F, OLIVINE_LIGHTHOUSE_4F, $00, 0
+	map_attributes OlivineLighthouse5F, OLIVINE_LIGHTHOUSE_5F, $00, 0
+	map_attributes OlivineLighthouse6F, OLIVINE_LIGHTHOUSE_6F, $00, 0
+	map_attributes MahoganyMart1F, MAHOGANY_MART_1F, $00, 0
+	map_attributes TeamRocketBaseB1F, TEAM_ROCKET_BASE_B1F, $00, 0
+	map_attributes TeamRocketBaseB2F, TEAM_ROCKET_BASE_B2F, $00, 0
+	map_attributes TeamRocketBaseB3F, TEAM_ROCKET_BASE_B3F, $00, 0
+	map_attributes IlexForest, ILEX_FOREST, $05, 0
+	map_attributes GoldenrodUnderground, GOLDENROD_UNDERGROUND, $00, 0
+	map_attributes GoldenrodUndergroundSwitchRoomEntrances, GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, $00, 0
+	map_attributes GoldenrodDeptStoreB1F, GOLDENROD_DEPT_STORE_B1F, $00, 0
+	map_attributes GoldenrodUndergroundWarehouse, GOLDENROD_UNDERGROUND_WAREHOUSE, $00, 0
+	map_attributes MountMortar1FOutside, MOUNT_MORTAR_1F_OUTSIDE, $09, 0
+	map_attributes MountMortar1FInside, MOUNT_MORTAR_1F_INSIDE, $09, 0
+	map_attributes MountMortar2FInside, MOUNT_MORTAR_2F_INSIDE, $09, 0
+	map_attributes MountMortarB1F, MOUNT_MORTAR_B1F, $09, 0
+	map_attributes IcePath1F, ICE_PATH_1F, $09, 0
+	map_attributes IcePathB1F, ICE_PATH_B1F, $19, 0
+	map_attributes IcePathB2FMahoganySide, ICE_PATH_B2F_MAHOGANY_SIDE, $19, 0
+	map_attributes IcePathB2FBlackthornSide, ICE_PATH_B2F_BLACKTHORN_SIDE, $19, 0
+	map_attributes IcePathB3F, ICE_PATH_B3F, $19, 0
+	map_attributes WhirlIslandNW, WHIRL_ISLAND_NW, $09, 0
+	map_attributes WhirlIslandNE, WHIRL_ISLAND_NE, $09, 0
+	map_attributes WhirlIslandSW, WHIRL_ISLAND_SW, $09, 0
+	map_attributes WhirlIslandCave, WHIRL_ISLAND_CAVE, $09, 0
+	map_attributes WhirlIslandSE, WHIRL_ISLAND_SE, $0f, 0
+	map_attributes WhirlIslandB1F, WHIRL_ISLAND_B1F, $09, 0
+	map_attributes WhirlIslandB2F, WHIRL_ISLAND_B2F, $2e, 0
+	map_attributes WhirlIslandLugiaChamber, WHIRL_ISLAND_LUGIA_CHAMBER, $0f, 0
+	map_attributes SilverCaveRoom1, SILVER_CAVE_ROOM_1, $09, 0
+	map_attributes SilverCaveRoom2, SILVER_CAVE_ROOM_2, $09, 0
+	map_attributes SilverCaveRoom3, SILVER_CAVE_ROOM_3, $09, 0
+	map_attributes SilverCaveItemRooms, SILVER_CAVE_ITEM_ROOMS, $09, 0
+	map_attributes DarkCaveVioletEntrance, DARK_CAVE_VIOLET_ENTRANCE, $09, 0
+	map_attributes DarkCaveBlackthornEntrance, DARK_CAVE_BLACKTHORN_ENTRANCE, $09, 0
+	map_attributes DragonsDen1F, DRAGONS_DEN_1F, $09, 0
+	map_attributes DragonsDenB1F, DRAGONS_DEN_B1F, $71, 0
+	map_attributes DragonShrine, DRAGON_SHRINE, $00, 0
+	map_attributes TohjoFalls, TOHJO_FALLS, $09, 0
+	map_attributes OlivinePokecenter1F, OLIVINE_POKECENTER_1F, $00, 0
+	map_attributes OlivineGym, OLIVINE_GYM, $00, 0
+	map_attributes OlivineTimsHouse, OLIVINE_TIMS_HOUSE, $00, 0
+	map_attributes OlivineHouseBeta, OLIVINE_HOUSE_BETA, $00, 0
+	map_attributes OlivinePunishmentSpeechHouse, OLIVINE_PUNISHMENT_SPEECH_HOUSE, $00, 0
+	map_attributes OlivineGoodRodHouse, OLIVINE_GOOD_ROD_HOUSE, $00, 0
+	map_attributes OlivineCafe, OLIVINE_CAFE, $00, 0
+	map_attributes OlivineMart, OLIVINE_MART, $00, 0
+	map_attributes Route38EcruteakGate, ROUTE_38_ECRUTEAK_GATE, $00, 0
+	map_attributes Route39Barn, ROUTE_39_BARN, $00, 0
+	map_attributes Route39Farmhouse, ROUTE_39_FARMHOUSE, $00, 0
+	map_attributes MahoganyRedGyaradosSpeechHouse, MAHOGANY_RED_GYARADOS_SPEECH_HOUSE, $00, 0
+	map_attributes MahoganyGym, MAHOGANY_GYM, $00, 0
+	map_attributes MahoganyPokecenter1F, MAHOGANY_POKECENTER_1F, $00, 0
+	map_attributes Route42EcruteakGate, ROUTE_42_ECRUTEAK_GATE, $00, 0
+	map_attributes DiglettsCave, DIGLETTS_CAVE, $09, 0
+	map_attributes MountMoon, MOUNT_MOON, $09, 0
+	map_attributes UndergroundPath, UNDERGROUND_PATH, $00, 0
+	map_attributes RockTunnel1F, ROCK_TUNNEL_1F, $09, 0
+	map_attributes RockTunnelB1F, ROCK_TUNNEL_B1F, $09, 0
+	map_attributes SafariZoneFuchsiaGateBeta, SAFARI_ZONE_FUCHSIA_GATE_BETA, $00, 0
+	map_attributes SafariZoneBeta, SAFARI_ZONE_BETA, $13, 0
+	map_attributes VictoryRoad, VICTORY_ROAD, $1d, 0
+	map_attributes EcruteakTinTowerEntrance, ECRUTEAK_TIN_TOWER_ENTRANCE, $00, 0
+	map_attributes WiseTriosRoom, WISE_TRIOS_ROOM, $00, 0
+	map_attributes EcruteakPokecenter1F, ECRUTEAK_POKECENTER_1F, $00, 0
+	map_attributes EcruteakLugiaSpeechHouse, ECRUTEAK_LUGIA_SPEECH_HOUSE, $00, 0
+	map_attributes DanceTheatre, DANCE_THEATRE, $00, 0
+	map_attributes EcruteakMart, ECRUTEAK_MART, $00, 0
+	map_attributes EcruteakGym, ECRUTEAK_GYM, $00, 0
+	map_attributes EcruteakItemfinderHouse, ECRUTEAK_ITEMFINDER_HOUSE, $00, 0
+	map_attributes BlackthornGym1F, BLACKTHORN_GYM_1F, $00, 0
+	map_attributes BlackthornGym2F, BLACKTHORN_GYM_2F, $00, 0
+	map_attributes BlackthornDragonSpeechHouse, BLACKTHORN_DRAGON_SPEECH_HOUSE, $00, 0
+	map_attributes BlackthornEmysHouse, BLACKTHORN_EMYS_HOUSE, $00, 0
+	map_attributes BlackthornMart, BLACKTHORN_MART, $00, 0
+	map_attributes BlackthornPokecenter1F, BLACKTHORN_POKECENTER_1F, $00, 0
+	map_attributes MoveDeletersHouse, MOVE_DELETERS_HOUSE, $00, 0
+	map_attributes CinnabarPokecenter1F, CINNABAR_POKECENTER_1F, $00, 0
+	map_attributes CinnabarPokecenter2FBeta, CINNABAR_POKECENTER_2F_BETA, $00, 0
+	map_attributes Route19FuchsiaGate, ROUTE_19_FUCHSIA_GATE, $00, 0
+	map_attributes SeafoamGym, SEAFOAM_GYM, $09, 0
+	map_attributes CeruleanGymBadgeSpeechHouse, CERULEAN_GYM_BADGE_SPEECH_HOUSE, $00, 0
+	map_attributes CeruleanPoliceStation, CERULEAN_POLICE_STATION, $00, 0
+	map_attributes CeruleanTradeSpeechHouse, CERULEAN_TRADE_SPEECH_HOUSE, $00, 0
+	map_attributes CeruleanPokecenter1F, CERULEAN_POKECENTER_1F, $00, 0
+	map_attributes CeruleanPokecenter2FBeta, CERULEAN_POKECENTER_2F_BETA, $00, 0
+	map_attributes CeruleanGym, CERULEAN_GYM, $00, 0
+	map_attributes CeruleanMart, CERULEAN_MART, $00, 0
+	map_attributes Route10Pokecenter1F, ROUTE_10_POKECENTER_1F, $00, 0
+	map_attributes Route10Pokecenter2FBeta, ROUTE_10_POKECENTER_2F_BETA, $00, 0
+	map_attributes PowerPlant, POWER_PLANT, $00, 0
+	map_attributes BillsHouse, BILLS_HOUSE, $00, 0
+	map_attributes AzaleaPokecenter1F, AZALEA_POKECENTER_1F, $00, 0
+	map_attributes CharcoalKiln, CHARCOAL_KILN, $00, 0
+	map_attributes AzaleaMart, AZALEA_MART, $00, 0
+	map_attributes KurtsHouse, KURTS_HOUSE, $00, 0
+	map_attributes AzaleaGym, AZALEA_GYM, $00, 0
+	map_attributes LakeOfRageHiddenPowerHouse, LAKE_OF_RAGE_HIDDEN_POWER_HOUSE, $00, 0
+	map_attributes LakeOfRageMagikarpHouse, LAKE_OF_RAGE_MAGIKARP_HOUSE, $00, 0
+	map_attributes Route43MahoganyGate, ROUTE_43_MAHOGANY_GATE, $00, 0
+	map_attributes Route43Gate, ROUTE_43_GATE, $00, 0
+	map_attributes VioletMart, VIOLET_MART, $00, 0
+	map_attributes VioletGym, VIOLET_GYM, $00, 0
+	map_attributes EarlsPokemonAcademy, EARLS_POKEMON_ACADEMY, $00, 0
+	map_attributes VioletNicknameSpeechHouse, VIOLET_NICKNAME_SPEECH_HOUSE, $00, 0
+	map_attributes VioletPokecenter1F, VIOLET_POKECENTER_1F, $00, 0
+	map_attributes VioletKylesHouse, VIOLET_KYLES_HOUSE, $00, 0
+	map_attributes Route32RuinsOfAlphGate, ROUTE_32_RUINS_OF_ALPH_GATE, $00, 0
+	map_attributes Route32Pokecenter1F, ROUTE_32_POKECENTER_1F, $00, 0
+	map_attributes Route35GoldenrodGate, ROUTE_35_GOLDENROD_GATE, $00, 0
+	map_attributes Route35NationalParkGate, ROUTE_35_NATIONAL_PARK_GATE, $00, 0
+	map_attributes Route36RuinsOfAlphGate, ROUTE_36_RUINS_OF_ALPH_GATE, $00, 0
+	map_attributes Route36NationalParkGate, ROUTE_36_NATIONAL_PARK_GATE, $00, 0
+	map_attributes GoldenrodGym, GOLDENROD_GYM, $00, 0
+	map_attributes GoldenrodBikeShop, GOLDENROD_BIKE_SHOP, $00, 0
+	map_attributes GoldenrodHappinessRater, GOLDENROD_HAPPINESS_RATER, $00, 0
+	map_attributes BillsFamilysHouse, BILLS_FAMILYS_HOUSE, $00, 0
+	map_attributes GoldenrodMagnetTrainStation, GOLDENROD_MAGNET_TRAIN_STATION, $00, 0
+	map_attributes GoldenrodFlowerShop, GOLDENROD_FLOWER_SHOP, $00, 0
+	map_attributes GoldenrodPPSpeechHouse, GOLDENROD_PP_SPEECH_HOUSE, $00, 0
+	map_attributes GoldenrodNameRater, GOLDENROD_NAME_RATER, $00, 0
+	map_attributes GoldenrodDeptStore1F, GOLDENROD_DEPT_STORE_1F, $00, 0
+	map_attributes GoldenrodDeptStore2F, GOLDENROD_DEPT_STORE_2F, $00, 0
+	map_attributes GoldenrodDeptStore3F, GOLDENROD_DEPT_STORE_3F, $00, 0
+	map_attributes GoldenrodDeptStore4F, GOLDENROD_DEPT_STORE_4F, $00, 0
+	map_attributes GoldenrodDeptStore5F, GOLDENROD_DEPT_STORE_5F, $00, 0
+	map_attributes GoldenrodDeptStore6F, GOLDENROD_DEPT_STORE_6F, $00, 0
+	map_attributes GoldenrodDeptStoreElevator, GOLDENROD_DEPT_STORE_ELEVATOR, $00, 0
+	map_attributes GoldenrodDeptStoreRoof, GOLDENROD_DEPT_STORE_ROOF, $24, 0
+	map_attributes GoldenrodGameCorner, GOLDENROD_GAME_CORNER, $00, 0
+	map_attributes GoldenrodPokecenter1F, GOLDENROD_POKECENTER_1F, $00, 0
+	map_attributes PokecomCenterAdminRoomMobile, POKECOM_CENTER_ADMIN_ROOM_MOBILE, $00, 0
+	map_attributes IlexForestAzaleaGate, ILEX_FOREST_AZALEA_GATE, $00, 0
+	map_attributes Route34IlexForestGate, ROUTE_34_ILEX_FOREST_GATE, $00, 0
+	map_attributes DayCare, DAY_CARE, $00, 0
+	map_attributes VermilionFishingSpeechHouse, VERMILION_FISHING_SPEECH_HOUSE, $00, 0
+	map_attributes VermilionPokecenter1F, VERMILION_POKECENTER_1F, $00, 0
+	map_attributes VermilionPokecenter2FBeta, VERMILION_POKECENTER_2F_BETA, $00, 0
+	map_attributes PokemonFanClub, POKEMON_FAN_CLUB, $00, 0
+	map_attributes VermilionMagnetTrainSpeechHouse, VERMILION_MAGNET_TRAIN_SPEECH_HOUSE, $00, 0
+	map_attributes VermilionMart, VERMILION_MART, $00, 0
+	map_attributes VermilionDiglettsCaveSpeechHouse, VERMILION_DIGLETTS_CAVE_SPEECH_HOUSE, $00, 0
+	map_attributes VermilionGym, VERMILION_GYM, $00, 0
+	map_attributes Route6SaffronGate, ROUTE_6_SAFFRON_GATE, $00, 0
+	map_attributes Route6UndergroundPathEntrance, ROUTE_6_UNDERGROUND_PATH_ENTRANCE, $00, 0
+	map_attributes RedsHouse1F, REDS_HOUSE_1F, $00, 0
+	map_attributes RedsHouse2F, REDS_HOUSE_2F, $00, 0
+	map_attributes BluesHouse, BLUES_HOUSE, $00, 0
+	map_attributes OaksLab, OAKS_LAB, $00, 0
+	map_attributes PewterNidoranSpeechHouse, PEWTER_NIDORAN_SPEECH_HOUSE, $00, 0
+	map_attributes PewterGym, PEWTER_GYM, $00, 0
+	map_attributes PewterMart, PEWTER_MART, $00, 0
+	map_attributes PewterPokecenter1F, PEWTER_POKECENTER_1F, $00, 0
+	map_attributes PewterPokecenter2FBeta, PEWTER_POKECENTER_2F_BETA, $00, 0
+	map_attributes PewterSnoozeSpeechHouse, PEWTER_SNOOZE_SPEECH_HOUSE, $00, 0
+	map_attributes OlivinePort, OLIVINE_PORT, $0a, 0
+	map_attributes VermilionPort, VERMILION_PORT, $0a, 0
+	map_attributes FastShip1F, FAST_SHIP_1F, $00, 0
+	map_attributes FastShipCabins_NNW_NNE_NE, FAST_SHIP_CABINS_NNW_NNE_NE, $00, 0
+	map_attributes FastShipCabins_SW_SSW_NW, FAST_SHIP_CABINS_SW_SSW_NW, $00, 0
+	map_attributes FastShipCabins_SE_SSE_CaptainsCabin, FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN, $00, 0
+	map_attributes FastShipB1F, FAST_SHIP_B1F, $00, 0
+	map_attributes OlivinePortPassage, OLIVINE_PORT_PASSAGE, $00, 0
+	map_attributes VermilionPortPassage, VERMILION_PORT_PASSAGE, $00, 0
+	map_attributes MountMoonSquare, MOUNT_MOON_SQUARE, $2d, 0
+	map_attributes MountMoonGiftShop, MOUNT_MOON_GIFT_SHOP, $00, 0
+	map_attributes TinTowerRoof, TIN_TOWER_ROOF, $00, 0
+	map_attributes IndigoPlateauPokecenter1F, INDIGO_PLATEAU_POKECENTER_1F, $00, 0
+	map_attributes WillsRoom, WILLS_ROOM, $00, 0
+	map_attributes KogasRoom, KOGAS_ROOM, $00, 0
+	map_attributes BrunosRoom, BRUNOS_ROOM, $00, 0
+	map_attributes KarensRoom, KARENS_ROOM, $00, 0
+	map_attributes LancesRoom, LANCES_ROOM, $00, 0
+	map_attributes HallOfFame, HALL_OF_FAME, $00, 0
+	map_attributes FuchsiaMart, FUCHSIA_MART, $00, 0
+	map_attributes SafariZoneMainOffice, SAFARI_ZONE_MAIN_OFFICE, $00, 0
+	map_attributes FuchsiaGym, FUCHSIA_GYM, $00, 0
+	map_attributes BillsBrothersHouse, BILLS_BROTHERS_HOUSE, $00, 0
+	map_attributes FuchsiaPokecenter1F, FUCHSIA_POKECENTER_1F, $00, 0
+	map_attributes FuchsiaPokecenter2FBeta, FUCHSIA_POKECENTER_2F_BETA, $00, 0
+	map_attributes SafariZoneWardensHome, SAFARI_ZONE_WARDENS_HOME, $00, 0
+	map_attributes Route15FuchsiaGate, ROUTE_15_FUCHSIA_GATE, $00, 0
+	map_attributes LavenderPokecenter1F, LAVENDER_POKECENTER_1F, $00, 0
+	map_attributes LavenderPokecenter2FBeta, LAVENDER_POKECENTER_2F_BETA, $00, 0
+	map_attributes MrFujisHouse, MR_FUJIS_HOUSE, $00, 0
+	map_attributes LavenderSpeechHouse, LAVENDER_SPEECH_HOUSE, $00, 0
+	map_attributes LavenderNameRater, LAVENDER_NAME_RATER, $00, 0
+	map_attributes LavenderMart, LAVENDER_MART, $00, 0
+	map_attributes SoulHouse, SOUL_HOUSE, $00, 0
+	map_attributes LavRadioTower1F, LAV_RADIO_TOWER_1F, $00, 0
+	map_attributes Route8SaffronGate, ROUTE_8_SAFFRON_GATE, $00, 0
+	map_attributes Route12SuperRodHouse, ROUTE_12_SUPER_ROD_HOUSE, $00, 0
+	map_attributes SilverCavePokecenter1F, SILVER_CAVE_POKECENTER_1F, $00, 0
+	map_attributes Route28SteelWingHouse, ROUTE_28_STEEL_WING_HOUSE, $00, 0
+	map_attributes Pokecenter2F, POKECENTER_2F, $00, 0
+	map_attributes TradeCenter, TRADE_CENTER, $00, 0
+	map_attributes Colosseum, COLOSSEUM, $00, 0
+	map_attributes TimeCapsule, TIME_CAPSULE, $00, 0
+	map_attributes MobileTradeRoom, MOBILE_TRADE_ROOM, $00, 0
+	map_attributes MobileBattleRoom, MOBILE_BATTLE_ROOM, $00, 0
+	map_attributes CeladonDeptStore1F, CELADON_DEPT_STORE_1F, $00, 0
+	map_attributes CeladonDeptStore2F, CELADON_DEPT_STORE_2F, $00, 0
+	map_attributes CeladonDeptStore3F, CELADON_DEPT_STORE_3F, $00, 0
+	map_attributes CeladonDeptStore4F, CELADON_DEPT_STORE_4F, $00, 0
+	map_attributes CeladonDeptStore5F, CELADON_DEPT_STORE_5F, $00, 0
+	map_attributes CeladonDeptStore6F, CELADON_DEPT_STORE_6F, $00, 0
+	map_attributes CeladonDeptStoreElevator, CELADON_DEPT_STORE_ELEVATOR, $00, 0
+	map_attributes CeladonMansion1F, CELADON_MANSION_1F, $00, 0
+	map_attributes CeladonMansion2F, CELADON_MANSION_2F, $00, 0
+	map_attributes CeladonMansion3F, CELADON_MANSION_3F, $00, 0
+	map_attributes CeladonMansionRoof, CELADON_MANSION_ROOF, $01, 0
+	map_attributes CeladonMansionRoofHouse, CELADON_MANSION_ROOF_HOUSE, $00, 0
+	map_attributes CeladonPokecenter1F, CELADON_POKECENTER_1F, $00, 0
+	map_attributes CeladonPokecenter2FBeta, CELADON_POKECENTER_2F_BETA, $00, 0
+	map_attributes CeladonGameCorner, CELADON_GAME_CORNER, $00, 0
+	map_attributes CeladonGameCornerPrizeRoom, CELADON_GAME_CORNER_PRIZE_ROOM, $00, 0
+	map_attributes CeladonGym, CELADON_GYM, $00, 0
+	map_attributes CeladonCafe, CELADON_CAFE, $00, 0
+	map_attributes Route16FuchsiaSpeechHouse, ROUTE_16_FUCHSIA_SPEECH_HOUSE, $00, 0
+	map_attributes Route16Gate, ROUTE_16_GATE, $00, 0
+	map_attributes Route7SaffronGate, ROUTE_7_SAFFRON_GATE, $00, 0
+	map_attributes Route17Route18Gate, ROUTE_17_ROUTE_18_GATE, $00, 0
+	map_attributes ManiasHouse, MANIAS_HOUSE, $00, 0
+	map_attributes CianwoodGym, CIANWOOD_GYM, $00, 0
+	map_attributes CianwoodPokecenter1F, CIANWOOD_POKECENTER_1F, $00, 0
+	map_attributes CianwoodPharmacy, CIANWOOD_PHARMACY, $00, 0
+	map_attributes CianwoodPhotoStudio, CIANWOOD_PHOTO_STUDIO, $00, 0
+	map_attributes CianwoodLugiaSpeechHouse, CIANWOOD_LUGIA_SPEECH_HOUSE, $00, 0
+	map_attributes PokeSeersHouse, POKE_SEERS_HOUSE, $00, 0
+	map_attributes BattleTower1F, BATTLE_TOWER_1F, $00, 0
+	map_attributes BattleTowerBattleRoom, BATTLE_TOWER_BATTLE_ROOM, $00, 0
+	map_attributes BattleTowerElevator, BATTLE_TOWER_ELEVATOR, $00, 0
+	map_attributes BattleTowerHallway, BATTLE_TOWER_HALLWAY, $00, 0
+	map_attributes Route40BattleTowerGate, ROUTE_40_BATTLE_TOWER_GATE, $00, 0
+	map_attributes BattleTowerOutside, BATTLE_TOWER_OUTSIDE, $05, 0
+	map_attributes ViridianGym, VIRIDIAN_GYM, $00, 0
+	map_attributes ViridianNicknameSpeechHouse, VIRIDIAN_NICKNAME_SPEECH_HOUSE, $00, 0
+	map_attributes TrainerHouse1F, TRAINER_HOUSE_1F, $00, 0
+	map_attributes TrainerHouseB1F, TRAINER_HOUSE_B1F, $00, 0
+	map_attributes ViridianMart, VIRIDIAN_MART, $00, 0
+	map_attributes ViridianPokecenter1F, VIRIDIAN_POKECENTER_1F, $00, 0
+	map_attributes ViridianPokecenter2FBeta, VIRIDIAN_POKECENTER_2F_BETA, $00, 0
+	map_attributes Route2NuggetHouse, ROUTE_2_NUGGET_HOUSE, $00, 0
+	map_attributes Route2Gate, ROUTE_2_GATE, $00, 0
+	map_attributes VictoryRoadGate, VICTORY_ROAD_GATE, $00, 0
+	map_attributes ElmsLab, ELMS_LAB, $00, 0
+	map_attributes PlayersHouse1F, PLAYERS_HOUSE_1F, $00, 0
+	map_attributes PlayersHouse2F, PLAYERS_HOUSE_2F, $00, 0
+	map_attributes PlayersNeighborsHouse, PLAYERS_NEIGHBORS_HOUSE, $00, 0
+	map_attributes ElmsHouse, ELMS_HOUSE, $00, 0
+	map_attributes Route26HealHouse, ROUTE_26_HEAL_HOUSE, $00, 0
+	map_attributes DayOfWeekSiblingsHouse, DAY_OF_WEEK_SIBLINGS_HOUSE, $00, 0
+	map_attributes Route27SandstormHouse, ROUTE_27_SANDSTORM_HOUSE, $00, 0
+	map_attributes Route29Route46Gate, ROUTE_29_ROUTE_46_GATE, $00, 0
+	map_attributes FightingDojo, FIGHTING_DOJO, $00, 0
+	map_attributes SaffronGym, SAFFRON_GYM, $00, 0
+	map_attributes SaffronMart, SAFFRON_MART, $00, 0
+	map_attributes SaffronPokecenter1F, SAFFRON_POKECENTER_1F, $00, 0
+	map_attributes SaffronPokecenter2FBeta, SAFFRON_POKECENTER_2F_BETA, $00, 0
+	map_attributes MrPsychicsHouse, MR_PSYCHICS_HOUSE, $00, 0
+	map_attributes SaffronMagnetTrainStation, SAFFRON_MAGNET_TRAIN_STATION, $00, 0
+	map_attributes SilphCo1F, SILPH_CO_1F, $00, 0
+	map_attributes CopycatsHouse1F, COPYCATS_HOUSE_1F, $00, 0
+	map_attributes CopycatsHouse2F, COPYCATS_HOUSE_2F, $00, 0
+	map_attributes Route5UndergroundPathEntrance, ROUTE_5_UNDERGROUND_PATH_ENTRANCE, $00, 0
+	map_attributes Route5SaffronGate, ROUTE_5_SAFFRON_GATE, $00, 0
+	map_attributes Route5CleanseTagHouse, ROUTE_5_CLEANSE_TAG_HOUSE, $00, 0
+	map_attributes CherrygroveMart, CHERRYGROVE_MART, $00, 0
+	map_attributes CherrygrovePokecenter1F, CHERRYGROVE_POKECENTER_1F, $00, 0
+	map_attributes CherrygroveGymSpeechHouse, CHERRYGROVE_GYM_SPEECH_HOUSE, $00, 0
+	map_attributes GuideGentsHouse, GUIDE_GENTS_HOUSE, $00, 0
+	map_attributes CherrygroveEvolutionSpeechHouse, CHERRYGROVE_EVOLUTION_SPEECH_HOUSE, $00, 0
+	map_attributes Route30BerryHouse, ROUTE_30_BERRY_HOUSE, $00, 0
+	map_attributes MrPokemonsHouse, MR_POKEMONS_HOUSE, $00, 0
+	map_attributes Route31VioletGate, ROUTE_31_VIOLET_GATE, $00, 0
--- a/data/maps/data.asm
+++ /dev/null
@@ -1,663 +1,0 @@
-map_data: MACRO
-;\1: map name
-;\2: map id
-;\3: border block
-;\4: connections: combo of NORTH, SOUTH, WEST, and/or EAST, or 0 for none
-CURRENT_MAP_WIDTH = \2_WIDTH
-CURRENT_MAP_HEIGHT = \2_HEIGHT
-\1_MapData::
-	db \3
-	db CURRENT_MAP_HEIGHT, CURRENT_MAP_WIDTH
-	db BANK(\1_Blocks)
-	dw \1_Blocks
-	db BANK(\1_MapScripts) ; BANK(\1_MapEvents)
-	dw \1_MapScripts
-	dw \1_MapEvents
-	db \4
-ENDM
-
-connection: MACRO
-;\1: direction
-;\2: map name
-;\3: map id
-;\4: x offset for east/west, y offset for north/south
-;\5: distance offset?
-;\6: strip length
-if "\1" == "north"
-	map \3
-	dw \2_Blocks + \3_WIDTH * (\3_HEIGHT - 3) + \5
-	dw OverworldMap + \4 + 3
-	db \6
-	db \3_WIDTH
-	db \3_HEIGHT * 2 - 1
-	db (\4 - \5) * -2
-	dw OverworldMap + \3_HEIGHT * (\3_WIDTH + 6) + 1
-elif "\1" == "south"
-	map \3
-	dw \2_Blocks + \5
-	dw OverworldMap + (CURRENT_MAP_HEIGHT + 3) * (CURRENT_MAP_WIDTH + 6) + \4 + 3
-	db \6
-	db \3_WIDTH
-	db 0
-	db (\4 - \5) * -2
-	dw OverworldMap + \3_WIDTH + 7
-elif "\1" == "west"
-	map \3
-	dw \2_Blocks + (\3_WIDTH * \5) + \3_WIDTH - 3
-	dw OverworldMap + (CURRENT_MAP_WIDTH + 6) * (\4 + 3)
-	db \6
-	db \3_WIDTH
-	db (\4 - \5) * -2
-	db \3_WIDTH * 2 - 1
-	dw OverworldMap + \3_WIDTH * 2 + 6
-elif "\1" == "east"
-	map \3
-	dw \2_Blocks + (\3_WIDTH * \5)
-	dw OverworldMap + (CURRENT_MAP_WIDTH + 6) * (\4 + 3 + 1) - 3
-	db \6
-	db \3_WIDTH
-	db (\4 - \5) * -2
-	db 0
-	dw OverworldMap + \3_WIDTH + 7
-endc
-ENDM
-
-
-	map_data NewBarkTown, NEW_BARK_TOWN, $05, WEST | EAST
-	connection west, Route29, ROUTE_29, 0, 0, 9
-	connection east, Route27, ROUTE_27, 0, 0, 9
-
-	map_data CherrygroveCity, CHERRYGROVE_CITY, $35, NORTH | EAST
-	connection north, Route30, ROUTE_30, 5, 0, 10
-	connection east, Route29, ROUTE_29, 0, 0, 9
-
-	map_data VioletCity, VIOLET_CITY, $05, SOUTH | WEST | EAST
-	connection south, Route32, ROUTE_32, 0, 0, 10
-	connection west, Route36, ROUTE_36, 0, 0, 9
-	connection east, Route31, ROUTE_31, 9, 0, 9
-
-	map_data AzaleaTown, AZALEA_TOWN, $05, WEST | EAST
-	connection west, Route34, ROUTE_34, -3, 15, 12
-	connection east, Route33, ROUTE_33, 0, 0, 9
-
-	map_data CianwoodCity, CIANWOOD_CITY, $35, EAST
-	connection east, Route41, ROUTE_41, 0, 0, 27
-
-	map_data GoldenrodCity, GOLDENROD_CITY, $35, NORTH | SOUTH
-	connection north, Route35, ROUTE_35, 5, 0, 10
-	connection south, Route34, ROUTE_34, 5, 0, 10
-
-	map_data OlivineCity, OLIVINE_CITY, $35, NORTH | WEST
-	connection north, Route39, ROUTE_39, 5, 0, 10
-	connection west, Route40, ROUTE_40, 9, 0, 12
-
-	map_data EcruteakCity, ECRUTEAK_CITY, $05, SOUTH | WEST | EAST
-	connection south, Route37, ROUTE_37, 5, 0, 10
-	connection west, Route38, ROUTE_38, 5, 0, 9
-	connection east, Route42, ROUTE_42, 9, 0, 9
-
-	map_data MahoganyTown, MAHOGANY_TOWN, $71, NORTH | WEST | EAST
-	connection north, Route43, ROUTE_43, 0, 0, 10
-	connection west, Route42, ROUTE_42, 0, 0, 9
-	connection east, Route44, ROUTE_44, 0, 0, 9
-
-	map_data LakeOfRage, LAKE_OF_RAGE, $05, SOUTH
-	connection south, Route43, ROUTE_43, 5, 0, 10
-
-	map_data BlackthornCity, BLACKTHORN_CITY, $71, SOUTH | WEST
-	connection south, Route45, ROUTE_45, 0, 0, 10
-	connection west, Route44, ROUTE_44, 9, 0, 9
-
-	map_data SilverCaveOutside, SILVER_CAVE_OUTSIDE, $2c, EAST
-	connection east, Route28, ROUTE_28, 9, 0, 9
-
-	map_data Route26, ROUTE_26, $05, WEST
-	connection west, Route27, ROUTE_27, 45, 0, 9
-
-	map_data Route27, ROUTE_27, $35, WEST | EAST
-	connection west, NewBarkTown, NEW_BARK_TOWN, 0, 0, 9
-	connection east, Route26, ROUTE_26, -3, 42, 12
-
-	map_data Route28, ROUTE_28, $2c, WEST
-	connection west, SilverCaveOutside, SILVER_CAVE_OUTSIDE, -3, 6, 12
-
-	map_data Route29, ROUTE_29, $05, NORTH | WEST | EAST
-	connection north, Route46, ROUTE_46, 10, 0, 10
-	connection west, CherrygroveCity, CHERRYGROVE_CITY, 0, 0, 9
-	connection east, NewBarkTown, NEW_BARK_TOWN, 0, 0, 9
-
-	map_data Route30, ROUTE_30, $05, NORTH | SOUTH
-	connection north, Route31, ROUTE_31, -3, 7, 13
-	connection south, CherrygroveCity, CHERRYGROVE_CITY, -3, 2, 16
-
-	map_data Route31, ROUTE_31, $05, SOUTH | WEST
-	connection south, Route30, ROUTE_30, 10, 0, 10
-	connection west, VioletCity, VIOLET_CITY, -3, 6, 12
-
-	map_data Route32, ROUTE_32, $05, NORTH | SOUTH
-	connection north, VioletCity, VIOLET_CITY, 0, 0, 13
-	connection south, Route33, ROUTE_33, 0, 0, 10
-
-	map_data Route33, ROUTE_33, $05, NORTH | WEST
-	connection north, Route32, ROUTE_32, 0, 0, 10
-	connection west, AzaleaTown, AZALEA_TOWN, 0, 0, 9
-
-	map_data Route34, ROUTE_34, $05, NORTH | EAST
-	connection north, GoldenrodCity, GOLDENROD_CITY, -3, 2, 16
-	connection east, AzaleaTown, AZALEA_TOWN, 18, 0, 9
-
-	map_data Route35, ROUTE_35, $05, NORTH | SOUTH
-	connection north, Route36, ROUTE_36, 0, 0, 13
-	connection south, GoldenrodCity, GOLDENROD_CITY, -3, 2, 16
-
-	map_data Route36, ROUTE_36, $05, NORTH | SOUTH | EAST
-	connection north, Route37, ROUTE_37, 10, 0, 10
-	connection south, Route35, ROUTE_35, 0, 0, 10
-	connection east, VioletCity, VIOLET_CITY, 0, 0, 12
-
-	map_data Route37, ROUTE_37, $05, NORTH | SOUTH
-	connection north, EcruteakCity, ECRUTEAK_CITY, -3, 2, 16
-	connection south, Route36, ROUTE_36, -3, 7, 16
-
-	map_data Route38, ROUTE_38, $05, WEST | EAST
-	connection west, Route39, ROUTE_39, 0, 0, 12
-	connection east, EcruteakCity, ECRUTEAK_CITY, -3, 2, 15
-
-	map_data Route39, ROUTE_39, $05, SOUTH | EAST
-	connection south, OlivineCity, OLIVINE_CITY, -3, 2, 16
-	connection east, Route38, ROUTE_38, 0, 0, 9
-
-	map_data Route40, ROUTE_40, $35, SOUTH | EAST
-	connection south, Route41, ROUTE_41, -3, 12, 13
-	connection east, OlivineCity, OLIVINE_CITY, -3, 6, 12
-
-	map_data Route41, ROUTE_41, $35, NORTH | WEST
-	connection north, Route40, ROUTE_40, 15, 0, 10
-	connection west, CianwoodCity, CIANWOOD_CITY, 0, 0, 27
-
-	map_data Route42, ROUTE_42, $05, WEST | EAST
-	connection west, EcruteakCity, ECRUTEAK_CITY, -3, 6, 12
-	connection east, MahoganyTown, MAHOGANY_TOWN, 0, 0, 9
-
-	map_data Route43, ROUTE_43, $05, NORTH | SOUTH
-	connection north, LakeOfRage, LAKE_OF_RAGE, -3, 2, 16
-	connection south, MahoganyTown, MAHOGANY_TOWN, 0, 0, 10
-
-	map_data Route44, ROUTE_44, $71, WEST | EAST
-	connection west, MahoganyTown, MAHOGANY_TOWN, 0, 0, 9
-	connection east, BlackthornCity, BLACKTHORN_CITY, -3, 6, 12
-
-	map_data Route45, ROUTE_45, $71, NORTH | WEST
-	connection north, BlackthornCity, BLACKTHORN_CITY, 0, 0, 13
-	connection west, Route46, ROUTE_46, 36, 0, 12
-
-	map_data Route46, ROUTE_46, $05, SOUTH | EAST
-	connection south, Route29, ROUTE_29, -3, 7, 16
-	connection east, Route45, ROUTE_45, -3, 33, 12
-
-	map_data PewterCity, PEWTER_CITY, $0f, SOUTH | EAST
-	connection south, Route2, ROUTE_2, 5, 0, 10
-	connection east, Route3, ROUTE_3, 5, 0, 9
-
-	map_data Route2, ROUTE_2, $0f, NORTH | SOUTH
-	connection north, PewterCity, PEWTER_CITY, -3, 2, 16
-	connection south, ViridianCity, VIRIDIAN_CITY, -3, 2, 16
-
-	map_data ViridianCity, VIRIDIAN_CITY, $0f, NORTH | SOUTH | WEST
-	connection north, Route2, ROUTE_2, 5, 0, 10
-	connection south, Route1, ROUTE_1, 10, 0, 10
-	connection west, Route22, ROUTE_22, 4, 0, 9
-
-	map_data Route22, ROUTE_22, $2c, EAST
-	connection east, ViridianCity, VIRIDIAN_CITY, -3, 1, 15
-
-	map_data Route1, ROUTE_1, $0f, NORTH | SOUTH
-	connection north, ViridianCity, VIRIDIAN_CITY, -3, 7, 13
-	connection south, PalletTown, PALLET_TOWN, 0, 0, 10
-
-	map_data PalletTown, PALLET_TOWN, $0f, NORTH | SOUTH
-	connection north, Route1, ROUTE_1, 0, 0, 10
-	connection south, Route21, ROUTE_21, 0, 0, 10
-
-	map_data Route21, ROUTE_21, $43, NORTH | SOUTH
-	connection north, PalletTown, PALLET_TOWN, 0, 0, 10
-	connection south, CinnabarIsland, CINNABAR_ISLAND, 0, 0, 10
-
-	map_data CinnabarIsland, CINNABAR_ISLAND, $43, NORTH | EAST
-	connection north, Route21, ROUTE_21, 0, 0, 10
-	connection east, Route20, ROUTE_20, 0, 0, 9
-
-	map_data Route20, ROUTE_20, $43, WEST | EAST
-	connection west, CinnabarIsland, CINNABAR_ISLAND, 0, 0, 9
-	connection east, Route19, ROUTE_19, -3, 6, 12
-
-	map_data Route19, ROUTE_19, $43, NORTH | WEST
-	connection north, FuchsiaCity, FUCHSIA_CITY, 0, 0, 13
-	connection west, Route20, ROUTE_20, 9, 0, 9
-
-	map_data FuchsiaCity, FUCHSIA_CITY, $0f, SOUTH | WEST | EAST
-	connection south, Route19, ROUTE_19, 0, 0, 10
-	connection west, Route18, ROUTE_18, 7, 0, 9
-	connection east, Route15, ROUTE_15, 9, 0, 9
-
-	map_data Route18, ROUTE_18, $43, WEST | EAST
-	connection west, Route17, ROUTE_17, -3, 35, 10
-	connection east, FuchsiaCity, FUCHSIA_CITY, -3, 4, 14
-
-	map_data Route17, ROUTE_17, $43, NORTH | EAST
-	connection north, Route16, ROUTE_16, 0, 0, 10
-	connection east, Route18, ROUTE_18, 38, 0, 9
-
-	map_data Route16, ROUTE_16, $0f, SOUTH | EAST
-	connection south, Route17, ROUTE_17, 0, 0, 10
-	connection east, CeladonCity, CELADON_CITY, -3, 6, 12
-
-	map_data CeladonCity, CELADON_CITY, $0f, WEST | EAST
-	connection west, Route16, ROUTE_16, 9, 0, 9
-	connection east, Route7, ROUTE_7, 5, 0, 9
-
-	map_data Route7, ROUTE_7, $0f, WEST | EAST
-	connection west, CeladonCity, CELADON_CITY, -3, 2, 15
-	connection east, SaffronCity, SAFFRON_CITY, -3, 6, 12
-
-	map_data Route15, ROUTE_15, $0f, WEST | EAST
-	connection west, FuchsiaCity, FUCHSIA_CITY, -3, 6, 12
-	connection east, Route14, ROUTE_14, -3, 6, 12
-
-	map_data Route14, ROUTE_14, $43, NORTH | WEST
-	connection north, Route13, ROUTE_13, 0, 0, 13
-	connection west, Route15, ROUTE_15, 9, 0, 9
-
-	map_data Route13, ROUTE_13, $43, NORTH | SOUTH
-	connection north, Route12, ROUTE_12, 20, 0, 10
-	connection south, Route14, ROUTE_14, 0, 0, 10
-
-	map_data Route12, ROUTE_12, $43, NORTH | SOUTH | WEST
-	connection north, LavenderTown, LAVENDER_TOWN, 0, 0, 10
-	connection south, Route13, ROUTE_13, -3, 17, 13
-	connection west, Route11, ROUTE_11, 9, 0, 9
-
-	map_data Route11, ROUTE_11, $0f, WEST | EAST
-	connection west, VermilionCity, VERMILION_CITY, 0, 0, 12
-	connection east, Route12, ROUTE_12, -3, 6, 15
-
-	map_data LavenderTown, LAVENDER_TOWN, $2c, NORTH | SOUTH | WEST
-	connection north, Route10South, ROUTE_10_SOUTH, 0, 0, 10
-	connection south, Route12, ROUTE_12, 0, 0, 10
-	connection west, Route8, ROUTE_8, 0, 0, 9
-
-	map_data VermilionCity, VERMILION_CITY, $43, NORTH | EAST
-	connection north, Route6, ROUTE_6, 5, 0, 10
-	connection east, Route11, ROUTE_11, 0, 0, 9
-
-	map_data Route6, ROUTE_6, $0f, NORTH | SOUTH
-	connection north, SaffronCity, SAFFRON_CITY, -3, 2, 16
-	connection south, VermilionCity, VERMILION_CITY, -3, 2, 16
-
-	map_data SaffronCity, SAFFRON_CITY, $0f, NORTH | SOUTH | WEST | EAST
-	connection north, Route5, ROUTE_5, 5, 0, 10
-	connection south, Route6, ROUTE_6, 5, 0, 10
-	connection west, Route7, ROUTE_7, 9, 0, 9
-	connection east, Route8, ROUTE_8, 9, 0, 9
-
-	map_data Route5, ROUTE_5, $0f, NORTH | SOUTH
-	connection north, CeruleanCity, CERULEAN_CITY, -3, 2, 16
-	connection south, SaffronCity, SAFFRON_CITY, -3, 2, 16
-
-	map_data CeruleanCity, CERULEAN_CITY, $0f, NORTH | SOUTH | WEST | EAST
-	connection north, Route24, ROUTE_24, 6, 0, 10
-	connection south, Route5, ROUTE_5, 5, 0, 10
-	connection west, Route4, ROUTE_4, 5, 0, 9
-	connection east, Route9, ROUTE_9, 9, 0, 9
-
-	map_data Route9, ROUTE_9, $2c, SOUTH | WEST
-	connection south, Route10North, ROUTE_10_NORTH, 20, 0, 10
-	connection west, CeruleanCity, CERULEAN_CITY, -3, 6, 12
-
-	map_data Route24, ROUTE_24, $2c, NORTH | SOUTH
-	connection north, Route25, ROUTE_25, 0, 0, 13
-	connection south, CeruleanCity, CERULEAN_CITY, -3, 3, 16
-
-	map_data Route25, ROUTE_25, $2c, SOUTH
-	connection south, Route24, ROUTE_24, 0, 0, 10
-
-	map_data Route3, ROUTE_3, $2c, WEST | EAST
-	connection west, PewterCity, PEWTER_CITY, -3, 2, 15
-	connection east, Route4, ROUTE_4, 0, 0, 9
-
-	map_data Route4, ROUTE_4, $2c, WEST | EAST
-	connection west, Route3, ROUTE_3, 0, 0, 9
-	connection east, CeruleanCity, CERULEAN_CITY, -3, 2, 15
-
-	map_data Route8, ROUTE_8, $2c, WEST | EAST
-	connection west, SaffronCity, SAFFRON_CITY, -3, 6, 12
-	connection east, LavenderTown, LAVENDER_TOWN, 0, 0, 9
-
-	map_data Route10North, ROUTE_10_NORTH, $2c, NORTH | SOUTH
-	connection north, Route9, ROUTE_9, -3, 17, 13
-	connection south, Route10South, ROUTE_10_SOUTH, 0, 0, 10
-
-	map_data Route10South, ROUTE_10_SOUTH, $2c, NORTH | SOUTH
-	connection north, Route10North, ROUTE_10_NORTH, 0, 0, 10
-	connection south, LavenderTown, LAVENDER_TOWN, 0, 0, 10
-
-	map_data Route23, ROUTE_23, $0f, 0
-	map_data SproutTower1F, SPROUT_TOWER_1F, $00, 0
-	map_data SproutTower2F, SPROUT_TOWER_2F, $00, 0
-	map_data SproutTower3F, SPROUT_TOWER_3F, $00, 0
-	map_data TinTower1F, TIN_TOWER_1F, $00, 0
-	map_data TinTower2F, TIN_TOWER_2F, $00, 0
-	map_data TinTower3F, TIN_TOWER_3F, $00, 0
-	map_data TinTower4F, TIN_TOWER_4F, $00, 0
-	map_data TinTower5F, TIN_TOWER_5F, $00, 0
-	map_data TinTower6F, TIN_TOWER_6F, $00, 0
-	map_data TinTower7F, TIN_TOWER_7F, $00, 0
-	map_data TinTower8F, TIN_TOWER_8F, $00, 0
-	map_data TinTower9F, TIN_TOWER_9F, $00, 0
-	map_data BurnedTower1F, BURNED_TOWER_1F, $00, 0
-	map_data BurnedTowerB1F, BURNED_TOWER_B1F, $09, 0
-	map_data NationalPark, NATIONAL_PARK, $00, 0
-	map_data NationalParkBugContest, NATIONAL_PARK_BUG_CONTEST, $00, 0
-	map_data RadioTower1F, RADIO_TOWER_1F, $00, 0
-	map_data RadioTower2F, RADIO_TOWER_2F, $00, 0
-	map_data RadioTower3F, RADIO_TOWER_3F, $00, 0
-	map_data RadioTower4F, RADIO_TOWER_4F, $00, 0
-	map_data RadioTower5F, RADIO_TOWER_5F, $00, 0
-	map_data RuinsOfAlphOutside, RUINS_OF_ALPH_OUTSIDE, $05, 0
-	map_data RuinsOfAlphHoOhChamber, RUINS_OF_ALPH_HO_OH_CHAMBER, $00, 0
-	map_data RuinsOfAlphKabutoChamber, RUINS_OF_ALPH_KABUTO_CHAMBER, $00, 0
-	map_data RuinsOfAlphOmanyteChamber, RUINS_OF_ALPH_OMANYTE_CHAMBER, $00, 0
-	map_data RuinsOfAlphAerodactylChamber, RUINS_OF_ALPH_AERODACTYL_CHAMBER, $00, 0
-	map_data RuinsOfAlphInnerChamber, RUINS_OF_ALPH_INNER_CHAMBER, $00, 0
-	map_data RuinsOfAlphResearchCenter, RUINS_OF_ALPH_RESEARCH_CENTER, $00, 0
-	map_data RuinsOfAlphHoOhItemRoom, RUINS_OF_ALPH_HO_OH_ITEM_ROOM, $00, 0
-	map_data RuinsOfAlphKabutoItemRoom, RUINS_OF_ALPH_KABUTO_ITEM_ROOM, $00, 0
-	map_data RuinsOfAlphOmanyteItemRoom, RUINS_OF_ALPH_OMANYTE_ITEM_ROOM, $00, 0
-	map_data RuinsOfAlphAerodactylItemRoom, RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM, $00, 0
-	map_data RuinsOfAlphHoOhWordRoom, RUINS_OF_ALPH_HO_OH_WORD_ROOM, $00, 0
-	map_data RuinsOfAlphKabutoWordRoom, RUINS_OF_ALPH_KABUTO_WORD_ROOM, $00, 0
-	map_data RuinsOfAlphOmanyteWordRoom, RUINS_OF_ALPH_OMANYTE_WORD_ROOM, $00, 0
-	map_data RuinsOfAlphAerodactylWordRoom, RUINS_OF_ALPH_AERODACTYL_WORD_ROOM, $00, 0
-	map_data UnionCave1F, UNION_CAVE_1F, $09, 0
-	map_data UnionCaveB1F, UNION_CAVE_B1F, $09, 0
-	map_data UnionCaveB2F, UNION_CAVE_B2F, $09, 0
-	map_data SlowpokeWellB1F, SLOWPOKE_WELL_B1F, $09, 0
-	map_data SlowpokeWellB2F, SLOWPOKE_WELL_B2F, $09, 0
-	map_data OlivineLighthouse1F, OLIVINE_LIGHTHOUSE_1F, $00, 0
-	map_data OlivineLighthouse2F, OLIVINE_LIGHTHOUSE_2F, $00, 0
-	map_data OlivineLighthouse3F, OLIVINE_LIGHTHOUSE_3F, $00, 0
-	map_data OlivineLighthouse4F, OLIVINE_LIGHTHOUSE_4F, $00, 0
-	map_data OlivineLighthouse5F, OLIVINE_LIGHTHOUSE_5F, $00, 0
-	map_data OlivineLighthouse6F, OLIVINE_LIGHTHOUSE_6F, $00, 0
-	map_data MahoganyMart1F, MAHOGANY_MART_1F, $00, 0
-	map_data TeamRocketBaseB1F, TEAM_ROCKET_BASE_B1F, $00, 0
-	map_data TeamRocketBaseB2F, TEAM_ROCKET_BASE_B2F, $00, 0
-	map_data TeamRocketBaseB3F, TEAM_ROCKET_BASE_B3F, $00, 0
-	map_data IlexForest, ILEX_FOREST, $05, 0
-	map_data GoldenrodUnderground, GOLDENROD_UNDERGROUND, $00, 0
-	map_data GoldenrodUndergroundSwitchRoomEntrances, GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, $00, 0
-	map_data GoldenrodDeptStoreB1F, GOLDENROD_DEPT_STORE_B1F, $00, 0
-	map_data GoldenrodUndergroundWarehouse, GOLDENROD_UNDERGROUND_WAREHOUSE, $00, 0
-	map_data MountMortar1FOutside, MOUNT_MORTAR_1F_OUTSIDE, $09, 0
-	map_data MountMortar1FInside, MOUNT_MORTAR_1F_INSIDE, $09, 0
-	map_data MountMortar2FInside, MOUNT_MORTAR_2F_INSIDE, $09, 0
-	map_data MountMortarB1F, MOUNT_MORTAR_B1F, $09, 0
-	map_data IcePath1F, ICE_PATH_1F, $09, 0
-	map_data IcePathB1F, ICE_PATH_B1F, $19, 0
-	map_data IcePathB2FMahoganySide, ICE_PATH_B2F_MAHOGANY_SIDE, $19, 0
-	map_data IcePathB2FBlackthornSide, ICE_PATH_B2F_BLACKTHORN_SIDE, $19, 0
-	map_data IcePathB3F, ICE_PATH_B3F, $19, 0
-	map_data WhirlIslandNW, WHIRL_ISLAND_NW, $09, 0
-	map_data WhirlIslandNE, WHIRL_ISLAND_NE, $09, 0
-	map_data WhirlIslandSW, WHIRL_ISLAND_SW, $09, 0
-	map_data WhirlIslandCave, WHIRL_ISLAND_CAVE, $09, 0
-	map_data WhirlIslandSE, WHIRL_ISLAND_SE, $0f, 0
-	map_data WhirlIslandB1F, WHIRL_ISLAND_B1F, $09, 0
-	map_data WhirlIslandB2F, WHIRL_ISLAND_B2F, $2e, 0
-	map_data WhirlIslandLugiaChamber, WHIRL_ISLAND_LUGIA_CHAMBER, $0f, 0
-	map_data SilverCaveRoom1, SILVER_CAVE_ROOM_1, $09, 0
-	map_data SilverCaveRoom2, SILVER_CAVE_ROOM_2, $09, 0
-	map_data SilverCaveRoom3, SILVER_CAVE_ROOM_3, $09, 0
-	map_data SilverCaveItemRooms, SILVER_CAVE_ITEM_ROOMS, $09, 0
-	map_data DarkCaveVioletEntrance, DARK_CAVE_VIOLET_ENTRANCE, $09, 0
-	map_data DarkCaveBlackthornEntrance, DARK_CAVE_BLACKTHORN_ENTRANCE, $09, 0
-	map_data DragonsDen1F, DRAGONS_DEN_1F, $09, 0
-	map_data DragonsDenB1F, DRAGONS_DEN_B1F, $71, 0
-	map_data DragonShrine, DRAGON_SHRINE, $00, 0
-	map_data TohjoFalls, TOHJO_FALLS, $09, 0
-	map_data OlivinePokecenter1F, OLIVINE_POKECENTER_1F, $00, 0
-	map_data OlivineGym, OLIVINE_GYM, $00, 0
-	map_data OlivineTimsHouse, OLIVINE_TIMS_HOUSE, $00, 0
-	map_data OlivineHouseBeta, OLIVINE_HOUSE_BETA, $00, 0
-	map_data OlivinePunishmentSpeechHouse, OLIVINE_PUNISHMENT_SPEECH_HOUSE, $00, 0
-	map_data OlivineGoodRodHouse, OLIVINE_GOOD_ROD_HOUSE, $00, 0
-	map_data OlivineCafe, OLIVINE_CAFE, $00, 0
-	map_data OlivineMart, OLIVINE_MART, $00, 0
-	map_data Route38EcruteakGate, ROUTE_38_ECRUTEAK_GATE, $00, 0
-	map_data Route39Barn, ROUTE_39_BARN, $00, 0
-	map_data Route39Farmhouse, ROUTE_39_FARMHOUSE, $00, 0
-	map_data MahoganyRedGyaradosSpeechHouse, MAHOGANY_RED_GYARADOS_SPEECH_HOUSE, $00, 0
-	map_data MahoganyGym, MAHOGANY_GYM, $00, 0
-	map_data MahoganyPokecenter1F, MAHOGANY_POKECENTER_1F, $00, 0
-	map_data Route42EcruteakGate, ROUTE_42_ECRUTEAK_GATE, $00, 0
-	map_data DiglettsCave, DIGLETTS_CAVE, $09, 0
-	map_data MountMoon, MOUNT_MOON, $09, 0
-	map_data UndergroundPath, UNDERGROUND_PATH, $00, 0
-	map_data RockTunnel1F, ROCK_TUNNEL_1F, $09, 0
-	map_data RockTunnelB1F, ROCK_TUNNEL_B1F, $09, 0
-	map_data SafariZoneFuchsiaGateBeta, SAFARI_ZONE_FUCHSIA_GATE_BETA, $00, 0
-	map_data SafariZoneBeta, SAFARI_ZONE_BETA, $13, 0
-	map_data VictoryRoad, VICTORY_ROAD, $1d, 0
-	map_data EcruteakTinTowerEntrance, ECRUTEAK_TIN_TOWER_ENTRANCE, $00, 0
-	map_data WiseTriosRoom, WISE_TRIOS_ROOM, $00, 0
-	map_data EcruteakPokecenter1F, ECRUTEAK_POKECENTER_1F, $00, 0
-	map_data EcruteakLugiaSpeechHouse, ECRUTEAK_LUGIA_SPEECH_HOUSE, $00, 0
-	map_data DanceTheatre, DANCE_THEATRE, $00, 0
-	map_data EcruteakMart, ECRUTEAK_MART, $00, 0
-	map_data EcruteakGym, ECRUTEAK_GYM, $00, 0
-	map_data EcruteakItemfinderHouse, ECRUTEAK_ITEMFINDER_HOUSE, $00, 0
-	map_data BlackthornGym1F, BLACKTHORN_GYM_1F, $00, 0
-	map_data BlackthornGym2F, BLACKTHORN_GYM_2F, $00, 0
-	map_data BlackthornDragonSpeechHouse, BLACKTHORN_DRAGON_SPEECH_HOUSE, $00, 0
-	map_data BlackthornEmysHouse, BLACKTHORN_EMYS_HOUSE, $00, 0
-	map_data BlackthornMart, BLACKTHORN_MART, $00, 0
-	map_data BlackthornPokecenter1F, BLACKTHORN_POKECENTER_1F, $00, 0
-	map_data MoveDeletersHouse, MOVE_DELETERS_HOUSE, $00, 0
-	map_data CinnabarPokecenter1F, CINNABAR_POKECENTER_1F, $00, 0
-	map_data CinnabarPokecenter2FBeta, CINNABAR_POKECENTER_2F_BETA, $00, 0
-	map_data Route19FuchsiaGate, ROUTE_19_FUCHSIA_GATE, $00, 0
-	map_data SeafoamGym, SEAFOAM_GYM, $09, 0
-	map_data CeruleanGymBadgeSpeechHouse, CERULEAN_GYM_BADGE_SPEECH_HOUSE, $00, 0
-	map_data CeruleanPoliceStation, CERULEAN_POLICE_STATION, $00, 0
-	map_data CeruleanTradeSpeechHouse, CERULEAN_TRADE_SPEECH_HOUSE, $00, 0
-	map_data CeruleanPokecenter1F, CERULEAN_POKECENTER_1F, $00, 0
-	map_data CeruleanPokecenter2FBeta, CERULEAN_POKECENTER_2F_BETA, $00, 0
-	map_data CeruleanGym, CERULEAN_GYM, $00, 0
-	map_data CeruleanMart, CERULEAN_MART, $00, 0
-	map_data Route10Pokecenter1F, ROUTE_10_POKECENTER_1F, $00, 0
-	map_data Route10Pokecenter2FBeta, ROUTE_10_POKECENTER_2F_BETA, $00, 0
-	map_data PowerPlant, POWER_PLANT, $00, 0
-	map_data BillsHouse, BILLS_HOUSE, $00, 0
-	map_data AzaleaPokecenter1F, AZALEA_POKECENTER_1F, $00, 0
-	map_data CharcoalKiln, CHARCOAL_KILN, $00, 0
-	map_data AzaleaMart, AZALEA_MART, $00, 0
-	map_data KurtsHouse, KURTS_HOUSE, $00, 0
-	map_data AzaleaGym, AZALEA_GYM, $00, 0
-	map_data LakeOfRageHiddenPowerHouse, LAKE_OF_RAGE_HIDDEN_POWER_HOUSE, $00, 0
-	map_data LakeOfRageMagikarpHouse, LAKE_OF_RAGE_MAGIKARP_HOUSE, $00, 0
-	map_data Route43MahoganyGate, ROUTE_43_MAHOGANY_GATE, $00, 0
-	map_data Route43Gate, ROUTE_43_GATE, $00, 0
-	map_data VioletMart, VIOLET_MART, $00, 0
-	map_data VioletGym, VIOLET_GYM, $00, 0
-	map_data EarlsPokemonAcademy, EARLS_POKEMON_ACADEMY, $00, 0
-	map_data VioletNicknameSpeechHouse, VIOLET_NICKNAME_SPEECH_HOUSE, $00, 0
-	map_data VioletPokecenter1F, VIOLET_POKECENTER_1F, $00, 0
-	map_data VioletKylesHouse, VIOLET_KYLES_HOUSE, $00, 0
-	map_data Route32RuinsOfAlphGate, ROUTE_32_RUINS_OF_ALPH_GATE, $00, 0
-	map_data Route32Pokecenter1F, ROUTE_32_POKECENTER_1F, $00, 0
-	map_data Route35GoldenrodGate, ROUTE_35_GOLDENROD_GATE, $00, 0
-	map_data Route35NationalParkGate, ROUTE_35_NATIONAL_PARK_GATE, $00, 0
-	map_data Route36RuinsOfAlphGate, ROUTE_36_RUINS_OF_ALPH_GATE, $00, 0
-	map_data Route36NationalParkGate, ROUTE_36_NATIONAL_PARK_GATE, $00, 0
-	map_data GoldenrodGym, GOLDENROD_GYM, $00, 0
-	map_data GoldenrodBikeShop, GOLDENROD_BIKE_SHOP, $00, 0
-	map_data GoldenrodHappinessRater, GOLDENROD_HAPPINESS_RATER, $00, 0
-	map_data BillsFamilysHouse, BILLS_FAMILYS_HOUSE, $00, 0
-	map_data GoldenrodMagnetTrainStation, GOLDENROD_MAGNET_TRAIN_STATION, $00, 0
-	map_data GoldenrodFlowerShop, GOLDENROD_FLOWER_SHOP, $00, 0
-	map_data GoldenrodPPSpeechHouse, GOLDENROD_PP_SPEECH_HOUSE, $00, 0
-	map_data GoldenrodNameRater, GOLDENROD_NAME_RATER, $00, 0
-	map_data GoldenrodDeptStore1F, GOLDENROD_DEPT_STORE_1F, $00, 0
-	map_data GoldenrodDeptStore2F, GOLDENROD_DEPT_STORE_2F, $00, 0
-	map_data GoldenrodDeptStore3F, GOLDENROD_DEPT_STORE_3F, $00, 0
-	map_data GoldenrodDeptStore4F, GOLDENROD_DEPT_STORE_4F, $00, 0
-	map_data GoldenrodDeptStore5F, GOLDENROD_DEPT_STORE_5F, $00, 0
-	map_data GoldenrodDeptStore6F, GOLDENROD_DEPT_STORE_6F, $00, 0
-	map_data GoldenrodDeptStoreElevator, GOLDENROD_DEPT_STORE_ELEVATOR, $00, 0
-	map_data GoldenrodDeptStoreRoof, GOLDENROD_DEPT_STORE_ROOF, $24, 0
-	map_data GoldenrodGameCorner, GOLDENROD_GAME_CORNER, $00, 0
-	map_data GoldenrodPokecenter1F, GOLDENROD_POKECENTER_1F, $00, 0
-	map_data PokecomCenterAdminRoomMobile, POKECOM_CENTER_ADMIN_ROOM_MOBILE, $00, 0
-	map_data IlexForestAzaleaGate, ILEX_FOREST_AZALEA_GATE, $00, 0
-	map_data Route34IlexForestGate, ROUTE_34_ILEX_FOREST_GATE, $00, 0
-	map_data DayCare, DAY_CARE, $00, 0
-	map_data VermilionFishingSpeechHouse, VERMILION_FISHING_SPEECH_HOUSE, $00, 0
-	map_data VermilionPokecenter1F, VERMILION_POKECENTER_1F, $00, 0
-	map_data VermilionPokecenter2FBeta, VERMILION_POKECENTER_2F_BETA, $00, 0
-	map_data PokemonFanClub, POKEMON_FAN_CLUB, $00, 0
-	map_data VermilionMagnetTrainSpeechHouse, VERMILION_MAGNET_TRAIN_SPEECH_HOUSE, $00, 0
-	map_data VermilionMart, VERMILION_MART, $00, 0
-	map_data VermilionDiglettsCaveSpeechHouse, VERMILION_DIGLETTS_CAVE_SPEECH_HOUSE, $00, 0
-	map_data VermilionGym, VERMILION_GYM, $00, 0
-	map_data Route6SaffronGate, ROUTE_6_SAFFRON_GATE, $00, 0
-	map_data Route6UndergroundPathEntrance, ROUTE_6_UNDERGROUND_PATH_ENTRANCE, $00, 0
-	map_data RedsHouse1F, REDS_HOUSE_1F, $00, 0
-	map_data RedsHouse2F, REDS_HOUSE_2F, $00, 0
-	map_data BluesHouse, BLUES_HOUSE, $00, 0
-	map_data OaksLab, OAKS_LAB, $00, 0
-	map_data PewterNidoranSpeechHouse, PEWTER_NIDORAN_SPEECH_HOUSE, $00, 0
-	map_data PewterGym, PEWTER_GYM, $00, 0
-	map_data PewterMart, PEWTER_MART, $00, 0
-	map_data PewterPokecenter1F, PEWTER_POKECENTER_1F, $00, 0
-	map_data PewterPokecenter2FBeta, PEWTER_POKECENTER_2F_BETA, $00, 0
-	map_data PewterSnoozeSpeechHouse, PEWTER_SNOOZE_SPEECH_HOUSE, $00, 0
-	map_data OlivinePort, OLIVINE_PORT, $0a, 0
-	map_data VermilionPort, VERMILION_PORT, $0a, 0
-	map_data FastShip1F, FAST_SHIP_1F, $00, 0
-	map_data FastShipCabins_NNW_NNE_NE, FAST_SHIP_CABINS_NNW_NNE_NE, $00, 0
-	map_data FastShipCabins_SW_SSW_NW, FAST_SHIP_CABINS_SW_SSW_NW, $00, 0
-	map_data FastShipCabins_SE_SSE_CaptainsCabin, FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN, $00, 0
-	map_data FastShipB1F, FAST_SHIP_B1F, $00, 0
-	map_data OlivinePortPassage, OLIVINE_PORT_PASSAGE, $00, 0
-	map_data VermilionPortPassage, VERMILION_PORT_PASSAGE, $00, 0
-	map_data MountMoonSquare, MOUNT_MOON_SQUARE, $2d, 0
-	map_data MountMoonGiftShop, MOUNT_MOON_GIFT_SHOP, $00, 0
-	map_data TinTowerRoof, TIN_TOWER_ROOF, $00, 0
-	map_data IndigoPlateauPokecenter1F, INDIGO_PLATEAU_POKECENTER_1F, $00, 0
-	map_data WillsRoom, WILLS_ROOM, $00, 0
-	map_data KogasRoom, KOGAS_ROOM, $00, 0
-	map_data BrunosRoom, BRUNOS_ROOM, $00, 0
-	map_data KarensRoom, KARENS_ROOM, $00, 0
-	map_data LancesRoom, LANCES_ROOM, $00, 0
-	map_data HallOfFame, HALL_OF_FAME, $00, 0
-	map_data FuchsiaMart, FUCHSIA_MART, $00, 0
-	map_data SafariZoneMainOffice, SAFARI_ZONE_MAIN_OFFICE, $00, 0
-	map_data FuchsiaGym, FUCHSIA_GYM, $00, 0
-	map_data BillsBrothersHouse, BILLS_BROTHERS_HOUSE, $00, 0
-	map_data FuchsiaPokecenter1F, FUCHSIA_POKECENTER_1F, $00, 0
-	map_data FuchsiaPokecenter2FBeta, FUCHSIA_POKECENTER_2F_BETA, $00, 0
-	map_data SafariZoneWardensHome, SAFARI_ZONE_WARDENS_HOME, $00, 0
-	map_data Route15FuchsiaGate, ROUTE_15_FUCHSIA_GATE, $00, 0
-	map_data LavenderPokecenter1F, LAVENDER_POKECENTER_1F, $00, 0
-	map_data LavenderPokecenter2FBeta, LAVENDER_POKECENTER_2F_BETA, $00, 0
-	map_data MrFujisHouse, MR_FUJIS_HOUSE, $00, 0
-	map_data LavenderSpeechHouse, LAVENDER_SPEECH_HOUSE, $00, 0
-	map_data LavenderNameRater, LAVENDER_NAME_RATER, $00, 0
-	map_data LavenderMart, LAVENDER_MART, $00, 0
-	map_data SoulHouse, SOUL_HOUSE, $00, 0
-	map_data LavRadioTower1F, LAV_RADIO_TOWER_1F, $00, 0
-	map_data Route8SaffronGate, ROUTE_8_SAFFRON_GATE, $00, 0
-	map_data Route12SuperRodHouse, ROUTE_12_SUPER_ROD_HOUSE, $00, 0
-	map_data SilverCavePokecenter1F, SILVER_CAVE_POKECENTER_1F, $00, 0
-	map_data Route28SteelWingHouse, ROUTE_28_STEEL_WING_HOUSE, $00, 0
-	map_data Pokecenter2F, POKECENTER_2F, $00, 0
-	map_data TradeCenter, TRADE_CENTER, $00, 0
-	map_data Colosseum, COLOSSEUM, $00, 0
-	map_data TimeCapsule, TIME_CAPSULE, $00, 0
-	map_data MobileTradeRoom, MOBILE_TRADE_ROOM, $00, 0
-	map_data MobileBattleRoom, MOBILE_BATTLE_ROOM, $00, 0
-	map_data CeladonDeptStore1F, CELADON_DEPT_STORE_1F, $00, 0
-	map_data CeladonDeptStore2F, CELADON_DEPT_STORE_2F, $00, 0
-	map_data CeladonDeptStore3F, CELADON_DEPT_STORE_3F, $00, 0
-	map_data CeladonDeptStore4F, CELADON_DEPT_STORE_4F, $00, 0
-	map_data CeladonDeptStore5F, CELADON_DEPT_STORE_5F, $00, 0
-	map_data CeladonDeptStore6F, CELADON_DEPT_STORE_6F, $00, 0
-	map_data CeladonDeptStoreElevator, CELADON_DEPT_STORE_ELEVATOR, $00, 0
-	map_data CeladonMansion1F, CELADON_MANSION_1F, $00, 0
-	map_data CeladonMansion2F, CELADON_MANSION_2F, $00, 0
-	map_data CeladonMansion3F, CELADON_MANSION_3F, $00, 0
-	map_data CeladonMansionRoof, CELADON_MANSION_ROOF, $01, 0
-	map_data CeladonMansionRoofHouse, CELADON_MANSION_ROOF_HOUSE, $00, 0
-	map_data CeladonPokecenter1F, CELADON_POKECENTER_1F, $00, 0
-	map_data CeladonPokecenter2FBeta, CELADON_POKECENTER_2F_BETA, $00, 0
-	map_data CeladonGameCorner, CELADON_GAME_CORNER, $00, 0
-	map_data CeladonGameCornerPrizeRoom, CELADON_GAME_CORNER_PRIZE_ROOM, $00, 0
-	map_data CeladonGym, CELADON_GYM, $00, 0
-	map_data CeladonCafe, CELADON_CAFE, $00, 0
-	map_data Route16FuchsiaSpeechHouse, ROUTE_16_FUCHSIA_SPEECH_HOUSE, $00, 0
-	map_data Route16Gate, ROUTE_16_GATE, $00, 0
-	map_data Route7SaffronGate, ROUTE_7_SAFFRON_GATE, $00, 0
-	map_data Route17Route18Gate, ROUTE_17_ROUTE_18_GATE, $00, 0
-	map_data ManiasHouse, MANIAS_HOUSE, $00, 0
-	map_data CianwoodGym, CIANWOOD_GYM, $00, 0
-	map_data CianwoodPokecenter1F, CIANWOOD_POKECENTER_1F, $00, 0
-	map_data CianwoodPharmacy, CIANWOOD_PHARMACY, $00, 0
-	map_data CianwoodPhotoStudio, CIANWOOD_PHOTO_STUDIO, $00, 0
-	map_data CianwoodLugiaSpeechHouse, CIANWOOD_LUGIA_SPEECH_HOUSE, $00, 0
-	map_data PokeSeersHouse, POKE_SEERS_HOUSE, $00, 0
-	map_data BattleTower1F, BATTLE_TOWER_1F, $00, 0
-	map_data BattleTowerBattleRoom, BATTLE_TOWER_BATTLE_ROOM, $00, 0
-	map_data BattleTowerElevator, BATTLE_TOWER_ELEVATOR, $00, 0
-	map_data BattleTowerHallway, BATTLE_TOWER_HALLWAY, $00, 0
-	map_data Route40BattleTowerGate, ROUTE_40_BATTLE_TOWER_GATE, $00, 0
-	map_data BattleTowerOutside, BATTLE_TOWER_OUTSIDE, $05, 0
-	map_data ViridianGym, VIRIDIAN_GYM, $00, 0
-	map_data ViridianNicknameSpeechHouse, VIRIDIAN_NICKNAME_SPEECH_HOUSE, $00, 0
-	map_data TrainerHouse1F, TRAINER_HOUSE_1F, $00, 0
-	map_data TrainerHouseB1F, TRAINER_HOUSE_B1F, $00, 0
-	map_data ViridianMart, VIRIDIAN_MART, $00, 0
-	map_data ViridianPokecenter1F, VIRIDIAN_POKECENTER_1F, $00, 0
-	map_data ViridianPokecenter2FBeta, VIRIDIAN_POKECENTER_2F_BETA, $00, 0
-	map_data Route2NuggetHouse, ROUTE_2_NUGGET_HOUSE, $00, 0
-	map_data Route2Gate, ROUTE_2_GATE, $00, 0
-	map_data VictoryRoadGate, VICTORY_ROAD_GATE, $00, 0
-	map_data ElmsLab, ELMS_LAB, $00, 0
-	map_data PlayersHouse1F, PLAYERS_HOUSE_1F, $00, 0
-	map_data PlayersHouse2F, PLAYERS_HOUSE_2F, $00, 0
-	map_data PlayersNeighborsHouse, PLAYERS_NEIGHBORS_HOUSE, $00, 0
-	map_data ElmsHouse, ELMS_HOUSE, $00, 0
-	map_data Route26HealHouse, ROUTE_26_HEAL_HOUSE, $00, 0
-	map_data DayOfWeekSiblingsHouse, DAY_OF_WEEK_SIBLINGS_HOUSE, $00, 0
-	map_data Route27SandstormHouse, ROUTE_27_SANDSTORM_HOUSE, $00, 0
-	map_data Route29Route46Gate, ROUTE_29_ROUTE_46_GATE, $00, 0
-	map_data FightingDojo, FIGHTING_DOJO, $00, 0
-	map_data SaffronGym, SAFFRON_GYM, $00, 0
-	map_data SaffronMart, SAFFRON_MART, $00, 0
-	map_data SaffronPokecenter1F, SAFFRON_POKECENTER_1F, $00, 0
-	map_data SaffronPokecenter2FBeta, SAFFRON_POKECENTER_2F_BETA, $00, 0
-	map_data MrPsychicsHouse, MR_PSYCHICS_HOUSE, $00, 0
-	map_data SaffronMagnetTrainStation, SAFFRON_MAGNET_TRAIN_STATION, $00, 0
-	map_data SilphCo1F, SILPH_CO_1F, $00, 0
-	map_data CopycatsHouse1F, COPYCATS_HOUSE_1F, $00, 0
-	map_data CopycatsHouse2F, COPYCATS_HOUSE_2F, $00, 0
-	map_data Route5UndergroundPathEntrance, ROUTE_5_UNDERGROUND_PATH_ENTRANCE, $00, 0
-	map_data Route5SaffronGate, ROUTE_5_SAFFRON_GATE, $00, 0
-	map_data Route5CleanseTagHouse, ROUTE_5_CLEANSE_TAG_HOUSE, $00, 0
-	map_data CherrygroveMart, CHERRYGROVE_MART, $00, 0
-	map_data CherrygrovePokecenter1F, CHERRYGROVE_POKECENTER_1F, $00, 0
-	map_data CherrygroveGymSpeechHouse, CHERRYGROVE_GYM_SPEECH_HOUSE, $00, 0
-	map_data GuideGentsHouse, GUIDE_GENTS_HOUSE, $00, 0
-	map_data CherrygroveEvolutionSpeechHouse, CHERRYGROVE_EVOLUTION_SPEECH_HOUSE, $00, 0
-	map_data Route30BerryHouse, ROUTE_30_BERRY_HOUSE, $00, 0
-	map_data MrPokemonsHouse, MR_POKEMONS_HOUSE, $00, 0
-	map_data Route31VioletGate, ROUTE_31_VIOLET_GATE, $00, 0
--- a/data/maps/definitions.asm
+++ /dev/null
@@ -1,485 +1,0 @@
-map_def: MACRO
-;\1: map name: for the MapData pointer (see data/maps/data.asm)
-;\2: tileset: a TILESET_* constant
-;\3: environment: TOWN, ROUTE, INDOOR, CAVE, ENVIRONMENT_5, GATE, or DUNGEON
-;\4: location: from constants/landmark_constants.asm
-;\5: music: a MUSIC_* constant
-;\6: phone service flag: TRUE to prevent phone calls
-;\7: time of day: a PALETTE_* constant
-;\8: fishing group: a FISHGROUP_* constant
-	db BANK(\1_MapData), \2, \3
-	dw \1_MapData
-	db \4, \5
-	dn \6, \7
-	db \8
-ENDM
-
-MapGroupPointers::
-; pointers to the first map_def of each map group
-	dw MapGroup_Olivine     ;  1
-	dw MapGroup_Mahogany    ;  2
-	dw MapGroup_Dungeons    ;  3
-	dw MapGroup_Ecruteak    ;  4
-	dw MapGroup_Blackthorn  ;  5
-	dw MapGroup_Cinnabar    ;  6
-	dw MapGroup_Cerulean    ;  7
-	dw MapGroup_Azalea      ;  8
-	dw MapGroup_LakeOfRage  ;  9
-	dw MapGroup_Violet      ; 10
-	dw MapGroup_Goldenrod   ; 11
-	dw MapGroup_Vermilion   ; 12
-	dw MapGroup_Pallet      ; 13
-	dw MapGroup_Pewter      ; 14
-	dw MapGroup_FastShip    ; 15
-	dw MapGroup_Indigo      ; 16
-	dw MapGroup_Fuchsia     ; 17
-	dw MapGroup_Lavender    ; 18
-	dw MapGroup_Silver      ; 19
-	dw MapGroup_CableClub   ; 20
-	dw MapGroup_Celadon     ; 21
-	dw MapGroup_Cianwood    ; 22
-	dw MapGroup_Viridian    ; 23
-	dw MapGroup_NewBark     ; 24
-	dw MapGroup_Saffron     ; 25
-	dw MapGroup_Cherrygrove ; 26
-
-
-MapGroup_Olivine:
-	map_def OlivinePokecenter1F, TILESET_POKECENTER, INDOOR, OLIVINE_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def OlivineGym, TILESET_CHAMPIONS_ROOM, INDOOR, OLIVINE_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def OlivineTimsHouse, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def OlivineHouseBeta, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def OlivinePunishmentSpeechHouse, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def OlivineGoodRodHouse, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def OlivineCafe, TILESET_GAME_CORNER, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def OlivineMart, TILESET_MART, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route38EcruteakGate, TILESET_GATE, GATE, ROUTE_38, MUSIC_ROUTE_37, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route39Barn, TILESET_TRADITIONAL_HOUSE, INDOOR, ROUTE_39, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route39Farmhouse, TILESET_HOUSE, INDOOR, ROUTE_39, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route38, TILESET_JOHTO, ROUTE, ROUTE_38, MUSIC_ROUTE_37, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def Route39, TILESET_JOHTO, ROUTE, ROUTE_39, MUSIC_ROUTE_37, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def OlivineCity, TILESET_JOHTO, TOWN, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-
-MapGroup_Mahogany:
-	map_def MahoganyRedGyaradosSpeechHouse, TILESET_HOUSE, INDOOR, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def MahoganyGym, TILESET_ELITE_FOUR_ROOM, INDOOR, MAHOGANY_TOWN, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def MahoganyPokecenter1F, TILESET_POKECENTER, INDOOR, MAHOGANY_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route42EcruteakGate, TILESET_GATE, GATE, ROUTE_42, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route42, TILESET_JOHTO, ROUTE, ROUTE_42, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
-	map_def Route44, TILESET_JOHTO, ROUTE, ROUTE_44, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_POND
-	map_def MahoganyTown, TILESET_JOHTO, TOWN, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-
-MapGroup_Dungeons:
-	map_def SproutTower1F, TILESET_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def SproutTower2F, TILESET_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def SproutTower3F, TILESET_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def TinTower1F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def TinTower2F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def TinTower3F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def TinTower4F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def TinTower5F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def TinTower6F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def TinTower7F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def TinTower8F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def TinTower9F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def BurnedTower1F, TILESET_TOWER, DUNGEON, BURNED_TOWER, MUSIC_BURNED_TOWER, TRUE, PALETTE_NITE, FISHGROUP_SHORE
-	map_def BurnedTowerB1F, TILESET_CAVE, CAVE, BURNED_TOWER, MUSIC_BURNED_TOWER, TRUE, PALETTE_NITE, FISHGROUP_SHORE
-	map_def NationalPark, TILESET_PARK, ROUTE, NATIONAL_PARK, MUSIC_NATIONAL_PARK, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def NationalParkBugContest, TILESET_PARK, ROUTE, NATIONAL_PARK, MUSIC_BUG_CATCHING_CONTEST, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def RadioTower1F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def RadioTower2F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def RadioTower3F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def RadioTower4F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def RadioTower5F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def RuinsOfAlphOutside, TILESET_JOHTO, ROUTE, RUINS_OF_ALPH, MUSIC_UNION_CAVE, FALSE, PALETTE_AUTO, FISHGROUP_POND
-	map_def RuinsOfAlphHoOhChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def RuinsOfAlphKabutoChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def RuinsOfAlphOmanyteChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def RuinsOfAlphAerodactylChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def RuinsOfAlphInnerChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_RUINS_OF_ALPH_INTERIOR, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def RuinsOfAlphResearchCenter, TILESET_FACILITY, INDOOR, RUINS_OF_ALPH, MUSIC_UNION_CAVE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def RuinsOfAlphHoOhItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def RuinsOfAlphKabutoItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def RuinsOfAlphOmanyteItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def RuinsOfAlphAerodactylItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def RuinsOfAlphHoOhWordRoom, TILESET_HO_OH_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def RuinsOfAlphKabutoWordRoom, TILESET_KABUTO_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def RuinsOfAlphOmanyteWordRoom, TILESET_OMANYTE_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def RuinsOfAlphAerodactylWordRoom, TILESET_AERODACTYL_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def UnionCave1F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
-	map_def UnionCaveB1F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
-	map_def UnionCaveB2F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_SHORE
-	map_def SlowpokeWellB1F, TILESET_CAVE, CAVE, SLOWPOKE_WELL, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
-	map_def SlowpokeWellB2F, TILESET_CAVE, CAVE, SLOWPOKE_WELL, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
-	map_def OlivineLighthouse1F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def OlivineLighthouse2F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def OlivineLighthouse3F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def OlivineLighthouse4F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def OlivineLighthouse5F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def OlivineLighthouse6F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def MahoganyMart1F, TILESET_TRADITIONAL_HOUSE, INDOOR, MAHOGANY_TOWN, MUSIC_MAHOGANY_MART, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def TeamRocketBaseB1F, TILESET_UNDERGROUND, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def TeamRocketBaseB2F, TILESET_FACILITY, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def TeamRocketBaseB3F, TILESET_FACILITY, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def IlexForest, TILESET_FOREST, CAVE, ILEX_FOREST, MUSIC_UNION_CAVE, FALSE, PALETTE_NITE, FISHGROUP_POND
-	map_def GoldenrodUnderground, TILESET_GATE, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def GoldenrodUndergroundSwitchRoomEntrances, TILESET_ELITE_FOUR_ROOM, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def GoldenrodDeptStoreB1F, TILESET_UNDERGROUND, DUNGEON, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def GoldenrodUndergroundWarehouse, TILESET_UNDERGROUND, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def MountMortar1FOutside, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
-	map_def MountMortar1FInside, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
-	map_def MountMortar2FInside, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
-	map_def MountMortarB1F, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
-	map_def IcePath1F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
-	map_def IcePathB1F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
-	map_def IcePathB2FMahoganySide, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
-	map_def IcePathB2FBlackthornSide, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
-	map_def IcePathB3F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
-	map_def WhirlIslandNW, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
-	map_def WhirlIslandNE, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
-	map_def WhirlIslandSW, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
-	map_def WhirlIslandCave, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
-	map_def WhirlIslandSE, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
-	map_def WhirlIslandB1F, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
-	map_def WhirlIslandB2F, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
-	map_def WhirlIslandLugiaChamber, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
-	map_def SilverCaveRoom1, TILESET_DARK_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_DARK, FISHGROUP_LAKE
-	map_def SilverCaveRoom2, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
-	map_def SilverCaveRoom3, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_DAY, FISHGROUP_LAKE
-	map_def SilverCaveItemRooms, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
-	map_def DarkCaveVioletEntrance, TILESET_DARK_CAVE, CAVE, DARK_CAVE, MUSIC_DARK_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE
-	map_def DarkCaveBlackthornEntrance, TILESET_DARK_CAVE, CAVE, DARK_CAVE, MUSIC_DARK_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE
-	map_def DragonsDen1F, TILESET_CAVE, CAVE, DRAGONS_DEN, MUSIC_DRAGONS_DEN, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
-	map_def DragonsDenB1F, TILESET_JOHTO, CAVE, DRAGONS_DEN, MUSIC_DRAGONS_DEN, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
-	map_def DragonShrine, TILESET_LAB, INDOOR, DRAGONS_DEN, MUSIC_DRAGONS_DEN, TRUE, PALETTE_NITE, FISHGROUP_SHORE
-	map_def TohjoFalls, TILESET_CAVE, CAVE, TOHJO_FALLS, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
-	map_def DiglettsCave, TILESET_CAVE, CAVE, DIGLETTS_CAVE, MUSIC_MT_MOON, TRUE, PALETTE_NITE, FISHGROUP_SHORE
-	map_def MountMoon, TILESET_CAVE, CAVE, MT_MOON, MUSIC_MT_MOON, TRUE, PALETTE_NITE, FISHGROUP_SHORE
-	map_def UndergroundPath, TILESET_UNDERGROUND, GATE, UNDERGROUND_PATH, MUSIC_MT_MOON, FALSE, PALETTE_NITE, FISHGROUP_SHORE
-	map_def RockTunnel1F, TILESET_DARK_CAVE, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, TRUE, PALETTE_DARK, FISHGROUP_SHORE
-	map_def RockTunnelB1F, TILESET_DARK_CAVE, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, TRUE, PALETTE_DARK, FISHGROUP_SHORE
-	map_def SafariZoneFuchsiaGateBeta, TILESET_GATE, INDOOR, FUCHSIA_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def SafariZoneBeta, TILESET_PARK, CAVE, FUCHSIA_CITY, MUSIC_EVOLUTION, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def VictoryRoad, TILESET_CAVE, CAVE, VICTORY_ROAD, MUSIC_VICTORY_ROAD, TRUE, PALETTE_NITE, FISHGROUP_SHORE
-
-MapGroup_Ecruteak:
-	map_def EcruteakTinTowerEntrance, TILESET_TOWER, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def WiseTriosRoom, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def EcruteakPokecenter1F, TILESET_POKECENTER, INDOOR, ECRUTEAK_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def EcruteakLugiaSpeechHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def DanceTheatre, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_DANCING_HALL, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def EcruteakMart, TILESET_MART, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def EcruteakGym, TILESET_TOWER, INDOOR, ECRUTEAK_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def EcruteakItemfinderHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def EcruteakCity, TILESET_JOHTO, TOWN, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND
-
-MapGroup_Blackthorn:
-	map_def BlackthornGym1F, TILESET_ELITE_FOUR_ROOM, INDOOR, BLACKTHORN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def BlackthornGym2F, TILESET_ELITE_FOUR_ROOM, INDOOR, BLACKTHORN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def BlackthornDragonSpeechHouse, TILESET_HOUSE, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def BlackthornEmysHouse, TILESET_HOUSE, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def BlackthornMart, TILESET_MART, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def BlackthornPokecenter1F, TILESET_POKECENTER, INDOOR, BLACKTHORN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def MoveDeletersHouse, TILESET_HOUSE, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route45, TILESET_JOHTO, ROUTE, ROUTE_45, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_DRATINI_2
-	map_def Route46, TILESET_JOHTO, ROUTE, ROUTE_46, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def BlackthornCity, TILESET_JOHTO, TOWN, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_POND
-
-MapGroup_Cinnabar:
-	map_def CinnabarPokecenter1F, TILESET_POKECENTER, INDOOR, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CinnabarPokecenter2FBeta, TILESET_POKECENTER, INDOOR, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route19FuchsiaGate, TILESET_GATE, GATE, ROUTE_19, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def SeafoamGym, TILESET_CAVE, INDOOR, SEAFOAM_ISLANDS, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route19, TILESET_KANTO, ROUTE, ROUTE_19, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def Route20, TILESET_KANTO, ROUTE, ROUTE_20, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
-	map_def Route21, TILESET_KANTO, ROUTE, ROUTE_21, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
-	map_def CinnabarIsland, TILESET_KANTO, TOWN, CINNABAR_ISLAND, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
-
-MapGroup_Cerulean:
-	map_def CeruleanGymBadgeSpeechHouse, TILESET_HOUSE, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CeruleanPoliceStation, TILESET_HOUSE, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CeruleanTradeSpeechHouse, TILESET_HOUSE, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CeruleanPokecenter1F, TILESET_POKECENTER, INDOOR, CERULEAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CeruleanPokecenter2FBeta, TILESET_POKECENTER, INDOOR, CERULEAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CeruleanGym, TILESET_PORT, INDOOR, CERULEAN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_NONE
-	map_def CeruleanMart, TILESET_MART, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route10Pokecenter1F, TILESET_POKECENTER, INDOOR, ROUTE_10, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route10Pokecenter2FBeta, TILESET_POKECENTER, INDOOR, ROUTE_10, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def PowerPlant, TILESET_FACILITY, INDOOR, POWER_PLANT, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def BillsHouse, TILESET_HOUSE, INDOOR, ROUTE_25, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route4, TILESET_KANTO, ROUTE, ROUTE_4, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_NONE
-	map_def Route9, TILESET_KANTO, ROUTE, ROUTE_9, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
-	map_def Route10North, TILESET_KANTO, ROUTE, ROUTE_10, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
-	map_def Route24, TILESET_KANTO, ROUTE, ROUTE_24, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
-	map_def Route25, TILESET_KANTO, ROUTE, ROUTE_25, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
-	map_def CeruleanCity, TILESET_KANTO, TOWN, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_NONE
-
-MapGroup_Azalea:
-	map_def AzaleaPokecenter1F, TILESET_POKECENTER, INDOOR, AZALEA_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CharcoalKiln, TILESET_HOUSE, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def AzaleaMart, TILESET_MART, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def KurtsHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def AzaleaGym, TILESET_ELITE_FOUR_ROOM, INDOOR, AZALEA_TOWN, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route33, TILESET_JOHTO_MODERN, ROUTE, ROUTE_33, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def AzaleaTown, TILESET_JOHTO_MODERN, TOWN, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-
-MapGroup_LakeOfRage:
-	map_def LakeOfRageHiddenPowerHouse, TILESET_HOUSE, INDOOR, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def LakeOfRageMagikarpHouse, TILESET_HOUSE, INDOOR, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route43MahoganyGate, TILESET_GATE, GATE, ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route43Gate, TILESET_GATE, GATE, ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route43, TILESET_JOHTO, ROUTE, ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_POND
-	map_def LakeOfRage, TILESET_JOHTO, TOWN, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_GYARADOS
-
-MapGroup_Violet:
-	map_def Route32, TILESET_JOHTO, ROUTE, ROUTE_32, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH
-	map_def Route35, TILESET_JOHTO, ROUTE, ROUTE_35, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_POND
-	map_def Route36, TILESET_JOHTO, ROUTE, ROUTE_36, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def Route37, TILESET_JOHTO, ROUTE, ROUTE_37, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def VioletCity, TILESET_JOHTO, TOWN, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND
-	map_def VioletMart, TILESET_MART, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def VioletGym, TILESET_ELITE_FOUR_ROOM, INDOOR, VIOLET_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def EarlsPokemonAcademy, TILESET_LAB, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def VioletNicknameSpeechHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def VioletPokecenter1F, TILESET_POKECENTER, INDOOR, VIOLET_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def VioletKylesHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route32RuinsOfAlphGate, TILESET_GATE, GATE, ROUTE_32, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route32Pokecenter1F, TILESET_POKECENTER, INDOOR, ROUTE_32, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route35GoldenrodGate, TILESET_GATE, GATE, ROUTE_35, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route35NationalParkGate, TILESET_GATE, INDOOR, ROUTE_35, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route36RuinsOfAlphGate, TILESET_GATE, GATE, ROUTE_36, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route36NationalParkGate, TILESET_GATE, INDOOR, ROUTE_36, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-
-MapGroup_Goldenrod:
-	map_def Route34, TILESET_JOHTO_MODERN, ROUTE, ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def GoldenrodCity, TILESET_JOHTO_MODERN, TOWN, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def GoldenrodGym, TILESET_ELITE_FOUR_ROOM, INDOOR, GOLDENROD_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def GoldenrodBikeShop, TILESET_CHAMPIONS_ROOM, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def GoldenrodHappinessRater, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def BillsFamilysHouse, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def GoldenrodMagnetTrainStation, TILESET_TRAIN_STATION, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def GoldenrodFlowerShop, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def GoldenrodPPSpeechHouse, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def GoldenrodNameRater, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def GoldenrodDeptStore1F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def GoldenrodDeptStore2F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def GoldenrodDeptStore3F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def GoldenrodDeptStore4F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def GoldenrodDeptStore5F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def GoldenrodDeptStore6F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def GoldenrodDeptStoreElevator, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def GoldenrodDeptStoreRoof, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def GoldenrodGameCorner, TILESET_GAME_CORNER, INDOOR, GOLDENROD_CITY, MUSIC_GAME_CORNER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def GoldenrodPokecenter1F, TILESET_POKECENTER, INDOOR, GOLDENROD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def PokecomCenterAdminRoomMobile, TILESET_POKECOM_CENTER, INDOOR, GOLDENROD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def IlexForestAzaleaGate, TILESET_GATE, GATE, ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route34IlexForestGate, TILESET_GATE, GATE, ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def DayCare, TILESET_HOUSE, INDOOR, ROUTE_34, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-
-MapGroup_Vermilion:
-	map_def Route6, TILESET_KANTO, ROUTE, ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_POND
-	map_def Route11, TILESET_KANTO, ROUTE, ROUTE_11, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def VermilionCity, TILESET_KANTO, TOWN, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
-	map_def VermilionFishingSpeechHouse, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def VermilionPokecenter1F, TILESET_POKECENTER, INDOOR, VERMILION_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def VermilionPokecenter2FBeta, TILESET_POKECENTER, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def PokemonFanClub, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def VermilionMagnetTrainSpeechHouse, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def VermilionMart, TILESET_MART, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def VermilionDiglettsCaveSpeechHouse, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def VermilionGym, TILESET_GAME_CORNER, INDOOR, VERMILION_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route6SaffronGate, TILESET_GATE, GATE, ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route6UndergroundPathEntrance, TILESET_GATE, GATE, ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-
-MapGroup_Pallet:
-	map_def Route1, TILESET_KANTO, ROUTE, ROUTE_1, MUSIC_ROUTE_1, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def PalletTown, TILESET_KANTO, TOWN, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
-	map_def RedsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def RedsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def BluesHouse, TILESET_HOUSE, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def OaksLab, TILESET_LAB, INDOOR, PALLET_TOWN, MUSIC_POKEMON_TALK, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-
-MapGroup_Pewter:
-	map_def Route3, TILESET_KANTO, ROUTE, ROUTE_3, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def PewterCity, TILESET_KANTO, TOWN, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def PewterNidoranSpeechHouse, TILESET_HOUSE, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def PewterGym, TILESET_TOWER, INDOOR, PEWTER_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def PewterMart, TILESET_MART, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def PewterPokecenter1F, TILESET_POKECENTER, INDOOR, PEWTER_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def PewterPokecenter2FBeta, TILESET_POKECENTER, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def PewterSnoozeSpeechHouse, TILESET_HOUSE, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-
-MapGroup_FastShip:
-	map_def OlivinePort, TILESET_PORT, ROUTE, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
-	map_def VermilionPort, TILESET_PORT, ROUTE, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
-	map_def FastShip1F, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def FastShipCabins_NNW_NNE_NE, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def FastShipCabins_SW_SSW_NW, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def FastShipCabins_SE_SSE_CaptainsCabin, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def FastShipB1F, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def OlivinePortPassage, TILESET_UNDERGROUND, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def VermilionPortPassage, TILESET_UNDERGROUND, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def MountMoonSquare, TILESET_KANTO, ROUTE, MT_MOON, MUSIC_MT_MOON_SQUARE, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def MountMoonGiftShop, TILESET_TRADITIONAL_HOUSE, INDOOR, MT_MOON, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def TinTowerRoof, TILESET_TOWER, ROUTE, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-
-MapGroup_Indigo:
-	map_def Route23, TILESET_KANTO, TOWN, ROUTE_23, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def IndigoPlateauPokecenter1F, TILESET_POKECENTER, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def WillsRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def KogasRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def BrunosRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def KarensRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def LancesRoom, TILESET_CHAMPIONS_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def HallOfFame, TILESET_ICE_PATH, INDOOR, INDIGO_PLATEAU, MUSIC_NEW_BARK_TOWN, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-
-MapGroup_Fuchsia:
-	map_def Route13, TILESET_KANTO, ROUTE, ROUTE_13, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH_NO_SWARM
-	map_def Route14, TILESET_KANTO, ROUTE, ROUTE_14, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def Route15, TILESET_KANTO, ROUTE, ROUTE_15, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def Route18, TILESET_KANTO, ROUTE, ROUTE_18, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def FuchsiaCity, TILESET_KANTO, TOWN, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_AUTO, FISHGROUP_GYARADOS
-	map_def FuchsiaMart, TILESET_MART, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def SafariZoneMainOffice, TILESET_GAME_CORNER, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def FuchsiaGym, TILESET_LAB, INDOOR, FUCHSIA_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def BillsBrothersHouse, TILESET_HOUSE, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def FuchsiaPokecenter1F, TILESET_POKECENTER, INDOOR, FUCHSIA_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def FuchsiaPokecenter2FBeta, TILESET_POKECENTER, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def SafariZoneWardensHome, TILESET_HOUSE, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route15FuchsiaGate, TILESET_GATE, GATE, ROUTE_15, MUSIC_ROUTE_12, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-
-MapGroup_Lavender:
-	map_def Route8, TILESET_KANTO, ROUTE, ROUTE_8, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def Route12, TILESET_KANTO, ROUTE, ROUTE_12, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH_NO_SWARM
-	map_def Route10South, TILESET_KANTO, ROUTE, ROUTE_10, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
-	map_def LavenderTown, TILESET_KANTO, TOWN, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def LavenderPokecenter1F, TILESET_POKECENTER, INDOOR, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def LavenderPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def MrFujisHouse, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def LavenderSpeechHouse, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def LavenderNameRater, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def LavenderMart, TILESET_MART, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def SoulHouse, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def LavRadioTower1F, TILESET_RADIO_TOWER, INDOOR, LAV_RADIO_TOWER, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route8SaffronGate, TILESET_GATE, GATE, ROUTE_8, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route12SuperRodHouse, TILESET_HOUSE, INDOOR, ROUTE_12, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-
-MapGroup_Silver:
-	map_def Route28, TILESET_KANTO, ROUTE, ROUTE_28, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_POND
-	map_def SilverCaveOutside, TILESET_KANTO, TOWN, SILVER_CAVE, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_POND
-	map_def SilverCavePokecenter1F, TILESET_POKECENTER, INDOOR, SILVER_CAVE, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route28SteelWingHouse, TILESET_HOUSE, INDOOR, ROUTE_28, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-
-MapGroup_CableClub:
-	map_def Pokecenter2F, TILESET_POKECENTER, INDOOR, SPECIAL_MAP, MUSIC_POKEMON_CENTER, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def TradeCenter, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Colosseum, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def TimeCapsule, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def MobileTradeRoom, TILESET_MANSION, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def MobileBattleRoom, TILESET_MANSION, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-
-MapGroup_Celadon:
-	map_def Route7, TILESET_KANTO, ROUTE, ROUTE_7, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def Route16, TILESET_KANTO, ROUTE, ROUTE_16, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def Route17, TILESET_KANTO, ROUTE, ROUTE_17, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_NONE
-	map_def CeladonCity, TILESET_KANTO, TOWN, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_AUTO, FISHGROUP_NONE
-	map_def CeladonDeptStore1F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CeladonDeptStore2F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CeladonDeptStore3F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CeladonDeptStore4F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CeladonDeptStore5F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CeladonDeptStore6F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CeladonDeptStoreElevator, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CeladonMansion1F, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CeladonMansion2F, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CeladonMansion3F, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CeladonMansionRoof, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CeladonMansionRoofHouse, TILESET_HOUSE, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CeladonPokecenter1F, TILESET_POKECENTER, INDOOR, CELADON_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CeladonPokecenter2FBeta, TILESET_POKECENTER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CeladonGameCorner, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_GAME_CORNER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CeladonGameCornerPrizeRoom, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CeladonGym, TILESET_TRAIN_STATION, INDOOR, CELADON_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CeladonCafe, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route16FuchsiaSpeechHouse, TILESET_HOUSE, INDOOR, ROUTE_16, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route16Gate, TILESET_GATE, GATE, ROUTE_16, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route7SaffronGate, TILESET_GATE, GATE, ROUTE_7, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route17Route18Gate, TILESET_GATE, GATE, ROUTE_17, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-
-MapGroup_Cianwood:
-	map_def Route40, TILESET_JOHTO, ROUTE, ROUTE_40, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def Route41, TILESET_JOHTO, ROUTE, ROUTE_41, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
-	map_def CianwoodCity, TILESET_JOHTO, TOWN, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def ManiasHouse, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CianwoodGym, TILESET_TOWER, INDOOR, CIANWOOD_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CianwoodPokecenter1F, TILESET_POKECENTER, INDOOR, CIANWOOD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CianwoodPharmacy, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CianwoodPhotoStudio, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CianwoodLugiaSpeechHouse, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def PokeSeersHouse, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def BattleTower1F, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_LOBBY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def BattleTowerBattleRoom, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def BattleTowerElevator, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_NONE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def BattleTowerHallway, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route40BattleTowerGate, TILESET_GATE, GATE, BATTLE_TOWER, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def BattleTowerOutside, TILESET_BATTLE_TOWER_OUTSIDE, ROUTE, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-
-MapGroup_Viridian:
-	map_def Route2, TILESET_KANTO, ROUTE, ROUTE_2, MUSIC_ROUTE_2, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def Route22, TILESET_KANTO, ROUTE, ROUTE_22, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_POND
-	map_def ViridianCity, TILESET_KANTO, TOWN, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND
-	map_def ViridianGym, TILESET_TRAIN_STATION, INDOOR, VIRIDIAN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def ViridianNicknameSpeechHouse, TILESET_HOUSE, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def TrainerHouse1F, TILESET_HOUSE, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def TrainerHouseB1F, TILESET_FACILITY, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def ViridianMart, TILESET_MART, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def ViridianPokecenter1F, TILESET_POKECENTER, INDOOR, VIRIDIAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def ViridianPokecenter2FBeta, TILESET_POKECENTER, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route2NuggetHouse, TILESET_HOUSE, INDOOR, ROUTE_2, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route2Gate, TILESET_GATE, GATE, ROUTE_2, MUSIC_ROUTE_2, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def VictoryRoadGate, TILESET_GATE, GATE, ROUTE_26, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-
-MapGroup_NewBark:
-	map_def Route26, TILESET_JOHTO, ROUTE, ROUTE_26, MUSIC_ROUTE_26, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
-	map_def Route27, TILESET_JOHTO, ROUTE, ROUTE_27, MUSIC_ROUTE_26, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
-	map_def Route29, TILESET_JOHTO, ROUTE, ROUTE_29, MUSIC_ROUTE_29, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def NewBarkTown, TILESET_JOHTO, TOWN, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
-	map_def ElmsLab, TILESET_LAB, INDOOR, NEW_BARK_TOWN, MUSIC_PROF_ELM, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def PlayersHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def PlayersHouse2F, TILESET_PLAYERS_ROOM, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def PlayersNeighborsHouse, TILESET_HOUSE, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def ElmsHouse, TILESET_PLAYERS_HOUSE, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route26HealHouse, TILESET_HOUSE, INDOOR, ROUTE_26, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def DayOfWeekSiblingsHouse, TILESET_HOUSE, INDOOR, ROUTE_26, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route27SandstormHouse, TILESET_HOUSE, INDOOR, ROUTE_27, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route29Route46Gate, TILESET_GATE, GATE, ROUTE_29, MUSIC_ROUTE_29, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-
-MapGroup_Saffron:
-	map_def Route5, TILESET_KANTO, ROUTE, ROUTE_5, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def SaffronCity, TILESET_KANTO, TOWN, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def FightingDojo, TILESET_TRAIN_STATION, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def SaffronGym, TILESET_UNDERGROUND, INDOOR, SAFFRON_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def SaffronMart, TILESET_MART, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def SaffronPokecenter1F, TILESET_POKECENTER, INDOOR, SAFFRON_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def SaffronPokecenter2FBeta, TILESET_POKECENTER, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def MrPsychicsHouse, TILESET_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def SaffronMagnetTrainStation, TILESET_TRAIN_STATION, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def SilphCo1F, TILESET_FACILITY, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CopycatsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CopycatsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route5UndergroundPathEntrance, TILESET_GATE, GATE, ROUTE_5, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route5SaffronGate, TILESET_GATE, GATE, ROUTE_5, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route5CleanseTagHouse, TILESET_HOUSE, INDOOR, ROUTE_5, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-
-MapGroup_Cherrygrove:
-	map_def Route30, TILESET_JOHTO, ROUTE, ROUTE_30, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_POND
-	map_def Route31, TILESET_JOHTO, ROUTE, ROUTE_31, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_POND
-	map_def CherrygroveCity, TILESET_JOHTO, TOWN, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
-	map_def CherrygroveMart, TILESET_MART, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CherrygrovePokecenter1F, TILESET_POKECENTER, INDOOR, CHERRYGROVE_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CherrygroveGymSpeechHouse, TILESET_HOUSE, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def GuideGentsHouse, TILESET_HOUSE, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def CherrygroveEvolutionSpeechHouse, TILESET_HOUSE, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route30BerryHouse, TILESET_HOUSE, INDOOR, ROUTE_30, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def MrPokemonsHouse, TILESET_FACILITY, INDOOR, ROUTE_30, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map_def Route31VioletGate, TILESET_GATE, GATE, ROUTE_31, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_SHORE
--- /dev/null
+++ b/data/maps/map_data.asm
@@ -1,0 +1,12 @@
+INCLUDE "constants.asm"
+
+
+SECTION "Maps", ROMX
+
+INCLUDE "data/maps/maps.asm"
+INCLUDE "data/maps/attributes.asm"
+
+
+INCLUDE "data/maps/blocks.asm"
+
+INCLUDE "data/maps/scripts.asm"
--- a/data/maps/maps.asm
+++ b/data/maps/maps.asm
@@ -1,12 +1,485 @@
-INCLUDE "constants.asm"
+map: MACRO
+;\1: map name: for the MapAttributes pointer (see data/maps/attributes.asm)
+;\2: tileset: a TILESET_* constant
+;\3: environment: TOWN, ROUTE, INDOOR, CAVE, ENVIRONMENT_5, GATE, or DUNGEON
+;\4: location: from constants/landmark_constants.asm
+;\5: music: a MUSIC_* constant
+;\6: phone service flag: TRUE to prevent phone calls
+;\7: time of day: a PALETTE_* constant
+;\8: fishing group: a FISHGROUP_* constant
+	db BANK(\1_MapAttributes), \2, \3
+	dw \1_MapAttributes
+	db \4, \5
+	dn \6, \7
+	db \8
+ENDM
 
+MapGroupPointers::
+; pointers to the first map of each map group
+	dw MapGroup_Olivine     ;  1
+	dw MapGroup_Mahogany    ;  2
+	dw MapGroup_Dungeons    ;  3
+	dw MapGroup_Ecruteak    ;  4
+	dw MapGroup_Blackthorn  ;  5
+	dw MapGroup_Cinnabar    ;  6
+	dw MapGroup_Cerulean    ;  7
+	dw MapGroup_Azalea      ;  8
+	dw MapGroup_LakeOfRage  ;  9
+	dw MapGroup_Violet      ; 10
+	dw MapGroup_Goldenrod   ; 11
+	dw MapGroup_Vermilion   ; 12
+	dw MapGroup_Pallet      ; 13
+	dw MapGroup_Pewter      ; 14
+	dw MapGroup_FastShip    ; 15
+	dw MapGroup_Indigo      ; 16
+	dw MapGroup_Fuchsia     ; 17
+	dw MapGroup_Lavender    ; 18
+	dw MapGroup_Silver      ; 19
+	dw MapGroup_CableClub   ; 20
+	dw MapGroup_Celadon     ; 21
+	dw MapGroup_Cianwood    ; 22
+	dw MapGroup_Viridian    ; 23
+	dw MapGroup_NewBark     ; 24
+	dw MapGroup_Saffron     ; 25
+	dw MapGroup_Cherrygrove ; 26
 
-SECTION "Maps", ROMX
 
-INCLUDE "data/maps/definitions.asm"
-INCLUDE "data/maps/data.asm"
+MapGroup_Olivine:
+	map OlivinePokecenter1F, TILESET_POKECENTER, INDOOR, OLIVINE_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map OlivineGym, TILESET_CHAMPIONS_ROOM, INDOOR, OLIVINE_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map OlivineTimsHouse, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map OlivineHouseBeta, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map OlivinePunishmentSpeechHouse, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map OlivineGoodRodHouse, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map OlivineCafe, TILESET_GAME_CORNER, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map OlivineMart, TILESET_MART, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route38EcruteakGate, TILESET_GATE, GATE, ROUTE_38, MUSIC_ROUTE_37, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route39Barn, TILESET_TRADITIONAL_HOUSE, INDOOR, ROUTE_39, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route39Farmhouse, TILESET_HOUSE, INDOOR, ROUTE_39, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route38, TILESET_JOHTO, ROUTE, ROUTE_38, MUSIC_ROUTE_37, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map Route39, TILESET_JOHTO, ROUTE, ROUTE_39, MUSIC_ROUTE_37, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map OlivineCity, TILESET_JOHTO, TOWN, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
 
+MapGroup_Mahogany:
+	map MahoganyRedGyaradosSpeechHouse, TILESET_HOUSE, INDOOR, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map MahoganyGym, TILESET_ELITE_FOUR_ROOM, INDOOR, MAHOGANY_TOWN, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map MahoganyPokecenter1F, TILESET_POKECENTER, INDOOR, MAHOGANY_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route42EcruteakGate, TILESET_GATE, GATE, ROUTE_42, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route42, TILESET_JOHTO, ROUTE, ROUTE_42, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
+	map Route44, TILESET_JOHTO, ROUTE, ROUTE_44, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_POND
+	map MahoganyTown, TILESET_JOHTO, TOWN, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
 
-INCLUDE "data/maps/blocks.asm"
+MapGroup_Dungeons:
+	map SproutTower1F, TILESET_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map SproutTower2F, TILESET_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map SproutTower3F, TILESET_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map TinTower1F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map TinTower2F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map TinTower3F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map TinTower4F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map TinTower5F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map TinTower6F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map TinTower7F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map TinTower8F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map TinTower9F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map BurnedTower1F, TILESET_TOWER, DUNGEON, BURNED_TOWER, MUSIC_BURNED_TOWER, TRUE, PALETTE_NITE, FISHGROUP_SHORE
+	map BurnedTowerB1F, TILESET_CAVE, CAVE, BURNED_TOWER, MUSIC_BURNED_TOWER, TRUE, PALETTE_NITE, FISHGROUP_SHORE
+	map NationalPark, TILESET_PARK, ROUTE, NATIONAL_PARK, MUSIC_NATIONAL_PARK, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map NationalParkBugContest, TILESET_PARK, ROUTE, NATIONAL_PARK, MUSIC_BUG_CATCHING_CONTEST, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map RadioTower1F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map RadioTower2F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map RadioTower3F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map RadioTower4F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map RadioTower5F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map RuinsOfAlphOutside, TILESET_JOHTO, ROUTE, RUINS_OF_ALPH, MUSIC_UNION_CAVE, FALSE, PALETTE_AUTO, FISHGROUP_POND
+	map RuinsOfAlphHoOhChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map RuinsOfAlphKabutoChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map RuinsOfAlphOmanyteChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map RuinsOfAlphAerodactylChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map RuinsOfAlphInnerChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_RUINS_OF_ALPH_INTERIOR, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map RuinsOfAlphResearchCenter, TILESET_FACILITY, INDOOR, RUINS_OF_ALPH, MUSIC_UNION_CAVE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map RuinsOfAlphHoOhItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map RuinsOfAlphKabutoItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map RuinsOfAlphOmanyteItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map RuinsOfAlphAerodactylItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map RuinsOfAlphHoOhWordRoom, TILESET_HO_OH_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map RuinsOfAlphKabutoWordRoom, TILESET_KABUTO_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map RuinsOfAlphOmanyteWordRoom, TILESET_OMANYTE_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map RuinsOfAlphAerodactylWordRoom, TILESET_AERODACTYL_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map UnionCave1F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+	map UnionCaveB1F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+	map UnionCaveB2F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_SHORE
+	map SlowpokeWellB1F, TILESET_CAVE, CAVE, SLOWPOKE_WELL, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+	map SlowpokeWellB2F, TILESET_CAVE, CAVE, SLOWPOKE_WELL, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+	map OlivineLighthouse1F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map OlivineLighthouse2F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map OlivineLighthouse3F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map OlivineLighthouse4F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map OlivineLighthouse5F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map OlivineLighthouse6F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map MahoganyMart1F, TILESET_TRADITIONAL_HOUSE, INDOOR, MAHOGANY_TOWN, MUSIC_MAHOGANY_MART, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map TeamRocketBaseB1F, TILESET_UNDERGROUND, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map TeamRocketBaseB2F, TILESET_FACILITY, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map TeamRocketBaseB3F, TILESET_FACILITY, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map IlexForest, TILESET_FOREST, CAVE, ILEX_FOREST, MUSIC_UNION_CAVE, FALSE, PALETTE_NITE, FISHGROUP_POND
+	map GoldenrodUnderground, TILESET_GATE, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map GoldenrodUndergroundSwitchRoomEntrances, TILESET_ELITE_FOUR_ROOM, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map GoldenrodDeptStoreB1F, TILESET_UNDERGROUND, DUNGEON, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map GoldenrodUndergroundWarehouse, TILESET_UNDERGROUND, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map MountMortar1FOutside, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+	map MountMortar1FInside, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+	map MountMortar2FInside, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+	map MountMortarB1F, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+	map IcePath1F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
+	map IcePathB1F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
+	map IcePathB2FMahoganySide, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
+	map IcePathB2FBlackthornSide, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
+	map IcePathB3F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
+	map WhirlIslandNW, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+	map WhirlIslandNE, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+	map WhirlIslandSW, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+	map WhirlIslandCave, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+	map WhirlIslandSE, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+	map WhirlIslandB1F, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+	map WhirlIslandB2F, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+	map WhirlIslandLugiaChamber, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+	map SilverCaveRoom1, TILESET_DARK_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_DARK, FISHGROUP_LAKE
+	map SilverCaveRoom2, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+	map SilverCaveRoom3, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_DAY, FISHGROUP_LAKE
+	map SilverCaveItemRooms, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+	map DarkCaveVioletEntrance, TILESET_DARK_CAVE, CAVE, DARK_CAVE, MUSIC_DARK_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE
+	map DarkCaveBlackthornEntrance, TILESET_DARK_CAVE, CAVE, DARK_CAVE, MUSIC_DARK_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE
+	map DragonsDen1F, TILESET_CAVE, CAVE, DRAGONS_DEN, MUSIC_DRAGONS_DEN, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
+	map DragonsDenB1F, TILESET_JOHTO, CAVE, DRAGONS_DEN, MUSIC_DRAGONS_DEN, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
+	map DragonShrine, TILESET_LAB, INDOOR, DRAGONS_DEN, MUSIC_DRAGONS_DEN, TRUE, PALETTE_NITE, FISHGROUP_SHORE
+	map TohjoFalls, TILESET_CAVE, CAVE, TOHJO_FALLS, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+	map DiglettsCave, TILESET_CAVE, CAVE, DIGLETTS_CAVE, MUSIC_MT_MOON, TRUE, PALETTE_NITE, FISHGROUP_SHORE
+	map MountMoon, TILESET_CAVE, CAVE, MT_MOON, MUSIC_MT_MOON, TRUE, PALETTE_NITE, FISHGROUP_SHORE
+	map UndergroundPath, TILESET_UNDERGROUND, GATE, UNDERGROUND_PATH, MUSIC_MT_MOON, FALSE, PALETTE_NITE, FISHGROUP_SHORE
+	map RockTunnel1F, TILESET_DARK_CAVE, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, TRUE, PALETTE_DARK, FISHGROUP_SHORE
+	map RockTunnelB1F, TILESET_DARK_CAVE, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, TRUE, PALETTE_DARK, FISHGROUP_SHORE
+	map SafariZoneFuchsiaGateBeta, TILESET_GATE, INDOOR, FUCHSIA_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map SafariZoneBeta, TILESET_PARK, CAVE, FUCHSIA_CITY, MUSIC_EVOLUTION, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map VictoryRoad, TILESET_CAVE, CAVE, VICTORY_ROAD, MUSIC_VICTORY_ROAD, TRUE, PALETTE_NITE, FISHGROUP_SHORE
 
-INCLUDE "data/maps/scripts.asm"
+MapGroup_Ecruteak:
+	map EcruteakTinTowerEntrance, TILESET_TOWER, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map WiseTriosRoom, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map EcruteakPokecenter1F, TILESET_POKECENTER, INDOOR, ECRUTEAK_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map EcruteakLugiaSpeechHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map DanceTheatre, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_DANCING_HALL, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map EcruteakMart, TILESET_MART, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map EcruteakGym, TILESET_TOWER, INDOOR, ECRUTEAK_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map EcruteakItemfinderHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map EcruteakCity, TILESET_JOHTO, TOWN, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND
+
+MapGroup_Blackthorn:
+	map BlackthornGym1F, TILESET_ELITE_FOUR_ROOM, INDOOR, BLACKTHORN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map BlackthornGym2F, TILESET_ELITE_FOUR_ROOM, INDOOR, BLACKTHORN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map BlackthornDragonSpeechHouse, TILESET_HOUSE, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map BlackthornEmysHouse, TILESET_HOUSE, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map BlackthornMart, TILESET_MART, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map BlackthornPokecenter1F, TILESET_POKECENTER, INDOOR, BLACKTHORN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map MoveDeletersHouse, TILESET_HOUSE, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route45, TILESET_JOHTO, ROUTE, ROUTE_45, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_DRATINI_2
+	map Route46, TILESET_JOHTO, ROUTE, ROUTE_46, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map BlackthornCity, TILESET_JOHTO, TOWN, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_POND
+
+MapGroup_Cinnabar:
+	map CinnabarPokecenter1F, TILESET_POKECENTER, INDOOR, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CinnabarPokecenter2FBeta, TILESET_POKECENTER, INDOOR, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route19FuchsiaGate, TILESET_GATE, GATE, ROUTE_19, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map SeafoamGym, TILESET_CAVE, INDOOR, SEAFOAM_ISLANDS, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route19, TILESET_KANTO, ROUTE, ROUTE_19, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map Route20, TILESET_KANTO, ROUTE, ROUTE_20, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+	map Route21, TILESET_KANTO, ROUTE, ROUTE_21, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+	map CinnabarIsland, TILESET_KANTO, TOWN, CINNABAR_ISLAND, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+
+MapGroup_Cerulean:
+	map CeruleanGymBadgeSpeechHouse, TILESET_HOUSE, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CeruleanPoliceStation, TILESET_HOUSE, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CeruleanTradeSpeechHouse, TILESET_HOUSE, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CeruleanPokecenter1F, TILESET_POKECENTER, INDOOR, CERULEAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CeruleanPokecenter2FBeta, TILESET_POKECENTER, INDOOR, CERULEAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CeruleanGym, TILESET_PORT, INDOOR, CERULEAN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_NONE
+	map CeruleanMart, TILESET_MART, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route10Pokecenter1F, TILESET_POKECENTER, INDOOR, ROUTE_10, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route10Pokecenter2FBeta, TILESET_POKECENTER, INDOOR, ROUTE_10, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map PowerPlant, TILESET_FACILITY, INDOOR, POWER_PLANT, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map BillsHouse, TILESET_HOUSE, INDOOR, ROUTE_25, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route4, TILESET_KANTO, ROUTE, ROUTE_4, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_NONE
+	map Route9, TILESET_KANTO, ROUTE, ROUTE_9, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
+	map Route10North, TILESET_KANTO, ROUTE, ROUTE_10, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
+	map Route24, TILESET_KANTO, ROUTE, ROUTE_24, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
+	map Route25, TILESET_KANTO, ROUTE, ROUTE_25, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
+	map CeruleanCity, TILESET_KANTO, TOWN, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_NONE
+
+MapGroup_Azalea:
+	map AzaleaPokecenter1F, TILESET_POKECENTER, INDOOR, AZALEA_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CharcoalKiln, TILESET_HOUSE, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map AzaleaMart, TILESET_MART, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map KurtsHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map AzaleaGym, TILESET_ELITE_FOUR_ROOM, INDOOR, AZALEA_TOWN, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route33, TILESET_JOHTO_MODERN, ROUTE, ROUTE_33, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map AzaleaTown, TILESET_JOHTO_MODERN, TOWN, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+
+MapGroup_LakeOfRage:
+	map LakeOfRageHiddenPowerHouse, TILESET_HOUSE, INDOOR, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map LakeOfRageMagikarpHouse, TILESET_HOUSE, INDOOR, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route43MahoganyGate, TILESET_GATE, GATE, ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route43Gate, TILESET_GATE, GATE, ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route43, TILESET_JOHTO, ROUTE, ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_POND
+	map LakeOfRage, TILESET_JOHTO, TOWN, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_GYARADOS
+
+MapGroup_Violet:
+	map Route32, TILESET_JOHTO, ROUTE, ROUTE_32, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH
+	map Route35, TILESET_JOHTO, ROUTE, ROUTE_35, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_POND
+	map Route36, TILESET_JOHTO, ROUTE, ROUTE_36, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map Route37, TILESET_JOHTO, ROUTE, ROUTE_37, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map VioletCity, TILESET_JOHTO, TOWN, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND
+	map VioletMart, TILESET_MART, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map VioletGym, TILESET_ELITE_FOUR_ROOM, INDOOR, VIOLET_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map EarlsPokemonAcademy, TILESET_LAB, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map VioletNicknameSpeechHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map VioletPokecenter1F, TILESET_POKECENTER, INDOOR, VIOLET_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map VioletKylesHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route32RuinsOfAlphGate, TILESET_GATE, GATE, ROUTE_32, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route32Pokecenter1F, TILESET_POKECENTER, INDOOR, ROUTE_32, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route35GoldenrodGate, TILESET_GATE, GATE, ROUTE_35, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route35NationalParkGate, TILESET_GATE, INDOOR, ROUTE_35, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route36RuinsOfAlphGate, TILESET_GATE, GATE, ROUTE_36, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route36NationalParkGate, TILESET_GATE, INDOOR, ROUTE_36, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Goldenrod:
+	map Route34, TILESET_JOHTO_MODERN, ROUTE, ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map GoldenrodCity, TILESET_JOHTO_MODERN, TOWN, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map GoldenrodGym, TILESET_ELITE_FOUR_ROOM, INDOOR, GOLDENROD_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map GoldenrodBikeShop, TILESET_CHAMPIONS_ROOM, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map GoldenrodHappinessRater, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map BillsFamilysHouse, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map GoldenrodMagnetTrainStation, TILESET_TRAIN_STATION, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map GoldenrodFlowerShop, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map GoldenrodPPSpeechHouse, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map GoldenrodNameRater, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map GoldenrodDeptStore1F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map GoldenrodDeptStore2F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map GoldenrodDeptStore3F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map GoldenrodDeptStore4F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map GoldenrodDeptStore5F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map GoldenrodDeptStore6F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map GoldenrodDeptStoreElevator, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map GoldenrodDeptStoreRoof, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map GoldenrodGameCorner, TILESET_GAME_CORNER, INDOOR, GOLDENROD_CITY, MUSIC_GAME_CORNER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map GoldenrodPokecenter1F, TILESET_POKECENTER, INDOOR, GOLDENROD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map PokecomCenterAdminRoomMobile, TILESET_POKECOM_CENTER, INDOOR, GOLDENROD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map IlexForestAzaleaGate, TILESET_GATE, GATE, ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route34IlexForestGate, TILESET_GATE, GATE, ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map DayCare, TILESET_HOUSE, INDOOR, ROUTE_34, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Vermilion:
+	map Route6, TILESET_KANTO, ROUTE, ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_POND
+	map Route11, TILESET_KANTO, ROUTE, ROUTE_11, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map VermilionCity, TILESET_KANTO, TOWN, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+	map VermilionFishingSpeechHouse, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map VermilionPokecenter1F, TILESET_POKECENTER, INDOOR, VERMILION_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map VermilionPokecenter2FBeta, TILESET_POKECENTER, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map PokemonFanClub, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map VermilionMagnetTrainSpeechHouse, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map VermilionMart, TILESET_MART, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map VermilionDiglettsCaveSpeechHouse, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map VermilionGym, TILESET_GAME_CORNER, INDOOR, VERMILION_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route6SaffronGate, TILESET_GATE, GATE, ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route6UndergroundPathEntrance, TILESET_GATE, GATE, ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Pallet:
+	map Route1, TILESET_KANTO, ROUTE, ROUTE_1, MUSIC_ROUTE_1, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map PalletTown, TILESET_KANTO, TOWN, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+	map RedsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map RedsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map BluesHouse, TILESET_HOUSE, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map OaksLab, TILESET_LAB, INDOOR, PALLET_TOWN, MUSIC_POKEMON_TALK, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Pewter:
+	map Route3, TILESET_KANTO, ROUTE, ROUTE_3, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map PewterCity, TILESET_KANTO, TOWN, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map PewterNidoranSpeechHouse, TILESET_HOUSE, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map PewterGym, TILESET_TOWER, INDOOR, PEWTER_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map PewterMart, TILESET_MART, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map PewterPokecenter1F, TILESET_POKECENTER, INDOOR, PEWTER_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map PewterPokecenter2FBeta, TILESET_POKECENTER, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map PewterSnoozeSpeechHouse, TILESET_HOUSE, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_FastShip:
+	map OlivinePort, TILESET_PORT, ROUTE, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+	map VermilionPort, TILESET_PORT, ROUTE, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+	map FastShip1F, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map FastShipCabins_NNW_NNE_NE, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map FastShipCabins_SW_SSW_NW, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map FastShipCabins_SE_SSE_CaptainsCabin, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map FastShipB1F, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map OlivinePortPassage, TILESET_UNDERGROUND, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map VermilionPortPassage, TILESET_UNDERGROUND, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map MountMoonSquare, TILESET_KANTO, ROUTE, MT_MOON, MUSIC_MT_MOON_SQUARE, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map MountMoonGiftShop, TILESET_TRADITIONAL_HOUSE, INDOOR, MT_MOON, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map TinTowerRoof, TILESET_TOWER, ROUTE, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+
+MapGroup_Indigo:
+	map Route23, TILESET_KANTO, TOWN, ROUTE_23, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map IndigoPlateauPokecenter1F, TILESET_POKECENTER, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map WillsRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map KogasRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map BrunosRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map KarensRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map LancesRoom, TILESET_CHAMPIONS_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map HallOfFame, TILESET_ICE_PATH, INDOOR, INDIGO_PLATEAU, MUSIC_NEW_BARK_TOWN, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Fuchsia:
+	map Route13, TILESET_KANTO, ROUTE, ROUTE_13, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH_NO_SWARM
+	map Route14, TILESET_KANTO, ROUTE, ROUTE_14, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map Route15, TILESET_KANTO, ROUTE, ROUTE_15, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map Route18, TILESET_KANTO, ROUTE, ROUTE_18, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map FuchsiaCity, TILESET_KANTO, TOWN, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_AUTO, FISHGROUP_GYARADOS
+	map FuchsiaMart, TILESET_MART, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map SafariZoneMainOffice, TILESET_GAME_CORNER, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map FuchsiaGym, TILESET_LAB, INDOOR, FUCHSIA_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map BillsBrothersHouse, TILESET_HOUSE, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map FuchsiaPokecenter1F, TILESET_POKECENTER, INDOOR, FUCHSIA_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map FuchsiaPokecenter2FBeta, TILESET_POKECENTER, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map SafariZoneWardensHome, TILESET_HOUSE, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route15FuchsiaGate, TILESET_GATE, GATE, ROUTE_15, MUSIC_ROUTE_12, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Lavender:
+	map Route8, TILESET_KANTO, ROUTE, ROUTE_8, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map Route12, TILESET_KANTO, ROUTE, ROUTE_12, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH_NO_SWARM
+	map Route10South, TILESET_KANTO, ROUTE, ROUTE_10, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
+	map LavenderTown, TILESET_KANTO, TOWN, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map LavenderPokecenter1F, TILESET_POKECENTER, INDOOR, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map LavenderPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map MrFujisHouse, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map LavenderSpeechHouse, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map LavenderNameRater, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map LavenderMart, TILESET_MART, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map SoulHouse, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map LavRadioTower1F, TILESET_RADIO_TOWER, INDOOR, LAV_RADIO_TOWER, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route8SaffronGate, TILESET_GATE, GATE, ROUTE_8, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route12SuperRodHouse, TILESET_HOUSE, INDOOR, ROUTE_12, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Silver:
+	map Route28, TILESET_KANTO, ROUTE, ROUTE_28, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_POND
+	map SilverCaveOutside, TILESET_KANTO, TOWN, SILVER_CAVE, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_POND
+	map SilverCavePokecenter1F, TILESET_POKECENTER, INDOOR, SILVER_CAVE, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route28SteelWingHouse, TILESET_HOUSE, INDOOR, ROUTE_28, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_CableClub:
+	map Pokecenter2F, TILESET_POKECENTER, INDOOR, SPECIAL_MAP, MUSIC_POKEMON_CENTER, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map TradeCenter, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map Colosseum, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map TimeCapsule, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map MobileTradeRoom, TILESET_MANSION, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map MobileBattleRoom, TILESET_MANSION, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Celadon:
+	map Route7, TILESET_KANTO, ROUTE, ROUTE_7, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map Route16, TILESET_KANTO, ROUTE, ROUTE_16, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map Route17, TILESET_KANTO, ROUTE, ROUTE_17, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_NONE
+	map CeladonCity, TILESET_KANTO, TOWN, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_AUTO, FISHGROUP_NONE
+	map CeladonDeptStore1F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CeladonDeptStore2F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CeladonDeptStore3F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CeladonDeptStore4F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CeladonDeptStore5F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CeladonDeptStore6F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CeladonDeptStoreElevator, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CeladonMansion1F, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CeladonMansion2F, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CeladonMansion3F, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CeladonMansionRoof, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CeladonMansionRoofHouse, TILESET_HOUSE, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CeladonPokecenter1F, TILESET_POKECENTER, INDOOR, CELADON_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CeladonPokecenter2FBeta, TILESET_POKECENTER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CeladonGameCorner, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_GAME_CORNER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CeladonGameCornerPrizeRoom, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CeladonGym, TILESET_TRAIN_STATION, INDOOR, CELADON_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map CeladonCafe, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route16FuchsiaSpeechHouse, TILESET_HOUSE, INDOOR, ROUTE_16, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route16Gate, TILESET_GATE, GATE, ROUTE_16, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route7SaffronGate, TILESET_GATE, GATE, ROUTE_7, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route17Route18Gate, TILESET_GATE, GATE, ROUTE_17, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Cianwood:
+	map Route40, TILESET_JOHTO, ROUTE, ROUTE_40, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map Route41, TILESET_JOHTO, ROUTE, ROUTE_41, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+	map CianwoodCity, TILESET_JOHTO, TOWN, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map ManiasHouse, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CianwoodGym, TILESET_TOWER, INDOOR, CIANWOOD_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map CianwoodPokecenter1F, TILESET_POKECENTER, INDOOR, CIANWOOD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CianwoodPharmacy, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CianwoodPhotoStudio, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CianwoodLugiaSpeechHouse, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map PokeSeersHouse, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map BattleTower1F, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_LOBBY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map BattleTowerBattleRoom, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map BattleTowerElevator, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_NONE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map BattleTowerHallway, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route40BattleTowerGate, TILESET_GATE, GATE, BATTLE_TOWER, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map BattleTowerOutside, TILESET_BATTLE_TOWER_OUTSIDE, ROUTE, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+
+MapGroup_Viridian:
+	map Route2, TILESET_KANTO, ROUTE, ROUTE_2, MUSIC_ROUTE_2, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map Route22, TILESET_KANTO, ROUTE, ROUTE_22, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_POND
+	map ViridianCity, TILESET_KANTO, TOWN, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND
+	map ViridianGym, TILESET_TRAIN_STATION, INDOOR, VIRIDIAN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map ViridianNicknameSpeechHouse, TILESET_HOUSE, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map TrainerHouse1F, TILESET_HOUSE, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map TrainerHouseB1F, TILESET_FACILITY, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map ViridianMart, TILESET_MART, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map ViridianPokecenter1F, TILESET_POKECENTER, INDOOR, VIRIDIAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map ViridianPokecenter2FBeta, TILESET_POKECENTER, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route2NuggetHouse, TILESET_HOUSE, INDOOR, ROUTE_2, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route2Gate, TILESET_GATE, GATE, ROUTE_2, MUSIC_ROUTE_2, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map VictoryRoadGate, TILESET_GATE, GATE, ROUTE_26, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_NewBark:
+	map Route26, TILESET_JOHTO, ROUTE, ROUTE_26, MUSIC_ROUTE_26, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+	map Route27, TILESET_JOHTO, ROUTE, ROUTE_27, MUSIC_ROUTE_26, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+	map Route29, TILESET_JOHTO, ROUTE, ROUTE_29, MUSIC_ROUTE_29, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map NewBarkTown, TILESET_JOHTO, TOWN, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+	map ElmsLab, TILESET_LAB, INDOOR, NEW_BARK_TOWN, MUSIC_PROF_ELM, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map PlayersHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map PlayersHouse2F, TILESET_PLAYERS_ROOM, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map PlayersNeighborsHouse, TILESET_HOUSE, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map ElmsHouse, TILESET_PLAYERS_HOUSE, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route26HealHouse, TILESET_HOUSE, INDOOR, ROUTE_26, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map DayOfWeekSiblingsHouse, TILESET_HOUSE, INDOOR, ROUTE_26, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route27SandstormHouse, TILESET_HOUSE, INDOOR, ROUTE_27, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route29Route46Gate, TILESET_GATE, GATE, ROUTE_29, MUSIC_ROUTE_29, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Saffron:
+	map Route5, TILESET_KANTO, ROUTE, ROUTE_5, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map SaffronCity, TILESET_KANTO, TOWN, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map FightingDojo, TILESET_TRAIN_STATION, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map SaffronGym, TILESET_UNDERGROUND, INDOOR, SAFFRON_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map SaffronMart, TILESET_MART, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map SaffronPokecenter1F, TILESET_POKECENTER, INDOOR, SAFFRON_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map SaffronPokecenter2FBeta, TILESET_POKECENTER, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map MrPsychicsHouse, TILESET_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map SaffronMagnetTrainStation, TILESET_TRAIN_STATION, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map SilphCo1F, TILESET_FACILITY, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CopycatsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CopycatsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route5UndergroundPathEntrance, TILESET_GATE, GATE, ROUTE_5, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route5SaffronGate, TILESET_GATE, GATE, ROUTE_5, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route5CleanseTagHouse, TILESET_HOUSE, INDOOR, ROUTE_5, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Cherrygrove:
+	map Route30, TILESET_JOHTO, ROUTE, ROUTE_30, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_POND
+	map Route31, TILESET_JOHTO, ROUTE, ROUTE_31, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_POND
+	map CherrygroveCity, TILESET_JOHTO, TOWN, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+	map CherrygroveMart, TILESET_MART, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CherrygrovePokecenter1F, TILESET_POKECENTER, INDOOR, CHERRYGROVE_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CherrygroveGymSpeechHouse, TILESET_HOUSE, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map GuideGentsHouse, TILESET_HOUSE, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map CherrygroveEvolutionSpeechHouse, TILESET_HOUSE, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route30BerryHouse, TILESET_HOUSE, INDOOR, ROUTE_30, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map MrPokemonsHouse, TILESET_FACILITY, INDOOR, ROUTE_30, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+	map Route31VioletGate, TILESET_GATE, GATE, ROUTE_31, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_SHORE
--- a/data/maps/scenes.asm
+++ b/data/maps/scenes.asm
@@ -1,6 +1,6 @@
 scene_var: MACRO
 ; map, variable
-	map \1
+	map_id \1
 	dw \2
 ENDM
 
--- a/data/maps/setup_scripts.asm
+++ b/data/maps/setup_scripts.asm
@@ -23,7 +23,7 @@
 	db map_lcd_off
 	db map_sound_off
 	db map_load_spawn
-	db map_attributes
+	db map_load_attributes
 	db map_change_callback
 	db map_spawn_coord
 	db map_player_coord
@@ -46,7 +46,7 @@
 
 MapSetupScript_BadWarp: ; 153a9
 	db map_load_spawn
-	db map_attributes
+	db map_load_attributes
 	db map_change_callback
 	db map_spawn_coord
 	db map_player_coord
@@ -71,7 +71,7 @@
 MapSetupScript_Connection: ; 153bf
 	db map_animations_off
 	db map_load_connection
-	db map_attributes
+	db map_load_attributes
 	db map_change_callback
 	db map_player_coord
 	db map_load_blocks
@@ -93,7 +93,7 @@
 	db map_fade_out_palettes
 MapSetupScript_Train: ; 153d2
 	db map_load_warp
-	db map_attributes
+	db map_load_attributes
 	db map_warp_face
 	db map_change_callback
 	db map_player_coord
@@ -154,7 +154,7 @@
 MapSetupScript_Continue: ; 15408
 	db map_lcd_off
 	db map_sound_off
-	db map_attributes_2
+	db map_load_attributes_2
 	db map_anchor_screen
 	db map_start_callback
 	db map_load_blocks
--- a/data/maps/spawn_points.asm
+++ b/data/maps/spawn_points.asm
@@ -1,6 +1,6 @@
 spawn: MACRO
 ; map, x, y
-	map \1
+	map_id \1
 	db \2, \3
 ENDM
 
--- a/data/phone/phone_contacts.asm
+++ b/data/phone/phone_contacts.asm
@@ -1,7 +1,7 @@
 phone: MACRO
 ; trainer class, trainer id, map, time 1, script 1, time 2, script 2
 	db \1, \2
-	map \3
+	map_id \3
 	db \4
 	dba \5
 	db \6
--- a/data/radio/oaks_pkmn_talk_routes.asm
+++ b/data/radio/oaks_pkmn_talk_routes.asm
@@ -1,19 +1,19 @@
 ; Oak's Pokémon Talk will list wild Pokémon on these maps.
 
 OaksPkmnTalkRoutes:
-	map ROUTE_29
-	map ROUTE_46
-	map ROUTE_30
-	map ROUTE_32
-	map ROUTE_34
-	map ROUTE_35
-	map ROUTE_37
-	map ROUTE_38
-	map ROUTE_39
-	map ROUTE_42
-	map ROUTE_43
-	map ROUTE_44
-	map ROUTE_45
-	map ROUTE_36
-	map ROUTE_31
+	map_id ROUTE_29
+	map_id ROUTE_46
+	map_id ROUTE_30
+	map_id ROUTE_32
+	map_id ROUTE_34
+	map_id ROUTE_35
+	map_id ROUTE_37
+	map_id ROUTE_38
+	map_id ROUTE_39
+	map_id ROUTE_42
+	map_id ROUTE_43
+	map_id ROUTE_44
+	map_id ROUTE_45
+	map_id ROUTE_36
+	map_id ROUTE_31
 .End
--- a/data/radio/pnp_hidden_places.asm
+++ b/data/radio/pnp_hidden_places.asm
@@ -1,13 +1,13 @@
 ; Places and People will not describe these maps.
 
 PnP_HiddenPlaces:
-	map PALLET_TOWN
-	map ROUTE_22
-	map PEWTER_CITY
-	map CERULEAN_POLICE_STATION
-	map ROUTE_12
-	map ROUTE_11
-	map ROUTE_16
-	map ROUTE_14
-	map CINNABAR_POKECENTER_2F_BETA
+	map_id PALLET_TOWN
+	map_id ROUTE_22
+	map_id PEWTER_CITY
+	map_id CERULEAN_POLICE_STATION
+	map_id ROUTE_12
+	map_id ROUTE_11
+	map_id ROUTE_16
+	map_id ROUTE_14
+	map_id CINNABAR_POKECENTER_2F_BETA
 .End
--- a/data/wild/johto_grass.asm
+++ b/data/wild/johto_grass.asm
@@ -2,7 +2,7 @@
 
 JohtoGrassWildMons: ; 0x2a5e9
 
-	map SPROUT_TOWER_2F
+	map_id SPROUT_TOWER_2F
 	db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
 	; morn
 	db 3, RATTATA
@@ -29,7 +29,7 @@
 	db 5, RATTATA
 	db 5, RATTATA
 
-	map SPROUT_TOWER_3F
+	map_id SPROUT_TOWER_3F
 	db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
 	; morn
 	db 3, RATTATA
@@ -56,7 +56,7 @@
 	db 5, RATTATA
 	db 5, RATTATA
 
-	map TIN_TOWER_2F
+	map_id TIN_TOWER_2F
 	db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
 	; morn
 	db 20, RATTATA
@@ -83,7 +83,7 @@
 	db 24, RATTATA
 	db 24, RATTATA
 
-	map TIN_TOWER_3F
+	map_id TIN_TOWER_3F
 	db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
 	; morn
 	db 20, RATTATA
@@ -110,7 +110,7 @@
 	db 24, RATTATA
 	db 24, RATTATA
 
-	map TIN_TOWER_4F
+	map_id TIN_TOWER_4F
 	db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
 	; morn
 	db 20, RATTATA
@@ -137,7 +137,7 @@
 	db 24, RATTATA
 	db 24, RATTATA
 
-	map TIN_TOWER_5F
+	map_id TIN_TOWER_5F
 	db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
 	; morn
 	db 20, RATTATA
@@ -164,7 +164,7 @@
 	db 24, RATTATA
 	db 24, RATTATA
 
-	map TIN_TOWER_6F
+	map_id TIN_TOWER_6F
 	db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
 	; morn
 	db 20, RATTATA
@@ -191,7 +191,7 @@
 	db 24, RATTATA
 	db 24, RATTATA
 
-	map TIN_TOWER_7F
+	map_id TIN_TOWER_7F
 	db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
 	; morn
 	db 20, RATTATA
@@ -218,7 +218,7 @@
 	db 24, RATTATA
 	db 24, RATTATA
 
-	map TIN_TOWER_8F
+	map_id TIN_TOWER_8F
 	db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
 	; morn
 	db 20, RATTATA
@@ -245,7 +245,7 @@
 	db 24, RATTATA
 	db 24, RATTATA
 
-	map TIN_TOWER_9F
+	map_id TIN_TOWER_9F
 	db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
 	; morn
 	db 20, RATTATA
@@ -272,7 +272,7 @@
 	db 24, RATTATA
 	db 24, RATTATA
 
-	map BURNED_TOWER_1F
+	map_id BURNED_TOWER_1F
 	db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite
 	; morn
 	db 13, RATTATA
@@ -299,7 +299,7 @@
 	db 15, RATICATE
 	db 15, RATICATE
 
-	map BURNED_TOWER_B1F
+	map_id BURNED_TOWER_B1F
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 14, RATTATA
@@ -326,7 +326,7 @@
 	db 16, KOFFING
 	db 16, WEEZING
 
-	map NATIONAL_PARK
+	map_id NATIONAL_PARK
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 12, NIDORAN_M
@@ -353,7 +353,7 @@
 	db 12, VENONAT
 	db 12, VENONAT
 
-	map RUINS_OF_ALPH_OUTSIDE
+	map_id RUINS_OF_ALPH_OUTSIDE
 	db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite
 	; morn
 	db 20, NATU
@@ -380,7 +380,7 @@
 	db 22, QUAGSIRE
 	db 22, QUAGSIRE
 
-	map RUINS_OF_ALPH_INNER_CHAMBER
+	map_id RUINS_OF_ALPH_INNER_CHAMBER
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 5, UNOWN
@@ -407,7 +407,7 @@
 	db 5, UNOWN
 	db 5, UNOWN
 
-	map UNION_CAVE_1F
+	map_id UNION_CAVE_1F
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 6, GEODUDE
@@ -434,7 +434,7 @@
 	db 6, ONIX
 	db 6, ONIX
 
-	map UNION_CAVE_B1F
+	map_id UNION_CAVE_B1F
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 8, GEODUDE
@@ -461,7 +461,7 @@
 	db 8, RATTATA
 	db 8, RATTATA
 
-	map UNION_CAVE_B2F
+	map_id UNION_CAVE_B2F
 	db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite
 	; morn
 	db 22, ZUBAT
@@ -488,7 +488,7 @@
 	db 23, ONIX
 	db 23, ONIX
 
-	map SLOWPOKE_WELL_B1F
+	map_id SLOWPOKE_WELL_B1F
 	db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
 	; morn
 	db 5, ZUBAT
@@ -515,7 +515,7 @@
 	db 8, SLOWPOKE
 	db 8, SLOWPOKE
 
-	map SLOWPOKE_WELL_B2F
+	map_id SLOWPOKE_WELL_B2F
 	db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
 	; morn
 	db 21, ZUBAT
@@ -542,7 +542,7 @@
 	db 23, SLOWPOKE
 	db 23, SLOWPOKE
 
-	map ILEX_FOREST
+	map_id ILEX_FOREST
 	db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite
 	; morn
 	db 5, CATERPIE
@@ -569,7 +569,7 @@
 	db 6, PARAS
 	db 6, PARAS
 
-	map MOUNT_MORTAR_1F_OUTSIDE
+	map_id MOUNT_MORTAR_1F_OUTSIDE
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 14, RATTATA
@@ -596,7 +596,7 @@
 	db 16, RATICATE
 	db 16, RATICATE
 
-	map MOUNT_MORTAR_1F_INSIDE
+	map_id MOUNT_MORTAR_1F_INSIDE
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 13, GEODUDE
@@ -623,7 +623,7 @@
 	db 15, GOLBAT
 	db 15, GOLBAT
 
-	map MOUNT_MORTAR_2F_INSIDE
+	map_id MOUNT_MORTAR_2F_INSIDE
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 31, GRAVELER
@@ -650,7 +650,7 @@
 	db 32, GOLBAT
 	db 32, GOLBAT
 
-	map MOUNT_MORTAR_B1F
+	map_id MOUNT_MORTAR_B1F
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 15, ZUBAT
@@ -677,7 +677,7 @@
 	db 18, RATICATE
 	db 18, RATICATE
 
-	map ICE_PATH_1F
+	map_id ICE_PATH_1F
 	db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
 	; morn
 	db 21, SWINUB
@@ -704,7 +704,7 @@
 	db 22, GOLBAT
 	db 22, GOLBAT
 
-	map ICE_PATH_B1F
+	map_id ICE_PATH_B1F
 	db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
 	; morn
 	db 22, SWINUB
@@ -731,7 +731,7 @@
 	db 23, GOLBAT
 	db 22, SNEASEL
 
-	map ICE_PATH_B2F_MAHOGANY_SIDE
+	map_id ICE_PATH_B2F_MAHOGANY_SIDE
 	db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
 	; morn
 	db 23, SWINUB
@@ -758,7 +758,7 @@
 	db 22, SNEASEL
 	db 24, SNEASEL
 
-	map ICE_PATH_B2F_BLACKTHORN_SIDE
+	map_id ICE_PATH_B2F_BLACKTHORN_SIDE
 	db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
 	; morn
 	db 23, SWINUB
@@ -785,7 +785,7 @@
 	db 22, SNEASEL
 	db 24, SNEASEL
 
-	map ICE_PATH_B3F
+	map_id ICE_PATH_B3F
 	db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
 	; morn
 	db 24, SWINUB
@@ -812,7 +812,7 @@
 	db 24, SNEASEL
 	db 26, SNEASEL
 
-	map WHIRL_ISLAND_NW
+	map_id WHIRL_ISLAND_NW
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 22, KRABBY
@@ -839,7 +839,7 @@
 	db 24, GOLBAT
 	db 24, GOLBAT
 
-	map WHIRL_ISLAND_NE
+	map_id WHIRL_ISLAND_NE
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 22, KRABBY
@@ -866,7 +866,7 @@
 	db 24, GOLBAT
 	db 24, GOLBAT
 
-	map WHIRL_ISLAND_SW
+	map_id WHIRL_ISLAND_SW
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 22, KRABBY
@@ -893,7 +893,7 @@
 	db 24, GOLBAT
 	db 24, GOLBAT
 
-	map WHIRL_ISLAND_CAVE
+	map_id WHIRL_ISLAND_CAVE
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 22, KRABBY
@@ -920,7 +920,7 @@
 	db 24, GOLBAT
 	db 24, GOLBAT
 
-	map WHIRL_ISLAND_SE
+	map_id WHIRL_ISLAND_SE
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 22, KRABBY
@@ -947,7 +947,7 @@
 	db 24, GOLBAT
 	db 24, GOLBAT
 
-	map WHIRL_ISLAND_B1F
+	map_id WHIRL_ISLAND_B1F
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 23, KRABBY
@@ -974,7 +974,7 @@
 	db 25, GOLBAT
 	db 25, GOLBAT
 
-	map WHIRL_ISLAND_B2F
+	map_id WHIRL_ISLAND_B2F
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 24, KRABBY
@@ -1001,7 +1001,7 @@
 	db 26, GOLBAT
 	db 26, GOLBAT
 
-	map WHIRL_ISLAND_LUGIA_CHAMBER
+	map_id WHIRL_ISLAND_LUGIA_CHAMBER
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 25, KRABBY
@@ -1028,7 +1028,7 @@
 	db 27, GOLBAT
 	db 27, GOLBAT
 
-	map SILVER_CAVE_ROOM_1
+	map_id SILVER_CAVE_ROOM_1
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 43, GRAVELER
@@ -1055,7 +1055,7 @@
 	db 46, GOLBAT
 	db 46, GOLBAT
 
-	map SILVER_CAVE_ROOM_2
+	map_id SILVER_CAVE_ROOM_2
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 48, GOLBAT
@@ -1082,7 +1082,7 @@
 	db 45, MISDREAVUS
 	db 45, MISDREAVUS
 
-	map SILVER_CAVE_ROOM_3
+	map_id SILVER_CAVE_ROOM_3
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 51, GOLBAT
@@ -1109,7 +1109,7 @@
 	db 53, GOLBAT
 	db 53, GOLBAT
 
-	map SILVER_CAVE_ITEM_ROOMS
+	map_id SILVER_CAVE_ITEM_ROOMS
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 48, GOLBAT
@@ -1136,7 +1136,7 @@
 	db 50, PARASECT
 	db 52, PARASECT
 
-	map DARK_CAVE_VIOLET_ENTRANCE
+	map_id DARK_CAVE_VIOLET_ENTRANCE
 	db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite
 	; morn
 	db 3, GEODUDE
@@ -1163,7 +1163,7 @@
 	db 4, ZUBAT
 	db 4, DUNSPARCE
 
-	map DARK_CAVE_BLACKTHORN_ENTRANCE
+	map_id DARK_CAVE_BLACKTHORN_ENTRANCE
 	db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite
 	; morn
 	db 23, GEODUDE
@@ -1190,7 +1190,7 @@
 	db 23, GOLBAT
 	db 23, GOLBAT
 
-	map ROUTE_29
+	map_id ROUTE_29
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 2, PIDGEY
@@ -1217,7 +1217,7 @@
 	db 3, HOOTHOOT
 	db 3, HOOTHOOT
 
-	map ROUTE_30
+	map_id ROUTE_30
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 3, LEDYBA
@@ -1244,7 +1244,7 @@
 	db 4, HOOTHOOT
 	db 4, HOOTHOOT
 
-	map ROUTE_31
+	map_id ROUTE_31
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 4, LEDYBA
@@ -1271,7 +1271,7 @@
 	db 5, GASTLY
 	db 5, GASTLY
 
-	map ROUTE_32
+	map_id ROUTE_32
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 4, EKANS
@@ -1298,7 +1298,7 @@
 	db 7, GASTLY
 	db 7, GASTLY
 
-	map ROUTE_33
+	map_id ROUTE_33
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 6, RATTATA
@@ -1325,7 +1325,7 @@
 	db 7, RATTATA
 	db 7, RATTATA
 
-	map ROUTE_34
+	map_id ROUTE_34
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 10, SNUBBULL
@@ -1352,7 +1352,7 @@
 	db 10, DITTO
 	db 10, DITTO
 
-	map ROUTE_35
+	map_id ROUTE_35
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 12, SNUBBULL
@@ -1379,7 +1379,7 @@
 	db 10, DITTO
 	db 12, YANMA
 
-	map ROUTE_36
+	map_id ROUTE_36
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 4, LEDYBA
@@ -1406,7 +1406,7 @@
 	db 5, GASTLY
 	db 5, GASTLY
 
-	map ROUTE_37
+	map_id ROUTE_37
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 13, LEDYBA
@@ -1433,7 +1433,7 @@
 	db 15, ARIADOS
 	db 15, ARIADOS
 
-	map ROUTE_38
+	map_id ROUTE_38
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 16, RATTATA
@@ -1460,7 +1460,7 @@
 	db 16, MEOWTH
 	db 16, MEOWTH
 
-	map ROUTE_39
+	map_id ROUTE_39
 	db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
 	; morn
 	db 16, RATTATA
@@ -1487,7 +1487,7 @@
 	db 18, MEOWTH
 	db 18, MEOWTH
 
-	map ROUTE_42
+	map_id ROUTE_42
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 13, EKANS
@@ -1514,7 +1514,7 @@
 	db 16, GOLBAT
 	db 16, GOLBAT
 
-	map ROUTE_43
+	map_id ROUTE_43
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 15, SENTRET
@@ -1541,7 +1541,7 @@
 	db 17, VENOMOTH
 	db 17, VENOMOTH
 
-	map ROUTE_44
+	map_id ROUTE_44
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 23, TANGELA
@@ -1568,7 +1568,7 @@
 	db 26, POLIWHIRL
 	db 26, POLIWHIRL
 
-	map ROUTE_45
+	map_id ROUTE_45
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 23, GEODUDE
@@ -1595,7 +1595,7 @@
 	db 27, GRAVELER
 	db 27, GRAVELER
 
-	map ROUTE_46
+	map_id ROUTE_46
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 2, GEODUDE
@@ -1622,7 +1622,7 @@
 	db 2, RATTATA
 	db 2, RATTATA
 
-	map SILVER_CAVE_OUTSIDE
+	map_id SILVER_CAVE_OUTSIDE
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 41, TANGELA
--- a/data/wild/johto_water.asm
+++ b/data/wild/johto_water.asm
@@ -2,229 +2,229 @@
 
 JohtoWaterWildMons: ; 0x2b11d
 
-	map RUINS_OF_ALPH_OUTSIDE
+	map_id RUINS_OF_ALPH_OUTSIDE
 	db 2 percent ; encounter rate
 	db 15, WOOPER
 	db 20, QUAGSIRE
 	db 15, QUAGSIRE
 
-	map UNION_CAVE_1F
+	map_id UNION_CAVE_1F
 	db 2 percent ; encounter rate
 	db 15, WOOPER
 	db 20, QUAGSIRE
 	db 15, QUAGSIRE
 
-	map UNION_CAVE_B1F
+	map_id UNION_CAVE_B1F
 	db 2 percent ; encounter rate
 	db 15, WOOPER
 	db 20, QUAGSIRE
 	db 15, QUAGSIRE
 
-	map UNION_CAVE_B2F
+	map_id UNION_CAVE_B2F
 	db 4 percent ; encounter rate
 	db 15, TENTACOOL
 	db 20, QUAGSIRE
 	db 20, TENTACRUEL
 
-	map SLOWPOKE_WELL_B1F
+	map_id SLOWPOKE_WELL_B1F
 	db 2 percent ; encounter rate
 	db 15, SLOWPOKE
 	db 20, SLOWPOKE
 	db 10, SLOWPOKE
 
-	map SLOWPOKE_WELL_B2F
+	map_id SLOWPOKE_WELL_B2F
 	db 2 percent ; encounter rate
 	db 15, SLOWPOKE
 	db 20, SLOWPOKE
 	db 20, SLOWBRO
 
-	map ILEX_FOREST
+	map_id ILEX_FOREST
 	db 2 percent ; encounter rate
 	db 15, PSYDUCK
 	db 10, PSYDUCK
 	db 15, GOLDUCK
 
-	map MOUNT_MORTAR_1F_OUTSIDE
+	map_id MOUNT_MORTAR_1F_OUTSIDE
 	db 4 percent ; encounter rate
 	db 15, GOLDEEN
 	db 20, MARILL
 	db 20, SEAKING
 
-	map MOUNT_MORTAR_2F_INSIDE
+	map_id MOUNT_MORTAR_2F_INSIDE
 	db 2 percent ; encounter rate
 	db 20, GOLDEEN
 	db 25, MARILL
 	db 25, SEAKING
 
-	map MOUNT_MORTAR_B1F
+	map_id MOUNT_MORTAR_B1F
 	db 2 percent ; encounter rate
 	db 15, GOLDEEN
 	db 20, MARILL
 	db 20, SEAKING
 
-	map WHIRL_ISLAND_SW
+	map_id WHIRL_ISLAND_SW
 	db 4 percent ; encounter rate
 	db 20, TENTACOOL
 	db 15, HORSEA
 	db 20, TENTACRUEL
 
-	map WHIRL_ISLAND_B2F
+	map_id WHIRL_ISLAND_B2F
 	db 4 percent ; encounter rate
 	db 15, HORSEA
 	db 20, HORSEA
 	db 20, TENTACRUEL
 
-	map WHIRL_ISLAND_LUGIA_CHAMBER
+	map_id WHIRL_ISLAND_LUGIA_CHAMBER
 	db 4 percent ; encounter rate
 	db 20, HORSEA
 	db 20, TENTACRUEL
 	db 20, SEADRA
 
-	map SILVER_CAVE_ROOM_2
+	map_id SILVER_CAVE_ROOM_2
 	db 2 percent ; encounter rate
 	db 35, SEAKING
 	db 35, GOLDUCK
 	db 35, GOLDEEN
 
-	map DARK_CAVE_VIOLET_ENTRANCE
+	map_id DARK_CAVE_VIOLET_ENTRANCE
 	db 2 percent ; encounter rate
 	db 15, MAGIKARP
 	db 10, MAGIKARP
 	db 5, MAGIKARP
 
-	map DARK_CAVE_BLACKTHORN_ENTRANCE
+	map_id DARK_CAVE_BLACKTHORN_ENTRANCE
 	db 2 percent ; encounter rate
 	db 15, MAGIKARP
 	db 10, MAGIKARP
 	db 5, MAGIKARP
 
-	map DRAGONS_DEN_B1F
+	map_id DRAGONS_DEN_B1F
 	db 4 percent ; encounter rate
 	db 15, MAGIKARP
 	db 10, MAGIKARP
 	db 10, DRATINI
 
-	map OLIVINE_PORT
+	map_id OLIVINE_PORT
 	db 2 percent ; encounter rate
 	db 20, TENTACOOL
 	db 15, TENTACOOL
 	db 20, TENTACRUEL
 
-	map ROUTE_30
+	map_id ROUTE_30
 	db 2 percent ; encounter rate
 	db 20, POLIWAG
 	db 15, POLIWAG
 	db 20, POLIWHIRL
 
-	map ROUTE_31
+	map_id ROUTE_31
 	db 2 percent ; encounter rate
 	db 20, POLIWAG
 	db 15, POLIWAG
 	db 20, POLIWHIRL
 
-	map ROUTE_32
+	map_id ROUTE_32
 	db 6 percent ; encounter rate
 	db 15, TENTACOOL
 	db 20, QUAGSIRE
 	db 20, TENTACRUEL
 
-	map ROUTE_34
+	map_id ROUTE_34
 	db 6 percent ; encounter rate
 	db 20, TENTACOOL
 	db 15, TENTACOOL
 	db 20, TENTACRUEL
 
-	map ROUTE_35
+	map_id ROUTE_35
 	db 4 percent ; encounter rate
 	db 20, PSYDUCK
 	db 15, PSYDUCK
 	db 20, GOLDUCK
 
-	map ROUTE_40
+	map_id ROUTE_40
 	db 6 percent ; encounter rate
 	db 20, TENTACOOL
 	db 15, TENTACOOL
 	db 20, TENTACRUEL
 
-	map ROUTE_41
+	map_id ROUTE_41
 	db 6 percent ; encounter rate
 	db 20, TENTACOOL
 	db 20, TENTACRUEL
 	db 20, MANTINE
 
-	map ROUTE_42
+	map_id ROUTE_42
 	db 4 percent ; encounter rate
 	db 20, GOLDEEN
 	db 15, GOLDEEN
 	db 20, SEAKING
 
-	map ROUTE_43
+	map_id ROUTE_43
 	db 2 percent ; encounter rate
 	db 20, MAGIKARP
 	db 15, MAGIKARP
 	db 10, MAGIKARP
 
-	map ROUTE_44
+	map_id ROUTE_44
 	db 2 percent ; encounter rate
 	db 25, POLIWAG
 	db 20, POLIWAG
 	db 25, POLIWHIRL
 
-	map ROUTE_45
+	map_id ROUTE_45
 	db 2 percent ; encounter rate
 	db 20, MAGIKARP
 	db 15, MAGIKARP
 	db 5, MAGIKARP
 
-	map NEW_BARK_TOWN
+	map_id NEW_BARK_TOWN
 	db 6 percent ; encounter rate
 	db 20, TENTACOOL
 	db 15, TENTACOOL
 	db 20, TENTACRUEL
 
-	map CHERRYGROVE_CITY
+	map_id CHERRYGROVE_CITY
 	db 6 percent ; encounter rate
 	db 20, TENTACOOL
 	db 15, TENTACOOL
 	db 20, TENTACRUEL
 
-	map VIOLET_CITY
+	map_id VIOLET_CITY
 	db 2 percent ; encounter rate
 	db 20, POLIWAG
 	db 15, POLIWAG
 	db 20, POLIWHIRL
 
-	map CIANWOOD_CITY
+	map_id CIANWOOD_CITY
 	db 6 percent ; encounter rate
 	db 20, TENTACOOL
 	db 15, TENTACOOL
 	db 20, TENTACRUEL
 
-	map OLIVINE_CITY
+	map_id OLIVINE_CITY
 	db 6 percent ; encounter rate
 	db 20, TENTACOOL
 	db 15, TENTACOOL
 	db 20, TENTACRUEL
 
-	map ECRUTEAK_CITY
+	map_id ECRUTEAK_CITY
 	db 2 percent ; encounter rate
 	db 20, POLIWAG
 	db 15, POLIWAG
 	db 20, POLIWHIRL
 
-	map LAKE_OF_RAGE
+	map_id LAKE_OF_RAGE
 	db 6 percent ; encounter rate
 	db 15, MAGIKARP
 	db 10, MAGIKARP
 	db 15, GYARADOS
 
-	map BLACKTHORN_CITY
+	map_id BLACKTHORN_CITY
 	db 4 percent ; encounter rate
 	db 15, MAGIKARP
 	db 10, MAGIKARP
 	db 5, MAGIKARP
 
-	map SILVER_CAVE_OUTSIDE
+	map_id SILVER_CAVE_OUTSIDE
 	db 2 percent ; encounter rate
 	db 35, POLIWHIRL
 	db 40, POLIWHIRL
--- a/data/wild/kanto_grass.asm
+++ b/data/wild/kanto_grass.asm
@@ -2,7 +2,7 @@
 
 KantoGrassWildMons: ; 0x2b274
 
-	map DIGLETTS_CAVE
+	map_id DIGLETTS_CAVE
 	db 4 percent, 2 percent, 8 percent ; encounter rates: morn/day/nite
 	; morn
 	db 3, DIGLETT
@@ -29,7 +29,7 @@
 	db 32, DUGTRIO
 	db 32, DUGTRIO
 
-	map MOUNT_MOON
+	map_id MOUNT_MOON
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 6, ZUBAT
@@ -56,7 +56,7 @@
 	db 12, CLEFAIRY
 	db 12, CLEFAIRY
 
-	map ROCK_TUNNEL_1F
+	map_id ROCK_TUNNEL_1F
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 10, CUBONE
@@ -83,7 +83,7 @@
 	db 15, ZUBAT
 	db 15, ZUBAT
 
-	map ROCK_TUNNEL_B1F
+	map_id ROCK_TUNNEL_B1F
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 12, CUBONE
@@ -110,7 +110,7 @@
 	db 15, GOLBAT
 	db 15, GOLBAT
 
-	map VICTORY_ROAD
+	map_id VICTORY_ROAD
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 34, GRAVELER
@@ -137,7 +137,7 @@
 	db 40, GRAVELER
 	db 40, GRAVELER
 
-	map TOHJO_FALLS
+	map_id TOHJO_FALLS
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 22, ZUBAT
@@ -164,7 +164,7 @@
 	db 23, SLOWPOKE
 	db 23, SLOWPOKE
 
-	map ROUTE_1
+	map_id ROUTE_1
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 2, PIDGEY
@@ -191,7 +191,7 @@
 	db 4, HOOTHOOT
 	db 4, HOOTHOOT
 
-	map ROUTE_2
+	map_id ROUTE_2
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 3, CATERPIE
@@ -218,7 +218,7 @@
 	db 4, NOCTOWL
 	db 4, NOCTOWL
 
-	map ROUTE_3
+	map_id ROUTE_3
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 5, SPEAROW
@@ -245,7 +245,7 @@
 	db 6, CLEFAIRY
 	db 6, CLEFAIRY
 
-	map ROUTE_4
+	map_id ROUTE_4
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 5, SPEAROW
@@ -272,7 +272,7 @@
 	db 6, CLEFAIRY
 	db 6, CLEFAIRY
 
-	map ROUTE_5
+	map_id ROUTE_5
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 13, PIDGEY
@@ -299,7 +299,7 @@
 	db 14, ABRA
 	db 14, ABRA
 
-	map ROUTE_6
+	map_id ROUTE_6
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 13, RATTATA
@@ -326,7 +326,7 @@
 	db 15, RATICATE
 	db 15, RATICATE
 
-	map ROUTE_7
+	map_id ROUTE_7
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 17, RATTATA
@@ -353,7 +353,7 @@
 	db 16, ABRA
 	db 16, ABRA
 
-	map ROUTE_8
+	map_id ROUTE_8
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 17, SNUBBULL
@@ -380,7 +380,7 @@
 	db 18, KADABRA
 	db 18, KADABRA
 
-	map ROUTE_9
+	map_id ROUTE_9
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 15, RATTATA
@@ -407,7 +407,7 @@
 	db 18, RATICATE
 	db 18, RATICATE
 
-	map ROUTE_10_NORTH
+	map_id ROUTE_10_NORTH
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 15, SPEAROW
@@ -434,7 +434,7 @@
 	db 16, ELECTABUZZ
 	db 16, ELECTABUZZ
 
-	map ROUTE_11
+	map_id ROUTE_11
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 14, HOPPIP
@@ -461,7 +461,7 @@
 	db 16, HYPNO
 	db 16, HYPNO
 
-	map ROUTE_13
+	map_id ROUTE_13
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 23, NIDORINO
@@ -488,7 +488,7 @@
 	db 25, QUAGSIRE
 	db 25, CHANSEY
 
-	map ROUTE_14
+	map_id ROUTE_14
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 26, NIDORINO
@@ -515,7 +515,7 @@
 	db 28, QUAGSIRE
 	db 28, CHANSEY
 
-	map ROUTE_15
+	map_id ROUTE_15
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 23, NIDORINO
@@ -542,7 +542,7 @@
 	db 25, QUAGSIRE
 	db 25, CHANSEY
 
-	map ROUTE_16
+	map_id ROUTE_16
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 26, GRIMER
@@ -569,7 +569,7 @@
 	db 30, MUK
 	db 30, MUK
 
-	map ROUTE_17
+	map_id ROUTE_17
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 30, FEAROW
@@ -596,7 +596,7 @@
 	db 33, MUK
 	db 33, MUK
 
-	map ROUTE_18
+	map_id ROUTE_18
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 26, GRIMER
@@ -623,7 +623,7 @@
 	db 30, MUK
 	db 30, MUK
 
-	map ROUTE_21
+	map_id ROUTE_21
 	db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
 	; morn
 	db 30, TANGELA
@@ -650,7 +650,7 @@
 	db 28, TANGELA
 	db 28, TANGELA
 
-	map ROUTE_22
+	map_id ROUTE_22
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 3, RATTATA
@@ -677,7 +677,7 @@
 	db 7, RATTATA
 	db 7, RATTATA
 
-	map ROUTE_24
+	map_id ROUTE_24
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 8, CATERPIE
@@ -704,7 +704,7 @@
 	db 14, GLOOM
 	db 14, GLOOM
 
-	map ROUTE_25
+	map_id ROUTE_25
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 10, CATERPIE
@@ -731,7 +731,7 @@
 	db 14, NOCTOWL
 	db 14, NOCTOWL
 
-	map ROUTE_26
+	map_id ROUTE_26
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 28, DODUO
@@ -758,7 +758,7 @@
 	db 30, QUAGSIRE
 	db 30, QUAGSIRE
 
-	map ROUTE_27
+	map_id ROUTE_27
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 28, DODUO
@@ -785,7 +785,7 @@
 	db 32, NOCTOWL
 	db 32, NOCTOWL
 
-	map ROUTE_28
+	map_id ROUTE_28
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 39, TANGELA
--- a/data/wild/kanto_water.asm
+++ b/data/wild/kanto_water.asm
@@ -2,145 +2,145 @@
 
 KantoWaterWildMons: ; 0x2b7f7
 
-	map TOHJO_FALLS
+	map_id TOHJO_FALLS
 	db 4 percent ; encounter rate
 	db 20, GOLDEEN
 	db 20, SLOWPOKE
 	db 20, SEAKING
 
-	map VERMILION_PORT
+	map_id VERMILION_PORT
 	db 2 percent ; encounter rate
 	db 35, TENTACOOL
 	db 30, TENTACOOL
 	db 35, TENTACRUEL
 
-	map ROUTE_4
+	map_id ROUTE_4
 	db 4 percent ; encounter rate
 	db 10, GOLDEEN
 	db 5, GOLDEEN
 	db 10, SEAKING
 
-	map ROUTE_6
+	map_id ROUTE_6
 	db 2 percent ; encounter rate
 	db 10, PSYDUCK
 	db 5, PSYDUCK
 	db 10, GOLDUCK
 
-	map ROUTE_9
+	map_id ROUTE_9
 	db 4 percent ; encounter rate
 	db 15, GOLDEEN
 	db 10, GOLDEEN
 	db 15, SEAKING
 
-	map ROUTE_10_NORTH
+	map_id ROUTE_10_NORTH
 	db 4 percent ; encounter rate
 	db 15, GOLDEEN
 	db 10, GOLDEEN
 	db 15, SEAKING
 
-	map ROUTE_12
+	map_id ROUTE_12
 	db 6 percent ; encounter rate
 	db 25, TENTACOOL
 	db 25, QUAGSIRE
 	db 25, TENTACRUEL
 
-	map ROUTE_13
+	map_id ROUTE_13
 	db 6 percent ; encounter rate
 	db 25, TENTACOOL
 	db 25, QUAGSIRE
 	db 25, TENTACRUEL
 
-	map ROUTE_19
+	map_id ROUTE_19
 	db 6 percent ; encounter rate
 	db 35, TENTACOOL
 	db 30, TENTACOOL
 	db 35, TENTACRUEL
 
-	map ROUTE_20
+	map_id ROUTE_20
 	db 6 percent ; encounter rate
 	db 35, TENTACOOL
 	db 30, TENTACOOL
 	db 35, TENTACRUEL
 
-	map ROUTE_21
+	map_id ROUTE_21
 	db 6 percent ; encounter rate
 	db 35, TENTACOOL
 	db 30, TENTACOOL
 	db 35, TENTACRUEL
 
-	map ROUTE_22
+	map_id ROUTE_22
 	db 2 percent ; encounter rate
 	db 10, POLIWAG
 	db 5, POLIWAG
 	db 10, POLIWHIRL
 
-	map ROUTE_24
+	map_id ROUTE_24
 	db 4 percent ; encounter rate
 	db 10, GOLDEEN
 	db 5, GOLDEEN
 	db 10, SEAKING
 
-	map ROUTE_25
+	map_id ROUTE_25
 	db 4 percent ; encounter rate
 	db 10, GOLDEEN
 	db 5, GOLDEEN
 	db 10, SEAKING
 
-	map ROUTE_26
+	map_id ROUTE_26
 	db 6 percent ; encounter rate
 	db 30, TENTACOOL
 	db 25, TENTACOOL
 	db 30, TENTACRUEL
 
-	map ROUTE_27
+	map_id ROUTE_27
 	db 6 percent ; encounter rate
 	db 20, TENTACOOL
 	db 15, TENTACOOL
 	db 20, TENTACRUEL
 
-	map ROUTE_28
+	map_id ROUTE_28
 	db 2 percent ; encounter rate
 	db 40, POLIWAG
 	db 35, POLIWAG
 	db 40, POLIWHIRL
 
-	map PALLET_TOWN
+	map_id PALLET_TOWN
 	db 6 percent ; encounter rate
 	db 35, TENTACOOL
 	db 30, TENTACOOL
 	db 35, TENTACRUEL
 
-	map VIRIDIAN_CITY
+	map_id VIRIDIAN_CITY
 	db 2 percent ; encounter rate
 	db 10, POLIWAG
 	db 5, POLIWAG
 	db 10, POLIWHIRL
 
-	map CERULEAN_CITY
+	map_id CERULEAN_CITY
 	db 4 percent ; encounter rate
 	db 10, GOLDEEN
 	db 5, GOLDEEN
 	db 10, SEAKING
 
-	map VERMILION_CITY
+	map_id VERMILION_CITY
 	db 6 percent ; encounter rate
 	db 35, TENTACOOL
 	db 30, TENTACOOL
 	db 35, TENTACRUEL
 
-	map CELADON_CITY
+	map_id CELADON_CITY
 	db 2 percent ; encounter rate
 	db 20, GRIMER
 	db 15, GRIMER
 	db 15, MUK
 
-	map FUCHSIA_CITY
+	map_id FUCHSIA_CITY
 	db 2 percent ; encounter rate
 	db 20, MAGIKARP
 	db 15, MAGIKARP
 	db 10, MAGIKARP
 
-	map CINNABAR_ISLAND
+	map_id CINNABAR_ISLAND
 	db 6 percent ; encounter rate
 	db 35, TENTACOOL
 	db 30, TENTACOOL
--- a/data/wild/roammon_maps.asm
+++ b/data/wild/roammon_maps.asm
@@ -2,10 +2,10 @@
 ; Notably missing are Route 40 and Route 41, which are water routes.
 
 roam_map: MACRO
-	map \1
+	map_id \1
 	db _NARG - 1
 rept _NARG + -1
-	map \2
+	map_id \2
 	shift
 endr
 	db 0
--- a/data/wild/swarm_grass.asm
+++ b/data/wild/swarm_grass.asm
@@ -3,7 +3,7 @@
 SwarmGrassWildMons: ; 0x2b8d0
 
 ; Dunsparce swarm
-	map DARK_CAVE_VIOLET_ENTRANCE
+	map_id DARK_CAVE_VIOLET_ENTRANCE
 	db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite
 	; morn
 	db 3, GEODUDE
@@ -31,7 +31,7 @@
 	db 4, DUNSPARCE
 
 ; Yanma swarm
-	map ROUTE_35
+	map_id ROUTE_35
 	db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
 	; morn
 	db 12, NIDORAN_M
--- a/data/wild/treemon_maps.asm
+++ b/data/wild/treemon_maps.asm
@@ -1,5 +1,5 @@
 treemon_map: MACRO
-	map \1
+	map_id \1
 	db  \2 ; treemon set
 ENDM
 
--- a/engine/events/unown_walls.asm
+++ b/engine/events/unown_walls.asm
@@ -3,7 +3,7 @@
 	ld a, [hl]
 	cp HO_OH ; is Ho-oh the first Pokémon in the party?
 	jr nz, .done ; if not, we're done
-	call GetMapDataPointer ; pointless?
+	call GetMapAttributesPointer ; pointless?
 	ld de, EVENT_WALL_OPENED_IN_HO_OH_CHAMBER
 	ld b, SET_FLAG
 	call EventFlagAction
@@ -12,7 +12,7 @@
 ; 0x8adef
 
 OmanyteChamber: ; 8adef
-	call GetMapDataPointer ; pointless?
+	call GetMapAttributesPointer ; pointless?
 	ld de, EVENT_WALL_OPENED_IN_OMANYTE_CHAMBER
 	ld b, CHECK_FLAG
 	call EventFlagAction
@@ -44,7 +44,7 @@
 	jr nz, .loop
 
 .open
-	call GetMapDataPointer ; pointless?
+	call GetMapAttributesPointer ; pointless?
 	ld de, EVENT_WALL_OPENED_IN_OMANYTE_CHAMBER
 	ld b, SET_FLAG
 	call EventFlagAction
@@ -57,12 +57,12 @@
 	push de
 	push bc
 
-	call GetMapDataPointer
+	call GetMapAttributesPointer
 	ld a, h
-	cp HIGH(RuinsOfAlphAerodactylChamber_MapData)
+	cp HIGH(RuinsOfAlphAerodactylChamber_MapAttributes)
 	jr nz, .nope
 	ld a, l
-	cp LOW(RuinsOfAlphAerodactylChamber_MapData)
+	cp LOW(RuinsOfAlphAerodactylChamber_MapAttributes)
 	jr nz, .nope
 
 	ld de, EVENT_WALL_OPENED_IN_AERODACTYL_CHAMBER
@@ -85,12 +85,12 @@
 	push hl
 	push de
 
-	call GetMapDataPointer
+	call GetMapAttributesPointer
 	ld a, h
-	cp HIGH(RuinsOfAlphKabutoChamber_MapData)
+	cp HIGH(RuinsOfAlphKabutoChamber_MapAttributes)
 	jr nz, .done
 	ld a, l
-	cp LOW(RuinsOfAlphKabutoChamber_MapData)
+	cp LOW(RuinsOfAlphKabutoChamber_MapAttributes)
 	jr nz, .done
 
 	ld de, EVENT_WALL_OPENED_IN_KABUTO_CHAMBER
--- a/home/map.asm
+++ b/home/map.asm
@@ -394,7 +394,7 @@
 ; 2309
 
 LoadMapAttributes:: ; 2309
-	call CopyMapDefAndData
+	call CopyMapPartialAndAttributes
 	call SwitchToMapScriptsBank
 	call ReadMapScripts
 	xor a ; do not skip object_events
@@ -403,7 +403,7 @@
 ; 2317
 
 LoadMapAttributes_SkipPeople:: ; 2317
-	call CopyMapDefAndData
+	call CopyMapPartialAndAttributes
 	call SwitchToMapScriptsBank
 	call ReadMapScripts
 	ld a, TRUE ; skip object events
@@ -411,11 +411,11 @@
 	ret
 ; 2326
 
-CopyMapDefAndData:: ; 2326
-	call PartialCopyMapDef
-	call SwitchToMapDataBank
-	call GetMapDataPointer
-	call CopyMapData
+CopyMapPartialAndAttributes:: ; 2326
+	call CopyMapPartial
+	call SwitchToMapAttributesBank
+	call GetMapAttributesPointer
+	call CopyMapAttributes
 	call GetMapConnections
 	ret
 ; 2336
@@ -450,9 +450,9 @@
 	ret
 ; 235c
 
-CopyMapData:: ; 235c
-	ld de, wMapData
-	ld c, wMapDataEnd - wMapData
+CopyMapAttributes:: ; 235c
+	ld de, wMapAttributes
+	ld c, wMapAttributesEnd - wMapAttributes
 .loop
 	ld a, [hli]
 	ld [de], a
@@ -2052,7 +2052,7 @@
 	ld b, a
 	ld a, [MapNumber]
 	ld c, a
-	call SwitchToAnyMapDataBank
+	call SwitchToAnyMapAttributesBank
 	farcall UpdateTimeOfDayPal
 	call OverworldTextModeSwitch
 	call LoadTilesetGFX
@@ -2065,12 +2065,12 @@
 	ret
 ; 2be5
 
-GetMapDefPointer:: ; 2be5
+GetMapPointer:: ; 2be5
 	ld a, [MapGroup]
 	ld b, a
 	ld a, [MapNumber]
 	ld c, a
-GetAnyMapDefPointer:: ; 0x2bed
+GetAnyMapPointer:: ; 0x2bed
 ; Prior to calling this function, you must have switched banks so that
 ; MapGroupPointers is visible.
 
@@ -2078,7 +2078,7 @@
 ; b = map group, c = map number
 
 ; outputs:
-; hl points to the map_def
+; hl points to the map within its group
 	push bc ; save map number for later
 
 	; get pointer to map group
@@ -2094,7 +2094,7 @@
 	ld l, a
 	pop bc ; restore map number
 
-	; find the cth map_def
+	; find the cth map within the group
 	dec c
 	ld b, 0
 	ld a, 9
@@ -2102,21 +2102,21 @@
 	ret
 ; 0x2c04
 
-GetMapDefField:: ; 0x2c04
-; Extract data from the current map's map_def.
+GetMapField:: ; 0x2c04
+; Extract data from the current map's group entry.
 
 ; inputs:
-; de = offset of desired data within the map_def (a MAPDEF_* constant)
+; de = offset of desired data within the map (a MAP_* constant)
 
 ; outputs:
-; bc = data from the current map's map_def
-; (e.g., de = MAPDEF_TILESET would return a pointer to the tileset id)
+; bc = data from the current map's field
+; (e.g., de = MAP_TILESET would return a pointer to the tileset id)
 
 	ld a, [MapGroup]
 	ld b, a
 	ld a, [MapNumber]
 	ld c, a
-GetAnyMapDefField:: ; 0x2c0c
+GetAnyMapField:: ; 0x2c0c
 	; bankswitch
 	ld a, [hROMBank]
 	push af
@@ -2123,7 +2123,7 @@
 	ld a, BANK(MapGroupPointers)
 	rst Bankswitch
 
-	call GetAnyMapDefPointer
+	call GetAnyMapPointer
 	add hl, de
 	ld c, [hl]
 	inc hl
@@ -2135,27 +2135,27 @@
 	ret
 ; 0x2c1c
 
-SwitchToMapDataBank:: ; 2c1c
+SwitchToMapAttributesBank:: ; 2c1c
 	ld a, [MapGroup]
 	ld b, a
 	ld a, [MapNumber]
 	ld c, a
-SwitchToAnyMapDataBank:: ; 2c24
-	call GetAnyMapDataBank
+SwitchToAnyMapAttributesBank:: ; 2c24
+	call GetAnyMapAttributesBank
 	rst Bankswitch
 	ret
 ; 2c29
 
-GetMapDataBank:: ; 2c29
+GetMapAttributesBank:: ; 2c29
 	ld a, [MapGroup]
 	ld b, a
 	ld a, [MapNumber]
 	ld c, a
-GetAnyMapDataBank:: ; 2c31
+GetAnyMapAttributesBank:: ; 2c31
 	push hl
 	push de
-	ld de, MAPDEF_MAPDATA_BANK
-	call GetAnyMapDefField
+	ld de, MAP_MAPATTRIBUTES_BANK
+	call GetAnyMapField
 	ld a, c
 	pop de
 	pop hl
@@ -2162,17 +2162,17 @@
 	ret
 ; 2c3d
 
-PartialCopyMapDef:: ; 2c3d
+CopyMapPartial:: ; 2c3d
 ; Copy map data bank, tileset, environment, and map data address
-; from the current map's map_def.
+; from the current map's entry within its group.
 	ld a, [hROMBank]
 	push af
 	ld a, BANK(MapGroupPointers)
 	rst Bankswitch
 
-	call GetMapDefPointer
-	ld de, wPartialMapDef
-	ld bc, wPartialMapDefEnd - wPartialMapDef
+	call GetMapPointer
+	ld de, wMapPartial
+	ld bc, wMapPartialEnd - wMapPartial
 	call CopyBytes
 
 	pop af
@@ -2198,18 +2198,18 @@
 	push bc
 
 	push bc
-	ld de, MAPDEF_MAPDATA
-	call GetAnyMapDefField
+	ld de, MAP_MAPATTRIBUTES
+	call GetAnyMapField
 	ld l, c
 	ld h, b
 	pop bc
 
 	push hl
-	ld de, MAPDEF_MAPDATA_BANK
-	call GetAnyMapDefField
+	ld de, MAP_MAPATTRIBUTES_BANK
+	call GetAnyMapField
 	pop hl
 
-	ld de, MAPDEF_MAPDATA ; blockdata bank
+	ld de, MAP_MAPATTRIBUTES ; blockdata bank
 	add hl, de
 	ld a, c
 	call GetFarByte
@@ -2221,12 +2221,12 @@
 	ret
 ; 2c7d
 
-GetMapDataPointer:: ; 0x2c7d
+GetMapAttributesPointer:: ; 0x2c7d
 ; returns the current map's data pointer in hl.
 	push bc
 	push de
-	ld de, MAPDEF_MAPDATA
-	call GetMapDefField
+	ld de, MAP_MAPATTRIBUTES
+	call GetMapField
 	ld l, c
 	ld h, b
 	pop de
@@ -2238,8 +2238,8 @@
 	push hl
 	push de
 	push bc
-	ld de, MAPDEF_ENVIRONMENT
-	call GetMapDefField
+	ld de, MAP_ENVIRONMENT
+	call GetMapField
 	ld a, c
 	pop bc
 	pop de
@@ -2254,8 +2254,8 @@
 	push hl
 	push de
 	push bc
-	ld de, MAPDEF_ENVIRONMENT
-	call GetAnyMapDefField
+	ld de, MAP_ENVIRONMENT
+	call GetAnyMapField
 	ld a, c
 	pop bc
 	pop de
@@ -2264,8 +2264,8 @@
 ; 2ca7
 
 GetAnyMapTileset:: ; 2ca7
-	ld de, MAPDEF_TILESET
-	call GetAnyMapDefField
+	ld de, MAP_TILESET
+	call GetAnyMapField
 	ld a, c
 	ret
 ; 2caf
@@ -2276,8 +2276,8 @@
 	push de
 	push bc
 
-	ld de, MAPDEF_LOCATION
-	call GetAnyMapDefField
+	ld de, MAP_LOCATION
+	call GetAnyMapField
 	ld a, c
 
 	pop bc
@@ -2289,8 +2289,8 @@
 GetMapMusic:: ; 2cbd
 	push hl
 	push bc
-	ld de, MAPDEF_MUSIC
-	call GetMapDefField
+	ld de, MAP_MUSIC
+	call GetMapField
 	ld a, c
 	cp MUSIC_MAHOGANY_MART
 	jr z, .mahoganymart
@@ -2348,8 +2348,8 @@
 	push hl
 	push bc
 
-	ld de, MAPDEF_PALETTE
-	call GetMapDefField
+	ld de, MAP_PALETTE
+	call GetMapField
 	ld a, c
 
 	pop bc
@@ -2362,8 +2362,8 @@
 	push hl
 	push bc
 
-	ld de, MAPDEF_FISHGROUP
-	call GetMapDefField
+	ld de, MAP_FISHGROUP
+	call GetMapField
 	ld a, c
 
 	pop bc
--- a/macros/scripts/events.asm
+++ b/macros/scripts/events.asm
@@ -110,13 +110,13 @@
 	enum checkmapscene_command ; $11
 checkmapscene: MACRO
 	db checkmapscene_command
-	map \1 ; map
+	map_id \1 ; map
 ENDM
 
 	enum setmapscene_command ; $12
 setmapscene: MACRO
 	db setmapscene_command
-	map \1 ; map
+	map_id \1 ; map
 	db \2 ; scene_id
 ENDM
 
@@ -385,19 +385,19 @@
 warpmod: MACRO
 	db warpmod_command
 	db \1 ; warp_id
-	map \2 ; map
+	map_id \2 ; map
 ENDM
 
 	enum blackoutmod_command ; $3b
 blackoutmod: MACRO
 	db blackoutmod_command
-	map \1 ; map
+	map_id \1 ; map
 ENDM
 
 	enum warp_command ; $3c
 warp: MACRO
 	db warp_command
-	map \1 ; map
+	map_id \1 ; map
 	db \2 ; x
 	db \3 ; y
 ENDM
@@ -1002,7 +1002,7 @@
 swarm: MACRO
 	db swarm_command
 	db \1 ; flag
-	map \2 ; map
+	map_id \2 ; map
 ENDM
 
 	enum halloffame_command ; $a1
@@ -1019,7 +1019,7 @@
 warpfacing: MACRO
 	db warpfacing_command
 	db \1 ; facing
-	map \2 ; map
+	map_id \2 ; map
 	db \3 ; x
 	db \4 ; y
 ENDM
--- a/macros/scripts/maps.asm
+++ b/macros/scripts/maps.asm
@@ -1,4 +1,4 @@
-map: MACRO
+map_id: MACRO
 ;\1: map id
 	db GROUP_\1, MAP_\1
 ENDM
@@ -22,7 +22,7 @@
 ;\3: map id: from constants/map_constants.asm
 ;\4: warp destination: starts at 1
 	db \2, \1, \4
-	map \3
+	map_id \3
 ENDM
 
 coord_event: MACRO
@@ -110,7 +110,7 @@
 ;\2: warp destination: starts at 1
 ;\3: map id
 	db \1, \2
-	map \3
+	map_id \3
 ENDM
 
 conditional_event: MACRO
--- a/mobile/mobile_22_2.asm
+++ b/mobile/mobile_22_2.asm
@@ -2,7 +2,7 @@
 ; Loads the map data pointer, then runs through a
 ; dw with three dummy functions. Spends a lot of energy
 ; doing pretty much nothing.
-	call GetMapDataPointer
+	call GetMapAttributesPointer
 	ld d, h
 	ld e, l
 
--- a/wram.asm
+++ b/wram.asm
@@ -1992,14 +1992,14 @@
 wMetatileStandingY:: db ; d196
 wMetatileStandingX:: db ; d197
 
-wPartialMapDef::
-wMapDataBank:: db ; d198
+wMapPartial::
+wMapAttributesBank:: db ; d198
 wTileset:: db ; d199
 wEnvironment:: db ; d19a
-wMapDataPointer:: dw ; d19b
-wPartialMapDefEnd::
+wMapAttributesPointer:: dw ; d19b
+wMapPartialEnd::
 
-wMapData:: ; d19d
+wMapAttributes:: ; d19d
 MapBorderBlock:: db ; d19d
 ; width/height are in blocks (2x2 walkable tiles, 4x4 graphics tiles)
 MapHeight:: db ; d19e
@@ -2011,7 +2011,7 @@
 MapEventsPointer:: dw ; d1a6
 ; bit set
 MapConnections:: db ; d1a8
-wMapDataEnd::
+wMapAttributesEnd::
 
 NorthMapConnection:: map_connection_struct North ; d1a9
 SouthMapConnection:: map_connection_struct South ; d1b5