summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorluckytyphlosion <10688458+luckytyphlosion@users.noreply.github.com>2018-07-22 09:20:33 -0400
committerGitHub <noreply@github.com>2018-07-22 09:20:33 -0400
commita586811e197d2a28d3a08dff03548fb69342da96 (patch)
treed5eec033243b0031afd3a82d47bbe1b7779d1675 /data
parent5ec276e7c77244befe0b6c9931cda191aa3818b6 (diff)
parent5b4ef99f4bfec7a1cf41cd3eab601d355bb0fadf (diff)
Merge pull request #38 from luckytyphlosion/section-reorg
Add linkerscript to replace completely anonymous sections.
Diffstat (limited to 'data')
-rw-r--r--data/collision/collision_type_table.asm4
-rw-r--r--data/items/attributes.asm4
-rw-r--r--data/items/names.asm12
-rw-r--r--data/maps/attributes.asm836
-rw-r--r--data/maps/attributes/Baadon.asm34
-rw-r--r--data/maps/attributes/BaadonHouse1.asm18
-rw-r--r--data/maps/attributes/BaadonHouse2.asm18
-rw-r--r--data/maps/attributes/BaadonLeague1F.asm23
-rw-r--r--data/maps/attributes/BaadonLeague2F.asm21
-rw-r--r--data/maps/attributes/BaadonMart.asm20
-rw-r--r--data/maps/attributes/BaadonPokecenter1F.asm21
-rw-r--r--data/maps/attributes/BaadonPokecenter2F.asm19
-rw-r--r--data/maps/attributes/BaadonRoute1.asm19
-rw-r--r--data/maps/attributes/BaadonRoute2.asm17
-rw-r--r--data/maps/attributes/BaadonRoute3.asm19
-rw-r--r--data/maps/attributes/BaadonRouteGateNewtype.asm19
-rw-r--r--data/maps/attributes/BaadonRouteGateWest.asm19
-rw-r--r--data/maps/attributes/BaadonWallpaperHouse.asm17
-rw-r--r--data/maps/attributes/BullForest.asm34
-rw-r--r--data/maps/attributes/BullForestRoute1.asm20
-rw-r--r--data/maps/attributes/BullForestRoute1House.asm18
-rw-r--r--data/maps/attributes/BullForestRoute2.asm19
-rw-r--r--data/maps/attributes/BullForestRoute3.asm17
-rw-r--r--data/maps/attributes/BullForestRouteGateStand.asm19
-rw-r--r--data/maps/attributes/BullHouse1.asm18
-rw-r--r--data/maps/attributes/BullHouse2.asm18
-rw-r--r--data/maps/attributes/BullHouse3.asm18
-rw-r--r--data/maps/attributes/BullHouse4.asm17
-rw-r--r--data/maps/attributes/BullLeague1F.asm23
-rw-r--r--data/maps/attributes/BullLeague2F.asm21
-rw-r--r--data/maps/attributes/BullMart.asm20
-rw-r--r--data/maps/attributes/BullPokecenter1F.asm22
-rw-r--r--data/maps/attributes/BullPokecenter2F.asm19
-rw-r--r--data/maps/attributes/CaveMinecarts1.asm15
-rw-r--r--data/maps/attributes/CaveMinecarts2.asm15
-rw-r--r--data/maps/attributes/CaveMinecarts3.asm15
-rw-r--r--data/maps/attributes/CaveMinecarts4.asm15
-rw-r--r--data/maps/attributes/CaveMinecarts5.asm15
-rw-r--r--data/maps/attributes/CaveMinecarts6.asm15
-rw-r--r--data/maps/attributes/CaveMinecarts7.asm15
-rw-r--r--data/maps/attributes/Fonto.asm32
-rw-r--r--data/maps/attributes/FontoHouse.asm18
-rw-r--r--data/maps/attributes/FontoLab.asm19
-rw-r--r--data/maps/attributes/FontoMart.asm20
-rw-r--r--data/maps/attributes/FontoPokecenter1F.asm22
-rw-r--r--data/maps/attributes/FontoPokecenter2F.asm19
-rw-r--r--data/maps/attributes/FontoRocketHouse.asm21
-rw-r--r--data/maps/attributes/FontoRoute1.asm18
-rw-r--r--data/maps/attributes/FontoRoute2.asm17
-rw-r--r--data/maps/attributes/FontoRoute3.asm17
-rw-r--r--data/maps/attributes/FontoRoute4.asm19
-rw-r--r--data/maps/attributes/FontoRoute5.asm19
-rw-r--r--data/maps/attributes/FontoRoute6.asm17
-rw-r--r--data/maps/attributes/FontoRouteGate1.asm19
-rw-r--r--data/maps/attributes/FontoRouteGate2.asm19
-rw-r--r--data/maps/attributes/FontoRouteGate3.asm19
-rw-r--r--data/maps/attributes/Haiteku.asm38
-rw-r--r--data/maps/attributes/HaitekuAquarium1F.asm21
-rw-r--r--data/maps/attributes/HaitekuAquarium2F.asm18
-rw-r--r--data/maps/attributes/HaitekuHouse1.asm18
-rw-r--r--data/maps/attributes/HaitekuHouse2.asm18
-rw-r--r--data/maps/attributes/HaitekuImposterOakHouse.asm19
-rw-r--r--data/maps/attributes/HaitekuLeague1F.asm23
-rw-r--r--data/maps/attributes/HaitekuLeague2F.asm21
-rw-r--r--data/maps/attributes/HaitekuMart.asm20
-rw-r--r--data/maps/attributes/HaitekuPokecenter1F.asm22
-rw-r--r--data/maps/attributes/HaitekuPokecenter2F.asm19
-rw-r--r--data/maps/attributes/HaitekuWestRoute.asm17
-rw-r--r--data/maps/attributes/HaitekuWestRouteGate.asm19
-rw-r--r--data/maps/attributes/HaitekuWestRouteOcean.asm19
-rw-r--r--data/maps/attributes/Kanto.asm59
-rw-r--r--data/maps/attributes/KantoCeladonElevator.asm17
-rw-r--r--data/maps/attributes/KantoCeladonMart1F.asm20
-rw-r--r--data/maps/attributes/KantoCeladonMart2F.asm20
-rw-r--r--data/maps/attributes/KantoCeladonMart3F.asm20
-rw-r--r--data/maps/attributes/KantoCeladonMart4F.asm21
-rw-r--r--data/maps/attributes/KantoCeladonMart5F.asm20
-rw-r--r--data/maps/attributes/KantoCeruleanHouse.asm18
-rw-r--r--data/maps/attributes/KantoDiner.asm17
-rw-r--r--data/maps/attributes/KantoEastRoute.asm19
-rw-r--r--data/maps/attributes/KantoEldersHouse.asm19
-rw-r--r--data/maps/attributes/KantoFishingGuru.asm18
-rw-r--r--data/maps/attributes/KantoGameCorner.asm29
-rw-r--r--data/maps/attributes/KantoGameCornerPrizes.asm20
-rw-r--r--data/maps/attributes/KantoGamefreakHQ1.asm24
-rw-r--r--data/maps/attributes/KantoGamefreakHQ2.asm20
-rw-r--r--data/maps/attributes/KantoGamefreakHQ3.asm22
-rw-r--r--data/maps/attributes/KantoGamefreakHQ4.asm18
-rw-r--r--data/maps/attributes/KantoGamefreakHQ5.asm17
-rw-r--r--data/maps/attributes/KantoGreensHouse1F.asm19
-rw-r--r--data/maps/attributes/KantoGreensHouse2F.asm16
-rw-r--r--data/maps/attributes/KantoHospital.asm20
-rw-r--r--data/maps/attributes/KantoLavenderHouse.asm19
-rw-r--r--data/maps/attributes/KantoLeague1F.asm23
-rw-r--r--data/maps/attributes/KantoLeague21F.asm23
-rw-r--r--data/maps/attributes/KantoLeague22F.asm21
-rw-r--r--data/maps/attributes/KantoLeague2F.asm21
-rw-r--r--data/maps/attributes/KantoMart.asm20
-rw-r--r--data/maps/attributes/KantoOaksLab.asm18
-rw-r--r--data/maps/attributes/KantoPokecenter1F.asm22
-rw-r--r--data/maps/attributes/KantoPokecenter21F.asm22
-rw-r--r--data/maps/attributes/KantoPokecenter22F.asm19
-rw-r--r--data/maps/attributes/KantoPokecenter2F.asm19
-rw-r--r--data/maps/attributes/KantoRedsHouse.asm19
-rw-r--r--data/maps/attributes/KantoSchool.asm22
-rw-r--r--data/maps/attributes/KantoSilphCo.asm19
-rw-r--r--data/maps/attributes/KantoUnusedArea.asm15
-rw-r--r--data/maps/attributes/KantoViridianHouse.asm19
-rw-r--r--data/maps/attributes/MtFuji.asm16
-rw-r--r--data/maps/attributes/MtFujiRoute.asm17
-rw-r--r--data/maps/attributes/Newtype.asm40
-rw-r--r--data/maps/attributes/NewtypeDiner.asm21
-rw-r--r--data/maps/attributes/NewtypeDojo.asm22
-rw-r--r--data/maps/attributes/NewtypeHouse1.asm18
-rw-r--r--data/maps/attributes/NewtypeHouse2.asm18
-rw-r--r--data/maps/attributes/NewtypeHouse3.asm18
-rw-r--r--data/maps/attributes/NewtypeLeague1F.asm23
-rw-r--r--data/maps/attributes/NewtypeLeague2F.asm21
-rw-r--r--data/maps/attributes/NewtypeMart.asm20
-rw-r--r--data/maps/attributes/NewtypePokecenter1F.asm22
-rw-r--r--data/maps/attributes/NewtypePokecenter2F.asm19
-rw-r--r--data/maps/attributes/NewtypeRoute.asm17
-rw-r--r--data/maps/attributes/NewtypeRouteGate.asm19
-rw-r--r--data/maps/attributes/NewtypeSailorHouse.asm18
-rw-r--r--data/maps/attributes/North.asm27
-rw-r--r--data/maps/attributes/NorthHouse1.asm18
-rw-r--r--data/maps/attributes/NorthHouse2.asm18
-rw-r--r--data/maps/attributes/NorthMart.asm20
-rw-r--r--data/maps/attributes/NorthPokecenter1F.asm22
-rw-r--r--data/maps/attributes/NorthPokecenter2F.asm19
-rw-r--r--data/maps/attributes/Office1.asm15
-rw-r--r--data/maps/attributes/Office2.asm15
-rw-r--r--data/maps/attributes/Office3.asm15
-rw-r--r--data/maps/attributes/OldCity.asm48
-rw-r--r--data/maps/attributes/OldCityBillsHouse.asm24
-rw-r--r--data/maps/attributes/OldCityGym.asm25
-rw-r--r--data/maps/attributes/OldCityHouse.asm24
-rw-r--r--data/maps/attributes/OldCityKurtsHouse.asm23
-rw-r--r--data/maps/attributes/OldCityMart.asm21
-rw-r--r--data/maps/attributes/OldCityMuseum.asm23
-rw-r--r--data/maps/attributes/OldCityPokecenter1F.asm23
-rw-r--r--data/maps/attributes/OldCityPokecenter2F.asm24
-rw-r--r--data/maps/attributes/OldCityPokecenterBattle.asm18
-rw-r--r--data/maps/attributes/OldCityPokecenterTimeMachine.asm19
-rw-r--r--data/maps/attributes/OldCityPokecenterTrade.asm18
-rw-r--r--data/maps/attributes/OldCitySchool.asm27
-rw-r--r--data/maps/attributes/OldCityTower1F.asm25
-rw-r--r--data/maps/attributes/OldCityTower2F.asm23
-rw-r--r--data/maps/attributes/OldCityTower3F.asm23
-rw-r--r--data/maps/attributes/OldCityTower4F.asm23
-rw-r--r--data/maps/attributes/OldCityTower5F.asm20
-rw-r--r--data/maps/attributes/PlayerHouse1F.asm24
-rw-r--r--data/maps/attributes/PlayerHouse2F.asm23
-rw-r--r--data/maps/attributes/PowerPlant1.asm15
-rw-r--r--data/maps/attributes/PowerPlant2.asm15
-rw-r--r--data/maps/attributes/PowerPlant3.asm15
-rw-r--r--data/maps/attributes/PowerPlant4.asm15
-rw-r--r--data/maps/attributes/Prince.asm17
-rw-r--r--data/maps/attributes/PrinceRoute.asm17
-rw-r--r--data/maps/attributes/Route15.asm24
-rw-r--r--data/maps/attributes/Route15Pokecenter1F.asm22
-rw-r--r--data/maps/attributes/Route15Pokecenter2F.asm16
-rw-r--r--data/maps/attributes/Route18.asm20
-rw-r--r--data/maps/attributes/Route18Pokecenter1F.asm22
-rw-r--r--data/maps/attributes/Route18Pokecenter2F.asm16
-rw-r--r--data/maps/attributes/Route1Gate1F.asm22
-rw-r--r--data/maps/attributes/Route1Gate2F.asm20
-rw-r--r--data/maps/attributes/Route1P1.asm23
-rw-r--r--data/maps/attributes/Route1P2.asm24
-rw-r--r--data/maps/attributes/Route2.asm25
-rw-r--r--data/maps/attributes/Route2Gate1F.asm22
-rw-r--r--data/maps/attributes/Route2Gate2F.asm20
-rw-r--r--data/maps/attributes/Route2House.asm24
-rw-r--r--data/maps/attributes/RouteSilentEast.asm18
-rw-r--r--data/maps/attributes/RouteSilentEastGate.asm19
-rw-r--r--data/maps/attributes/RuinsOfAlphEntrance.asm15
-rw-r--r--data/maps/attributes/RuinsOfAlphMain.asm15
-rw-r--r--data/maps/attributes/ShizukanaOka.asm33
-rw-r--r--data/maps/attributes/SilentHill.asm32
-rw-r--r--data/maps/attributes/SilentHillHouse.asm25
-rw-r--r--data/maps/attributes/SilentHillLabBack.asm27
-rw-r--r--data/maps/attributes/SilentHillLabFront.asm44
-rw-r--r--data/maps/attributes/SilentHillPokecenter.asm23
-rw-r--r--data/maps/attributes/SlowpokeWellEntrance.asm15
-rw-r--r--data/maps/attributes/SlowpokeWellMain.asm15
-rw-r--r--data/maps/attributes/South.asm36
-rw-r--r--data/maps/attributes/SouthHouse1.asm18
-rw-r--r--data/maps/attributes/SouthHouse2.asm18
-rw-r--r--data/maps/attributes/SouthMart.asm20
-rw-r--r--data/maps/attributes/SouthPokecenter1F.asm22
-rw-r--r--data/maps/attributes/SouthPokecenter2F.asm19
-rw-r--r--data/maps/attributes/Stand.asm46
-rw-r--r--data/maps/attributes/StandHouse.asm18
-rw-r--r--data/maps/attributes/StandLab.asm18
-rw-r--r--data/maps/attributes/StandLeague1F.asm23
-rw-r--r--data/maps/attributes/StandLeague2F.asm21
-rw-r--r--data/maps/attributes/StandMart.asm20
-rw-r--r--data/maps/attributes/StandOffice.asm20
-rw-r--r--data/maps/attributes/StandPokecenter1F.asm22
-rw-r--r--data/maps/attributes/StandPokecenter2F.asm19
-rw-r--r--data/maps/attributes/StandRocketHouse1F.asm19
-rw-r--r--data/maps/attributes/StandRocketHouse2F.asm17
-rw-r--r--data/maps/attributes/StandRoute.asm19
-rw-r--r--data/maps/attributes/StandRouteGateKanto.asm19
-rw-r--r--data/maps/attributes/Sugar.asm27
-rw-r--r--data/maps/attributes/SugarHouse.asm20
-rw-r--r--data/maps/attributes/SugarHouse2.asm18
-rw-r--r--data/maps/attributes/SugarMart.asm20
-rw-r--r--data/maps/attributes/SugarPokecenter1F.asm22
-rw-r--r--data/maps/attributes/SugarPokecenter2F.asm19
-rw-r--r--data/maps/attributes/SugarRoute.asm19
-rw-r--r--data/maps/attributes/SugarRouteGate.asm19
-rw-r--r--data/maps/attributes/UnusedMap13.asm7
-rw-r--r--data/maps/attributes/West.asm43
-rw-r--r--data/maps/attributes/WestGym.asm25
-rw-r--r--data/maps/attributes/WestHouse1.asm24
-rw-r--r--data/maps/attributes/WestHouse2.asm24
-rw-r--r--data/maps/attributes/WestMart1F.asm22
-rw-r--r--data/maps/attributes/WestMart2F.asm38
-rw-r--r--data/maps/attributes/WestMart3F.asm35
-rw-r--r--data/maps/attributes/WestMart4F.asm35
-rw-r--r--data/maps/attributes/WestMart5F.asm23
-rw-r--r--data/maps/attributes/WestMart6F.asm24
-rw-r--r--data/maps/attributes/WestMartElevator.asm17
-rw-r--r--data/maps/attributes/WestPokecenter1F.asm23
-rw-r--r--data/maps/attributes/WestPokecenter2F.asm20
-rw-r--r--data/maps/attributes/WestRadioTower1F.asm23
-rw-r--r--data/maps/attributes/WestRadioTower2F.asm25
-rw-r--r--data/maps/attributes/WestRadioTower3F.asm26
-rw-r--r--data/maps/attributes/WestRadioTower4F.asm27
-rw-r--r--data/maps/attributes/WestRadioTower5F.asm27
-rw-r--r--data/maps/attributes/WestRocketRaidedHouse.asm29
-rw-r--r--data/maps/landmarks.asm4
-rw-r--r--data/maps/maps.asm23
-rw-r--r--data/moves/names.asm4
-rw-r--r--data/moves/tmhm_moves.asm4
-rw-r--r--data/pokemon/base_stats.asm4
-rw-r--r--data/pokemon/dex_order_alpha.asm4
-rw-r--r--data/pokemon/evos_attacks.asm4
-rw-r--r--data/pokemon/names.asm4
-rw-r--r--data/predef_pointers.inc2
-rw-r--r--data/tileset_headers.asm12
-rw-r--r--data/trainers/class_names.asm4
-rw-r--r--data/trainers/parties.asm100
-rw-r--r--data/types/names.asm4
-rw-r--r--data/types/search_strings.asm4
-rw-r--r--data/types/search_types.asm4
-rw-r--r--data/types/type_matchups.asm4
-rw-r--r--data/wild.asm4
249 files changed, 4938 insertions, 946 deletions
diff --git a/data/collision/collision_type_table.asm b/data/collision/collision_type_table.asm
index df3dc33..a4ec2ba 100644
--- a/data/collision/collision_type_table.asm
+++ b/data/collision/collision_type_table.asm
@@ -1,6 +1,6 @@
INCLUDE "constants.asm"
-SECTION "Collision Type Table", ROMX[$4664], BANK[$03]
+SECTION "data/collision/collision_type_table.asm", ROMX
CollisionTypeTable: ; 03:4664
db NEVER_SOLID, NEVER_SOLID, NEVER_SOLID, NEVER_SOLID ; $00
@@ -66,4 +66,4 @@ CollisionTypeTable: ; 03:4664
db NEVER_SOLID, NEVER_SOLID, NEVER_SOLID, NEVER_SOLID ; $F4
db NEVER_SOLID, NEVER_SOLID, NEVER_SOLID, NEVER_SOLID ; $F8
db NEVER_SOLID, NEVER_SOLID, NEVER_SOLID, NEVER_SOLID ; $FC
- db NEVER_SOLID, NEVER_SOLID, NEVER_SOLID, ALWAYS_SOLID ; $100
+ db NEVER_SOLID, NEVER_SOLID, NEVER_SOLID, ALWAYS_SOLID ; $100 \ No newline at end of file
diff --git a/data/items/attributes.asm b/data/items/attributes.asm
index 4308b44..1e54451 100644
--- a/data/items/attributes.asm
+++ b/data/items/attributes.asm
@@ -7,7 +7,7 @@ item_attribute: MACRO
dn \6, \7
ENDM
-SECTION "Item Attributes", ROMX [$68f3], BANK [$01]
+SECTION "data/items/attributes.asm", ROMX
ItemAttributes:: ; 68f3
; ITEM_MASTER_BALL
@@ -517,4 +517,4 @@ ItemAttributes:: ; 68f3
; ITEM_HM06
item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_PARTY
; ITEM_HM07
- item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_PARTY
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_PARTY \ No newline at end of file
diff --git a/data/items/names.asm b/data/items/names.asm
index 942af41..0036cd6 100644
--- a/data/items/names.asm
+++ b/data/items/names.asm
@@ -1,10 +1,10 @@
INCLUDE "constants.asm"
-if DEBUG
-SECTION "ItemNames", ROMX[$6FEC], BANK[$01]
-else
-SECTION "ItemNames", ROMX[$6FE9], BANK[$01]
-endc
+; if DEBUG
+SECTION "data/items/names.asm", ROMX
+; else
+; SECTION "ItemNames", ROMX[$6FE9], BANK[$01]
+; endc
ItemNames::
db "マスターボール@" ; MASTER_BALL
@@ -261,4 +261,4 @@ ItemNames::
db "ひでんマシン05@" ; HM05
db "ひでんマシン06@" ; HM06
db "ひでんマシン07@" ; HM07
- db "しようきんし@" ; FF
+ db "しようきんし@" ; FF \ No newline at end of file
diff --git a/data/maps/attributes.asm b/data/maps/attributes.asm
deleted file mode 100644
index 4ff1d0e..0000000
--- a/data/maps/attributes.asm
+++ /dev/null
@@ -1,836 +0,0 @@
-INCLUDE "constants.asm"
-
-map_id: MACRO
-;\1: map id
- db GROUP_\1, MAP_\1
-ENDM
-
-map_attributes: MACRO
-;\1: map name
-;\2: map id
-;\3: 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 CURRENT_MAP_HEIGHT, CURRENT_MAP_WIDTH
- dw \1_Blocks
- dw \1_Unk
- dw \1_MapScripts
- dw \1_MapEvents
- db \3
-ENDM
-
-; Connections go in order: north, south, west, east
-connection: MACRO
-;\1: direction
-;\2: map name
-;\3: map id
-;\4: final y offset for east/west, x offset for north/south
-;\5: map data y offset for east/west, x offset for north/south
-;\6: strip length
-if "\1" == "north"
- map_id \3
- dw \2_Blocks + \3_WIDTH * (\3_HEIGHT - 3) + \5
- dw wOverworldMapBlocks + \4 + 3
- db \6
- db \3_WIDTH
- db \3_HEIGHT * 2 - 1
- db (\4 - \5) * -2
- dw wOverworldMapBlocks + \3_HEIGHT * (\3_WIDTH + 6) + 1
-elif "\1" == "south"
- map_id \3
- dw \2_Blocks + \5
- dw wOverworldMapBlocks + (CURRENT_MAP_HEIGHT + 3) * (CURRENT_MAP_WIDTH + 6) + \4 + 3
- db \6
- db \3_WIDTH
- db 0
- db (\4 - \5) * -2
- dw wOverworldMapBlocks + \3_WIDTH + 7
-elif "\1" == "west"
- map_id \3
- dw \2_Blocks + (\3_WIDTH * \5) + \3_WIDTH - 3
- dw wOverworldMapBlocks + (CURRENT_MAP_WIDTH + 6) * (\4 + 3)
- db \6
- db \3_WIDTH
- db (\4 - \5) * -2
- db \3_WIDTH * 2 - 1
- dw wOverworldMapBlocks + \3_WIDTH * 2 + 6
-elif "\1" == "east"
- map_id \3
- dw \2_Blocks + (\3_WIDTH * \5)
- dw wOverworldMapBlocks + (CURRENT_MAP_WIDTH + 6) * (\4 + 3 + 1) - 3
- db \6
- db \3_WIDTH
- db (\4 - \5) * -2
- db 0
- dw wOverworldMapBlocks + \3_WIDTH + 7
-endc
-ENDM
-
-SECTION "Route2Gate1F", ROMX[$4000], BANK[$25]
- map_attributes Route2Gate1F, ROUTE_2_GATE_1F, 0
-
-SECTION "Route2Gate2F", ROMX[$407C], BANK[$25]
- map_attributes Route2Gate2F, ROUTE_2_GATE_2F, 0
-
-SECTION "Route2House", ROMX[$40DC], BANK[$25]
- map_attributes Route2House, ROUTE_2_HOUSE, 0
-
-SECTION "OldCityMuseum", ROMX[$414A], BANK[$25]
- map_attributes OldCityMuseum, OLD_CITY_MUSEUM, 0
-
-SECTION "OldCityGym", ROMX[$41CD], BANK[$25]
- map_attributes OldCityGym, OLD_CITY_GYM, 0
-
-SECTION "OldCityTower1F", ROMX[$4289], BANK[$25]
- map_attributes OldCityTower1F, OLD_CITY_TOWER_1F, 0
-
-SECTION "OldCityTower2F", ROMX[$4319], BANK[$25]
- map_attributes OldCityTower2F, OLD_CITY_TOWER_2F, 0
-
-SECTION "OldCityTower3F", ROMX[$439E], BANK[$25]
- map_attributes OldCityTower3F, OLD_CITY_TOWER_3F, 0
-
-SECTION "OldCityTower4F", ROMX[$4423], BANK[$25]
- map_attributes OldCityTower4F, OLD_CITY_TOWER_4F, 0
-
-SECTION "OldCityTower5F", ROMX[$44A8], BANK[$25]
- map_attributes OldCityTower5F, OLD_CITY_TOWER_5F, 0
-
-SECTION "OldCityBillsHouse", ROMX[$44FC], BANK[$25]
- map_attributes OldCityBillsHouse, OLD_CITY_BILLS_HOUSE, 0
-
-SECTION "OldCityMart", ROMX[$456A], BANK[$25]
- map_attributes OldCityMart, OLD_CITY_MART, 0
-
-SECTION "OldCityHouse", ROMX[$45EE], BANK[$25]
- map_attributes OldCityHouse, OLD_CITY_HOUSE, 0
-
-SECTION "OldCityPokecenter1F", ROMX[$466E], BANK[$25]
- map_attributes OldCityPokecenter1F, OLD_CITY_POKECENTER_1F, 0
-
-SECTION "OldCityPokecenter2F", ROMX[$46FE], BANK[$25]
- map_attributes OldCityPokecenter2F, OLD_CITY_POKECENTER_2F, 0
-
-SECTION "OldCityPokecenterTrade", ROMX[$4826], BANK[$25]
- map_attributes OldCityPokecenterTrade, OLD_CITY_POKECENTER_TRADE, 0
-
-SECTION "OldCityPokecenterBattle", ROMX[$48AC], BANK[$25]
- map_attributes OldCityPokecenterBattle, OLD_CITY_POKECENTER_BATTLE, 0
-
-SECTION "OldCityPokecenterTimeMachine", ROMX[$492F], BANK[$25]
- map_attributes OldCityPokecenterTimeMachine, OLD_CITY_POKECENTER_TIME_MACHINE, 0
-
-SECTION "OldCityKurtsHouse", ROMX[$49AC], BANK[$25]
- map_attributes OldCityKurtsHouse, OLD_CITY_KURTS_HOUSE, 0
-
-SECTION "OldCitySchool", ROMX[$4A26], BANK[$25]
- map_attributes OldCitySchool, OLD_CITY_SCHOOL, 0
-
-SECTION "Route1Gate1F", ROMX[$4000], BANK[$26]
- map_attributes Route1Gate1F, ROUTE_1_GATE_1F, 0
-
-SECTION "Route1Gate2F", ROMX[$40DA], BANK[$26]
- map_attributes Route1Gate2F, ROUTE_1_GATE_2F, 0
-
-SECTION "WestMart1F", ROMX[$4224], BANK[$26]
- map_attributes WestMart1F, WEST_MART_1F, 0
-
-SECTION "WestMart2F", ROMX[$42A0], BANK[$26]
- map_attributes WestMart2F, WEST_MART_2F, 0
-
-SECTION "WestMart3F", ROMX[$4374], BANK[$26]
- map_attributes WestMart3F, WEST_MART_3F, 0
-
-SECTION "WestMart4F", ROMX[$4433], BANK[$26]
- map_attributes WestMart4F, WEST_MART_4F, 0
-
-SECTION "WestMart5F", ROMX[$44F2], BANK[$26]
- map_attributes WestMart5F, WEST_MART_5F, 0
-
-SECTION "WestMart6F", ROMX[$4581], BANK[$26]
- map_attributes WestMart6F, WEST_MART_6F, 0
-
-SECTION "WestMartElevator", ROMX[$460E], BANK[$26]
- map_attributes WestMartElevator, WEST_MART_ELEVATOR, 0
-
-SECTION "WestRadioTower1F", ROMX[$464B], BANK[$26]
- map_attributes WestRadioTower1F, WEST_RADIO_TOWER_1F, 0
-
-SECTION "WestRadioTower2F", ROMX[$46CA], BANK[$26]
- map_attributes WestRadioTower2F, WEST_RADIO_TOWER_2F, 0
-
-SECTION "WestRadioTower3F", ROMX[$4772], BANK[$26]
- map_attributes WestRadioTower3F, WEST_RADIO_TOWER_3F, 0
-
-SECTION "WestRadioTower4F", ROMX[$4827], BANK[$26]
- map_attributes WestRadioTower4F, WEST_RADIO_TOWER_4F, 0
-
-SECTION "WestRadioTower5F", ROMX[$48E9], BANK[$26]
- map_attributes WestRadioTower5F, WEST_RADIO_TOWER_5F, 0
-
-SECTION "WestRocketRaidedHouse", ROMX[$499F], BANK[$26]
- map_attributes WestRocketRaidedHouse, WEST_ROCKET_RAIDED_HOUSE, 0
-
-SECTION "WestPokecenter1F", ROMX[$4A49], BANK[$26]
- map_attributes WestPokecenter1F, WEST_POKECENTER_1F, 0
-
-SECTION "WestPokecenter2F", ROMX[$4AE1], BANK[$26]
- map_attributes WestPokecenter2F, WEST_POKECENTER_2F, 0
-
-SECTION "WestGym", ROMX[$4B5E], BANK[$26]
- map_attributes WestGym, WEST_GYM, 0
-
-SECTION "WestHouse1", ROMX[$4C1A], BANK[$26]
- map_attributes WestHouse1, WEST_HOUSE_1, 0
-
-SECTION "WestHouse2", ROMX[$4C9E], BANK[$26]
- map_attributes WestHouse2, WEST_HOUSE_2, 0
-
-SECTION "HaitekuWestRouteGate", ROMX[$4000], BANK[$27]
- map_attributes HaitekuWestRouteGate, HAITEKU_WEST_ROUTE_GATE, 0
-
-SECTION "HaitekuPokecenter1F", ROMX[$405B], BANK[$27]
- map_attributes HaitekuPokecenter1F, HAITEKU_POKECENTER_1F, 0
-
-SECTION "HaitekuPokecenter2F", ROMX[$40EF], BANK[$27]
- map_attributes HaitekuPokecenter2F, HAITEKU_POKECENTER_2F, 0
-
-SECTION "HaitekuLeague1F", ROMX[$4168], BANK[$27]
- map_attributes HaitekuLeague1F, HAITEKU_LEAGUE_1F, 0
-
-SECTION "HaitekuLeague2F", ROMX[$4209], BANK[$27]
- map_attributes HaitekuLeague2F, HAITEKU_LEAGUE_2F, 0
-
-SECTION "HaitekuMart", ROMX[$42A9], BANK[$27]
- map_attributes HaitekuMart, HAITEKU_MART, 0
-
-SECTION "HaitekuHouse1", ROMX[$4329], BANK[$27]
- map_attributes HaitekuHouse1, HAITEKU_HOUSE_1, 0
-
-SECTION "HaitekuHouse2", ROMX[$4383], BANK[$27]
- map_attributes HaitekuHouse2, HAITEKU_HOUSE_2, 0
-
-SECTION "HaitekuImposterOakHouse", ROMX[$43DD], BANK[$27]
- map_attributes HaitekuImposterOakHouse, HAITEKU_IMPOSTER_OAK_HOUSE, 0
-
-SECTION "HaitekuAquarium1F", ROMX[$4444], BANK[$27]
- map_attributes HaitekuAquarium1F, HAITEKU_AQUARIUM_1F, 0
-
-SECTION "HaitekuAquarium2F", ROMX[$44CB], BANK[$27]
- map_attributes HaitekuAquarium2F, HAITEKU_AQUARIUM_2F, 0
-
-SECTION "FontoRouteGate1", ROMX[$4537], BANK[$27]
- map_attributes FontoRouteGate1, FONTO_ROUTE_GATE_1, 0
-
-SECTION "FontoRouteGate2", ROMX[$4592], BANK[$27]
- map_attributes FontoRouteGate2, FONTO_ROUTE_GATE_2, 0
-
-SECTION "FontoRouteGate3", ROMX[$45ED], BANK[$27]
- map_attributes FontoRouteGate3, FONTO_ROUTE_GATE_3, 0
-
-SECTION "FontoRocketHouse", ROMX[$4648], BANK[$27]
- map_attributes FontoRocketHouse, FONTO_ROCKET_HOUSE, 0
-
-SECTION "FontoMart", ROMX[$46D5], BANK[$27]
- map_attributes FontoMart, FONTO_MART, 0
-
-SECTION "FontoHouse", ROMX[$4755], BANK[$27]
- map_attributes FontoHouse, FONTO_HOUSE, 0
-
-SECTION "FontoPokecenter1F", ROMX[$47AF], BANK[$27]
- map_attributes FontoPokecenter1F, FONTO_POKECENTER_1F, 0
-
-SECTION "FontoPokecenter2F", ROMX[$4843], BANK[$27]
- map_attributes FontoPokecenter2F, FONTO_POKECENTER_2F, 0
-
-SECTION "FontoLab", ROMX[$48BC], BANK[$27]
- map_attributes FontoLab, FONTO_LAB, 0
-
-SECTION "BaadonMart", ROMX[$4923], BANK[$27]
- map_attributes BaadonMart, BAADON_MART, 0
-
-SECTION "BaadonPokecenter1F", ROMX[$49A3], BANK[$27]
- map_attributes BaadonPokecenter1F, BAADON_POKECENTER_1F, 0
-
-SECTION "BaadonPokecenter2F", ROMX[$4A2A], BANK[$27]
- map_attributes BaadonPokecenter2F, BAADON_POKECENTER_2F, 0
-
-SECTION "BaadonHouse1", ROMX[$4AA3], BANK[$27]
- map_attributes BaadonHouse1, BAADON_HOUSE_1, 0
-
-SECTION "BaadonWallpaperHouse", ROMX[$4AF9], BANK[$27]
- map_attributes BaadonWallpaperHouse, BAADON_WALLPAPER_HOUSE, 0
-
-SECTION "BaadonHouse2", ROMX[$4B42], BANK[$27]
- map_attributes BaadonHouse2, BAADON_HOUSE_2, 0
-
-SECTION "BaadonLeague1F", ROMX[$4B9C], BANK[$27]
- map_attributes BaadonLeague1F, BAADON_LEAGUE_1F, 0
-
-SECTION "BaadonLeague2F", ROMX[$4C3D], BANK[$27]
- map_attributes BaadonLeague2F, BAADON_LEAGUE_2F, 0
-
-SECTION "BaadonRouteGateWest", ROMX[$4CDD], BANK[$27]
- map_attributes BaadonRouteGateWest, BAADON_ROUTE_GATE_WEST, 0
-
-SECTION "BaadonRouteGateNewtype", ROMX[$4D38], BANK[$27]
- map_attributes BaadonRouteGateNewtype, BAADON_ROUTE_GATE_NEWTYPE, 0
-
-SECTION "NewtypePokecenter1F", ROMX[$4D93], BANK[$27]
- map_attributes NewtypePokecenter1F, NEWTYPE_POKECENTER_1F, 0
-
-SECTION "NewtypePokecenter2F", ROMX[$4E27], BANK[$27]
- map_attributes NewtypePokecenter2F, NEWTYPE_POKECENTER_2F, 0
-
-SECTION "NewtypeLeague1F", ROMX[$4EA0], BANK[$27]
- map_attributes NewtypeLeague1F, NEWTYPE_LEAGUE_1F, 0
-
-SECTION "NewtypeLeague2F", ROMX[$4F41], BANK[$27]
- map_attributes NewtypeLeague2F, NEWTYPE_LEAGUE_2F, 0
-
-SECTION "NewtypeSailorHouse", ROMX[$4FE1], BANK[$27]
- map_attributes NewtypeSailorHouse, NEWTYPE_SAILOR_HOUSE, 0
-
-SECTION "NewtypeMart", ROMX[$503B], BANK[$27]
- map_attributes NewtypeMart, NEWTYPE_MART, 0
-
-SECTION "NewtypeDojo", ROMX[$50BB], BANK[$27]
- map_attributes NewtypeDojo, NEWTYPE_DOJO, 0
-
-SECTION "NewtypeHouse1", ROMX[$5155], BANK[$27]
- map_attributes NewtypeHouse1, NEWTYPE_HOUSE_1, 0
-
-SECTION "NewtypeDiner", ROMX[$51AF], BANK[$27]
- map_attributes NewtypeDiner, NEWTYPE_DINER, 0
-
-SECTION "NewtypeHouse2", ROMX[$522C], BANK[$27]
- map_attributes NewtypeHouse2, NEWTYPE_HOUSE_2, 0
-
-SECTION "NewtypeHouse3", ROMX[$5286], BANK[$27]
- map_attributes NewtypeHouse3, NEWTYPE_HOUSE_3, 0
-
-SECTION "Route15Pokecenter1F", ROMX[$52E0], BANK[$27]
- map_attributes Route15Pokecenter1F, ROUTE_15_POKECENTER_1F, 0
-
-SECTION "Route15Pokecenter2F", ROMX[$5374], BANK[$27]
- map_attributes Route15Pokecenter2F, ROUTE_15_POKECENTER_2F, 0
-
-SECTION "NewtypeRouteGate", ROMX[$53C6], BANK[$27]
- map_attributes NewtypeRouteGate, NEWTYPE_ROUTE_GATE, 0
-
-SECTION "Route18Pokecenter1F", ROMX[$5421], BANK[$27]
- map_attributes Route18Pokecenter1F, ROUTE_18_POKECENTER_1F, 0
-
-SECTION "Route18Pokecenter2F", ROMX[$54B5], BANK[$27]
- map_attributes Route18Pokecenter2F, ROUTE_18_POKECENTER_2F, 0
-
-SECTION "SugarRouteGate", ROMX[$5507], BANK[$27]
- map_attributes SugarRouteGate, SUGAR_ROUTE_GATE, 0
-
-SECTION "SugarHouse", ROMX[$5562], BANK[$27]
- map_attributes SugarHouse, SUGAR_HOUSE, 0
-
-SECTION "SugarHouse2", ROMX[$55E2], BANK[$27]
- map_attributes SugarHouse2, SUGAR_HOUSE_2, 0
-
-SECTION "SugarMart", ROMX[$5638], BANK[$27]
- map_attributes SugarMart, SUGAR_MART, 0
-
-SECTION "SugarPokecenter1F", ROMX[$56B8], BANK[$27]
- map_attributes SugarPokecenter1F, SUGAR_POKECENTER_1F, 0
-
-SECTION "SugarPokecenter2F", ROMX[$574C], BANK[$27]
- map_attributes SugarPokecenter2F, SUGAR_POKECENTER_2F, 0
-
-SECTION "BullForestRoute1House", ROMX[$57C5], BANK[$27]
- map_attributes BullForestRoute1House, BULL_FOREST_ROUTE_1_HOUSE, 0
-
-SECTION "BullForestRouteGateStand", ROMX[$581F], BANK[$27]
- map_attributes BullForestRouteGateStand, BULL_FOREST_ROUTE_GATE_STAND, 0
-
-SECTION "BullMart", ROMX[$587A], BANK[$27]
- map_attributes BullMart, BULL_MART, 0
-
-SECTION "BullHouse1", ROMX[$58FA], BANK[$27]
- map_attributes BullHouse1, BULL_HOUSE_1, 0
-
-SECTION "BullHouse2", ROMX[$5950], BANK[$27]
- map_attributes BullHouse2, BULL_HOUSE_2, 0
-
-SECTION "BullHouse3", ROMX[$59AA], BANK[$27]
- map_attributes BullHouse3, BULL_HOUSE_3, 0
-
-SECTION "BullPokecenter1F", ROMX[$5A04], BANK[$27]
- map_attributes BullPokecenter1F, BULL_POKECENTER_1F, 0
-
-SECTION "BullPokecenter2F", ROMX[$5A98], BANK[$27]
- map_attributes BullPokecenter2F, BULL_POKECENTER_2F, 0
-
-SECTION "BullLeague1F", ROMX[$5B11], BANK[$27]
- map_attributes BullLeague1F, BULL_LEAGUE_1F, 0
-
-SECTION "BullLeague2F", ROMX[$5BB2], BANK[$27]
- map_attributes BullLeague2F, BULL_LEAGUE_2F, 0
-
-SECTION "BullHouse4", ROMX[$5C52], BANK[$27]
- map_attributes BullHouse4, BULL_HOUSE_4, 0
-
-SECTION "StandRouteGateKanto", ROMX[$5C9F], BANK[$27]
- map_attributes StandRouteGateKanto, STAND_ROUTE_GATE_KANTO, 0
-
-SECTION "StandLab", ROMX[$5CFA], BANK[$27]
- map_attributes StandLab, STAND_LAB, 0
-
-SECTION "StandPokecenter1F", ROMX[$5D50], BANK[$27]
- map_attributes StandPokecenter1F, STAND_POKECENTER_1F, 0
-
-SECTION "StandPokecenter2F", ROMX[$5DE4], BANK[$27]
- map_attributes StandPokecenter2F, STAND_POKECENTER_2F, 0
-
-SECTION "StandOffice", ROMX[$5E5D], BANK[$27]
- map_attributes StandOffice, STAND_OFFICE, 0
-
-SECTION "StandMart", ROMX[$5EDD], BANK[$27]
- map_attributes StandMart, STAND_MART, 0
-
-SECTION "StandHouse", ROMX[$5F5D], BANK[$27]
- map_attributes StandHouse, STAND_HOUSE, 0
-
-SECTION "StandRocketHouse1F", ROMX[$5FB7], BANK[$27]
- map_attributes StandRocketHouse1F, STAND_ROCKET_HOUSE_1F, 0
-
-SECTION "StandRocketHouse2F", ROMX[$6024], BANK[$27]
- map_attributes StandRocketHouse2F, STAND_ROCKET_HOUSE_2F, 0
-
-SECTION "StandLeague1F", ROMX[$6083], BANK[$27]
- map_attributes StandLeague1F, STAND_LEAGUE_1F, 0
-
-SECTION "StandLeague2F", ROMX[$6124], BANK[$27]
- map_attributes StandLeague2F, STAND_LEAGUE_2F, 0
-
-SECTION "KantoCeruleanHouse", ROMX[$61C4], BANK[$27]
- map_attributes KantoCeruleanHouse, KANTO_CERULEAN_HOUSE, 0
-
-SECTION "KantoPokecenter1F", ROMX[$621E], BANK[$27]
- map_attributes KantoPokecenter1F, KANTO_POKECENTER_1F, 0
-
-SECTION "KantoPokecenter2F", ROMX[$62B2], BANK[$27]
- map_attributes KantoPokecenter2F, KANTO_POKECENTER_2F, 0
-
-SECTION "KantoLeague1F", ROMX[$632B], BANK[$27]
- map_attributes KantoLeague1F, KANTO_LEAGUE_1F, 0
-
-SECTION "KantoLeague2F", ROMX[$63CC], BANK[$27]
- map_attributes KantoLeague2F, KANTO_LEAGUE_2F, 0
-
-SECTION "KantoLavenderHouse", ROMX[$646C], BANK[$27]
- map_attributes KantoLavenderHouse, KANTO_LAVENDER_HOUSE, 0
-
-SECTION "KantoCeladonMart1F", ROMX[$64D3], BANK[$27]
- map_attributes KantoCeladonMart1F, KANTO_CELADON_MART_1F, 0
-
-SECTION "KantoCeladonMart2F", ROMX[$6547], BANK[$27]
- map_attributes KantoCeladonMart2F, KANTO_CELADON_MART_2F, 0
-
-SECTION "KantoCeladonMart3F", ROMX[$65C1], BANK[$27]
- map_attributes KantoCeladonMart3F, KANTO_CELADON_MART_3F, 0
-
-SECTION "KantoCeladonMart4F", ROMX[$663B], BANK[$27]
- map_attributes KantoCeladonMart4F, KANTO_CELADON_MART_4F, 0
-
-SECTION "KantoCeladonMart5F", ROMX[$66C2], BANK[$27]
- map_attributes KantoCeladonMart5F, KANTO_CELADON_MART_5F, 0
-
-SECTION "KantoCeladonElevator", ROMX[$6742], BANK[$27]
- map_attributes KantoCeladonElevator, KANTO_CELADON_ELEVATOR, 0
-
-SECTION "KantoMart", ROMX[$677F], BANK[$27]
- map_attributes KantoMart, KANTO_MART, 0
-
-SECTION "KantoGamefreakHQ1", ROMX[$67FF], BANK[$27]
- map_attributes KantoGamefreakHQ1, KANTO_GAMEFREAK_HQ_1, 0
-
-SECTION "KantoGamefreakHQ2", ROMX[$6899], BANK[$27]
- map_attributes KantoGamefreakHQ2, KANTO_GAMEFREAK_HQ_2, 0
-
-SECTION "KantoGamefreakHQ3", ROMX[$6905], BANK[$27]
- map_attributes KantoGamefreakHQ3, KANTO_GAMEFREAK_HQ_3, 0
-
-SECTION "KantoGamefreakHQ4", ROMX[$698B], BANK[$27]
- map_attributes KantoGamefreakHQ4, KANTO_GAMEFREAK_HQ_4, 0
-
-SECTION "KantoGamefreakHQ5", ROMX[$69E3], BANK[$27]
- map_attributes KantoGamefreakHQ5, KANTO_GAMEFREAK_HQ_5, 0
-
-SECTION "KantoSilphCo", ROMX[$6A2C], BANK[$27]
- map_attributes KantoSilphCo, KANTO_SILPH_CO, 0
-
-SECTION "KantoViridianHouse", ROMX[$6ADF], BANK[$27]
- map_attributes KantoViridianHouse, KANTO_VIRIDIAN_HOUSE, 0
-
-SECTION "KantoGameCorner", ROMX[$6B46], BANK[$27]
- map_attributes KantoGameCorner, KANTO_GAME_CORNER, 0
-
-SECTION "KantoUnusedArea", ROMX[$6C55], BANK[$27]
- map_attributes KantoUnusedArea, KANTO_UNUSED_AREA, 0
-
-SECTION "KantoGameCornerPrizes", ROMX[$6C90], BANK[$27]
- map_attributes KantoGameCornerPrizes, KANTO_GAME_CORNER_PRIZES, 0
-
-SECTION "KantoDiner", ROMX[$6D04], BANK[$27]
- map_attributes KantoDiner, KANTO_DINER, 0
-
-SECTION "KantoSchool", ROMX[$6D51], BANK[$27]
- map_attributes KantoSchool, KANTO_SCHOOL, 0
-
-SECTION "KantoHospital", ROMX[$6DEB], BANK[$27]
- map_attributes KantoHospital, KANTO_HOSPITAL, 0
-
-SECTION "KantoPokecenter21F", ROMX[$6E6B], BANK[$27]
- map_attributes KantoPokecenter21F, KANTO_POKECENTER_2_1F, 0
-
-SECTION "KantoPokecenter22F", ROMX[$6EFF], BANK[$27]
- map_attributes KantoPokecenter22F, KANTO_POKECENTER_2_2F, 0
-
-SECTION "KantoRedsHouse", ROMX[$6F78], BANK[$27]
- map_attributes KantoRedsHouse, KANTO_REDS_HOUSE, 0
-
-SECTION "KantoGreensHouse1F", ROMX[$6FDF], BANK[$27]
- map_attributes KantoGreensHouse1F, KANTO_GREENS_HOUSE_1F, 0
-
-SECTION "KantoGreensHouse2F", ROMX[$703C], BANK[$27]
- map_attributes KantoGreensHouse2F, KANTO_GREENS_HOUSE_2F, 0
-
-SECTION "KantoEldersHouse", ROMX[$707E], BANK[$27]
- map_attributes KantoEldersHouse, KANTO_ELDERS_HOUSE, 0
-
-SECTION "KantoOaksLab", ROMX[$70E5], BANK[$27]
- map_attributes KantoOaksLab, KANTO_OAKS_LAB, 0
-
-SECTION "KantoLeague21F", ROMX[$713B], BANK[$27]
- map_attributes KantoLeague21F, KANTO_LEAGUE_2_1F, 0
-
-SECTION "KantoLeague22F", ROMX[$71DC], BANK[$27]
- map_attributes KantoLeague22F, KANTO_LEAGUE_2_2F, 0
-
-SECTION "KantoFishingGuru", ROMX[$727C], BANK[$27]
- map_attributes KantoFishingGuru, KANTO_FISHING_GURU, 0
-
-SECTION "SouthHouse1", ROMX[$72D6], BANK[$27]
- map_attributes SouthHouse1, SOUTH_HOUSE_1, 0
-
-SECTION "SouthPokecenter1F", ROMX[$7330], BANK[$27]
- map_attributes SouthPokecenter1F, SOUTH_POKECENTER_1F, 0
-
-SECTION "SouthPokecenter2F", ROMX[$73C4], BANK[$27]
- map_attributes SouthPokecenter2F, SOUTH_POKECENTER_2F, 0
-
-SECTION "SouthMart", ROMX[$743D], BANK[$27]
- map_attributes SouthMart, SOUTH_MART, 0
-
-SECTION "SouthHouse2", ROMX[$74BD], BANK[$27]
- map_attributes SouthHouse2, SOUTH_HOUSE_2, 0
-
-SECTION "NorthHouse1", ROMX[$7517], BANK[$27]
- map_attributes NorthHouse1, NORTH_HOUSE_1, 0
-
-SECTION "NorthMart", ROMX[$7571], BANK[$27]
- map_attributes NorthMart, NORTH_MART, 0
-
-SECTION "NorthHouse2", ROMX[$75F1], BANK[$27]
- map_attributes NorthHouse2, NORTH_HOUSE_2, 0
-
-SECTION "NorthPokecenter1F", ROMX[$764B], BANK[$27]
- map_attributes NorthPokecenter1F, NORTH_POKECENTER_1F, 0
-
-SECTION "NorthPokecenter2F", ROMX[$76DF], BANK[$27]
- map_attributes NorthPokecenter2F, NORTH_POKECENTER_2F, 0
-
-SECTION "PowerPlant1", ROMX[$4000], BANK[$2F]
- map_attributes PowerPlant1, POWER_PLANT_1, 0
-
-SECTION "PowerPlant2", ROMX[$407D], BANK[$2F]
- map_attributes PowerPlant2, POWER_PLANT_2, 0
-
-SECTION "PowerPlant3", ROMX[$40FA], BANK[$2F]
- map_attributes PowerPlant3, POWER_PLANT_3, 0
-
-SECTION "PowerPlant4", ROMX[$422B], BANK[$2F]
- map_attributes PowerPlant4, POWER_PLANT_4, 0
-
-SECTION "RuinsOfAlphEntrance", ROMX[$435C], BANK[$2F]
- map_attributes RuinsOfAlphEntrance, RUINS_OF_ALPH_ENTRANCE, 0
-
-SECTION "RuinsOfAlphMain", ROMX[$43D9], BANK[$2F]
- map_attributes RuinsOfAlphMain, RUINS_OF_ALPH_MAIN, 0
-
-SECTION "CaveMinecarts1", ROMX[$469F], BANK[$2F]
- map_attributes CaveMinecarts1, CAVE_MINECARTS_1, 0
-
-SECTION "CaveMinecarts2", ROMX[$482A], BANK[$2F]
- map_attributes CaveMinecarts2, CAVE_MINECARTS_2, 0
-
-SECTION "CaveMinecarts3", ROMX[$49B5], BANK[$2F]
- map_attributes CaveMinecarts3, CAVE_MINECARTS_3, 0
-
-SECTION "CaveMinecarts4", ROMX[$4B40], BANK[$2F]
- map_attributes CaveMinecarts4, CAVE_MINECARTS_4, 0
-
-SECTION "CaveMinecarts5", ROMX[$4CCB], BANK[$2F]
- map_attributes CaveMinecarts5, CAVE_MINECARTS_5, 0
-
-SECTION "CaveMinecarts6", ROMX[$4E56], BANK[$2F]
- map_attributes CaveMinecarts6, CAVE_MINECARTS_6, 0
-
-SECTION "CaveMinecarts7", ROMX[$4F2D], BANK[$2F]
- map_attributes CaveMinecarts7, CAVE_MINECARTS_7, 0
-
-SECTION "Office1", ROMX[$5004], BANK[$2F]
- map_attributes Office1, OFFICE_1, 0
-
-SECTION "Office2", ROMX[$5081], BANK[$2F]
- map_attributes Office2, OFFICE_2, 0
-
-SECTION "Office3", ROMX[$51B2], BANK[$2F]
- map_attributes Office3, OFFICE_3, 0
-
-SECTION "SlowpokeWellEntrance", ROMX[$5289], BANK[$2F]
- map_attributes SlowpokeWellEntrance, SLOWPOKE_WELL_ENTRANCE, 0
-
-SECTION "SlowpokeWellMain", ROMX[$5306], BANK[$2F]
- map_attributes SlowpokeWellMain, SLOWPOKE_WELL_MAIN, 0
-
-SECTION "ShizukanaOka", ROMX[$53DD], BANK[$2F]
- map_attributes ShizukanaOka, SHIZUKANA_OKA, 0
-
-SECTION "RouteSilentEastGate", ROMX[$4000], BANK[$34]
- map_attributes RouteSilentEastGate, ROUTE_SILENT_EAST_GATE, 0
-
-SECTION "PlayerHouse1F", ROMX[$4042], BANK[$34]
- map_attributes PlayerHouse1F, PLAYER_HOUSE_1F, 0
-
-SECTION "PlayerHouse2F", ROMX[$4132], BANK[$34]
- map_attributes PlayerHouse2F, PLAYER_HOUSE_2F, 0
-
-SECTION "SilentPokecenter", ROMX[$45FF], BANK[$34]
- map_attributes SilentPokecenter, SILENT_POKECENTER, 0
-
-SECTION "SilentHillHouse", ROMX[$47D5], BANK[$34]
- map_attributes SilentHillHouse, SILENT_HILL_HOUSE, 0
-
-SECTION "SilentHillLab", ROMX[$4AAC], BANK[$34]
- map_attributes SilentHillLab, SILENT_HILL_LAB, 0
-
-SECTION "SilentHillLab2", ROMX[$5BE6], BANK[$34]
- map_attributes SilentHillLab2, SILENT_HILL_LAB_2, 0
-
-SECTION "Unused13", ROMX[$605D], BANK[$34]
- map_attributes Unused13, UNUSED_13, 0
-
-SECTION "SilentHill", ROMX[$4014], BANK[$36]
- map_attributes SilentHill, SILENT_HILL, NORTH | WEST | EAST
- connection north, PrinceRoute, PRINCE_ROUTE, 0, 0, 10
- connection west, Route1P1, ROUTE_1_P1, 0, 0, 9
- connection east, RouteSilentEast, ROUTE_SILENT_EAST, 0, 0, 9
-
-SECTION "OldCity", ROMX[$410D], BANK[$36]
- map_attributes OldCity, OLD_CITY, SOUTH | WEST
- connection south, Route1P2, ROUTE_1_P2, 5, 0, 10
- connection west, Route2, ROUTE_2, 5, 0, 9
-
-SECTION "West", ROMX[$4372], BANK[$36]
- map_attributes West, WEST, NORTH | EAST
- connection north, BaadonRoute1, BAADON_ROUTE_1, 5, 0, 10
- connection east, Route2, ROUTE_2, 5, 0, 9
-
-SECTION "Haiteku", ROMX[$45D2], BANK[$36]
- map_attributes Haiteku, HAITEKU, WEST
- connection west, HaitekuWestRoute, HAITEKU_WEST_ROUTE, 0, 0, 9
-
-SECTION "Fonto", ROMX[$47F8], BANK[$36]
- map_attributes Fonto, FONTO, NORTH | WEST | EAST
- connection north, FontoRoute2, FONTO_ROUTE_2, 0, 0, 10
- connection west, FontoRoute1, FONTO_ROUTE_1, 0, 0, 9
- connection east, FontoRoute3, FONTO_ROUTE_3, 0, 0, 9
-
-SECTION "Baadon", ROMX[$48F3], BANK[$36]
- map_attributes Baadon, BAADON, NORTH | SOUTH | EAST
- connection north, FontoRoute4, FONTO_ROUTE_4, 0, 0, 10
- connection south, BaadonRoute1, BAADON_ROUTE_1, 0, 0, 10
- connection east, BaadonRoute2, BAADON_ROUTE_2, 0, 0, 9
-
-SECTION "Newtype", ROMX[$49F9], BANK[$36]
- map_attributes Newtype, NEWTYPE, NORTH | WEST | EAST
- connection north, SugarRoute, SUGAR_ROUTE, 5, 0, 10
- connection west, Route15, ROUTE_15, 0, 0, 9
- connection east, NewtypeRoute, NEWTYPE_ROUTE, 9, 0, 9
-
-SECTION "Sugar", ROMX[$4C3A], BANK[$36]
- map_attributes Sugar, SUGAR, SOUTH
- connection south, SugarRoute, SUGAR_ROUTE, 0, 0, 10
-
-SECTION "BullForest", ROMX[$4D05], BANK[$36]
- map_attributes BullForest, BULL_FOREST, NORTH | SOUTH | WEST
- connection north, BullForestRoute3, BULL_FOREST_ROUTE_3, 5, 0, 10
- connection south, BullForestRoute2, BULL_FOREST_ROUTE_2, 5, 0, 10
- connection west, BullForestRoute1, BULL_FOREST_ROUTE_1, 9, 0, 9
-
-SECTION "Stand", ROMX[$4F28], BANK[$36]
- map_attributes Stand, STAND, NORTH | SOUTH
- connection north, BullForestRoute2, BULL_FOREST_ROUTE_2, 10, 0, 10
- connection south, StandRoute, STAND_ROUTE, 10, 0, 10
-
-SECTION "Kanto", ROMX[$519D], BANK[$36]
- map_attributes Kanto, KANTO, WEST | EAST
- connection west, RouteSilentEast, ROUTE_SILENT_EAST, 9, 0, 9
- connection east, KantoEastRoute, KANTO_EAST_ROUTE, 9, 0, 9
-
-SECTION "Prince", ROMX[$55F3], BANK[$36]
- map_attributes Prince, PRINCE, NORTH | SOUTH
- connection north, MtFujiRoute, MT_FUJI_ROUTE, 0, 0, 10
- connection south, PrinceRoute, PRINCE_ROUTE, 0, 0, 10
-
-SECTION "MtFuji", ROMX[$5677], BANK[$36]
- map_attributes MtFuji, MT_FUJI, SOUTH
- connection south, MtFujiRoute, MT_FUJI_ROUTE, 0, 0, 10
-
-SECTION "South", ROMX[$56EF], BANK[$36]
- map_attributes South, SOUTH, NORTH | SOUTH | EAST
- connection north, FontoRoute5, FONTO_ROUTE_5, 10, 0, 10
- connection south, HaitekuWestRouteOcean, HAITEKU_WEST_ROUTE_OCEAN, 10, 0, 10
- connection east, FontoRoute1, FONTO_ROUTE_1, 0, 0, 9
-
-SECTION "North", ROMX[$5914], BANK[$36]
- map_attributes North, NORTH, SOUTH
- connection south, BullForestRoute3, BULL_FOREST_ROUTE_3, 0, 0, 10
-
-SECTION "Route1P1", ROMX[$59DF], BANK[$36]
- map_attributes Route1P1, ROUTE_1_P1, WEST | EAST
- connection west, Route1P2, ROUTE_1_P2, -3, 6, 12
- connection east, SilentHill, SILENT_HILL, 0, 0, 9
-
-SECTION "Route1P2", ROMX[$5ABE], BANK[$36]
- map_attributes Route1P2, ROUTE_1_P2, NORTH | EAST
- connection north, OldCity, OLD_CITY, -3, 2, 16
- connection east, Route1P1, ROUTE_1_P1, 9, 0, 9
-
-SECTION "Route2", ROMX[$5BD4], BANK[$36]
- map_attributes Route2, ROUTE_2, WEST | EAST
- connection west, West, WEST, -3, 2, 15
- connection east, OldCity, OLD_CITY, -3, 2, 15
-
-SECTION "HaitekuWestRoute", ROMX[$5CC6], BANK[$36]
- map_attributes HaitekuWestRoute, HAITEKU_WEST_ROUTE, WEST | EAST
- connection west, HaitekuWestRouteOcean, HAITEKU_WEST_ROUTE_OCEAN, -3, 15, 12
- connection east, Haiteku, HAITEKU, 0, 0, 12
-
-SECTION "HaitekuWestRouteOcean", ROMX[$5DD1], BANK[$36]
- map_attributes HaitekuWestRouteOcean, HAITEKU_WEST_ROUTE_OCEAN, NORTH | EAST
- connection north, South, SOUTH, -3, 7, 13
- connection east, HaitekuWestRoute, HAITEKU_WEST_ROUTE, 18, 0, 9
-
-SECTION "FontoRoute1", ROMX[$5F17], BANK[$36]
- map_attributes FontoRoute1, FONTO_ROUTE_1, WEST | EAST
- connection west, South, SOUTH, 0, 0, 12
- connection east, Fonto, FONTO, 0, 0, 9
-
-SECTION "FontoRoute6", ROMX[$6083], BANK[$36]
- map_attributes FontoRoute6, FONTO_ROUTE_6, WEST | EAST
- connection west, FontoRoute5, FONTO_ROUTE_5, 0, 0, 12
- connection east, FontoRoute2, FONTO_ROUTE_2, 0, 0, 12
-
-SECTION "FontoRoute2", ROMX[$61E8], BANK[$36]
- map_attributes FontoRoute2, FONTO_ROUTE_2, SOUTH | WEST
- connection south, Fonto, FONTO, 0, 0, 10
- connection west, FontoRoute6, FONTO_ROUTE_6, 0, 0, 9
-
-SECTION "FontoRoute4", ROMX[$62C6], BANK[$36]
- map_attributes FontoRoute4, FONTO_ROUTE_4, SOUTH | WEST
- connection south, Baadon, BAADON, 0, 0, 10
- connection west, FontoRoute3, FONTO_ROUTE_3, 0, 0, 9
-
-SECTION "FontoRoute3", ROMX[$63B2], BANK[$36]
- map_attributes FontoRoute3, FONTO_ROUTE_3, WEST | EAST
- connection west, Fonto, FONTO, 0, 0, 9
- connection east, FontoRoute4, FONTO_ROUTE_4, 0, 0, 12
-
-SECTION "BaadonRoute1", ROMX[$64BD], BANK[$36]
- map_attributes BaadonRoute1, BAADON_ROUTE_1, NORTH | SOUTH
- connection north, Baadon, BAADON, 0, 0, 10
- connection south, West, WEST, -3, 2, 16
-
-SECTION "BaadonRoute2", ROMX[$6603], BANK[$36]
- map_attributes BaadonRoute2, BAADON_ROUTE_2, WEST | EAST
- connection west, Baadon, BAADON, 0, 0, 9
- connection east, BaadonRoute3, BAADON_ROUTE_3, 0, 0, 12
-
-SECTION "BaadonRoute3", ROMX[$67EF], BANK[$36]
- map_attributes BaadonRoute3, BAADON_ROUTE_3, SOUTH | WEST
- connection south, Route15, ROUTE_15, 0, 0, 13
- connection west, BaadonRoute2, BAADON_ROUTE_2, 0, 0, 9
-
-SECTION "Route15", ROMX[$68DB], BANK[$36]
- map_attributes Route15, ROUTE_15, NORTH | EAST
- connection north, BaadonRoute3, BAADON_ROUTE_3, 0, 0, 10
- connection east, Newtype, NEWTYPE, 0, 0, 12
-
-SECTION "NewtypeRoute", ROMX[$69BD], BANK[$36]
- map_attributes NewtypeRoute, NEWTYPE_ROUTE, WEST | EAST
- connection west, Newtype, NEWTYPE, -3, 6, 12
- connection east, Route18, ROUTE_18, -3, 33, 12
-
-SECTION "Route18", ROMX[$6A6E], BANK[$36]
- map_attributes Route18, ROUTE_18, NORTH | WEST
- connection north, BullForestRoute1, BULL_FOREST_ROUTE_1, 0, 0, 13
- connection west, NewtypeRoute, NEWTYPE_ROUTE, 36, 0, 9
-
-SECTION "BullForestRoute1", ROMX[$6C6F], BANK[$36]
- map_attributes BullForestRoute1, BULL_FOREST_ROUTE_1, SOUTH | EAST
- connection south, Route18, ROUTE_18, 0, 0, 10
- connection east, BullForest, BULL_FOREST, -3, 6, 12
-
-SECTION "SugarRoute", ROMX[$6D8F], BANK[$36]
- map_attributes SugarRoute, SUGAR_ROUTE, NORTH | SOUTH
- connection north, Sugar, SUGAR, 0, 0, 10
- connection south, Newtype, NEWTYPE, -3, 2, 16
-
-SECTION "BullForestRoute2", ROMX[$6ED5], BANK[$36]
- map_attributes BullForestRoute2, BULL_FOREST_ROUTE_2, NORTH | SOUTH
- connection north, BullForest, BULL_FOREST, -3, 2, 16
- connection south, Stand, STAND, -3, 7, 13
-
-SECTION "StandRoute", ROMX[$701B], BANK[$36]
- map_attributes StandRoute, STAND_ROUTE, NORTH | SOUTH
- connection north, Stand, STAND, -3, 7, 13
- connection south, KantoEastRoute, KANTO_EAST_ROUTE, -3, 7, 13
-
-SECTION "KantoEastRoute", ROMX[$7161], BANK[$36]
- map_attributes KantoEastRoute, KANTO_EAST_ROUTE, NORTH | WEST
- connection north, StandRoute, STAND_ROUTE, 10, 0, 10
- connection west, Kanto, KANTO, -3, 6, 15
-
-SECTION "RouteSilentEast", ROMX[$724D], BANK[$36]
- map_attributes RouteSilentEast, ROUTE_SILENT_EAST, WEST | EAST
- connection west, SilentHill, SILENT_HILL, 0, 0, 9
- connection east, Kanto, KANTO, -3, 6, 15
-
-SECTION "PrinceRoute", ROMX[$738C], BANK[$36]
- map_attributes PrinceRoute, PRINCE_ROUTE, NORTH | SOUTH
- connection north, Prince, PRINCE, 0, 0, 10
- connection south, SilentHill, SILENT_HILL, 0, 0, 10
-
-SECTION "MtFujiRoute", ROMX[$73E8], BANK[$36]
- map_attributes MtFujiRoute, MT_FUJI_ROUTE, NORTH | SOUTH
- connection north, MtFuji, MT_FUJI, 0, 0, 10
- connection south, Prince, PRINCE, 0, 0, 10
-
-SECTION "FontoRoute5", ROMX[$7444], BANK[$36]
- map_attributes FontoRoute5, FONTO_ROUTE_5, SOUTH | EAST
- connection south, South, SOUTH, -3, 7, 13
- connection east, FontoRoute6, FONTO_ROUTE_6, 0, 0, 9
-
-SECTION "BullForestRoute3", ROMX[$7530], BANK[$36]
- map_attributes BullForestRoute3, BULL_FOREST_ROUTE_3, NORTH | SOUTH
- connection north, North, NORTH, 0, 0, 10
- connection south, BullForest, BULL_FOREST, -3, 2, 16
diff --git a/data/maps/attributes/Baadon.asm b/data/maps/attributes/Baadon.asm
new file mode 100644
index 0000000..41cecb7
--- /dev/null
+++ b/data/maps/attributes/Baadon.asm
@@ -0,0 +1,34 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Baadon.asm", ROMX
+ map_attributes Baadon, BAADON, NORTH | SOUTH | EAST
+ connection north, FontoRoute4, FONTO_ROUTE_4, 0, 0, 10
+ connection south, BaadonRoute1, BAADON_ROUTE_1, 0, 0, 10
+ connection east, BaadonRoute2, BAADON_ROUTE_2, 0, 0, 9
+
+Baadon_MapEvents::
+ dw $4000 ; unknown
+
+ db 9 ; warp events
+ warp_event 3, 4, 1, BAADON_MART, wOverworldMapBlocks + 50
+ warp_event 15, 4, 1, BAADON_POKECENTER_1F, wOverworldMapBlocks + 56
+ warp_event 4, 9, 1, BAADON_HOUSE_1, wOverworldMapBlocks + 83
+ warp_event 3, 13, 1, BAADON_WALLPAPER_HOUSE, wOverworldMapBlocks + 114
+ warp_event 9, 13, 1, BAADON_HOUSE_2, wOverworldMapBlocks + 117
+ warp_event 14, 15, 1, BAADON_LEAGUE_1F, wOverworldMapBlocks + 136
+ warp_event 15, 15, 2, BAADON_LEAGUE_1F, wOverworldMapBlocks + 136
+ warp_event 8, 5, 1, FONTO_ROUTE_GATE_2, wOverworldMapBlocks + 53
+ warp_event 9, 5, 2, FONTO_ROUTE_GATE_2, wOverworldMapBlocks + 53
+
+ db 4 ; bg events
+ bg_event 4, 4, 0, 1
+ bg_event 16, 4, 0, 2
+ bg_event 11, 10, 0, 3
+ bg_event 6, 14, 0, 4
+
+ db 3 ; person events
+ object_event 14, 8, SPRITE_SUPER_NERD, FACE_UP, 2, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 9, SPRITE_YOUNGSTER, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 14, SPRITE_TWIN, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+Baadon_Blocks:: INCBIN "maps/blk/Baadon.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BaadonHouse1.asm b/data/maps/attributes/BaadonHouse1.asm
new file mode 100644
index 0000000..d7a82db
--- /dev/null
+++ b/data/maps/attributes/BaadonHouse1.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BaadonHouse1.asm", ROMX
+ map_attributes BaadonHouse1, BAADON_HOUSE_1, 0
+
+BaadonHouse1_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 3, 7, 3, BAADON, wOverworldMapBlocks + 42
+ warp_event 4, 7, 3, BAADON, wOverworldMapBlocks + 43
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 2, 3, SPRITE_ELDER, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+BaadonHouse1_Blocks:: INCBIN "maps/blk/BaadonHouse1.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BaadonHouse2.asm b/data/maps/attributes/BaadonHouse2.asm
new file mode 100644
index 0000000..e3cf13c
--- /dev/null
+++ b/data/maps/attributes/BaadonHouse2.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BaadonHouse2.asm", ROMX
+ map_attributes BaadonHouse2, BAADON_HOUSE_2, 0
+
+BaadonHouse2_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 5, BAADON, wOverworldMapBlocks + 47
+ warp_event 5, 7, 5, BAADON, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 7, 5, SPRITE_GRANNY, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+BaadonHouse2_Blocks:: INCBIN "maps/blk/BaadonHouse2.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BaadonLeague1F.asm b/data/maps/attributes/BaadonLeague1F.asm
new file mode 100644
index 0000000..093b478
--- /dev/null
+++ b/data/maps/attributes/BaadonLeague1F.asm
@@ -0,0 +1,23 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BaadonLeague1F.asm", ROMX
+ map_attributes BaadonLeague1F, BAADON_LEAGUE_1F, 0
+
+BaadonLeague1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 3, 15, 6, BAADON, wOverworldMapBlocks + 82
+ warp_event 4, 15, 7, BAADON, wOverworldMapBlocks + 83
+ warp_event 7, 1, 1, BAADON_LEAGUE_2F, wOverworldMapBlocks + 14
+
+ db 0 ; bg events
+
+ db 5 ; person events
+ object_event 2, 5, SPRITE_YOUNGSTER, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 7, SPRITE_LASS, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 9, SPRITE_BUG_CATCHER_BOY, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 1, SPRITE_24, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 6, SPRITE_COOLTRAINER_F, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+
+BaadonLeague1F_Blocks:: INCBIN "maps/blk/BaadonLeague1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BaadonLeague2F.asm b/data/maps/attributes/BaadonLeague2F.asm
new file mode 100644
index 0000000..e2385ef
--- /dev/null
+++ b/data/maps/attributes/BaadonLeague2F.asm
@@ -0,0 +1,21 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BaadonLeague2F.asm", ROMX
+ map_attributes BaadonLeague2F, BAADON_LEAGUE_2F, 0
+
+BaadonLeague2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 7, 15, 3, BAADON_LEAGUE_1F, wOverworldMapBlocks + 92
+
+ db 0 ; bg events
+
+ db 5 ; person events
+ object_event 4, 1, SPRITE_YOUNGSTER, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 1, 2, SPRITE_24, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 1, SPRITE_COOLTRAINER_F, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 9, SPRITE_24, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 11, SPRITE_COOLTRAINER_F, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+BaadonLeague2F_Blocks:: INCBIN "maps/blk/BaadonLeague2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BaadonMart.asm b/data/maps/attributes/BaadonMart.asm
new file mode 100644
index 0000000..e782b4e
--- /dev/null
+++ b/data/maps/attributes/BaadonMart.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BaadonMart.asm", ROMX
+ map_attributes BaadonMart, BAADON_MART, 0
+
+BaadonMart_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 1, BAADON, wOverworldMapBlocks + 59
+ warp_event 5, 7, 1, BAADON, wOverworldMapBlocks + 59
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 1, 3, SPRITE_CLERK, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 5, SPRITE_YOUNGSTER, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 1, SPRITE_TEACHER, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+BaadonMart_Blocks:: INCBIN "maps/blk/BaadonMart.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BaadonPokecenter1F.asm b/data/maps/attributes/BaadonPokecenter1F.asm
new file mode 100644
index 0000000..510b51a
--- /dev/null
+++ b/data/maps/attributes/BaadonPokecenter1F.asm
@@ -0,0 +1,21 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BaadonPokecenter1F.asm", ROMX
+ map_attributes BaadonPokecenter1F, BAADON_POKECENTER_1F, 0
+
+BaadonPokecenter1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 5, 7, 2, BAADON, wOverworldMapBlocks + 59
+ warp_event 6, 7, 2, BAADON, wOverworldMapBlocks + 60
+ warp_event 0, 7, 1, BAADON_POKECENTER_2F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 14, 6, SPRITE_FISHER, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 5, SPRITE_GENTLEMAN, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 1, SPRITE_POKEFAN_M, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+BaadonPokecenter1F_Blocks:: INCBIN "maps/blk/BaadonPokecenter1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BaadonPokecenter2F.asm b/data/maps/attributes/BaadonPokecenter2F.asm
new file mode 100644
index 0000000..5568865
--- /dev/null
+++ b/data/maps/attributes/BaadonPokecenter2F.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BaadonPokecenter2F.asm", ROMX
+ map_attributes BaadonPokecenter2F, BAADON_POKECENTER_2F, 0
+
+BaadonPokecenter2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 0, 7, 3, BAADON_POKECENTER_1F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 5, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 7, SPRITE_FISHING_GURU, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+BaadonPokecenter2F_Blocks:: INCBIN "maps/blk/BaadonPokecenter2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BaadonRoute1.asm b/data/maps/attributes/BaadonRoute1.asm
new file mode 100644
index 0000000..feba099
--- /dev/null
+++ b/data/maps/attributes/BaadonRoute1.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BaadonRoute1.asm", ROMX
+ map_attributes BaadonRoute1, BAADON_ROUTE_1, NORTH | SOUTH
+ connection north, Baadon, BAADON, 0, 0, 10
+ connection south, West, WEST, -3, 2, 16
+
+BaadonRoute1_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 12, 48, 3, BAADON_ROUTE_GATE_WEST, wOverworldMapBlocks + 407
+ warp_event 13, 48, 4, BAADON_ROUTE_GATE_WEST, wOverworldMapBlocks + 407
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+BaadonRoute1_Blocks:: INCBIN "maps/blk/BaadonRoute1.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BaadonRoute2.asm b/data/maps/attributes/BaadonRoute2.asm
new file mode 100644
index 0000000..ce09e7a
--- /dev/null
+++ b/data/maps/attributes/BaadonRoute2.asm
@@ -0,0 +1,17 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BaadonRoute2.asm", ROMX
+ map_attributes BaadonRoute2, BAADON_ROUTE_2, WEST | EAST
+ connection west, Baadon, BAADON, 0, 0, 9
+ connection east, BaadonRoute3, BAADON_ROUTE_3, 0, 0, 12
+
+BaadonRoute2_MapEvents::
+ dw $4000 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+BaadonRoute2_Blocks:: INCBIN "maps/blk/BaadonRoute2.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BaadonRoute3.asm b/data/maps/attributes/BaadonRoute3.asm
new file mode 100644
index 0000000..b4ebc67
--- /dev/null
+++ b/data/maps/attributes/BaadonRoute3.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BaadonRoute3.asm", ROMX
+ map_attributes BaadonRoute3, BAADON_ROUTE_3, SOUTH | WEST
+ connection south, Route15, ROUTE_15, 0, 0, 13
+ connection west, BaadonRoute2, BAADON_ROUTE_2, 0, 0, 9
+
+BaadonRoute3_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 8, 30, 3, BAADON_ROUTE_GATE_NEWTYPE, wOverworldMapBlocks + 261
+ warp_event 9, 30, 4, BAADON_ROUTE_GATE_NEWTYPE, wOverworldMapBlocks + 261
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+BaadonRoute3_Blocks:: INCBIN "maps/blk/BaadonRoute3.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BaadonRouteGateNewtype.asm b/data/maps/attributes/BaadonRouteGateNewtype.asm
new file mode 100644
index 0000000..4752cc6
--- /dev/null
+++ b/data/maps/attributes/BaadonRouteGateNewtype.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BaadonRouteGateNewtype.asm", ROMX
+ map_attributes BaadonRouteGateNewtype, BAADON_ROUTE_GATE_NEWTYPE, 0
+
+BaadonRouteGateNewtype_MapEvents::
+ dw $4000 ; unknown
+
+ db 4 ; warp events
+ warp_event 4, 7, 1, ROUTE_15, wOverworldMapBlocks + 47
+ warp_event 5, 7, 2, ROUTE_15, wOverworldMapBlocks + 47
+ warp_event 4, 0, 1, BAADON_ROUTE_3, wOverworldMapBlocks + 14
+ warp_event 5, 0, 2, BAADON_ROUTE_3, wOverworldMapBlocks + 14
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+BaadonRouteGateNewtype_Blocks:: INCBIN "maps/blk/BaadonRouteGateNewtype.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BaadonRouteGateWest.asm b/data/maps/attributes/BaadonRouteGateWest.asm
new file mode 100644
index 0000000..7eb03b4
--- /dev/null
+++ b/data/maps/attributes/BaadonRouteGateWest.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BaadonRouteGateWest.asm", ROMX
+ map_attributes BaadonRouteGateWest, BAADON_ROUTE_GATE_WEST, 0
+
+BaadonRouteGateWest_MapEvents::
+ dw $4000 ; unknown
+
+ db 4 ; warp events
+ warp_event 4, 7, 11, WEST, wOverworldMapBlocks + 47
+ warp_event 5, 7, 12, WEST, wOverworldMapBlocks + 47
+ warp_event 4, 0, 1, BAADON_ROUTE_1, wOverworldMapBlocks + 14
+ warp_event 5, 0, 2, BAADON_ROUTE_1, wOverworldMapBlocks + 14
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+BaadonRouteGateWest_Blocks:: INCBIN "maps/blk/BaadonRouteGateWest.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BaadonWallpaperHouse.asm b/data/maps/attributes/BaadonWallpaperHouse.asm
new file mode 100644
index 0000000..b200551
--- /dev/null
+++ b/data/maps/attributes/BaadonWallpaperHouse.asm
@@ -0,0 +1,17 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BaadonWallpaperHouse.asm", ROMX
+ map_attributes BaadonWallpaperHouse, BAADON_WALLPAPER_HOUSE, 0
+
+BaadonWallpaperHouse_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 2, 7, 4, BAADON, wOverworldMapBlocks + 42
+ warp_event 3, 7, 4, BAADON, wOverworldMapBlocks + 42
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+BaadonWallpaperHouse_Blocks:: INCBIN "maps/blk/BaadonWallpaperHouse.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BullForest.asm b/data/maps/attributes/BullForest.asm
new file mode 100644
index 0000000..ae742f7
--- /dev/null
+++ b/data/maps/attributes/BullForest.asm
@@ -0,0 +1,34 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BullForest.asm", ROMX
+ map_attributes BullForest, BULL_FOREST, NORTH | SOUTH | WEST
+ connection north, BullForestRoute3, BULL_FOREST_ROUTE_3, 5, 0, 10
+ connection south, BullForestRoute2, BULL_FOREST_ROUTE_2, 5, 0, 10
+ connection west, BullForestRoute1, BULL_FOREST_ROUTE_1, 9, 0, 9
+
+BullForest_MapEvents::
+ dw $4000 ; unknown
+
+ db 8 ; warp events
+ warp_event 25, 6, 1, BULL_MART, wOverworldMapBlocks + 117
+ warp_event 9, 9, 1, BULL_HOUSE_1, wOverworldMapBlocks + 135
+ warp_event 27, 11, 1, BULL_HOUSE_2, wOverworldMapBlocks + 170
+ warp_event 19, 13, 1, BULL_HOUSE_3, wOverworldMapBlocks + 192
+ warp_event 13, 18, 1, BULL_POKECENTER_1F, wOverworldMapBlocks + 267
+ warp_event 26, 21, 1, BULL_LEAGUE_1F, wOverworldMapBlocks + 300
+ warp_event 27, 21, 2, BULL_LEAGUE_1F, wOverworldMapBlocks + 300
+ warp_event 3, 22, 1, BULL_HOUSE_4, wOverworldMapBlocks + 314
+
+ db 3 ; bg events
+ bg_event 26, 6, 0, 1
+ bg_event 2, 16, 0, 2
+ bg_event 14, 18, 0, 3
+
+ db 5 ; person events
+ object_event 21, 9, SPRITE_TWIN, SLOW_STEP_DOWN, 3, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 11, 12, SPRITE_YOUNGSTER, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 7, 16, SPRITE_GRANNY, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 20, 19, SPRITE_TEACHER, FACE_UP, 2, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 20, 29, SPRITE_BUG_CATCHER_BOY, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+
+BullForest_Blocks:: INCBIN "maps/blk/BullForest.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BullForestRoute1.asm b/data/maps/attributes/BullForestRoute1.asm
new file mode 100644
index 0000000..4b22cc1
--- /dev/null
+++ b/data/maps/attributes/BullForestRoute1.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BullForestRoute1.asm", ROMX
+ map_attributes BullForestRoute1, BULL_FOREST_ROUTE_1, SOUTH | EAST
+ connection south, Route18, ROUTE_18, 0, 0, 10
+ connection east, BullForest, BULL_FOREST, -3, 6, 12
+
+BullForestRoute1_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 8, 12, 3, NEWTYPE_ROUTE_GATE, wOverworldMapBlocks + 222
+ warp_event 9, 12, 4, NEWTYPE_ROUTE_GATE, wOverworldMapBlocks + 222
+ warp_event 9, 5, 1, BULL_FOREST_ROUTE_1_HOUSE, wOverworldMapBlocks + 98
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+BullForestRoute1_Blocks:: INCBIN "maps/blk/BullForestRoute1.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BullForestRoute1House.asm b/data/maps/attributes/BullForestRoute1House.asm
new file mode 100644
index 0000000..78b0695
--- /dev/null
+++ b/data/maps/attributes/BullForestRoute1House.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BullForestRoute1House.asm", ROMX
+ map_attributes BullForestRoute1House, BULL_FOREST_ROUTE_1_HOUSE, 0
+
+BullForestRoute1House_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 3, BULL_FOREST_ROUTE_1, wOverworldMapBlocks + 47
+ warp_event 5, 7, 3, BULL_FOREST_ROUTE_1, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 1, 5, SPRITE_COOLTRAINER_F, SLOW_STEP_DOWN, 1, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+BullForestRoute1House_Blocks:: INCBIN "maps/blk/BullForestRoute1House.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BullForestRoute2.asm b/data/maps/attributes/BullForestRoute2.asm
new file mode 100644
index 0000000..0130045
--- /dev/null
+++ b/data/maps/attributes/BullForestRoute2.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BullForestRoute2.asm", ROMX
+ map_attributes BullForestRoute2, BULL_FOREST_ROUTE_2, NORTH | SOUTH
+ connection north, BullForest, BULL_FOREST, -3, 2, 16
+ connection south, Stand, STAND, -3, 7, 13
+
+BullForestRoute2_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 8, 48, 3, BULL_FOREST_ROUTE_GATE_STAND, wOverworldMapBlocks + 405
+ warp_event 9, 48, 4, BULL_FOREST_ROUTE_GATE_STAND, wOverworldMapBlocks + 405
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+BullForestRoute2_Blocks:: INCBIN "maps/blk/BullForestRoute2.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BullForestRoute3.asm b/data/maps/attributes/BullForestRoute3.asm
new file mode 100644
index 0000000..37647e5
--- /dev/null
+++ b/data/maps/attributes/BullForestRoute3.asm
@@ -0,0 +1,17 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BullForestRoute3.asm", ROMX
+ map_attributes BullForestRoute3, BULL_FOREST_ROUTE_3, NORTH | SOUTH
+ connection north, North, NORTH, 0, 0, 10
+ connection south, BullForest, BULL_FOREST, -3, 2, 16
+
+BullForestRoute3_MapEvents::
+ dw $4000 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+BullForestRoute3_Blocks:: INCBIN "maps/blk/BullForestRoute3.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BullForestRouteGateStand.asm b/data/maps/attributes/BullForestRouteGateStand.asm
new file mode 100644
index 0000000..941d222
--- /dev/null
+++ b/data/maps/attributes/BullForestRouteGateStand.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BullForestRouteGateStand.asm", ROMX
+ map_attributes BullForestRouteGateStand, BULL_FOREST_ROUTE_GATE_STAND, 0
+
+BullForestRouteGateStand_MapEvents::
+ dw $4000 ; unknown
+
+ db 4 ; warp events
+ warp_event 4, 7, 9, STAND, wOverworldMapBlocks + 47
+ warp_event 5, 7, 10, STAND, wOverworldMapBlocks + 47
+ warp_event 4, 0, 1, BULL_FOREST_ROUTE_2, wOverworldMapBlocks + 14
+ warp_event 5, 0, 2, BULL_FOREST_ROUTE_2, wOverworldMapBlocks + 14
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+BullForestRouteGateStand_Blocks:: INCBIN "maps/blk/BullForestRouteGateStand.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BullHouse1.asm b/data/maps/attributes/BullHouse1.asm
new file mode 100644
index 0000000..f0c72b0
--- /dev/null
+++ b/data/maps/attributes/BullHouse1.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BullHouse1.asm", ROMX
+ map_attributes BullHouse1, BULL_HOUSE_1, 0
+
+BullHouse1_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 3, 7, 2, BULL_FOREST, wOverworldMapBlocks + 42
+ warp_event 4, 7, 2, BULL_FOREST, wOverworldMapBlocks + 43
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 2, 3, SPRITE_KIKUKO, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+BullHouse1_Blocks:: INCBIN "maps/blk/BullHouse1.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BullHouse2.asm b/data/maps/attributes/BullHouse2.asm
new file mode 100644
index 0000000..abca127
--- /dev/null
+++ b/data/maps/attributes/BullHouse2.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BullHouse2.asm", ROMX
+ map_attributes BullHouse2, BULL_HOUSE_2, 0
+
+BullHouse2_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 3, BULL_FOREST, wOverworldMapBlocks + 47
+ warp_event 5, 7, 3, BULL_FOREST, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 8, 4, SPRITE_GRANNY, FACE_RIGHT, 0, 1, -1, -1, 0, 0, 0, 0, 0, 0
+
+BullHouse2_Blocks:: INCBIN "maps/blk/BullHouse2.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BullHouse3.asm b/data/maps/attributes/BullHouse3.asm
new file mode 100644
index 0000000..85a4542
--- /dev/null
+++ b/data/maps/attributes/BullHouse3.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BullHouse3.asm", ROMX
+ map_attributes BullHouse3, BULL_HOUSE_3, 0
+
+BullHouse3_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 4, BULL_FOREST, wOverworldMapBlocks + 47
+ warp_event 5, 7, 4, BULL_FOREST, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 4, 3, SPRITE_GRAMPS, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+BullHouse3_Blocks:: INCBIN "maps/blk/BullHouse3.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BullHouse4.asm b/data/maps/attributes/BullHouse4.asm
new file mode 100644
index 0000000..6537d61
--- /dev/null
+++ b/data/maps/attributes/BullHouse4.asm
@@ -0,0 +1,17 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BullHouse4.asm", ROMX
+ map_attributes BullHouse4, BULL_HOUSE_4, 0
+
+BullHouse4_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 8, BULL_FOREST, wOverworldMapBlocks + 47
+ warp_event 5, 7, 8, BULL_FOREST, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+BullHouse4_Blocks:: INCBIN "maps/blk/BullHouse4.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BullLeague1F.asm b/data/maps/attributes/BullLeague1F.asm
new file mode 100644
index 0000000..e4b1f66
--- /dev/null
+++ b/data/maps/attributes/BullLeague1F.asm
@@ -0,0 +1,23 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BullLeague1F.asm", ROMX
+ map_attributes BullLeague1F, BULL_LEAGUE_1F, 0
+
+BullLeague1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 3, 15, 6, BULL_FOREST, wOverworldMapBlocks + 82
+ warp_event 4, 15, 7, BULL_FOREST, wOverworldMapBlocks + 83
+ warp_event 7, 1, 1, BULL_LEAGUE_2F, wOverworldMapBlocks + 14
+
+ db 0 ; bg events
+
+ db 5 ; person events
+ object_event 2, 5, SPRITE_YOUNGSTER, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 7, SPRITE_LASS, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 9, SPRITE_BUG_CATCHER_BOY, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 1, SPRITE_24, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 6, SPRITE_COOLTRAINER_F, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+
+BullLeague1F_Blocks:: INCBIN "maps/blk/BullLeague1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BullLeague2F.asm b/data/maps/attributes/BullLeague2F.asm
new file mode 100644
index 0000000..b603bdb
--- /dev/null
+++ b/data/maps/attributes/BullLeague2F.asm
@@ -0,0 +1,21 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BullLeague2F.asm", ROMX
+ map_attributes BullLeague2F, BULL_LEAGUE_2F, 0
+
+BullLeague2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 7, 15, 3, BULL_LEAGUE_1F, wOverworldMapBlocks + 92
+
+ db 0 ; bg events
+
+ db 5 ; person events
+ object_event 4, 4, SPRITE_LASS, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 9, SPRITE_COOLTRAINER_F, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 9, SPRITE_COOLTRAINER_F, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 11, SPRITE_COOLTRAINER_F, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 7, 11, SPRITE_COOLTRAINER_F, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+BullLeague2F_Blocks:: INCBIN "maps/blk/BullLeague2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BullMart.asm b/data/maps/attributes/BullMart.asm
new file mode 100644
index 0000000..760638d
--- /dev/null
+++ b/data/maps/attributes/BullMart.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BullMart.asm", ROMX
+ map_attributes BullMart, BULL_MART, 0
+
+BullMart_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 1, BULL_FOREST, wOverworldMapBlocks + 59
+ warp_event 5, 7, 1, BULL_FOREST, wOverworldMapBlocks + 59
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 1, 3, SPRITE_CLERK, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 5, SPRITE_FISHER, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 1, SPRITE_YOUNGSTER, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+BullMart_Blocks:: INCBIN "maps/blk/BullMart.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BullPokecenter1F.asm b/data/maps/attributes/BullPokecenter1F.asm
new file mode 100644
index 0000000..5950c68
--- /dev/null
+++ b/data/maps/attributes/BullPokecenter1F.asm
@@ -0,0 +1,22 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BullPokecenter1F.asm", ROMX
+ map_attributes BullPokecenter1F, BULL_POKECENTER_1F, 0
+
+BullPokecenter1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 5, 7, 5, BULL_FOREST, wOverworldMapBlocks + 59
+ warp_event 6, 7, 5, BULL_FOREST, wOverworldMapBlocks + 60
+ warp_event 0, 7, 1, BULL_POKECENTER_2F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 4 ; person events
+ object_event 5, 1, SPRITE_NURSE, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 6, SPRITE_YOUNGSTER, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 5, SPRITE_24, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 1, SPRITE_GRANNY, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+BullPokecenter1F_Blocks:: INCBIN "maps/blk/BullPokecenter1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/BullPokecenter2F.asm b/data/maps/attributes/BullPokecenter2F.asm
new file mode 100644
index 0000000..0a01dbc
--- /dev/null
+++ b/data/maps/attributes/BullPokecenter2F.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/BullPokecenter2F.asm", ROMX
+ map_attributes BullPokecenter2F, BULL_POKECENTER_2F, 0
+
+BullPokecenter2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 0, 7, 3, BULL_POKECENTER_1F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 5, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 7, SPRITE_FISHING_GURU, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+BullPokecenter2F_Blocks:: INCBIN "maps/blk/BullPokecenter2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/CaveMinecarts1.asm b/data/maps/attributes/CaveMinecarts1.asm
new file mode 100644
index 0000000..50f3759
--- /dev/null
+++ b/data/maps/attributes/CaveMinecarts1.asm
@@ -0,0 +1,15 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/CaveMinecarts1.asm", ROMX
+ map_attributes CaveMinecarts1, CAVE_MINECARTS_1, 0
+
+CaveMinecarts1_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+CaveMinecarts1_Blocks:: INCBIN "maps/blk/CaveMinecarts1.blk" \ No newline at end of file
diff --git a/data/maps/attributes/CaveMinecarts2.asm b/data/maps/attributes/CaveMinecarts2.asm
new file mode 100644
index 0000000..984e731
--- /dev/null
+++ b/data/maps/attributes/CaveMinecarts2.asm
@@ -0,0 +1,15 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/CaveMinecarts2.asm", ROMX
+ map_attributes CaveMinecarts2, CAVE_MINECARTS_2, 0
+
+CaveMinecarts2_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+CaveMinecarts2_Blocks:: INCBIN "maps/blk/CaveMinecarts2.blk" \ No newline at end of file
diff --git a/data/maps/attributes/CaveMinecarts3.asm b/data/maps/attributes/CaveMinecarts3.asm
new file mode 100644
index 0000000..4fc9aa1
--- /dev/null
+++ b/data/maps/attributes/CaveMinecarts3.asm
@@ -0,0 +1,15 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/CaveMinecarts3.asm", ROMX
+ map_attributes CaveMinecarts3, CAVE_MINECARTS_3, 0
+
+CaveMinecarts3_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+CaveMinecarts3_Blocks:: INCBIN "maps/blk/CaveMinecarts3.blk" \ No newline at end of file
diff --git a/data/maps/attributes/CaveMinecarts4.asm b/data/maps/attributes/CaveMinecarts4.asm
new file mode 100644
index 0000000..482eb5f
--- /dev/null
+++ b/data/maps/attributes/CaveMinecarts4.asm
@@ -0,0 +1,15 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/CaveMinecarts4.asm", ROMX
+ map_attributes CaveMinecarts4, CAVE_MINECARTS_4, 0
+
+CaveMinecarts4_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+CaveMinecarts4_Blocks:: INCBIN "maps/blk/CaveMinecarts4.blk" \ No newline at end of file
diff --git a/data/maps/attributes/CaveMinecarts5.asm b/data/maps/attributes/CaveMinecarts5.asm
new file mode 100644
index 0000000..cc90507
--- /dev/null
+++ b/data/maps/attributes/CaveMinecarts5.asm
@@ -0,0 +1,15 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/CaveMinecarts5.asm", ROMX
+ map_attributes CaveMinecarts5, CAVE_MINECARTS_5, 0
+
+CaveMinecarts5_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+CaveMinecarts5_Blocks:: INCBIN "maps/blk/CaveMinecarts5.blk" \ No newline at end of file
diff --git a/data/maps/attributes/CaveMinecarts6.asm b/data/maps/attributes/CaveMinecarts6.asm
new file mode 100644
index 0000000..709c616
--- /dev/null
+++ b/data/maps/attributes/CaveMinecarts6.asm
@@ -0,0 +1,15 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/CaveMinecarts6.asm", ROMX
+ map_attributes CaveMinecarts6, CAVE_MINECARTS_6, 0
+
+CaveMinecarts6_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+CaveMinecarts6_Blocks:: INCBIN "maps/blk/CaveMinecarts6.blk" \ No newline at end of file
diff --git a/data/maps/attributes/CaveMinecarts7.asm b/data/maps/attributes/CaveMinecarts7.asm
new file mode 100644
index 0000000..488165e
--- /dev/null
+++ b/data/maps/attributes/CaveMinecarts7.asm
@@ -0,0 +1,15 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/CaveMinecarts7.asm", ROMX
+ map_attributes CaveMinecarts7, CAVE_MINECARTS_7, 0
+
+CaveMinecarts7_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+CaveMinecarts7_Blocks:: INCBIN "maps/blk/CaveMinecarts7.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Fonto.asm b/data/maps/attributes/Fonto.asm
new file mode 100644
index 0000000..b452972
--- /dev/null
+++ b/data/maps/attributes/Fonto.asm
@@ -0,0 +1,32 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Fonto.asm", ROMX
+ map_attributes Fonto, FONTO, NORTH | WEST | EAST
+ connection north, FontoRoute2, FONTO_ROUTE_2, 0, 0, 10
+ connection west, FontoRoute1, FONTO_ROUTE_1, 0, 0, 9
+ connection east, FontoRoute3, FONTO_ROUTE_3, 0, 0, 9
+
+Fonto_MapEvents::
+ dw $4000 ; unknown
+
+ db 5 ; warp events
+ warp_event 4, 3, 1, FONTO_ROCKET_HOUSE, wOverworldMapBlocks + 35
+ warp_event 15, 4, 1, FONTO_MART, wOverworldMapBlocks + 56
+ warp_event 3, 7, 1, FONTO_HOUSE, wOverworldMapBlocks + 66
+ warp_event 3, 12, 1, FONTO_POKECENTER_1F, wOverworldMapBlocks + 114
+ warp_event 16, 13, 1, FONTO_LAB, wOverworldMapBlocks + 121
+
+ db 5 ; bg events
+ bg_event 15, 4, 0, 1
+ bg_event 14, 6, 0, 2
+ bg_event 4, 12, 0, 3
+ bg_event 6, 12, 0, 4
+ bg_event 10, 12, 0, 5
+
+ db 4 ; person events
+ object_event 2, 4, SPRITE_36, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 5, SPRITE_SIDON, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 5, 14, SPRITE_YOUNGSTER, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 16, 8, SPRITE_TWIN, FACE_UP, 1, 1, -1, -1, 0, 0, 0, 0, 0, 0
+
+Fonto_Blocks:: INCBIN "maps/blk/Fonto.blk" \ No newline at end of file
diff --git a/data/maps/attributes/FontoHouse.asm b/data/maps/attributes/FontoHouse.asm
new file mode 100644
index 0000000..d37ed92
--- /dev/null
+++ b/data/maps/attributes/FontoHouse.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/FontoHouse.asm", ROMX
+ map_attributes FontoHouse, FONTO_HOUSE, 0
+
+FontoHouse_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 3, FONTO, wOverworldMapBlocks + 47
+ warp_event 5, 7, 3, FONTO, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 8, 4, SPRITE_GENTLEMAN, FACE_RIGHT, 0, 1, -1, -1, 0, 0, 0, 0, 0, 0
+
+FontoHouse_Blocks:: INCBIN "maps/blk/FontoHouse.blk" \ No newline at end of file
diff --git a/data/maps/attributes/FontoLab.asm b/data/maps/attributes/FontoLab.asm
new file mode 100644
index 0000000..7ef980c
--- /dev/null
+++ b/data/maps/attributes/FontoLab.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/FontoLab.asm", ROMX
+ map_attributes FontoLab, FONTO_LAB, 0
+
+FontoLab_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 3, 7, 5, FONTO, wOverworldMapBlocks + 46
+ warp_event 4, 7, 5, FONTO, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 2 ; person events
+ object_event 2, 2, SPRITE_SCIENTIST, SLOW_STEP_DOWN, 1, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 8, 5, SPRITE_SCIENTIST, SLOW_STEP_DOWN, 1, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+FontoLab_Blocks:: INCBIN "maps/blk/FontoLab.blk" \ No newline at end of file
diff --git a/data/maps/attributes/FontoMart.asm b/data/maps/attributes/FontoMart.asm
new file mode 100644
index 0000000..0e3cd47
--- /dev/null
+++ b/data/maps/attributes/FontoMart.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/FontoMart.asm", ROMX
+ map_attributes FontoMart, FONTO_MART, 0
+
+FontoMart_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 2, FONTO, wOverworldMapBlocks + 59
+ warp_event 5, 7, 2, FONTO, wOverworldMapBlocks + 59
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 1, 3, SPRITE_CLERK, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 5, SPRITE_GIRL, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 1, SPRITE_POKEFAN_M, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+FontoMart_Blocks:: INCBIN "maps/blk/FontoMart.blk" \ No newline at end of file
diff --git a/data/maps/attributes/FontoPokecenter1F.asm b/data/maps/attributes/FontoPokecenter1F.asm
new file mode 100644
index 0000000..41369dc
--- /dev/null
+++ b/data/maps/attributes/FontoPokecenter1F.asm
@@ -0,0 +1,22 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/FontoPokecenter1F.asm", ROMX
+ map_attributes FontoPokecenter1F, FONTO_POKECENTER_1F, 0
+
+FontoPokecenter1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 5, 7, 4, FONTO, wOverworldMapBlocks + 59
+ warp_event 6, 7, 4, FONTO, wOverworldMapBlocks + 60
+ warp_event 0, 7, 1, FONTO_POKECENTER_2F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 4 ; person events
+ object_event 5, 1, SPRITE_NURSE, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 6, SPRITE_GENTLEMAN, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 5, SPRITE_24, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 1, SPRITE_YOUNGSTER, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+FontoPokecenter1F_Blocks:: INCBIN "maps/blk/FontoPokecenter1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/FontoPokecenter2F.asm b/data/maps/attributes/FontoPokecenter2F.asm
new file mode 100644
index 0000000..86c4fd8
--- /dev/null
+++ b/data/maps/attributes/FontoPokecenter2F.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/FontoPokecenter2F.asm", ROMX
+ map_attributes FontoPokecenter2F, FONTO_POKECENTER_2F, 0
+
+FontoPokecenter2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 0, 7, 3, FONTO_POKECENTER_1F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 5, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 7, SPRITE_FISHING_GURU, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+FontoPokecenter2F_Blocks:: INCBIN "maps/blk/FontoPokecenter2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/FontoRocketHouse.asm b/data/maps/attributes/FontoRocketHouse.asm
new file mode 100644
index 0000000..96889bb
--- /dev/null
+++ b/data/maps/attributes/FontoRocketHouse.asm
@@ -0,0 +1,21 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/FontoRocketHouse.asm", ROMX
+ map_attributes FontoRocketHouse, FONTO_ROCKET_HOUSE, 0
+
+FontoRocketHouse_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 12, 7, 1, FONTO, wOverworldMapBlocks + 63
+ warp_event 13, 7, 1, FONTO, wOverworldMapBlocks + 63
+
+ db 0 ; bg events
+
+ db 4 ; person events
+ object_event 5, 4, SPRITE_36, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 2, SPRITE_ROCKET_F, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 2, SPRITE_36, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 12, 2, SPRITE_POPPO, SLOW_STEP_DOWN, 1, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+FontoRocketHouse_Blocks:: INCBIN "maps/blk/FontoRocketHouse.blk" \ No newline at end of file
diff --git a/data/maps/attributes/FontoRoute1.asm b/data/maps/attributes/FontoRoute1.asm
new file mode 100644
index 0000000..ffe2ae5
--- /dev/null
+++ b/data/maps/attributes/FontoRoute1.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/FontoRoute1.asm", ROMX
+ map_attributes FontoRoute1, FONTO_ROUTE_1, WEST | EAST
+ connection west, South, SOUTH, 0, 0, 12
+ connection east, Fonto, FONTO, 0, 0, 9
+
+FontoRoute1_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 6, 9, 3, FONTO_ROUTE_GATE_1, wOverworldMapBlocks + 209
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+FontoRoute1_Blocks:: INCBIN "maps/blk/FontoRoute1.blk" \ No newline at end of file
diff --git a/data/maps/attributes/FontoRoute2.asm b/data/maps/attributes/FontoRoute2.asm
new file mode 100644
index 0000000..44e0bc9
--- /dev/null
+++ b/data/maps/attributes/FontoRoute2.asm
@@ -0,0 +1,17 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/FontoRoute2.asm", ROMX
+ map_attributes FontoRoute2, FONTO_ROUTE_2, SOUTH | WEST
+ connection south, Fonto, FONTO, 0, 0, 10
+ connection west, FontoRoute6, FONTO_ROUTE_6, 0, 0, 9
+
+FontoRoute2_MapEvents::
+ dw $4000 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+FontoRoute2_Blocks:: INCBIN "maps/blk/FontoRoute2.blk" \ No newline at end of file
diff --git a/data/maps/attributes/FontoRoute3.asm b/data/maps/attributes/FontoRoute3.asm
new file mode 100644
index 0000000..9768a10
--- /dev/null
+++ b/data/maps/attributes/FontoRoute3.asm
@@ -0,0 +1,17 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/FontoRoute3.asm", ROMX
+ map_attributes FontoRoute3, FONTO_ROUTE_3, WEST | EAST
+ connection west, Fonto, FONTO, 0, 0, 9
+ connection east, FontoRoute4, FONTO_ROUTE_4, 0, 0, 12
+
+FontoRoute3_MapEvents::
+ dw $4000 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+FontoRoute3_Blocks:: INCBIN "maps/blk/FontoRoute3.blk" \ No newline at end of file
diff --git a/data/maps/attributes/FontoRoute4.asm b/data/maps/attributes/FontoRoute4.asm
new file mode 100644
index 0000000..6925520
--- /dev/null
+++ b/data/maps/attributes/FontoRoute4.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/FontoRoute4.asm", ROMX
+ map_attributes FontoRoute4, FONTO_ROUTE_4, SOUTH | WEST
+ connection south, Baadon, BAADON, 0, 0, 10
+ connection west, FontoRoute3, FONTO_ROUTE_3, 0, 0, 9
+
+FontoRoute4_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 8, 30, 3, FONTO_ROUTE_GATE_2, wOverworldMapBlocks + 261
+ warp_event 9, 30, 4, FONTO_ROUTE_GATE_2, wOverworldMapBlocks + 261
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+FontoRoute4_Blocks:: INCBIN "maps/blk/FontoRoute4.blk" \ No newline at end of file
diff --git a/data/maps/attributes/FontoRoute5.asm b/data/maps/attributes/FontoRoute5.asm
new file mode 100644
index 0000000..da1894c
--- /dev/null
+++ b/data/maps/attributes/FontoRoute5.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/FontoRoute5.asm", ROMX
+ map_attributes FontoRoute5, FONTO_ROUTE_5, SOUTH | EAST
+ connection south, South, SOUTH, -3, 7, 13
+ connection east, FontoRoute6, FONTO_ROUTE_6, 0, 0, 9
+
+FontoRoute5_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 8, 30, 3, FONTO_ROUTE_GATE_3, wOverworldMapBlocks + 261
+ warp_event 9, 30, 4, FONTO_ROUTE_GATE_3, wOverworldMapBlocks + 261
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+FontoRoute5_Blocks:: INCBIN "maps/blk/FontoRoute5.blk" \ No newline at end of file
diff --git a/data/maps/attributes/FontoRoute6.asm b/data/maps/attributes/FontoRoute6.asm
new file mode 100644
index 0000000..e9e3b9c
--- /dev/null
+++ b/data/maps/attributes/FontoRoute6.asm
@@ -0,0 +1,17 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/FontoRoute6.asm", ROMX
+ map_attributes FontoRoute6, FONTO_ROUTE_6, WEST | EAST
+ connection west, FontoRoute5, FONTO_ROUTE_5, 0, 0, 12
+ connection east, FontoRoute2, FONTO_ROUTE_2, 0, 0, 12
+
+FontoRoute6_MapEvents::
+ dw $4000 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+FontoRoute6_Blocks:: INCBIN "maps/blk/FontoRoute6.blk" \ No newline at end of file
diff --git a/data/maps/attributes/FontoRouteGate1.asm b/data/maps/attributes/FontoRouteGate1.asm
new file mode 100644
index 0000000..f75d799
--- /dev/null
+++ b/data/maps/attributes/FontoRouteGate1.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/FontoRouteGate1.asm", ROMX
+ map_attributes FontoRouteGate1, FONTO_ROUTE_GATE_1, 0
+
+FontoRouteGate1_MapEvents::
+ dw $4000 ; unknown
+
+ db 4 ; warp events
+ warp_event 0, 7, 7, SOUTH, wOverworldMapBlocks + 45
+ warp_event 1, 7, 7, SOUTH, wOverworldMapBlocks + 45
+ warp_event 8, 7, 1, FONTO_ROUTE_1, wOverworldMapBlocks + 49
+ warp_event 9, 7, 1, FONTO_ROUTE_1, wOverworldMapBlocks + 49
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+FontoRouteGate1_Blocks:: INCBIN "maps/blk/FontoRouteGate1.blk" \ No newline at end of file
diff --git a/data/maps/attributes/FontoRouteGate2.asm b/data/maps/attributes/FontoRouteGate2.asm
new file mode 100644
index 0000000..016ef98
--- /dev/null
+++ b/data/maps/attributes/FontoRouteGate2.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/FontoRouteGate2.asm", ROMX
+ map_attributes FontoRouteGate2, FONTO_ROUTE_GATE_2, 0
+
+FontoRouteGate2_MapEvents::
+ dw $4000 ; unknown
+
+ db 4 ; warp events
+ warp_event 4, 7, 8, BAADON, wOverworldMapBlocks + 47
+ warp_event 5, 7, 9, BAADON, wOverworldMapBlocks + 47
+ warp_event 4, 0, 1, FONTO_ROUTE_4, wOverworldMapBlocks + 14
+ warp_event 5, 0, 2, FONTO_ROUTE_4, wOverworldMapBlocks + 14
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+FontoRouteGate2_Blocks:: INCBIN "maps/blk/FontoRouteGate2.blk" \ No newline at end of file
diff --git a/data/maps/attributes/FontoRouteGate3.asm b/data/maps/attributes/FontoRouteGate3.asm
new file mode 100644
index 0000000..4bb5fc6
--- /dev/null
+++ b/data/maps/attributes/FontoRouteGate3.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/FontoRouteGate3.asm", ROMX
+ map_attributes FontoRouteGate3, FONTO_ROUTE_GATE_3, 0
+
+FontoRouteGate3_MapEvents::
+ dw $4000 ; unknown
+
+ db 4 ; warp events
+ warp_event 4, 7, 5, SOUTH, wOverworldMapBlocks + 47
+ warp_event 5, 7, 6, SOUTH, wOverworldMapBlocks + 47
+ warp_event 4, 0, 1, FONTO_ROUTE_5, wOverworldMapBlocks + 14
+ warp_event 5, 0, 2, FONTO_ROUTE_5, wOverworldMapBlocks + 14
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+FontoRouteGate3_Blocks:: INCBIN "maps/blk/FontoRouteGate3.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Haiteku.asm b/data/maps/attributes/Haiteku.asm
new file mode 100644
index 0000000..79e2b5c
--- /dev/null
+++ b/data/maps/attributes/Haiteku.asm
@@ -0,0 +1,38 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Haiteku.asm", ROMX
+ map_attributes Haiteku, HAITEKU, WEST
+ connection west, HaitekuWestRoute, HAITEKU_WEST_ROUTE, 0, 0, 9
+
+Haiteku_MapEvents::
+ dw $4000 ; unknown
+
+ db 9 ; warp events
+ warp_event 31, 10, 1, HAITEKU_POKECENTER_1F, wOverworldMapBlocks + 172
+ warp_event 10, 11, 1, HAITEKU_LEAGUE_1F, wOverworldMapBlocks + 162
+ warp_event 11, 11, 2, HAITEKU_LEAGUE_1F, wOverworldMapBlocks + 162
+ warp_event 31, 16, 1, HAITEKU_MART, wOverworldMapBlocks + 250
+ warp_event 7, 17, 1, HAITEKU_HOUSE_1, wOverworldMapBlocks + 238
+ warp_event 15, 17, 1, HAITEKU_HOUSE_2, wOverworldMapBlocks + 242
+ warp_event 33, 20, 1, HAITEKU_IMPOSTER_OAK_HOUSE, wOverworldMapBlocks + 303
+ warp_event 6, 27, 1, HAITEKU_AQUARIUM_1F, wOverworldMapBlocks + 368
+ warp_event 7, 27, 2, HAITEKU_AQUARIUM_1F, wOverworldMapBlocks + 368
+
+ db 8 ; bg events
+ bg_event 24, 7, 0, 1
+ bg_event 12, 12, 0, 2
+ bg_event 32, 10, 0, 3
+ bg_event 10, 17, 0, 4
+ bg_event 32, 16, 0, 5
+ bg_event 10, 27, 0, 6
+ bg_event 30, 25, 0, 7
+ bg_event 24, 28, 0, 8
+
+ db 5 ; person events
+ object_event 22, 15, SPRITE_TWIN, SLOW_STEP_DOWN, 1, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 23, 14, SPRITE_PIPPI, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 23, 24, SPRITE_SAILOR, FACE_UP, 2, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 26, 10, SPRITE_SAILOR, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 14, SPRITE_GENTLEMAN, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+Haiteku_Blocks:: INCBIN "maps/blk/Haiteku.blk" \ No newline at end of file
diff --git a/data/maps/attributes/HaitekuAquarium1F.asm b/data/maps/attributes/HaitekuAquarium1F.asm
new file mode 100644
index 0000000..d58a8b1
--- /dev/null
+++ b/data/maps/attributes/HaitekuAquarium1F.asm
@@ -0,0 +1,21 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/HaitekuAquarium1F.asm", ROMX
+ map_attributes HaitekuAquarium1F, HAITEKU_AQUARIUM_1F, 0
+
+HaitekuAquarium1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 12, 7, 8, HAITEKU, wOverworldMapBlocks + 63
+ warp_event 13, 7, 9, HAITEKU, wOverworldMapBlocks + 63
+ warp_event 0, 7, 1, HAITEKU_AQUARIUM_2F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 15, 5, SPRITE_RECEPTIONIST, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 12, 2, SPRITE_YOUNGSTER, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 5, SPRITE_LASS, FACE_UP, 1, 1, -1, -1, 0, 0, 0, 0, 0, 0
+
+HaitekuAquarium1F_Blocks:: INCBIN "maps/blk/HaitekuAquarium1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/HaitekuAquarium2F.asm b/data/maps/attributes/HaitekuAquarium2F.asm
new file mode 100644
index 0000000..8cd748c
--- /dev/null
+++ b/data/maps/attributes/HaitekuAquarium2F.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/HaitekuAquarium2F.asm", ROMX
+ map_attributes HaitekuAquarium2F, HAITEKU_AQUARIUM_2F, 0
+
+HaitekuAquarium2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 0, 7, 3, HAITEKU_AQUARIUM_1F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 2 ; person events
+ object_event 7, 6, SPRITE_POKEFAN_M, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 4, SPRITE_TEACHER, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+HaitekuAquarium2F_Blocks:: INCBIN "maps/blk/HaitekuAquarium2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/HaitekuHouse1.asm b/data/maps/attributes/HaitekuHouse1.asm
new file mode 100644
index 0000000..f9a1338
--- /dev/null
+++ b/data/maps/attributes/HaitekuHouse1.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/HaitekuHouse1.asm", ROMX
+ map_attributes HaitekuHouse1, HAITEKU_HOUSE_1, 0
+
+HaitekuHouse1_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 5, HAITEKU, wOverworldMapBlocks + 47
+ warp_event 5, 7, 5, HAITEKU, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 7, 3, SPRITE_FISHING_GURU, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+HaitekuHouse1_Blocks:: INCBIN "maps/blk/HaitekuHouse1.blk" \ No newline at end of file
diff --git a/data/maps/attributes/HaitekuHouse2.asm b/data/maps/attributes/HaitekuHouse2.asm
new file mode 100644
index 0000000..3e264b1
--- /dev/null
+++ b/data/maps/attributes/HaitekuHouse2.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/HaitekuHouse2.asm", ROMX
+ map_attributes HaitekuHouse2, HAITEKU_HOUSE_2, 0
+
+HaitekuHouse2_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 6, HAITEKU, wOverworldMapBlocks + 47
+ warp_event 5, 7, 6, HAITEKU, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 7, 3, SPRITE_SAILOR, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+HaitekuHouse2_Blocks:: INCBIN "maps/blk/HaitekuHouse2.blk" \ No newline at end of file
diff --git a/data/maps/attributes/HaitekuImposterOakHouse.asm b/data/maps/attributes/HaitekuImposterOakHouse.asm
new file mode 100644
index 0000000..ec1a050
--- /dev/null
+++ b/data/maps/attributes/HaitekuImposterOakHouse.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/HaitekuImposterOakHouse.asm", ROMX
+ map_attributes HaitekuImposterOakHouse, HAITEKU_IMPOSTER_OAK_HOUSE, 0
+
+HaitekuImposterOakHouse_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 7, HAITEKU, wOverworldMapBlocks + 47
+ warp_event 5, 7, 7, HAITEKU, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 2 ; person events
+ object_event 7, 3, SPRITE_EVIL_OKIDO, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 1, 2, SPRITE_POKEFAN_F, SLOW_STEP_DOWN, 1, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+HaitekuImposterOakHouse_Blocks:: INCBIN "maps/blk/HaitekuImposterOakHouse.blk" \ No newline at end of file
diff --git a/data/maps/attributes/HaitekuLeague1F.asm b/data/maps/attributes/HaitekuLeague1F.asm
new file mode 100644
index 0000000..06f67d0
--- /dev/null
+++ b/data/maps/attributes/HaitekuLeague1F.asm
@@ -0,0 +1,23 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/HaitekuLeague1F.asm", ROMX
+ map_attributes HaitekuLeague1F, HAITEKU_LEAGUE_1F, 0
+
+HaitekuLeague1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 3, 15, 2, HAITEKU, wOverworldMapBlocks + 82
+ warp_event 4, 15, 3, HAITEKU, wOverworldMapBlocks + 83
+ warp_event 7, 1, 1, HAITEKU_LEAGUE_2F, wOverworldMapBlocks + 14
+
+ db 0 ; bg events
+
+ db 5 ; person events
+ object_event 2, 5, SPRITE_YOUNGSTER, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 7, SPRITE_LASS, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 9, SPRITE_BUG_CATCHER_BOY, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 1, SPRITE_24, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 6, SPRITE_COOLTRAINER_F, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+
+HaitekuLeague1F_Blocks:: INCBIN "maps/blk/HaitekuLeague1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/HaitekuLeague2F.asm b/data/maps/attributes/HaitekuLeague2F.asm
new file mode 100644
index 0000000..95d5c93
--- /dev/null
+++ b/data/maps/attributes/HaitekuLeague2F.asm
@@ -0,0 +1,21 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/HaitekuLeague2F.asm", ROMX
+ map_attributes HaitekuLeague2F, HAITEKU_LEAGUE_2F, 0
+
+HaitekuLeague2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 7, 15, 3, HAITEKU_LEAGUE_1F, wOverworldMapBlocks + 92
+
+ db 0 ; bg events
+
+ db 5 ; person events
+ object_event 4, 1, SPRITE_LASS, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 6, SPRITE_24, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 8, 12, SPRITE_COOLTRAINER_F, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 10, SPRITE_24, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 7, 7, SPRITE_COOLTRAINER_F, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+HaitekuLeague2F_Blocks:: INCBIN "maps/blk/HaitekuLeague2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/HaitekuMart.asm b/data/maps/attributes/HaitekuMart.asm
new file mode 100644
index 0000000..891a576
--- /dev/null
+++ b/data/maps/attributes/HaitekuMart.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/HaitekuMart.asm", ROMX
+ map_attributes HaitekuMart, HAITEKU_MART, 0
+
+HaitekuMart_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 4, HAITEKU, wOverworldMapBlocks + 51
+ warp_event 5, 7, 4, HAITEKU, wOverworldMapBlocks + 51
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 1, 3, SPRITE_CLERK, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 5, SPRITE_POKEFAN_M, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 1, SPRITE_SAILOR, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+HaitekuMart_Blocks:: INCBIN "maps/blk/HaitekuMart.blk" \ No newline at end of file
diff --git a/data/maps/attributes/HaitekuPokecenter1F.asm b/data/maps/attributes/HaitekuPokecenter1F.asm
new file mode 100644
index 0000000..52e18ae
--- /dev/null
+++ b/data/maps/attributes/HaitekuPokecenter1F.asm
@@ -0,0 +1,22 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/HaitekuPokecenter1F.asm", ROMX
+ map_attributes HaitekuPokecenter1F, HAITEKU_POKECENTER_1F, 0
+
+HaitekuPokecenter1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 5, 7, 1, HAITEKU, wOverworldMapBlocks + 59
+ warp_event 6, 7, 1, HAITEKU, wOverworldMapBlocks + 60
+ warp_event 0, 7, 1, HAITEKU_POKECENTER_2F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 4 ; person events
+ object_event 5, 1, SPRITE_NURSE, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 6, SPRITE_GENTLEMAN, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 5, SPRITE_FISHER, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 1, SPRITE_SAILOR, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+HaitekuPokecenter1F_Blocks:: INCBIN "maps/blk/HaitekuPokecenter1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/HaitekuPokecenter2F.asm b/data/maps/attributes/HaitekuPokecenter2F.asm
new file mode 100644
index 0000000..596293c
--- /dev/null
+++ b/data/maps/attributes/HaitekuPokecenter2F.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/HaitekuPokecenter2F.asm", ROMX
+ map_attributes HaitekuPokecenter2F, HAITEKU_POKECENTER_2F, 0
+
+HaitekuPokecenter2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 0, 7, 3, HAITEKU_POKECENTER_1F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 5, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 7, SPRITE_FISHING_GURU, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+HaitekuPokecenter2F_Blocks:: INCBIN "maps/blk/HaitekuPokecenter2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/HaitekuWestRoute.asm b/data/maps/attributes/HaitekuWestRoute.asm
new file mode 100644
index 0000000..6743c07
--- /dev/null
+++ b/data/maps/attributes/HaitekuWestRoute.asm
@@ -0,0 +1,17 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/HaitekuWestRoute.asm", ROMX
+ map_attributes HaitekuWestRoute, HAITEKU_WEST_ROUTE, WEST | EAST
+ connection west, HaitekuWestRouteOcean, HAITEKU_WEST_ROUTE_OCEAN, -3, 15, 12
+ connection east, Haiteku, HAITEKU, 0, 0, 12
+
+HaitekuWestRoute_MapEvents::
+ dw $4000 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+HaitekuWestRoute_Blocks:: INCBIN "maps/blk/HaitekuWestRoute.blk" \ No newline at end of file
diff --git a/data/maps/attributes/HaitekuWestRouteGate.asm b/data/maps/attributes/HaitekuWestRouteGate.asm
new file mode 100644
index 0000000..a52f1b9
--- /dev/null
+++ b/data/maps/attributes/HaitekuWestRouteGate.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/HaitekuWestRouteGate.asm", ROMX
+ map_attributes HaitekuWestRouteGate, HAITEKU_WEST_ROUTE_GATE, 0
+
+HaitekuWestRouteGate_MapEvents::
+ dw $4000 ; unknown
+
+ db 4 ; warp events
+ warp_event 4, 7, 1, HAITEKU_WEST_ROUTE_OCEAN, wOverworldMapBlocks + 47
+ warp_event 5, 7, 2, HAITEKU_WEST_ROUTE_OCEAN, wOverworldMapBlocks + 47
+ warp_event 4, 0, 8, SOUTH, wOverworldMapBlocks + 14
+ warp_event 5, 0, 9, SOUTH, wOverworldMapBlocks + 14
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+HaitekuWestRouteGate_Blocks:: INCBIN "maps/blk/HaitekuWestRouteGate.blk" \ No newline at end of file
diff --git a/data/maps/attributes/HaitekuWestRouteOcean.asm b/data/maps/attributes/HaitekuWestRouteOcean.asm
new file mode 100644
index 0000000..4f09ba0
--- /dev/null
+++ b/data/maps/attributes/HaitekuWestRouteOcean.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/HaitekuWestRouteOcean.asm", ROMX
+ map_attributes HaitekuWestRouteOcean, HAITEKU_WEST_ROUTE_OCEAN, NORTH | EAST
+ connection north, South, SOUTH, -3, 7, 13
+ connection east, HaitekuWestRoute, HAITEKU_WEST_ROUTE, 18, 0, 9
+
+HaitekuWestRouteOcean_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 10, 9, 1, HAITEKU_WEST_ROUTE_GATE, wOverworldMapBlocks + 86
+ warp_event 11, 9, 2, HAITEKU_WEST_ROUTE_GATE, wOverworldMapBlocks + 86
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+HaitekuWestRouteOcean_Blocks:: INCBIN "maps/blk/HaitekuWestRouteOcean.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Kanto.asm b/data/maps/attributes/Kanto.asm
new file mode 100644
index 0000000..410005e
--- /dev/null
+++ b/data/maps/attributes/Kanto.asm
@@ -0,0 +1,59 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Kanto.asm", ROMX
+ map_attributes Kanto, KANTO, WEST | EAST
+ connection west, RouteSilentEast, ROUTE_SILENT_EAST, 9, 0, 9
+ connection east, KantoEastRoute, KANTO_EAST_ROUTE, 9, 0, 9
+
+Kanto_MapEvents::
+ dw $4000 ; unknown
+
+ db 30 ; warp events
+ warp_event 40, 3, 1, KANTO_CERULEAN_HOUSE, wOverworldMapBlocks + 93
+ warp_event 13, 4, 1, KANTO_POKECENTER_1F, wOverworldMapBlocks + 115
+ warp_event 4, 5, 1, KANTO_LEAGUE_1F, wOverworldMapBlocks + 111
+ warp_event 5, 5, 2, KANTO_LEAGUE_1F, wOverworldMapBlocks + 111
+ warp_event 51, 11, 1, KANTO_LAVENDER_HOUSE, wOverworldMapBlocks + 242
+ warp_event 14, 17, 1, KANTO_CELADON_MART_1F, wOverworldMapBlocks + 332
+ warp_event 15, 17, 1, KANTO_CELADON_MART_1F, wOverworldMapBlocks + 332
+ warp_event 3, 18, 1, KANTO_MART, wOverworldMapBlocks + 362
+ warp_event 22, 19, 1, KANTO_GAMEFREAK_HQ_1, wOverworldMapBlocks + 372
+ warp_event 23, 19, 2, KANTO_GAMEFREAK_HQ_1, wOverworldMapBlocks + 372
+ warp_event 30, 19, 1, KANTO_SILPH_CO, wOverworldMapBlocks + 376
+ warp_event 31, 19, 2, KANTO_SILPH_CO, wOverworldMapBlocks + 376
+ warp_event 16, 23, 1, KANTO_VIRIDIAN_HOUSE, wOverworldMapBlocks + 441
+ warp_event 29, 23, 1, KANTO_GAME_CORNER, wOverworldMapBlocks + 447
+ warp_event 34, 23, 1, KANTO_GAME_CORNER_PRIZES, wOverworldMapBlocks + 450
+ warp_event 40, 23, 1, KANTO_DINER, wOverworldMapBlocks + 453
+ warp_event 52, 23, 1, KANTO_SCHOOL, wOverworldMapBlocks + 459
+ warp_event 53, 23, 2, KANTO_SCHOOL, wOverworldMapBlocks + 459
+ warp_event 38, 29, 1, KANTO_HOSPITAL, wOverworldMapBlocks + 560
+ warp_event 49, 30, 1, KANTO_POKECENTER_2_1F, wOverworldMapBlocks + 601
+ warp_event 5, 38, 1, KANTO_REDS_HOUSE, wOverworldMapBlocks + 723
+ warp_event 13, 38, 1, KANTO_GREENS_HOUSE_1F, wOverworldMapBlocks + 727
+ warp_event 39, 38, 1, KANTO_ELDERS_HOUSE, wOverworldMapBlocks + 740
+ warp_event 12, 43, 1, KANTO_OAKS_LAB, wOverworldMapBlocks + 799
+ warp_event 13, 43, 2, KANTO_OAKS_LAB, wOverworldMapBlocks + 799
+ warp_event 52, 45, 1, KANTO_LEAGUE_2_1F, wOverworldMapBlocks + 855
+ warp_event 53, 45, 2, KANTO_LEAGUE_2_1F, wOverworldMapBlocks + 855
+ warp_event 45, 46, 1, KANTO_FISHING_GURU, wOverworldMapBlocks + 887
+ warp_event 6, 27, 3, ROUTE_SILENT_EAST_GATE, wOverworldMapBlocks + 508
+ warp_event 21, 13, 5, KANTO_GAMEFREAK_HQ_1, wOverworldMapBlocks + 263
+
+ db 12 ; bg events
+ bg_event 14, 4, 0, 1
+ bg_event 42, 4, 0, 2
+ bg_event 54, 8, 0, 3
+ bg_event 4, 18, 0, 4
+ bg_event 18, 18, 0, 5
+ bg_event 26, 19, 0, 6
+ bg_event 46, 18, 0, 7
+ bg_event 8, 38, 0, 8
+ bg_event 16, 38, 0, 9
+ bg_event 6, 41, 0, 10
+ bg_event 12, 45, 0, 11
+ bg_event 50, 30, 0, 12
+
+ db 0 ; person events
+
+Kanto_Blocks:: INCBIN "maps/blk/Kanto.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoCeladonElevator.asm b/data/maps/attributes/KantoCeladonElevator.asm
new file mode 100644
index 0000000..41ff130
--- /dev/null
+++ b/data/maps/attributes/KantoCeladonElevator.asm
@@ -0,0 +1,17 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoCeladonElevator.asm", ROMX
+ map_attributes KantoCeladonElevator, KANTO_CELADON_ELEVATOR, 0
+
+KantoCeladonElevator_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 1, 3, 4, KANTO_CELADON_MART_1F, wOverworldMapBlocks + 17
+ warp_event 2, 3, 4, KANTO_CELADON_MART_1F, wOverworldMapBlocks + 18
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+KantoCeladonElevator_Blocks:: INCBIN "maps/blk/KantoCeladonElevator.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoCeladonMart1F.asm b/data/maps/attributes/KantoCeladonMart1F.asm
new file mode 100644
index 0000000..33629f8
--- /dev/null
+++ b/data/maps/attributes/KantoCeladonMart1F.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoCeladonMart1F.asm", ROMX
+ map_attributes KantoCeladonMart1F, KANTO_CELADON_MART_1F, 0
+
+KantoCeladonMart1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 4 ; warp events
+ warp_event 13, 7, 6, KANTO, wOverworldMapBlocks + 63
+ warp_event 14, 7, 7, KANTO, wOverworldMapBlocks + 64
+ warp_event 15, 0, 2, KANTO_CELADON_MART_2F, wOverworldMapBlocks + 22
+ warp_event 2, 0, 2, KANTO_CELADON_ELEVATOR, wOverworldMapBlocks + 16
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 7, 1, SPRITE_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoCeladonMart1F_Blocks:: INCBIN "maps/blk/KantoCeladonMart1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoCeladonMart2F.asm b/data/maps/attributes/KantoCeladonMart2F.asm
new file mode 100644
index 0000000..e4cf6bb
--- /dev/null
+++ b/data/maps/attributes/KantoCeladonMart2F.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoCeladonMart2F.asm", ROMX
+ map_attributes KantoCeladonMart2F, KANTO_CELADON_MART_2F, 0
+
+KantoCeladonMart2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 12, 0, 1, KANTO_CELADON_MART_3F, wOverworldMapBlocks + 21
+ warp_event 15, 0, 3, KANTO_CELADON_MART_1F, wOverworldMapBlocks + 22
+ warp_event 2, 0, 1, KANTO_CELADON_ELEVATOR, wOverworldMapBlocks + 16
+
+ db 0 ; bg events
+
+ db 2 ; person events
+ object_event 14, 5, SPRITE_CLERK, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 5, 5, SPRITE_LASS, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoCeladonMart2F_Blocks:: INCBIN "maps/blk/KantoCeladonMart2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoCeladonMart3F.asm b/data/maps/attributes/KantoCeladonMart3F.asm
new file mode 100644
index 0000000..32dfd63
--- /dev/null
+++ b/data/maps/attributes/KantoCeladonMart3F.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoCeladonMart3F.asm", ROMX
+ map_attributes KantoCeladonMart3F, KANTO_CELADON_MART_3F, 0
+
+KantoCeladonMart3F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 12, 0, 1, KANTO_CELADON_MART_2F, wOverworldMapBlocks + 21
+ warp_event 15, 0, 2, KANTO_CELADON_MART_4F, wOverworldMapBlocks + 22
+ warp_event 2, 0, 1, KANTO_CELADON_ELEVATOR, wOverworldMapBlocks + 16
+
+ db 0 ; bg events
+
+ db 2 ; person events
+ object_event 6, 1, SPRITE_CLERK, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 5, SPRITE_GIRL, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoCeladonMart3F_Blocks:: INCBIN "maps/blk/KantoCeladonMart3F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoCeladonMart4F.asm b/data/maps/attributes/KantoCeladonMart4F.asm
new file mode 100644
index 0000000..7825fe5
--- /dev/null
+++ b/data/maps/attributes/KantoCeladonMart4F.asm
@@ -0,0 +1,21 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoCeladonMart4F.asm", ROMX
+ map_attributes KantoCeladonMart4F, KANTO_CELADON_MART_4F, 0
+
+KantoCeladonMart4F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 12, 0, 1, KANTO_CELADON_MART_5F, wOverworldMapBlocks + 21
+ warp_event 15, 0, 2, KANTO_CELADON_MART_3F, wOverworldMapBlocks + 22
+ warp_event 2, 0, 1, KANTO_CELADON_ELEVATOR, wOverworldMapBlocks + 16
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 14, 5, SPRITE_MEDIUM, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 8, 5, SPRITE_MEDIUM, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 5, SPRITE_MEDIUM, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoCeladonMart4F_Blocks:: INCBIN "maps/blk/KantoCeladonMart4F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoCeladonMart5F.asm b/data/maps/attributes/KantoCeladonMart5F.asm
new file mode 100644
index 0000000..7f01eae
--- /dev/null
+++ b/data/maps/attributes/KantoCeladonMart5F.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoCeladonMart5F.asm", ROMX
+ map_attributes KantoCeladonMart5F, KANTO_CELADON_MART_5F, 0
+
+KantoCeladonMart5F_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 13, 0, 1, KANTO_CELADON_MART_4F, wOverworldMapBlocks + 21
+ warp_event 2, 0, 1, KANTO_CELADON_ELEVATOR, wOverworldMapBlocks + 16
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 14, 5, SPRITE_CLERK, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 8, 3, SPRITE_SIDON, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 5, SPRITE_POPPO, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoCeladonMart5F_Blocks:: INCBIN "maps/blk/KantoCeladonMart5F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoCeruleanHouse.asm b/data/maps/attributes/KantoCeruleanHouse.asm
new file mode 100644
index 0000000..c3857ec
--- /dev/null
+++ b/data/maps/attributes/KantoCeruleanHouse.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoCeruleanHouse.asm", ROMX
+ map_attributes KantoCeruleanHouse, KANTO_CERULEAN_HOUSE, 0
+
+KantoCeruleanHouse_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 1, KANTO, wOverworldMapBlocks + 47
+ warp_event 5, 7, 1, KANTO, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 3, 3, SPRITE_FISHER, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoCeruleanHouse_Blocks:: INCBIN "maps/blk/KantoCeruleanHouse.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoDiner.asm b/data/maps/attributes/KantoDiner.asm
new file mode 100644
index 0000000..c41abd6
--- /dev/null
+++ b/data/maps/attributes/KantoDiner.asm
@@ -0,0 +1,17 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoDiner.asm", ROMX
+ map_attributes KantoDiner, KANTO_DINER, 0
+
+KantoDiner_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 16, KANTO, wOverworldMapBlocks + 47
+ warp_event 5, 7, 16, KANTO, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+KantoDiner_Blocks:: INCBIN "maps/blk/KantoDiner.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoEastRoute.asm b/data/maps/attributes/KantoEastRoute.asm
new file mode 100644
index 0000000..60c54ba
--- /dev/null
+++ b/data/maps/attributes/KantoEastRoute.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoEastRoute.asm", ROMX
+ map_attributes KantoEastRoute, KANTO_EAST_ROUTE, NORTH | WEST
+ connection north, StandRoute, STAND_ROUTE, 10, 0, 10
+ connection west, Kanto, KANTO, -3, 6, 15
+
+KantoEastRoute_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 28, 5, 1, STAND_ROUTE_GATE_KANTO, wOverworldMapBlocks + 93
+ warp_event 29, 5, 2, STAND_ROUTE_GATE_KANTO, wOverworldMapBlocks + 93
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+KantoEastRoute_Blocks:: INCBIN "maps/blk/KantoEastRoute.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoEldersHouse.asm b/data/maps/attributes/KantoEldersHouse.asm
new file mode 100644
index 0000000..1ff8f7f
--- /dev/null
+++ b/data/maps/attributes/KantoEldersHouse.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoEldersHouse.asm", ROMX
+ map_attributes KantoEldersHouse, KANTO_ELDERS_HOUSE, 0
+
+KantoEldersHouse_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 23, KANTO, wOverworldMapBlocks + 47
+ warp_event 5, 7, 23, KANTO, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 2 ; person events
+ object_event 7, 3, SPRITE_GRAMPS, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 1, 5, SPRITE_GRANNY, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoEldersHouse_Blocks:: INCBIN "maps/blk/KantoEldersHouse.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoFishingGuru.asm b/data/maps/attributes/KantoFishingGuru.asm
new file mode 100644
index 0000000..2dd09fc
--- /dev/null
+++ b/data/maps/attributes/KantoFishingGuru.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoFishingGuru.asm", ROMX
+ map_attributes KantoFishingGuru, KANTO_FISHING_GURU, 0
+
+KantoFishingGuru_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 3, 7, 28, KANTO, wOverworldMapBlocks + 46
+ warp_event 4, 7, 28, KANTO, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 4, 3, SPRITE_FISHING_GURU, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoFishingGuru_Blocks:: INCBIN "maps/blk/KantoFishingGuru.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoGameCorner.asm b/data/maps/attributes/KantoGameCorner.asm
new file mode 100644
index 0000000..d8e6c73
--- /dev/null
+++ b/data/maps/attributes/KantoGameCorner.asm
@@ -0,0 +1,29 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoGameCorner.asm", ROMX
+ map_attributes KantoGameCorner, KANTO_GAME_CORNER, 0
+
+KantoGameCorner_MapEvents::
+ dw $4000 ; unknown
+
+ db 4 ; warp events
+ warp_event 8, 13, 14, KANTO, wOverworldMapBlocks + 117
+ warp_event 9, 13, 14, KANTO, wOverworldMapBlocks + 117
+ warp_event 10, 13, 14, KANTO, wOverworldMapBlocks + 118
+ warp_event 11, 13, 14, KANTO, wOverworldMapBlocks + 118
+
+ db 0 ; bg events
+
+ db 10 ; person events
+ object_event 3, 1, SPRITE_CLERK, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 1, SPRITE_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 6, SPRITE_POKEFAN_M, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 7, SPRITE_TWIN, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 5, 8, SPRITE_ROCKER, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 11, 6, SPRITE_GIRL, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 11, 8, SPRITE_GRAMPS, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 6, SPRITE_FISHER, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 17, 9, SPRITE_POKEFAN_M, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 13, 2, SPRITE_ROCKER, SLOW_STEP_DOWN, 3, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoGameCorner_Blocks:: INCBIN "maps/blk/KantoGameCorner.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoGameCornerPrizes.asm b/data/maps/attributes/KantoGameCornerPrizes.asm
new file mode 100644
index 0000000..1c57728
--- /dev/null
+++ b/data/maps/attributes/KantoGameCornerPrizes.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoGameCornerPrizes.asm", ROMX
+ map_attributes KantoGameCornerPrizes, KANTO_GAME_CORNER_PRIZES, 0
+
+KantoGameCornerPrizes_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 15, KANTO, wOverworldMapBlocks + 47
+ warp_event 5, 7, 15, KANTO, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 2, 1, SPRITE_CLERK, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 1, SPRITE_CLERK, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 1, SPRITE_CLERK, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoGameCornerPrizes_Blocks:: INCBIN "maps/blk/KantoGameCornerPrizes.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoGamefreakHQ1.asm b/data/maps/attributes/KantoGamefreakHQ1.asm
new file mode 100644
index 0000000..5cc8064
--- /dev/null
+++ b/data/maps/attributes/KantoGamefreakHQ1.asm
@@ -0,0 +1,24 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoGamefreakHQ1.asm", ROMX
+ map_attributes KantoGamefreakHQ1, KANTO_GAMEFREAK_HQ_1, 0
+
+KantoGamefreakHQ1_MapEvents::
+ dw $4000 ; unknown
+
+ db 5 ; warp events
+ warp_event 4, 11, 9, KANTO, wOverworldMapBlocks + 63
+ warp_event 5, 11, 10, KANTO, wOverworldMapBlocks + 63
+ warp_event 7, 1, 2, KANTO_GAMEFREAK_HQ_2, wOverworldMapBlocks + 14
+ warp_event 2, 1, 3, KANTO_GAMEFREAK_HQ_2, wOverworldMapBlocks + 12
+ warp_event 4, 0, 30, KANTO, wOverworldMapBlocks + 13
+
+ db 0 ; bg events
+
+ db 4 ; person events
+ object_event 1, 5, SPRITE_GRANNY, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 5, SPRITE_SIDON, FACE_RIGHT, 0, 1, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 0, 8, SPRITE_PIPPI, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 7, SPRITE_POPPO, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoGamefreakHQ1_Blocks:: INCBIN "maps/blk/KantoGamefreakHQ1.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoGamefreakHQ2.asm b/data/maps/attributes/KantoGamefreakHQ2.asm
new file mode 100644
index 0000000..8b16113
--- /dev/null
+++ b/data/maps/attributes/KantoGamefreakHQ2.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoGamefreakHQ2.asm", ROMX
+ map_attributes KantoGamefreakHQ2, KANTO_GAMEFREAK_HQ_2, 0
+
+KantoGamefreakHQ2_MapEvents::
+ dw $4000 ; unknown
+
+ db 4 ; warp events
+ warp_event 6, 1, 1, KANTO_GAMEFREAK_HQ_3, wOverworldMapBlocks + 14
+ warp_event 7, 1, 3, KANTO_GAMEFREAK_HQ_1, wOverworldMapBlocks + 14
+ warp_event 2, 1, 4, KANTO_GAMEFREAK_HQ_1, wOverworldMapBlocks + 12
+ warp_event 4, 1, 4, KANTO_GAMEFREAK_HQ_3, wOverworldMapBlocks + 13
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 2, 4, SPRITE_CLERK, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoGamefreakHQ2_Blocks:: INCBIN "maps/blk/KantoGamefreakHQ2.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoGamefreakHQ3.asm b/data/maps/attributes/KantoGamefreakHQ3.asm
new file mode 100644
index 0000000..01930b4
--- /dev/null
+++ b/data/maps/attributes/KantoGamefreakHQ3.asm
@@ -0,0 +1,22 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoGamefreakHQ3.asm", ROMX
+ map_attributes KantoGamefreakHQ3, KANTO_GAMEFREAK_HQ_3, 0
+
+KantoGamefreakHQ3_MapEvents::
+ dw $4000 ; unknown
+
+ db 4 ; warp events
+ warp_event 6, 1, 1, KANTO_GAMEFREAK_HQ_2, wOverworldMapBlocks + 14
+ warp_event 7, 1, 2, KANTO_GAMEFREAK_HQ_4, wOverworldMapBlocks + 14
+ warp_event 2, 1, 3, KANTO_GAMEFREAK_HQ_4, wOverworldMapBlocks + 12
+ warp_event 4, 1, 4, KANTO_GAMEFREAK_HQ_2, wOverworldMapBlocks + 13
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 0, 5, SPRITE_GYM_GUY, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 0, 7, SPRITE_BURGLAR, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 7, SPRITE_FISHER, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoGamefreakHQ3_Blocks:: INCBIN "maps/blk/KantoGamefreakHQ3.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoGamefreakHQ4.asm b/data/maps/attributes/KantoGamefreakHQ4.asm
new file mode 100644
index 0000000..a3ad778
--- /dev/null
+++ b/data/maps/attributes/KantoGamefreakHQ4.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoGamefreakHQ4.asm", ROMX
+ map_attributes KantoGamefreakHQ4, KANTO_GAMEFREAK_HQ_4, 0
+
+KantoGamefreakHQ4_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 2, 7, 1, KANTO_GAMEFREAK_HQ_5, wOverworldMapBlocks + 42
+ warp_event 6, 1, 2, KANTO_GAMEFREAK_HQ_3, wOverworldMapBlocks + 14
+ warp_event 2, 1, 3, KANTO_GAMEFREAK_HQ_3, wOverworldMapBlocks + 12
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+KantoGamefreakHQ4_Blocks:: INCBIN "maps/blk/KantoGamefreakHQ4.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoGamefreakHQ5.asm b/data/maps/attributes/KantoGamefreakHQ5.asm
new file mode 100644
index 0000000..bbf0bb5
--- /dev/null
+++ b/data/maps/attributes/KantoGamefreakHQ5.asm
@@ -0,0 +1,17 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoGamefreakHQ5.asm", ROMX
+ map_attributes KantoGamefreakHQ5, KANTO_GAMEFREAK_HQ_5, 0
+
+KantoGamefreakHQ5_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 3, 7, 1, KANTO_GAMEFREAK_HQ_4, wOverworldMapBlocks + 42
+ warp_event 4, 7, 1, KANTO_GAMEFREAK_HQ_4, wOverworldMapBlocks + 43
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+KantoGamefreakHQ5_Blocks:: INCBIN "maps/blk/KantoGamefreakHQ5.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoGreensHouse1F.asm b/data/maps/attributes/KantoGreensHouse1F.asm
new file mode 100644
index 0000000..b76fdae
--- /dev/null
+++ b/data/maps/attributes/KantoGreensHouse1F.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoGreensHouse1F.asm", ROMX
+ map_attributes KantoGreensHouse1F, KANTO_GREENS_HOUSE_1F, 0
+
+KantoGreensHouse1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 2, 7, 22, KANTO, wOverworldMapBlocks + 42
+ warp_event 3, 7, 22, KANTO, wOverworldMapBlocks + 42
+ warp_event 7, 1, 1, KANTO_GREENS_HOUSE_2F, wOverworldMapBlocks + 14
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 5, 3, SPRITE_0F, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoGreensHouse1F_Blocks:: INCBIN "maps/blk/KantoGreensHouse1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoGreensHouse2F.asm b/data/maps/attributes/KantoGreensHouse2F.asm
new file mode 100644
index 0000000..8f11c6c
--- /dev/null
+++ b/data/maps/attributes/KantoGreensHouse2F.asm
@@ -0,0 +1,16 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoGreensHouse2F.asm", ROMX
+ map_attributes KantoGreensHouse2F, KANTO_GREENS_HOUSE_2F, 0
+
+KantoGreensHouse2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 7, 1, 3, KANTO_GREENS_HOUSE_1F, wOverworldMapBlocks + 14
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+KantoGreensHouse2F_Blocks:: INCBIN "maps/blk/KantoGreensHouse2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoHospital.asm b/data/maps/attributes/KantoHospital.asm
new file mode 100644
index 0000000..930e155
--- /dev/null
+++ b/data/maps/attributes/KantoHospital.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoHospital.asm", ROMX
+ map_attributes KantoHospital, KANTO_HOSPITAL, 0
+
+KantoHospital_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 1, 7, 19, KANTO, wOverworldMapBlocks + 57
+ warp_event 2, 7, 19, KANTO, wOverworldMapBlocks + 58
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 5, 1, SPRITE_NURSE, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 6, SPRITE_ROCKER, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 12, 6, SPRITE_GIRL, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoHospital_Blocks:: INCBIN "maps/blk/KantoHospital.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoLavenderHouse.asm b/data/maps/attributes/KantoLavenderHouse.asm
new file mode 100644
index 0000000..d5c8b2b
--- /dev/null
+++ b/data/maps/attributes/KantoLavenderHouse.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoLavenderHouse.asm", ROMX
+ map_attributes KantoLavenderHouse, KANTO_LAVENDER_HOUSE, 0
+
+KantoLavenderHouse_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 5, KANTO, wOverworldMapBlocks + 47
+ warp_event 5, 7, 5, KANTO, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 2 ; person events
+ object_event 7, 3, SPRITE_POKEFAN_M, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 1, 5, SPRITE_POKEFAN_F, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoLavenderHouse_Blocks:: INCBIN "maps/blk/KantoLavenderHouse.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoLeague1F.asm b/data/maps/attributes/KantoLeague1F.asm
new file mode 100644
index 0000000..d9609ae
--- /dev/null
+++ b/data/maps/attributes/KantoLeague1F.asm
@@ -0,0 +1,23 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoLeague1F.asm", ROMX
+ map_attributes KantoLeague1F, KANTO_LEAGUE_1F, 0
+
+KantoLeague1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 3, 15, 3, KANTO, wOverworldMapBlocks + 82
+ warp_event 4, 15, 4, KANTO, wOverworldMapBlocks + 83
+ warp_event 7, 1, 1, KANTO_LEAGUE_2F, wOverworldMapBlocks + 14
+
+ db 0 ; bg events
+
+ db 5 ; person events
+ object_event 2, 5, SPRITE_YOUNGSTER, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 7, SPRITE_LASS, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 9, SPRITE_BUG_CATCHER_BOY, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 1, SPRITE_24, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 6, SPRITE_COOLTRAINER_F, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoLeague1F_Blocks:: INCBIN "maps/blk/KantoLeague1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoLeague21F.asm b/data/maps/attributes/KantoLeague21F.asm
new file mode 100644
index 0000000..20188bd
--- /dev/null
+++ b/data/maps/attributes/KantoLeague21F.asm
@@ -0,0 +1,23 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoLeague21F.asm", ROMX
+ map_attributes KantoLeague21F, KANTO_LEAGUE_2_1F, 0
+
+KantoLeague21F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 3, 15, 26, KANTO, wOverworldMapBlocks + 82
+ warp_event 4, 15, 27, KANTO, wOverworldMapBlocks + 83
+ warp_event 7, 1, 1, KANTO_LEAGUE_2_2F, wOverworldMapBlocks + 14
+
+ db 0 ; bg events
+
+ db 5 ; person events
+ object_event 2, 5, SPRITE_YOUNGSTER, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 7, SPRITE_LASS, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 9, SPRITE_BUG_CATCHER_BOY, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 1, SPRITE_24, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 6, SPRITE_COOLTRAINER_F, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoLeague21F_Blocks:: INCBIN "maps/blk/KantoLeague21F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoLeague22F.asm b/data/maps/attributes/KantoLeague22F.asm
new file mode 100644
index 0000000..6885a5f
--- /dev/null
+++ b/data/maps/attributes/KantoLeague22F.asm
@@ -0,0 +1,21 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoLeague22F.asm", ROMX
+ map_attributes KantoLeague22F, KANTO_LEAGUE_2_2F, 0
+
+KantoLeague22F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 7, 15, 3, KANTO_LEAGUE_2_1F, wOverworldMapBlocks + 92
+
+ db 0 ; bg events
+
+ db 5 ; person events
+ object_event 4, 7, SPRITE_POKEFAN_M, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 1, SPRITE_24, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 0, 6, SPRITE_COOLTRAINER_F, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 6, SPRITE_24, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 5, 1, SPRITE_COOLTRAINER_F, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoLeague22F_Blocks:: INCBIN "maps/blk/KantoLeague22F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoLeague2F.asm b/data/maps/attributes/KantoLeague2F.asm
new file mode 100644
index 0000000..7595cd1
--- /dev/null
+++ b/data/maps/attributes/KantoLeague2F.asm
@@ -0,0 +1,21 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoLeague2F.asm", ROMX
+ map_attributes KantoLeague2F, KANTO_LEAGUE_2F, 0
+
+KantoLeague2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 7, 15, 3, KANTO_LEAGUE_1F, wOverworldMapBlocks + 92
+
+ db 0 ; bg events
+
+ db 5 ; person events
+ object_event 4, 7, SPRITE_RED, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 1, SPRITE_24, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 0, 6, SPRITE_COOLTRAINER_F, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 6, SPRITE_24, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 5, 1, SPRITE_COOLTRAINER_F, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoLeague2F_Blocks:: INCBIN "maps/blk/KantoLeague2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoMart.asm b/data/maps/attributes/KantoMart.asm
new file mode 100644
index 0000000..41625af
--- /dev/null
+++ b/data/maps/attributes/KantoMart.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoMart.asm", ROMX
+ map_attributes KantoMart, KANTO_MART, 0
+
+KantoMart_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 8, KANTO, wOverworldMapBlocks + 59
+ warp_event 5, 7, 8, KANTO, wOverworldMapBlocks + 59
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 1, 3, SPRITE_CLERK, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 5, SPRITE_TWIN, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 1, SPRITE_GRAMPS, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoMart_Blocks:: INCBIN "maps/blk/KantoMart.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoOaksLab.asm b/data/maps/attributes/KantoOaksLab.asm
new file mode 100644
index 0000000..dc3186f
--- /dev/null
+++ b/data/maps/attributes/KantoOaksLab.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoOaksLab.asm", ROMX
+ map_attributes KantoOaksLab, KANTO_OAKS_LAB, 0
+
+KantoOaksLab_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 3, 7, 24, KANTO, wOverworldMapBlocks + 42
+ warp_event 4, 7, 25, KANTO, wOverworldMapBlocks + 43
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 3, 2, SPRITE_NANAMI, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoOaksLab_Blocks:: INCBIN "maps/blk/KantoOaksLab.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoPokecenter1F.asm b/data/maps/attributes/KantoPokecenter1F.asm
new file mode 100644
index 0000000..8d87dd9
--- /dev/null
+++ b/data/maps/attributes/KantoPokecenter1F.asm
@@ -0,0 +1,22 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoPokecenter1F.asm", ROMX
+ map_attributes KantoPokecenter1F, KANTO_POKECENTER_1F, 0
+
+KantoPokecenter1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 5, 7, 2, KANTO, wOverworldMapBlocks + 59
+ warp_event 6, 7, 2, KANTO, wOverworldMapBlocks + 60
+ warp_event 0, 7, 1, KANTO_POKECENTER_2F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 4 ; person events
+ object_event 5, 1, SPRITE_NURSE, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 6, SPRITE_YOUNGSTER, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 5, SPRITE_24, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 1, SPRITE_GRANNY, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoPokecenter1F_Blocks:: INCBIN "maps/blk/KantoPokecenter1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoPokecenter21F.asm b/data/maps/attributes/KantoPokecenter21F.asm
new file mode 100644
index 0000000..03c8fde
--- /dev/null
+++ b/data/maps/attributes/KantoPokecenter21F.asm
@@ -0,0 +1,22 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoPokecenter21F.asm", ROMX
+ map_attributes KantoPokecenter21F, KANTO_POKECENTER_2_1F, 0
+
+KantoPokecenter21F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 5, 7, 20, KANTO, wOverworldMapBlocks + 59
+ warp_event 6, 7, 20, KANTO, wOverworldMapBlocks + 60
+ warp_event 0, 7, 1, KANTO_POKECENTER_2_2F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 4 ; person events
+ object_event 5, 1, SPRITE_NURSE, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 6, SPRITE_GENTLEMAN, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 5, SPRITE_24, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 1, SPRITE_YOUNGSTER, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoPokecenter21F_Blocks:: INCBIN "maps/blk/KantoPokecenter21F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoPokecenter22F.asm b/data/maps/attributes/KantoPokecenter22F.asm
new file mode 100644
index 0000000..e1b92ca
--- /dev/null
+++ b/data/maps/attributes/KantoPokecenter22F.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoPokecenter22F.asm", ROMX
+ map_attributes KantoPokecenter22F, KANTO_POKECENTER_2_2F, 0
+
+KantoPokecenter22F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 0, 7, 3, KANTO_POKECENTER_2_1F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 5, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 7, SPRITE_FISHING_GURU, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoPokecenter22F_Blocks:: INCBIN "maps/blk/KantoPokecenter22F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoPokecenter2F.asm b/data/maps/attributes/KantoPokecenter2F.asm
new file mode 100644
index 0000000..9b9fba8
--- /dev/null
+++ b/data/maps/attributes/KantoPokecenter2F.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoPokecenter2F.asm", ROMX
+ map_attributes KantoPokecenter2F, KANTO_POKECENTER_2F, 0
+
+KantoPokecenter2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 0, 7, 3, KANTO_POKECENTER_1F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 5, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 7, SPRITE_FISHING_GURU, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoPokecenter2F_Blocks:: INCBIN "maps/blk/KantoPokecenter2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoRedsHouse.asm b/data/maps/attributes/KantoRedsHouse.asm
new file mode 100644
index 0000000..fdc1fd3
--- /dev/null
+++ b/data/maps/attributes/KantoRedsHouse.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoRedsHouse.asm", ROMX
+ map_attributes KantoRedsHouse, KANTO_REDS_HOUSE, 0
+
+KantoRedsHouse_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 21, KANTO, wOverworldMapBlocks + 47
+ warp_event 5, 7, 21, KANTO, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 2 ; person events
+ object_event 7, 3, SPRITE_SUPER_NERD, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 1, 5, SPRITE_TEACHER, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoRedsHouse_Blocks:: INCBIN "maps/blk/KantoRedsHouse.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoSchool.asm b/data/maps/attributes/KantoSchool.asm
new file mode 100644
index 0000000..812aa4b
--- /dev/null
+++ b/data/maps/attributes/KantoSchool.asm
@@ -0,0 +1,22 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoSchool.asm", ROMX
+ map_attributes KantoSchool, KANTO_SCHOOL, 0
+
+KantoSchool_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 3, 15, 17, KANTO, wOverworldMapBlocks + 82
+ warp_event 4, 15, 18, KANTO, wOverworldMapBlocks + 83
+
+ db 0 ; bg events
+
+ db 5 ; person events
+ object_event 2, 5, SPRITE_YOUNGSTER, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 7, SPRITE_LASS, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 9, SPRITE_BUG_CATCHER_BOY, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 1, SPRITE_24, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 6, SPRITE_COOLTRAINER_F, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoSchool_Blocks:: INCBIN "maps/blk/KantoSchool.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoSilphCo.asm b/data/maps/attributes/KantoSilphCo.asm
new file mode 100644
index 0000000..96fa055
--- /dev/null
+++ b/data/maps/attributes/KantoSilphCo.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoSilphCo.asm", ROMX
+ map_attributes KantoSilphCo, KANTO_SILPH_CO, 0
+
+KantoSilphCo_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 6, 15, 11, KANTO, wOverworldMapBlocks + 148
+ warp_event 7, 15, 12, KANTO, wOverworldMapBlocks + 148
+
+ db 0 ; bg events
+
+ db 2 ; person events
+ object_event 2, 2, SPRITE_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 22, 1, SPRITE_OFFICER, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoSilphCo_Blocks:: INCBIN "maps/blk/KantoSilphCo.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoUnusedArea.asm b/data/maps/attributes/KantoUnusedArea.asm
new file mode 100644
index 0000000..2177ebf
--- /dev/null
+++ b/data/maps/attributes/KantoUnusedArea.asm
@@ -0,0 +1,15 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoUnusedArea.asm", ROMX
+ map_attributes KantoUnusedArea, KANTO_UNUSED_AREA, 0
+
+KantoUnusedArea_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+KantoUnusedArea_Blocks:: INCBIN "maps/blk/KantoUnusedArea.blk" \ No newline at end of file
diff --git a/data/maps/attributes/KantoViridianHouse.asm b/data/maps/attributes/KantoViridianHouse.asm
new file mode 100644
index 0000000..42f4d88
--- /dev/null
+++ b/data/maps/attributes/KantoViridianHouse.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/KantoViridianHouse.asm", ROMX
+ map_attributes KantoViridianHouse, KANTO_VIRIDIAN_HOUSE, 0
+
+KantoViridianHouse_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 13, KANTO, wOverworldMapBlocks + 47
+ warp_event 5, 7, 13, KANTO, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 2 ; person events
+ object_event 7, 3, SPRITE_BUG_CATCHER_BOY, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 1, 5, SPRITE_TWIN, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+KantoViridianHouse_Blocks:: INCBIN "maps/blk/KantoViridianHouse.blk" \ No newline at end of file
diff --git a/data/maps/attributes/MtFuji.asm b/data/maps/attributes/MtFuji.asm
new file mode 100644
index 0000000..46f1ced
--- /dev/null
+++ b/data/maps/attributes/MtFuji.asm
@@ -0,0 +1,16 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/MtFuji.asm", ROMX
+ map_attributes MtFuji, MT_FUJI, SOUTH
+ connection south, MtFujiRoute, MT_FUJI_ROUTE, 0, 0, 10
+
+MtFuji_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+MtFuji_Blocks:: INCBIN "maps/blk/MtFuji.blk" \ No newline at end of file
diff --git a/data/maps/attributes/MtFujiRoute.asm b/data/maps/attributes/MtFujiRoute.asm
new file mode 100644
index 0000000..9bd12cf
--- /dev/null
+++ b/data/maps/attributes/MtFujiRoute.asm
@@ -0,0 +1,17 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/MtFujiRoute.asm", ROMX
+ map_attributes MtFujiRoute, MT_FUJI_ROUTE, NORTH | SOUTH
+ connection north, MtFuji, MT_FUJI, 0, 0, 10
+ connection south, Prince, PRINCE, 0, 0, 10
+
+MtFujiRoute_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+MtFujiRoute_Blocks:: INCBIN "maps/blk/MtFujiRoute.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Newtype.asm b/data/maps/attributes/Newtype.asm
new file mode 100644
index 0000000..c676dea
--- /dev/null
+++ b/data/maps/attributes/Newtype.asm
@@ -0,0 +1,40 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Newtype.asm", ROMX
+ map_attributes Newtype, NEWTYPE, NORTH | WEST | EAST
+ connection north, SugarRoute, SUGAR_ROUTE, 5, 0, 10
+ connection west, Route15, ROUTE_15, 0, 0, 9
+ connection east, NewtypeRoute, NEWTYPE_ROUTE, 9, 0, 9
+
+Newtype_MapEvents::
+ dw $4000 ; unknown
+
+ db 13 ; warp events
+ warp_event 7, 8, 1, NEWTYPE_POKECENTER_1F, wOverworldMapBlocks + 134
+ warp_event 30, 9, 1, NEWTYPE_LEAGUE_1F, wOverworldMapBlocks + 146
+ warp_event 31, 9, 2, NEWTYPE_LEAGUE_1F, wOverworldMapBlocks + 146
+ warp_event 23, 13, 1, NEWTYPE_SAILOR_HOUSE, wOverworldMapBlocks + 194
+ warp_event 7, 14, 1, NEWTYPE_MART, wOverworldMapBlocks + 212
+ warp_event 33, 15, 1, NEWTYPE_DOJO, wOverworldMapBlocks + 225
+ warp_event 34, 15, 2, NEWTYPE_DOJO, wOverworldMapBlocks + 226
+ warp_event 23, 22, 1, NEWTYPE_HOUSE_1, wOverworldMapBlocks + 324
+ warp_event 5, 23, 1, NEWTYPE_DINER, wOverworldMapBlocks + 315
+ warp_event 11, 28, 1, NEWTYPE_HOUSE_2, wOverworldMapBlocks + 396
+ warp_event 35, 30, 1, NEWTYPE_HOUSE_3, wOverworldMapBlocks + 434
+ warp_event 18, 5, 1, SUGAR_ROUTE_GATE, wOverworldMapBlocks + 88
+ warp_event 19, 5, 2, SUGAR_ROUTE_GATE, wOverworldMapBlocks + 88
+
+ db 5 ; bg events
+ bg_event 0, 8, 0, 1
+ bg_event 8, 8, 0, 2
+ bg_event 8, 14, 0, 3
+ bg_event 30, 15, 0, 4
+ bg_event 30, 21, 0, 5
+
+ db 4 ; person events
+ object_event 5, 10, SPRITE_SILVER, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 24, 26, SPRITE_FISHER, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 24, 9, SPRITE_ROCKER, FACE_UP, 2, 1, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 30, SPRITE_GIRL, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+Newtype_Blocks:: INCBIN "maps/blk/Newtype.blk" \ No newline at end of file
diff --git a/data/maps/attributes/NewtypeDiner.asm b/data/maps/attributes/NewtypeDiner.asm
new file mode 100644
index 0000000..e882458
--- /dev/null
+++ b/data/maps/attributes/NewtypeDiner.asm
@@ -0,0 +1,21 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/NewtypeDiner.asm", ROMX
+ map_attributes NewtypeDiner, NEWTYPE_DINER, 0
+
+NewtypeDiner_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 2, 7, 9, NEWTYPE, wOverworldMapBlocks + 42
+ warp_event 3, 7, 9, NEWTYPE, wOverworldMapBlocks + 42
+
+ db 0 ; bg events
+
+ db 4 ; person events
+ object_event 2, 1, SPRITE_CLERK, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 1, 3, SPRITE_GIRL, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 5, 3, SPRITE_SAILOR, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 5, 1, SPRITE_TEACHER, SLOW_STEP_DOWN, 1, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+NewtypeDiner_Blocks:: INCBIN "maps/blk/NewtypeDiner.blk" \ No newline at end of file
diff --git a/data/maps/attributes/NewtypeDojo.asm b/data/maps/attributes/NewtypeDojo.asm
new file mode 100644
index 0000000..cd0a93e
--- /dev/null
+++ b/data/maps/attributes/NewtypeDojo.asm
@@ -0,0 +1,22 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/NewtypeDojo.asm", ROMX
+ map_attributes NewtypeDojo, NEWTYPE_DOJO, 0
+
+NewtypeDojo_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 3, 15, 6, NEWTYPE, wOverworldMapBlocks + 82
+ warp_event 4, 15, 7, NEWTYPE, wOverworldMapBlocks + 83
+
+ db 0 ; bg events
+
+ db 5 ; person events
+ object_event 3, 2, SPRITE_BLACKBELT, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 6, SPRITE_BLACKBELT, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 5, 6, SPRITE_BLACKBELT, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 10, SPRITE_BLACKBELT, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 10, SPRITE_BLACKBELT, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+NewtypeDojo_Blocks:: INCBIN "maps/blk/NewtypeDojo.blk" \ No newline at end of file
diff --git a/data/maps/attributes/NewtypeHouse1.asm b/data/maps/attributes/NewtypeHouse1.asm
new file mode 100644
index 0000000..64e95c7
--- /dev/null
+++ b/data/maps/attributes/NewtypeHouse1.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/NewtypeHouse1.asm", ROMX
+ map_attributes NewtypeHouse1, NEWTYPE_HOUSE_1, 0
+
+NewtypeHouse1_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 8, NEWTYPE, wOverworldMapBlocks + 47
+ warp_event 5, 7, 8, NEWTYPE, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 7, 3, SPRITE_BUG_CATCHER_BOY, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+NewtypeHouse1_Blocks:: INCBIN "maps/blk/NewtypeHouse1.blk" \ No newline at end of file
diff --git a/data/maps/attributes/NewtypeHouse2.asm b/data/maps/attributes/NewtypeHouse2.asm
new file mode 100644
index 0000000..86ba8b2
--- /dev/null
+++ b/data/maps/attributes/NewtypeHouse2.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/NewtypeHouse2.asm", ROMX
+ map_attributes NewtypeHouse2, NEWTYPE_HOUSE_2, 0
+
+NewtypeHouse2_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 10, NEWTYPE, wOverworldMapBlocks + 47
+ warp_event 5, 7, 10, NEWTYPE, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 4, 3, SPRITE_GENTLEMAN, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+NewtypeHouse2_Blocks:: INCBIN "maps/blk/NewtypeHouse2.blk" \ No newline at end of file
diff --git a/data/maps/attributes/NewtypeHouse3.asm b/data/maps/attributes/NewtypeHouse3.asm
new file mode 100644
index 0000000..3cad74d
--- /dev/null
+++ b/data/maps/attributes/NewtypeHouse3.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/NewtypeHouse3.asm", ROMX
+ map_attributes NewtypeHouse3, NEWTYPE_HOUSE_3, 0
+
+NewtypeHouse3_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 11, NEWTYPE, wOverworldMapBlocks + 47
+ warp_event 5, 7, 11, NEWTYPE, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 4, 3, SPRITE_GRAMPS, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+NewtypeHouse3_Blocks:: INCBIN "maps/blk/NewtypeHouse3.blk" \ No newline at end of file
diff --git a/data/maps/attributes/NewtypeLeague1F.asm b/data/maps/attributes/NewtypeLeague1F.asm
new file mode 100644
index 0000000..d953bfa
--- /dev/null
+++ b/data/maps/attributes/NewtypeLeague1F.asm
@@ -0,0 +1,23 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/NewtypeLeague1F.asm", ROMX
+ map_attributes NewtypeLeague1F, NEWTYPE_LEAGUE_1F, 0
+
+NewtypeLeague1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 3, 15, 2, NEWTYPE, wOverworldMapBlocks + 82
+ warp_event 4, 15, 3, NEWTYPE, wOverworldMapBlocks + 83
+ warp_event 7, 1, 1, NEWTYPE_LEAGUE_2F, wOverworldMapBlocks + 14
+
+ db 0 ; bg events
+
+ db 5 ; person events
+ object_event 2, 5, SPRITE_YOUNGSTER, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 7, SPRITE_LASS, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 9, SPRITE_BUG_CATCHER_BOY, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 1, SPRITE_24, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 6, SPRITE_COOLTRAINER_F, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+
+NewtypeLeague1F_Blocks:: INCBIN "maps/blk/NewtypeLeague1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/NewtypeLeague2F.asm b/data/maps/attributes/NewtypeLeague2F.asm
new file mode 100644
index 0000000..34b9d80
--- /dev/null
+++ b/data/maps/attributes/NewtypeLeague2F.asm
@@ -0,0 +1,21 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/NewtypeLeague2F.asm", ROMX
+ map_attributes NewtypeLeague2F, NEWTYPE_LEAGUE_2F, 0
+
+NewtypeLeague2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 7, 15, 3, NEWTYPE_LEAGUE_1F, wOverworldMapBlocks + 92
+
+ db 0 ; bg events
+
+ db 5 ; person events
+ object_event 5, 5, SPRITE_YOUNGSTER, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 0, 0, SPRITE_24, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 0, SPRITE_COOLTRAINER_F, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 0, 11, SPRITE_24, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 11, SPRITE_COOLTRAINER_F, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+NewtypeLeague2F_Blocks:: INCBIN "maps/blk/NewtypeLeague2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/NewtypeMart.asm b/data/maps/attributes/NewtypeMart.asm
new file mode 100644
index 0000000..8bd8153
--- /dev/null
+++ b/data/maps/attributes/NewtypeMart.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/NewtypeMart.asm", ROMX
+ map_attributes NewtypeMart, NEWTYPE_MART, 0
+
+NewtypeMart_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 5, NEWTYPE, wOverworldMapBlocks + 59
+ warp_event 5, 7, 5, NEWTYPE, wOverworldMapBlocks + 59
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 1, 3, SPRITE_CLERK, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 5, SPRITE_POKEFAN_F, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 1, SPRITE_POKEFAN_M, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+NewtypeMart_Blocks:: INCBIN "maps/blk/NewtypeMart.blk" \ No newline at end of file
diff --git a/data/maps/attributes/NewtypePokecenter1F.asm b/data/maps/attributes/NewtypePokecenter1F.asm
new file mode 100644
index 0000000..91534b1
--- /dev/null
+++ b/data/maps/attributes/NewtypePokecenter1F.asm
@@ -0,0 +1,22 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/NewtypePokecenter1F.asm", ROMX
+ map_attributes NewtypePokecenter1F, NEWTYPE_POKECENTER_1F, 0
+
+NewtypePokecenter1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 5, 7, 1, NEWTYPE, wOverworldMapBlocks + 59
+ warp_event 6, 7, 1, NEWTYPE, wOverworldMapBlocks + 60
+ warp_event 0, 7, 1, NEWTYPE_POKECENTER_2F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 4 ; person events
+ object_event 5, 1, SPRITE_NURSE, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 6, SPRITE_GENTLEMAN, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 5, SPRITE_COOLTRAINER_F, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 1, SPRITE_LASS, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+NewtypePokecenter1F_Blocks:: INCBIN "maps/blk/NewtypePokecenter1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/NewtypePokecenter2F.asm b/data/maps/attributes/NewtypePokecenter2F.asm
new file mode 100644
index 0000000..30ac3db
--- /dev/null
+++ b/data/maps/attributes/NewtypePokecenter2F.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/NewtypePokecenter2F.asm", ROMX
+ map_attributes NewtypePokecenter2F, NEWTYPE_POKECENTER_2F, 0
+
+NewtypePokecenter2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 0, 7, 3, NEWTYPE_POKECENTER_1F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 5, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 7, SPRITE_FISHING_GURU, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+NewtypePokecenter2F_Blocks:: INCBIN "maps/blk/NewtypePokecenter2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/NewtypeRoute.asm b/data/maps/attributes/NewtypeRoute.asm
new file mode 100644
index 0000000..13742e7
--- /dev/null
+++ b/data/maps/attributes/NewtypeRoute.asm
@@ -0,0 +1,17 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/NewtypeRoute.asm", ROMX
+ map_attributes NewtypeRoute, NEWTYPE_ROUTE, WEST | EAST
+ connection west, Newtype, NEWTYPE, -3, 6, 12
+ connection east, Route18, ROUTE_18, -3, 33, 12
+
+NewtypeRoute_MapEvents::
+ dw $4000 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+NewtypeRoute_Blocks:: INCBIN "maps/blk/NewtypeRoute.blk" \ No newline at end of file
diff --git a/data/maps/attributes/NewtypeRouteGate.asm b/data/maps/attributes/NewtypeRouteGate.asm
new file mode 100644
index 0000000..04c1bd6
--- /dev/null
+++ b/data/maps/attributes/NewtypeRouteGate.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/NewtypeRouteGate.asm", ROMX
+ map_attributes NewtypeRouteGate, NEWTYPE_ROUTE_GATE, 0
+
+NewtypeRouteGate_MapEvents::
+ dw $4000 ; unknown
+
+ db 4 ; warp events
+ warp_event 4, 7, 1, ROUTE_18, wOverworldMapBlocks + 47
+ warp_event 5, 7, 2, ROUTE_18, wOverworldMapBlocks + 47
+ warp_event 4, 0, 1, BULL_FOREST_ROUTE_1, wOverworldMapBlocks + 14
+ warp_event 5, 0, 2, BULL_FOREST_ROUTE_1, wOverworldMapBlocks + 14
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+NewtypeRouteGate_Blocks:: INCBIN "maps/blk/NewtypeRouteGate.blk" \ No newline at end of file
diff --git a/data/maps/attributes/NewtypeSailorHouse.asm b/data/maps/attributes/NewtypeSailorHouse.asm
new file mode 100644
index 0000000..7440a21
--- /dev/null
+++ b/data/maps/attributes/NewtypeSailorHouse.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/NewtypeSailorHouse.asm", ROMX
+ map_attributes NewtypeSailorHouse, NEWTYPE_SAILOR_HOUSE, 0
+
+NewtypeSailorHouse_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 4, NEWTYPE, wOverworldMapBlocks + 47
+ warp_event 5, 7, 4, NEWTYPE, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 6, 3, SPRITE_47, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+NewtypeSailorHouse_Blocks:: INCBIN "maps/blk/NewtypeSailorHouse.blk" \ No newline at end of file
diff --git a/data/maps/attributes/North.asm b/data/maps/attributes/North.asm
new file mode 100644
index 0000000..05c5baf
--- /dev/null
+++ b/data/maps/attributes/North.asm
@@ -0,0 +1,27 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/North.asm", ROMX
+ map_attributes North, NORTH, SOUTH
+ connection south, BullForestRoute3, BULL_FOREST_ROUTE_3, 0, 0, 10
+
+North_MapEvents::
+ dw $4000 ; unknown
+
+ db 4 ; warp events
+ warp_event 5, 5, 1, NORTH_HOUSE_1, wOverworldMapBlocks + 51
+ warp_event 15, 6, 1, NORTH_MART, wOverworldMapBlocks + 72
+ warp_event 5, 9, 1, NORTH_HOUSE_2, wOverworldMapBlocks + 83
+ warp_event 13, 10, 1, NORTH_POKECENTER_1F, wOverworldMapBlocks + 103
+
+ db 4 ; bg events
+ bg_event 12, 4, 0, 1
+ bg_event 16, 6, 0, 2
+ bg_event 14, 10, 0, 3
+ bg_event 8, 12, 0, 4
+
+ db 3 ; person events
+ object_event 9, 6, SPRITE_GRANNY, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 9, SPRITE_BUG_CATCHER_BOY, SLOW_STEP_DOWN, 1, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 9, SPRITE_TWIN, SLOW_STEP_DOWN, 1, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+North_Blocks:: INCBIN "maps/blk/North.blk" \ No newline at end of file
diff --git a/data/maps/attributes/NorthHouse1.asm b/data/maps/attributes/NorthHouse1.asm
new file mode 100644
index 0000000..d2fdd9a
--- /dev/null
+++ b/data/maps/attributes/NorthHouse1.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/NorthHouse1.asm", ROMX
+ map_attributes NorthHouse1, NORTH_HOUSE_1, 0
+
+NorthHouse1_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 1, NORTH, wOverworldMapBlocks + 47
+ warp_event 5, 7, 1, NORTH, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 2, 3, SPRITE_TWIN, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+NorthHouse1_Blocks:: INCBIN "maps/blk/NorthHouse1.blk" \ No newline at end of file
diff --git a/data/maps/attributes/NorthHouse2.asm b/data/maps/attributes/NorthHouse2.asm
new file mode 100644
index 0000000..248426a
--- /dev/null
+++ b/data/maps/attributes/NorthHouse2.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/NorthHouse2.asm", ROMX
+ map_attributes NorthHouse2, NORTH_HOUSE_2, 0
+
+NorthHouse2_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 3, NORTH, wOverworldMapBlocks + 47
+ warp_event 5, 7, 3, NORTH, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 2, 3, SPRITE_TWIN, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+NorthHouse2_Blocks:: INCBIN "maps/blk/NorthHouse2.blk" \ No newline at end of file
diff --git a/data/maps/attributes/NorthMart.asm b/data/maps/attributes/NorthMart.asm
new file mode 100644
index 0000000..2fe94de
--- /dev/null
+++ b/data/maps/attributes/NorthMart.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/NorthMart.asm", ROMX
+ map_attributes NorthMart, NORTH_MART, 0
+
+NorthMart_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 2, NORTH, wOverworldMapBlocks + 51
+ warp_event 5, 7, 2, NORTH, wOverworldMapBlocks + 51
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 1, 3, SPRITE_CLERK, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 5, SPRITE_GIRL, FACE_RIGHT, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 1, SPRITE_POKEFAN_M, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+NorthMart_Blocks:: INCBIN "maps/blk/NorthMart.blk" \ No newline at end of file
diff --git a/data/maps/attributes/NorthPokecenter1F.asm b/data/maps/attributes/NorthPokecenter1F.asm
new file mode 100644
index 0000000..332755f
--- /dev/null
+++ b/data/maps/attributes/NorthPokecenter1F.asm
@@ -0,0 +1,22 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/NorthPokecenter1F.asm", ROMX
+ map_attributes NorthPokecenter1F, NORTH_POKECENTER_1F, 0
+
+NorthPokecenter1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 5, 7, 4, NORTH, wOverworldMapBlocks + 59
+ warp_event 6, 7, 4, NORTH, wOverworldMapBlocks + 60
+ warp_event 0, 7, 1, NORTH_POKECENTER_2F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 4 ; person events
+ object_event 5, 1, SPRITE_NURSE, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 6, SPRITE_GENTLEMAN, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 5, SPRITE_24, FACE_RIGHT, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 1, SPRITE_YOUNGSTER, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+NorthPokecenter1F_Blocks:: INCBIN "maps/blk/NorthPokecenter1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/NorthPokecenter2F.asm b/data/maps/attributes/NorthPokecenter2F.asm
new file mode 100644
index 0000000..fbaf171
--- /dev/null
+++ b/data/maps/attributes/NorthPokecenter2F.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/NorthPokecenter2F.asm", ROMX
+ map_attributes NorthPokecenter2F, NORTH_POKECENTER_2F, 0
+
+NorthPokecenter2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 0, 7, 3, NORTH_POKECENTER_1F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 5, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 7, SPRITE_FISHING_GURU, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+NorthPokecenter2F_Blocks:: INCBIN "maps/blk/NorthPokecenter2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Office1.asm b/data/maps/attributes/Office1.asm
new file mode 100644
index 0000000..f0b5c71
--- /dev/null
+++ b/data/maps/attributes/Office1.asm
@@ -0,0 +1,15 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Office1.asm", ROMX
+ map_attributes Office1, OFFICE_1, 0
+
+Office1_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+Office1_Blocks:: INCBIN "maps/blk/Office1.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Office2.asm b/data/maps/attributes/Office2.asm
new file mode 100644
index 0000000..0875e4e
--- /dev/null
+++ b/data/maps/attributes/Office2.asm
@@ -0,0 +1,15 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Office2.asm", ROMX
+ map_attributes Office2, OFFICE_2, 0
+
+Office2_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+Office2_Blocks:: INCBIN "maps/blk/Office2.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Office3.asm b/data/maps/attributes/Office3.asm
new file mode 100644
index 0000000..e19d19a
--- /dev/null
+++ b/data/maps/attributes/Office3.asm
@@ -0,0 +1,15 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Office3.asm", ROMX
+ map_attributes Office3, OFFICE_3, 0
+
+Office3_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+Office3_Blocks:: INCBIN "maps/blk/Office3.blk" \ No newline at end of file
diff --git a/data/maps/attributes/OldCity.asm b/data/maps/attributes/OldCity.asm
new file mode 100644
index 0000000..890498d
--- /dev/null
+++ b/data/maps/attributes/OldCity.asm
@@ -0,0 +1,48 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/OldCity.asm", ROMX
+ map_attributes OldCity, OLD_CITY, SOUTH | WEST
+ connection south, Route1P2, ROUTE_1_P2, 5, 0, 10
+ connection west, Route2, ROUTE_2, 5, 0, 9
+
+OldCity_MapEvents::
+ dw $4000 ; unknown
+
+ db 14 ; warp events
+ warp_event 4, 14, 1, OLD_CITY_MUSEUM, wOverworldMapBlocks + 211
+ warp_event 5, 14, 2, OLD_CITY_MUSEUM, wOverworldMapBlocks + 211
+ warp_event 26, 14, 1, OLD_CITY_GYM, wOverworldMapBlocks + 222
+ warp_event 27, 14, 2, OLD_CITY_GYM, wOverworldMapBlocks + 222
+ warp_event 11, 17, 1, OLD_CITY_TOWER_1F, wOverworldMapBlocks + 240
+ warp_event 12, 17, 2, OLD_CITY_TOWER_1F, wOverworldMapBlocks + 241
+ warp_event 30, 22, 1, OLD_CITY_BILLS_HOUSE, wOverworldMapBlocks + 328
+ warp_event 3, 26, 1, OLD_CITY_MART, wOverworldMapBlocks + 366
+ warp_event 10, 26, 1, OLD_CITY_HOUSE, wOverworldMapBlocks + 370
+ warp_event 27, 28, 1, OLD_CITY_POKECENTER_1F, wOverworldMapBlocks + 404
+ warp_event 3, 31, 1, OLD_CITY_KURTS_HOUSE, wOverworldMapBlocks + 418
+ warp_event 18, 30, 3, ROUTE_1_GATE_1F, wOverworldMapBlocks + 426
+ warp_event 19, 30, 4, ROUTE_1_GATE_1F, wOverworldMapBlocks + 426
+ warp_event 22, 26, 1, OLD_CITY_SCHOOL, wOverworldMapBlocks + 376
+
+ db 12 ; bg events
+ bg_event 8, 14, 0, 1
+ bg_event 8, 16, 0, 2
+ bg_event 28, 16, 0, 3
+ bg_event 20, 22, 0, 4
+ bg_event 26, 22, 0, 5
+ bg_event 8, 26, 0, 6
+ bg_event 28, 28, 0, 7
+ bg_event 20, 29, 0, 8
+ bg_event 4, 32, 0, 9
+ bg_event 30, 22, 0, 10
+ bg_event 4, 14, 0, 11
+ bg_event 5, 14, 0, 11
+
+ db 5 ; person events
+ object_event 8, 30, SPRITE_TWIN, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 20, SPRITE_SUPER_NERD, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 26, SPRITE_BUG_CATCHER_BOY, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 21, SPRITE_BUG_CATCHER_BOY, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 17, 19, SPRITE_POKE_BALL, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+OldCity_Blocks:: INCBIN "maps/blk/OldCity.blk" \ No newline at end of file
diff --git a/data/maps/attributes/OldCityBillsHouse.asm b/data/maps/attributes/OldCityBillsHouse.asm
new file mode 100644
index 0000000..d192703
--- /dev/null
+++ b/data/maps/attributes/OldCityBillsHouse.asm
@@ -0,0 +1,24 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/OldCityBillsHouse.asm", ROMX
+ map_attributes OldCityBillsHouse, OLD_CITY_BILLS_HOUSE, 0
+
+OldCityBillsHouse_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 3, 7, 7, OLD_CITY, wOverworldMapBlocks + 42
+ warp_event 4, 7, 7, OLD_CITY, wOverworldMapBlocks + 43
+
+ db 6 ; bg events
+ bg_event 2, 1, 0, 1
+ bg_event 3, 1, 0, 2
+ bg_event 4, 1, 0, 3
+ bg_event 6, 1, 0, 4
+ bg_event 7, 1, 0, 5
+ bg_event 1, 1, 0, 6
+
+ db 1 ; person events
+ object_event 5, 4, SPRITE_MASAKI, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+OldCityBillsHouse_Blocks:: INCBIN "maps/blk/OldCityBillsHouse.blk" \ No newline at end of file
diff --git a/data/maps/attributes/OldCityGym.asm b/data/maps/attributes/OldCityGym.asm
new file mode 100644
index 0000000..e2f3fd1
--- /dev/null
+++ b/data/maps/attributes/OldCityGym.asm
@@ -0,0 +1,25 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/OldCityGym.asm", ROMX
+ map_attributes OldCityGym, OLD_CITY_GYM, 0
+
+OldCityGym_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 17, 3, OLD_CITY, wOverworldMapBlocks + 102
+ warp_event 5, 17, 4, OLD_CITY, wOverworldMapBlocks + 102
+
+ db 2 ; bg events
+ bg_event 3, 15, 0, 1
+ bg_event 6, 15, 0, 1
+
+ db 6 ; person events
+ object_event 4, 5, SPRITE_HAYATO, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 8, 9, SPRITE_YOUNGSTER, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 1, 0, 0
+ object_event 8, 1, SPRITE_LASS, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 1, 0, 0
+ object_event 1, 1, SPRITE_SUPER_NERD, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 1, 0, 0
+ object_event 1, 9, SPRITE_YOUNGSTER, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 1, 0, 0
+ object_event 7, 15, SPRITE_GYM_GUY, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 1, 0, 0
+
+OldCityGym_Blocks:: INCBIN "maps/blk/OldCityGym.blk" \ No newline at end of file
diff --git a/data/maps/attributes/OldCityHouse.asm b/data/maps/attributes/OldCityHouse.asm
new file mode 100644
index 0000000..b016d31
--- /dev/null
+++ b/data/maps/attributes/OldCityHouse.asm
@@ -0,0 +1,24 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/OldCityHouse.asm", ROMX
+ map_attributes OldCityHouse, OLD_CITY_HOUSE, 0
+
+OldCityHouse_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 3, 7, 9, OLD_CITY, wOverworldMapBlocks + 42
+ warp_event 4, 7, 9, OLD_CITY, wOverworldMapBlocks + 43
+
+ db 4 ; bg events
+ bg_event 0, 1, 0, 1
+ bg_event 1, 1, 0, 2
+ bg_event 2, 1, 0, 3
+ bg_event 7, 1, 0, 4
+
+ db 3 ; person events
+ object_event 2, 3, SPRITE_POKEFAN_M, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 0, 6, SPRITE_LASS, FACE_RIGHT, 0, 1, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 5, 1, SPRITE_YOUNGSTER, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+OldCityHouse_Blocks:: INCBIN "maps/blk/OldCityHouse.blk" \ No newline at end of file
diff --git a/data/maps/attributes/OldCityKurtsHouse.asm b/data/maps/attributes/OldCityKurtsHouse.asm
new file mode 100644
index 0000000..1a58419
--- /dev/null
+++ b/data/maps/attributes/OldCityKurtsHouse.asm
@@ -0,0 +1,23 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/OldCityKurtsHouse.asm", ROMX
+ map_attributes OldCityKurtsHouse, OLD_CITY_KURTS_HOUSE, 0
+
+OldCityKurtsHouse_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 3, 7, 11, OLD_CITY, wOverworldMapBlocks + 58
+ warp_event 4, 7, 11, OLD_CITY, wOverworldMapBlocks + 59
+
+ db 5 ; bg events
+ bg_event 4, 1, 0, 1
+ bg_event 5, 1, 0, 2
+ bg_event 12, 1, 0, 3
+ bg_event 14, 0, 0, 4
+ bg_event 15, 0, 0, 4
+
+ db 1 ; person events
+ object_event 2, 2, SPRITE_GANTETSU, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+OldCityKurtsHouse_Blocks:: INCBIN "maps/blk/OldCityKurtsHouse.blk" \ No newline at end of file
diff --git a/data/maps/attributes/OldCityMart.asm b/data/maps/attributes/OldCityMart.asm
new file mode 100644
index 0000000..4a41e0c
--- /dev/null
+++ b/data/maps/attributes/OldCityMart.asm
@@ -0,0 +1,21 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/OldCityMart.asm", ROMX
+ map_attributes OldCityMart, OLD_CITY_MART, 0
+
+OldCityMart_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 8, OLD_CITY, wOverworldMapBlocks + 51
+ warp_event 5, 7, 8, OLD_CITY, wOverworldMapBlocks + 51
+
+ db 1 ; bg events
+ bg_event 0, 7, 0, 1
+
+ db 3 ; person events
+ object_event 1, 3, SPRITE_CLERK, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 5, SPRITE_YOUNGSTER, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 1, SPRITE_24, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+OldCityMart_Blocks:: INCBIN "maps/blk/OldCityMart.blk" \ No newline at end of file
diff --git a/data/maps/attributes/OldCityMuseum.asm b/data/maps/attributes/OldCityMuseum.asm
new file mode 100644
index 0000000..555c43b
--- /dev/null
+++ b/data/maps/attributes/OldCityMuseum.asm
@@ -0,0 +1,23 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/OldCityMuseum.asm", ROMX
+ map_attributes OldCityMuseum, OLD_CITY_MUSEUM, 0
+
+OldCityMuseum_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 2, 7, 1, OLD_CITY, wOverworldMapBlocks + 58
+ warp_event 3, 7, 2, OLD_CITY, wOverworldMapBlocks + 58
+
+ db 4 ; bg events
+ bg_event 2, 3, 0, 1
+ bg_event 5, 4, 0, 2
+ bg_event 9, 4, 0, 3
+ bg_event 13, 4, 0, 4
+
+ db 2 ; person events
+ object_event 1, 5, SPRITE_FISHER, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 13, 4, SPRITE_EGG, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+OldCityMuseum_Blocks:: INCBIN "maps/blk/OldCityMuseum.blk" \ No newline at end of file
diff --git a/data/maps/attributes/OldCityPokecenter1F.asm b/data/maps/attributes/OldCityPokecenter1F.asm
new file mode 100644
index 0000000..052b012
--- /dev/null
+++ b/data/maps/attributes/OldCityPokecenter1F.asm
@@ -0,0 +1,23 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/OldCityPokecenter1F.asm", ROMX
+ map_attributes OldCityPokecenter1F, OLD_CITY_POKECENTER_1F, 0
+
+OldCityPokecenter1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 5, 7, 10, OLD_CITY, wOverworldMapBlocks + 59
+ warp_event 6, 7, 10, OLD_CITY, wOverworldMapBlocks + 60
+ warp_event 0, 7, 1, OLD_CITY_POKECENTER_2F, wOverworldMapBlocks + 57
+
+ db 1 ; bg events
+ bg_event 13, 1, 0, 1
+
+ db 4 ; person events
+ object_event 5, 1, SPRITE_NURSE, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 6, SPRITE_GENTLEMAN, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 5, SPRITE_YOUNGSTER, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 1, SPRITE_35, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+OldCityPokecenter1F_Blocks:: INCBIN "maps/blk/OldCityPokecenter1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/OldCityPokecenter2F.asm b/data/maps/attributes/OldCityPokecenter2F.asm
new file mode 100644
index 0000000..ebe5480
--- /dev/null
+++ b/data/maps/attributes/OldCityPokecenter2F.asm
@@ -0,0 +1,24 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/OldCityPokecenter2F.asm", ROMX
+ map_attributes OldCityPokecenter2F, OLD_CITY_POKECENTER_2F, 0
+
+OldCityPokecenter2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 4 ; warp events
+ warp_event 0, 7, 3, OLD_CITY_POKECENTER_1F, wOverworldMapBlocks + 57
+ warp_event 5, 0, 1, OLD_CITY_POKECENTER_TRADE, wOverworldMapBlocks + 17
+ warp_event 9, 0, 1, OLD_CITY_POKECENTER_BATTLE, wOverworldMapBlocks + 19
+ warp_event 13, 2, 1, OLD_CITY_POKECENTER_TIME_MACHINE, wOverworldMapBlocks + 35
+
+ db 1 ; bg events
+ bg_event 1, 1, 0, 1
+
+ db 4 ; person events
+ object_event 5, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 3, SPRITE_GRAMPS, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 13, 3, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+OldCityPokecenter2F_Blocks:: INCBIN "maps/blk/OldCityPokecenter2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/OldCityPokecenterBattle.asm b/data/maps/attributes/OldCityPokecenterBattle.asm
new file mode 100644
index 0000000..5b13157
--- /dev/null
+++ b/data/maps/attributes/OldCityPokecenterBattle.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/OldCityPokecenterBattle.asm", ROMX
+ map_attributes OldCityPokecenterBattle, OLD_CITY_POKECENTER_BATTLE, 0
+
+OldCityPokecenterBattle_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 3, OLD_CITY_POKECENTER_2F, wOverworldMapBlocks + 47
+ warp_event 5, 7, 3, OLD_CITY_POKECENTER_2F, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 3, 3, SPRITE_GOLD, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+OldCityPokecenterBattle_Blocks:: INCBIN "maps/blk/OldCityPokecenterBattle.blk" \ No newline at end of file
diff --git a/data/maps/attributes/OldCityPokecenterTimeMachine.asm b/data/maps/attributes/OldCityPokecenterTimeMachine.asm
new file mode 100644
index 0000000..bbf048e
--- /dev/null
+++ b/data/maps/attributes/OldCityPokecenterTimeMachine.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/OldCityPokecenterTimeMachine.asm", ROMX
+ map_attributes OldCityPokecenterTimeMachine, OLD_CITY_POKECENTER_TIME_MACHINE, 0
+
+OldCityPokecenterTimeMachine_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 2, 7, 4, OLD_CITY_POKECENTER_2F, wOverworldMapBlocks + 58
+ warp_event 3, 7, 4, OLD_CITY_POKECENTER_2F, wOverworldMapBlocks + 58
+
+ db 1 ; bg events
+ bg_event 15, 3, 0, 1
+
+ db 1 ; person events
+ object_event 13, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+OldCityPokecenterTimeMachine_Blocks:: INCBIN "maps/blk/OldCityPokecenterTimeMachine.blk" \ No newline at end of file
diff --git a/data/maps/attributes/OldCityPokecenterTrade.asm b/data/maps/attributes/OldCityPokecenterTrade.asm
new file mode 100644
index 0000000..122f0b7
--- /dev/null
+++ b/data/maps/attributes/OldCityPokecenterTrade.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/OldCityPokecenterTrade.asm", ROMX
+ map_attributes OldCityPokecenterTrade, OLD_CITY_POKECENTER_TRADE, 0
+
+OldCityPokecenterTrade_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 2, OLD_CITY_POKECENTER_2F, wOverworldMapBlocks + 47
+ warp_event 5, 7, 2, OLD_CITY_POKECENTER_2F, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 3, 3, SPRITE_GOLD, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+OldCityPokecenterTrade_Blocks:: INCBIN "maps/blk/OldCityPokecenterTrade.blk" \ No newline at end of file
diff --git a/data/maps/attributes/OldCitySchool.asm b/data/maps/attributes/OldCitySchool.asm
new file mode 100644
index 0000000..c25dd8d
--- /dev/null
+++ b/data/maps/attributes/OldCitySchool.asm
@@ -0,0 +1,27 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/OldCitySchool.asm", ROMX
+ map_attributes OldCitySchool, OLD_CITY_SCHOOL, 0
+
+OldCitySchool_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 3, 15, 14, OLD_CITY, wOverworldMapBlocks + 82
+ warp_event 4, 15, 14, OLD_CITY, wOverworldMapBlocks + 83
+
+ db 4 ; bg events
+ bg_event 0, 1, 0, 1
+ bg_event 1, 1, 0, 1
+ bg_event 3, 0, 0, 2
+ bg_event 4, 0, 0, 2
+
+ db 6 ; person events
+ object_event 2, 5, SPRITE_GIRL, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 7, SPRITE_BUG_CATCHER_BOY, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 9, SPRITE_24, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 1, SPRITE_ROCKER, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 6, SPRITE_TEACHER, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 11, SPRITE_YOUNGSTER, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+OldCitySchool_Blocks:: INCBIN "maps/blk/OldCitySchool.blk" \ No newline at end of file
diff --git a/data/maps/attributes/OldCityTower1F.asm b/data/maps/attributes/OldCityTower1F.asm
new file mode 100644
index 0000000..f45b609
--- /dev/null
+++ b/data/maps/attributes/OldCityTower1F.asm
@@ -0,0 +1,25 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/OldCityTower1F.asm", ROMX
+ map_attributes OldCityTower1F, OLD_CITY_TOWER_1F, 0
+
+OldCityTower1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 3, 7, 5, OLD_CITY, wOverworldMapBlocks + 42
+ warp_event 4, 7, 6, OLD_CITY, wOverworldMapBlocks + 43
+ warp_event 0, 1, 1, OLD_CITY_TOWER_2F, wOverworldMapBlocks + 11
+
+ db 3 ; bg events
+ bg_event 2, 6, 0, 1
+ bg_event 5, 6, 0, 2
+ bg_event 4, 1, 0, 3
+
+ db 4 ; person events
+ object_event 0, 2, SPRITE_SAGE, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 3, 0, 0
+ object_event 1, 5, SPRITE_SAGE, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 2, 0, 0
+ object_event 5, 1, SPRITE_SAGE, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 2, 0, 0
+ object_event 6, 4, SPRITE_SAGE, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 4, 0, 0
+
+OldCityTower1F_Blocks:: INCBIN "maps/blk/OldCityTower1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/OldCityTower2F.asm b/data/maps/attributes/OldCityTower2F.asm
new file mode 100644
index 0000000..27fc406
--- /dev/null
+++ b/data/maps/attributes/OldCityTower2F.asm
@@ -0,0 +1,23 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/OldCityTower2F.asm", ROMX
+ map_attributes OldCityTower2F, OLD_CITY_TOWER_2F, 0
+
+OldCityTower2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 0, 1, 3, OLD_CITY_TOWER_1F, wOverworldMapBlocks + 11
+ warp_event 7, 7, 2, OLD_CITY_TOWER_3F, wOverworldMapBlocks + 44
+
+ db 2 ; bg events
+ bg_event 3, 0, 0, 1
+ bg_event 4, 1, 0, 2
+
+ db 4 ; person events
+ object_event 2, 3, SPRITE_MEDIUM, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 2, 0, 0
+ object_event 5, 3, SPRITE_MEDIUM, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 2, 0, 0
+ object_event 2, 6, SPRITE_MEDIUM, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 2, 0, 0
+ object_event 5, 6, SPRITE_MEDIUM, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 2, 0, 0
+
+OldCityTower2F_Blocks:: INCBIN "maps/blk/OldCityTower2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/OldCityTower3F.asm b/data/maps/attributes/OldCityTower3F.asm
new file mode 100644
index 0000000..6e9c35d
--- /dev/null
+++ b/data/maps/attributes/OldCityTower3F.asm
@@ -0,0 +1,23 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/OldCityTower3F.asm", ROMX
+ map_attributes OldCityTower3F, OLD_CITY_TOWER_3F, 0
+
+OldCityTower3F_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 0, 1, 1, OLD_CITY_TOWER_4F, wOverworldMapBlocks + 11
+ warp_event 7, 7, 2, OLD_CITY_TOWER_2F, wOverworldMapBlocks + 44
+
+ db 2 ; bg events
+ bg_event 3, 0, 0, 1
+ bg_event 4, 1, 0, 2
+
+ db 4 ; person events
+ object_event 2, 3, SPRITE_SAGE, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 2, 0, 0
+ object_event 3, 4, SPRITE_SAGE, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 3, 0, 0
+ object_event 4, 4, SPRITE_SAGE, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 2, 0, 0
+ object_event 5, 5, SPRITE_SAGE, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 2, 0, 0
+
+OldCityTower3F_Blocks:: INCBIN "maps/blk/OldCityTower3F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/OldCityTower4F.asm b/data/maps/attributes/OldCityTower4F.asm
new file mode 100644
index 0000000..fee0fb9
--- /dev/null
+++ b/data/maps/attributes/OldCityTower4F.asm
@@ -0,0 +1,23 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/OldCityTower4F.asm", ROMX
+ map_attributes OldCityTower4F, OLD_CITY_TOWER_4F, 0
+
+OldCityTower4F_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 0, 1, 1, OLD_CITY_TOWER_3F, wOverworldMapBlocks + 11
+ warp_event 7, 7, 1, OLD_CITY_TOWER_5F, wOverworldMapBlocks + 44
+
+ db 2 ; bg events
+ bg_event 3, 0, 0, 1
+ bg_event 4, 1, 0, 2
+
+ db 4 ; person events
+ object_event 3, 2, SPRITE_SAGE, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 3, 0, 0
+ object_event 4, 7, SPRITE_SAGE, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 5, 0, 0
+ object_event 6, 7, SPRITE_SAGE, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 5, 0, 0
+ object_event 7, 1, SPRITE_SAGE, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 4, 0, 0
+
+OldCityTower4F_Blocks:: INCBIN "maps/blk/OldCityTower4F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/OldCityTower5F.asm b/data/maps/attributes/OldCityTower5F.asm
new file mode 100644
index 0000000..894e702
--- /dev/null
+++ b/data/maps/attributes/OldCityTower5F.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/OldCityTower5F.asm", ROMX
+ map_attributes OldCityTower5F, OLD_CITY_TOWER_5F, 0
+
+OldCityTower5F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 5, 5, 2, OLD_CITY_TOWER_4F, wOverworldMapBlocks + 30
+
+ db 3 ; bg events
+ bg_event 2, 0, 0, 1
+ bg_event 3, 0, 0, 2
+ bg_event 4, 1, 0, 3
+
+ db 1 ; person events
+ object_event 2, 3, SPRITE_SAGE, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+OldCityTower5F_Blocks:: INCBIN "maps/blk/OldCityTower5F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/PlayerHouse1F.asm b/data/maps/attributes/PlayerHouse1F.asm
new file mode 100644
index 0000000..bb03326
--- /dev/null
+++ b/data/maps/attributes/PlayerHouse1F.asm
@@ -0,0 +1,24 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/PlayerHouse1F.asm", ROMX
+ map_attributes PlayerHouse1F, PLAYER_HOUSE_1F, 0
+
+PlayerHouse1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 6, 7, 1, SILENT_HILL, wOverworldMapBlocks + 48
+ warp_event 7, 7, 1, SILENT_HILL, wOverworldMapBlocks + 48
+ warp_event 9, 0, 1, PLAYER_HOUSE_2F, wOverworldMapBlocks + 16
+
+ db 5 ; bg events
+ bg_event 0, 1, 0, 1
+ bg_event 1, 1, 0, 2
+ bg_event 2, 1, 0, 3
+ bg_event 4, 1, 0, 4
+ bg_event 5, 1, 0, 5
+
+ db 1 ; person events
+ object_event 7, 3, SPRITE_MOM, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+PlayerHouse1F_Blocks:: INCBIN "maps/blk/PlayerHouse1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/PlayerHouse2F.asm b/data/maps/attributes/PlayerHouse2F.asm
new file mode 100644
index 0000000..9a889ec
--- /dev/null
+++ b/data/maps/attributes/PlayerHouse2F.asm
@@ -0,0 +1,23 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/PlayerHouse2F.asm", ROMX
+ map_attributes PlayerHouse2F, PLAYER_HOUSE_2F, 0
+
+PlayerHouse2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 9, 0, 3, PLAYER_HOUSE_1F, wOverworldMapBlocks + 16
+
+ db 5 ; bg events
+ bg_event 1, 1, 0, 1
+ bg_event 2, 1, 0, 2
+ bg_event 3, 1, 0, 3
+ bg_event 5, 1, 0, 4
+ bg_event 7, 2, 0, 5
+
+ db 2 ; person events
+ object_event 8, 1, SPRITE_ROCKER, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 1, SPRITE_PIPPI, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+PlayerHouse2F_Blocks:: INCBIN "maps/blk/PlayerHouse2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/PowerPlant1.asm b/data/maps/attributes/PowerPlant1.asm
new file mode 100644
index 0000000..149eb08
--- /dev/null
+++ b/data/maps/attributes/PowerPlant1.asm
@@ -0,0 +1,15 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/PowerPlant1.asm", ROMX
+ map_attributes PowerPlant1, POWER_PLANT_1, 0
+
+PowerPlant1_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+PowerPlant1_Blocks:: INCBIN "maps/blk/PowerPlant1.blk" \ No newline at end of file
diff --git a/data/maps/attributes/PowerPlant2.asm b/data/maps/attributes/PowerPlant2.asm
new file mode 100644
index 0000000..f810599
--- /dev/null
+++ b/data/maps/attributes/PowerPlant2.asm
@@ -0,0 +1,15 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/PowerPlant2.asm", ROMX
+ map_attributes PowerPlant2, POWER_PLANT_2, 0
+
+PowerPlant2_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+PowerPlant2_Blocks:: INCBIN "maps/blk/PowerPlant2.blk" \ No newline at end of file
diff --git a/data/maps/attributes/PowerPlant3.asm b/data/maps/attributes/PowerPlant3.asm
new file mode 100644
index 0000000..6e8825c
--- /dev/null
+++ b/data/maps/attributes/PowerPlant3.asm
@@ -0,0 +1,15 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/PowerPlant3.asm", ROMX
+ map_attributes PowerPlant3, POWER_PLANT_3, 0
+
+PowerPlant3_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+PowerPlant3_Blocks:: INCBIN "maps/blk/PowerPlant3.blk" \ No newline at end of file
diff --git a/data/maps/attributes/PowerPlant4.asm b/data/maps/attributes/PowerPlant4.asm
new file mode 100644
index 0000000..7d8737a
--- /dev/null
+++ b/data/maps/attributes/PowerPlant4.asm
@@ -0,0 +1,15 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/PowerPlant4.asm", ROMX
+ map_attributes PowerPlant4, POWER_PLANT_4, 0
+
+PowerPlant4_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+PowerPlant4_Blocks:: INCBIN "maps/blk/PowerPlant4.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Prince.asm b/data/maps/attributes/Prince.asm
new file mode 100644
index 0000000..3ecebde
--- /dev/null
+++ b/data/maps/attributes/Prince.asm
@@ -0,0 +1,17 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Prince.asm", ROMX
+ map_attributes Prince, PRINCE, NORTH | SOUTH
+ connection north, MtFujiRoute, MT_FUJI_ROUTE, 0, 0, 10
+ connection south, PrinceRoute, PRINCE_ROUTE, 0, 0, 10
+
+Prince_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+Prince_Blocks:: INCBIN "maps/blk/Prince.blk" \ No newline at end of file
diff --git a/data/maps/attributes/PrinceRoute.asm b/data/maps/attributes/PrinceRoute.asm
new file mode 100644
index 0000000..3f6bfc7
--- /dev/null
+++ b/data/maps/attributes/PrinceRoute.asm
@@ -0,0 +1,17 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/PrinceRoute.asm", ROMX
+ map_attributes PrinceRoute, PRINCE_ROUTE, NORTH | SOUTH
+ connection north, Prince, PRINCE, 0, 0, 10
+ connection south, SilentHill, SILENT_HILL, 0, 0, 10
+
+PrinceRoute_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+PrinceRoute_Blocks:: INCBIN "maps/blk/PrinceRoute.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Route15.asm b/data/maps/attributes/Route15.asm
new file mode 100644
index 0000000..f07b0c1
--- /dev/null
+++ b/data/maps/attributes/Route15.asm
@@ -0,0 +1,24 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Route15.asm", ROMX
+ map_attributes Route15, ROUTE_15, NORTH | EAST
+ connection north, BaadonRoute3, BAADON_ROUTE_3, 0, 0, 10
+ connection east, Newtype, NEWTYPE, 0, 0, 12
+
+Route15_MapEvents::
+ dw $4000 ; unknown
+
+ db 7 ; warp events
+ warp_event 8, 5, 1, BAADON_ROUTE_GATE_NEWTYPE, wOverworldMapBlocks + 68
+ warp_event 9, 5, 2, BAADON_ROUTE_GATE_NEWTYPE, wOverworldMapBlocks + 68
+ warp_event 9, 10, 1, ROUTE_15_POKECENTER_1F, wOverworldMapBlocks + 131
+ warp_event 14, 12, 6, ROUTE_15, wOverworldMapBlocks + 155
+ warp_event 14, 13, 7, ROUTE_15, wOverworldMapBlocks + 155
+ warp_event 21, 8, 4, ROUTE_15, wOverworldMapBlocks + 116
+ warp_event 21, 9, 5, ROUTE_15, wOverworldMapBlocks + 116
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+Route15_Blocks:: INCBIN "maps/blk/Route15.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Route15Pokecenter1F.asm b/data/maps/attributes/Route15Pokecenter1F.asm
new file mode 100644
index 0000000..faa5ca9
--- /dev/null
+++ b/data/maps/attributes/Route15Pokecenter1F.asm
@@ -0,0 +1,22 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Route15Pokecenter1F.asm", ROMX
+ map_attributes Route15Pokecenter1F, ROUTE_15_POKECENTER_1F, 0
+
+Route15Pokecenter1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 5, 7, 3, ROUTE_15, wOverworldMapBlocks + 59
+ warp_event 6, 7, 3, ROUTE_15, wOverworldMapBlocks + 60
+ warp_event 0, 7, 1, ROUTE_15_POKECENTER_2F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 4 ; person events
+ object_event 5, 1, SPRITE_NURSE, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 6, SPRITE_GENTLEMAN, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 5, SPRITE_COOLTRAINER_F, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 1, SPRITE_LASS, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+Route15Pokecenter1F_Blocks:: INCBIN "maps/blk/Route15Pokecenter1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Route15Pokecenter2F.asm b/data/maps/attributes/Route15Pokecenter2F.asm
new file mode 100644
index 0000000..3247382
--- /dev/null
+++ b/data/maps/attributes/Route15Pokecenter2F.asm
@@ -0,0 +1,16 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Route15Pokecenter2F.asm", ROMX
+ map_attributes Route15Pokecenter2F, ROUTE_15_POKECENTER_2F, 0
+
+Route15Pokecenter2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 0, 7, 3, ROUTE_15_POKECENTER_1F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+Route15Pokecenter2F_Blocks:: INCBIN "maps/blk/Route15Pokecenter2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Route18.asm b/data/maps/attributes/Route18.asm
new file mode 100644
index 0000000..ad12255
--- /dev/null
+++ b/data/maps/attributes/Route18.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Route18.asm", ROMX
+ map_attributes Route18, ROUTE_18, NORTH | WEST
+ connection north, BullForestRoute1, BULL_FOREST_ROUTE_1, 0, 0, 13
+ connection west, NewtypeRoute, NEWTYPE_ROUTE, 36, 0, 9
+
+Route18_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 8, 5, 1, NEWTYPE_ROUTE_GATE, wOverworldMapBlocks + 53
+ warp_event 9, 5, 2, NEWTYPE_ROUTE_GATE, wOverworldMapBlocks + 53
+ warp_event 13, 28, 1, ROUTE_18_POKECENTER_1F, wOverworldMapBlocks + 247
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+Route18_Blocks:: INCBIN "maps/blk/Route18.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Route18Pokecenter1F.asm b/data/maps/attributes/Route18Pokecenter1F.asm
new file mode 100644
index 0000000..7ebc44b
--- /dev/null
+++ b/data/maps/attributes/Route18Pokecenter1F.asm
@@ -0,0 +1,22 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Route18Pokecenter1F.asm", ROMX
+ map_attributes Route18Pokecenter1F, ROUTE_18_POKECENTER_1F, 0
+
+Route18Pokecenter1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 5, 7, 3, ROUTE_18, wOverworldMapBlocks + 59
+ warp_event 6, 7, 3, ROUTE_18, wOverworldMapBlocks + 60
+ warp_event 0, 7, 1, ROUTE_18_POKECENTER_2F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 4 ; person events
+ object_event 5, 1, SPRITE_NURSE, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 6, SPRITE_GENTLEMAN, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 5, SPRITE_COOLTRAINER_F, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 1, SPRITE_LASS, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+Route18Pokecenter1F_Blocks:: INCBIN "maps/blk/Route18Pokecenter1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Route18Pokecenter2F.asm b/data/maps/attributes/Route18Pokecenter2F.asm
new file mode 100644
index 0000000..4527e98
--- /dev/null
+++ b/data/maps/attributes/Route18Pokecenter2F.asm
@@ -0,0 +1,16 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Route18Pokecenter2F.asm", ROMX
+ map_attributes Route18Pokecenter2F, ROUTE_18_POKECENTER_2F, 0
+
+Route18Pokecenter2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 0, 7, 3, ROUTE_18_POKECENTER_1F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+Route18Pokecenter2F_Blocks:: INCBIN "maps/blk/Route18Pokecenter2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Route1Gate1F.asm b/data/maps/attributes/Route1Gate1F.asm
new file mode 100644
index 0000000..f6e6804
--- /dev/null
+++ b/data/maps/attributes/Route1Gate1F.asm
@@ -0,0 +1,22 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Route1Gate1F.asm", ROMX
+ map_attributes Route1Gate1F, ROUTE_1_GATE_1F, 0
+
+Route1Gate1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 5 ; warp events
+ warp_event 4, 7, 1, ROUTE_1_P2, wOverworldMapBlocks + 47
+ warp_event 5, 7, 2, ROUTE_1_P2, wOverworldMapBlocks + 47
+ warp_event 4, 0, 12, OLD_CITY, wOverworldMapBlocks + 14
+ warp_event 5, 0, 13, OLD_CITY, wOverworldMapBlocks + 14
+ warp_event 1, 0, 1, ROUTE_1_GATE_2F, wOverworldMapBlocks + 12
+
+ db 0 ; bg events
+
+ db 2 ; person events
+ object_event 6, 1, SPRITE_YOUNGSTER, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 1, 6, SPRITE_COOLTRAINER_F, SLOW_STEP_DOWN, 1, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+Route1Gate1F_Blocks:: INCBIN "maps/blk/Route1Gate1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Route1Gate2F.asm b/data/maps/attributes/Route1Gate2F.asm
new file mode 100644
index 0000000..d38f281
--- /dev/null
+++ b/data/maps/attributes/Route1Gate2F.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Route1Gate2F.asm", ROMX
+ map_attributes Route1Gate2F, ROUTE_1_GATE_2F, 0
+
+Route1Gate2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 5, 0, 5, ROUTE_1_GATE_1F, wOverworldMapBlocks + 13
+
+ db 2 ; bg events
+ bg_event 1, 0, 0, 1
+ bg_event 3, 0, 0, 2
+
+ db 2 ; person events
+ object_event 3, 3, SPRITE_LASS, FACE_UP, 1, 1, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 4, SPRITE_TWIN, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+Route1Gate2F_Blocks:: INCBIN "maps/blk/Route1Gate2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Route1P1.asm b/data/maps/attributes/Route1P1.asm
new file mode 100644
index 0000000..4dfcd57
--- /dev/null
+++ b/data/maps/attributes/Route1P1.asm
@@ -0,0 +1,23 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Route1P1.asm", ROMX
+ map_attributes Route1P1, ROUTE_1_P1, WEST | EAST
+ connection west, Route1P2, ROUTE_1_P2, -3, 6, 12
+ connection east, SilentHill, SILENT_HILL, 0, 0, 9
+
+Route1P1_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 8, 8, 2, SHIZUKANA_OKA, wOverworldMapBlocks + 110
+ warp_event 8, 9, 3, SHIZUKANA_OKA, wOverworldMapBlocks + 110
+
+ db 2 ; bg events
+ bg_event 12, 7, 0, 1
+ bg_event 20, 8, 0, 2
+
+ db 2 ; person events
+ object_event 20, 5, SPRITE_SUPER_NERD, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 18, 12, SPRITE_YOUNGSTER, FACE_UP, 1, 1, -1, -1, 0, 0, 0, 0, 0, 0
+
+Route1P1_Blocks:: INCBIN "maps/blk/Route1P1.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Route1P2.asm b/data/maps/attributes/Route1P2.asm
new file mode 100644
index 0000000..52e1dbf
--- /dev/null
+++ b/data/maps/attributes/Route1P2.asm
@@ -0,0 +1,24 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Route1P2.asm", ROMX
+ map_attributes Route1P2, ROUTE_1_P2, NORTH | EAST
+ connection north, OldCity, OLD_CITY, -3, 2, 16
+ connection east, Route1P1, ROUTE_1_P1, 9, 0, 9
+
+Route1P2_MapEvents::
+ dw $4000 ; unknown
+
+ db 4 ; warp events
+ warp_event 8, 5, 1, ROUTE_1_GATE_1F, wOverworldMapBlocks + 53
+ warp_event 9, 5, 2, ROUTE_1_GATE_1F, wOverworldMapBlocks + 53
+ warp_event 8, 25, 6, SHIZUKANA_OKA, wOverworldMapBlocks + 213
+ warp_event 9, 25, 9, SHIZUKANA_OKA, wOverworldMapBlocks + 213
+
+ db 1 ; bg events
+ bg_event 10, 20, 0, 1
+
+ db 2 ; person events
+ object_event 8, 6, SPRITE_SILVER, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 7, 15, SPRITE_TEACHER, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 3, 0, 0
+
+Route1P2_Blocks:: INCBIN "maps/blk/Route1P2.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Route2.asm b/data/maps/attributes/Route2.asm
new file mode 100644
index 0000000..ef32725
--- /dev/null
+++ b/data/maps/attributes/Route2.asm
@@ -0,0 +1,25 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Route2.asm", ROMX
+ map_attributes Route2, ROUTE_2, WEST | EAST
+ connection west, West, WEST, -3, 2, 15
+ connection east, OldCity, OLD_CITY, -3, 2, 15
+
+Route2_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 6, 5, 3, ROUTE_2_GATE_1F, wOverworldMapBlocks + 67
+ warp_event 15, 4, 1, ROUTE_2_HOUSE, wOverworldMapBlocks + 71
+
+ db 3 ; bg events
+ bg_event 15, 4, 0, 3
+ bg_event 14, 5, 0, 1
+ bg_event 24, 10, 0, 2
+
+ db 3 ; person events
+ object_event 19, 11, SPRITE_YOUNGSTER, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 5, 0, 0
+ object_event 15, 7, SPRITE_YOUNGSTER, FACE_UP, 1, 1, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 8, SPRITE_YOUNGSTER, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 3, 0, 0
+
+Route2_Blocks:: INCBIN "maps/blk/Route2.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Route2Gate1F.asm b/data/maps/attributes/Route2Gate1F.asm
new file mode 100644
index 0000000..48399da
--- /dev/null
+++ b/data/maps/attributes/Route2Gate1F.asm
@@ -0,0 +1,22 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Route2Gate1F.asm", ROMX
+ map_attributes Route2Gate1F, ROUTE_2_GATE_1F, 0
+
+Route2Gate1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 5 ; warp events
+ warp_event 0, 7, 13, WEST, wOverworldMapBlocks + 45
+ warp_event 1, 7, 13, WEST, wOverworldMapBlocks + 45
+ warp_event 8, 7, 1, ROUTE_2, wOverworldMapBlocks + 49
+ warp_event 9, 7, 1, ROUTE_2, wOverworldMapBlocks + 49
+ warp_event 1, 0, 1, ROUTE_2_GATE_2F, wOverworldMapBlocks + 12
+
+ db 0 ; bg events
+
+ db 2 ; person events
+ object_event 8, 3, SPRITE_BUG_CATCHER_BOY, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 0, 1, SPRITE_YOUNGSTER, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+Route2Gate1F_Blocks:: INCBIN "maps/blk/Route2Gate1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Route2Gate2F.asm b/data/maps/attributes/Route2Gate2F.asm
new file mode 100644
index 0000000..88bcd9b
--- /dev/null
+++ b/data/maps/attributes/Route2Gate2F.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Route2Gate2F.asm", ROMX
+ map_attributes Route2Gate2F, ROUTE_2_GATE_2F, 0
+
+Route2Gate2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 5, 0, 5, ROUTE_2_GATE_1F, wOverworldMapBlocks + 13
+
+ db 2 ; bg events
+ bg_event 1, 0, 0, 1
+ bg_event 3, 0, 0, 2
+
+ db 2 ; person events
+ object_event 2, 2, SPRITE_LASS, SLOW_STEP_DOWN, 1, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 5, 4, SPRITE_TWIN, SLOW_STEP_DOWN, 1, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+Route2Gate2F_Blocks:: INCBIN "maps/blk/Route2Gate2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Route2House.asm b/data/maps/attributes/Route2House.asm
new file mode 100644
index 0000000..dbc816e
--- /dev/null
+++ b/data/maps/attributes/Route2House.asm
@@ -0,0 +1,24 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Route2House.asm", ROMX
+ map_attributes Route2House, ROUTE_2_HOUSE, 0
+
+Route2House_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 2, ROUTE_2, wOverworldMapBlocks + 43
+ warp_event 5, 7, 2, ROUTE_2, wOverworldMapBlocks + 43
+
+ db 6 ; bg events
+ bg_event 0, 0, 0, 1
+ bg_event 2, 0, 0, 1
+ bg_event 4, 0, 0, 1
+ bg_event 6, 0, 0, 1
+ bg_event 0, 3, 0, 2
+ bg_event 4, 3, 0, 3
+
+ db 1 ; person events
+ object_event 6, 6, SPRITE_SCIENTIST, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+Route2House_Blocks:: INCBIN "maps/blk/Route2House.blk" \ No newline at end of file
diff --git a/data/maps/attributes/RouteSilentEast.asm b/data/maps/attributes/RouteSilentEast.asm
new file mode 100644
index 0000000..67c3da7
--- /dev/null
+++ b/data/maps/attributes/RouteSilentEast.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/RouteSilentEast.asm", ROMX
+ map_attributes RouteSilentEast, ROUTE_SILENT_EAST, WEST | EAST
+ connection west, SilentHill, SILENT_HILL, 0, 0, 9
+ connection east, Kanto, KANTO, -3, 6, 15
+
+RouteSilentEast_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 55, 9, 1, ROUTE_SILENT_EAST_GATE, wOverworldMapBlocks + 208
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+RouteSilentEast_Blocks:: INCBIN "maps/blk/RouteSilentEast.blk" \ No newline at end of file
diff --git a/data/maps/attributes/RouteSilentEastGate.asm b/data/maps/attributes/RouteSilentEastGate.asm
new file mode 100644
index 0000000..01ac29f
--- /dev/null
+++ b/data/maps/attributes/RouteSilentEastGate.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/RouteSilentEastGate.asm", ROMX
+ map_attributes RouteSilentEastGate, ROUTE_SILENT_EAST_GATE, 0
+
+RouteSilentEastGate_MapEvents::
+ dw $4000 ; unknown
+
+ db 4 ; warp events
+ warp_event 0, 7, 1, ROUTE_SILENT_EAST, wOverworldMapBlocks + 45
+ warp_event 1, 7, 1, ROUTE_SILENT_EAST, wOverworldMapBlocks + 45
+ warp_event 8, 7, 29, KANTO, wOverworldMapBlocks + 49
+ warp_event 9, 7, 29, KANTO, wOverworldMapBlocks + 49
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+RouteSilentEastGate_Blocks:: INCBIN "maps/blk/RouteSilentEastGate.blk" \ No newline at end of file
diff --git a/data/maps/attributes/RuinsOfAlphEntrance.asm b/data/maps/attributes/RuinsOfAlphEntrance.asm
new file mode 100644
index 0000000..09a5f31
--- /dev/null
+++ b/data/maps/attributes/RuinsOfAlphEntrance.asm
@@ -0,0 +1,15 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/RuinsOfAlphEntrance.asm", ROMX
+ map_attributes RuinsOfAlphEntrance, RUINS_OF_ALPH_ENTRANCE, 0
+
+RuinsOfAlphEntrance_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+RuinsOfAlphEntrance_Blocks:: INCBIN "maps/blk/RuinsOfAlphEntrance.blk" \ No newline at end of file
diff --git a/data/maps/attributes/RuinsOfAlphMain.asm b/data/maps/attributes/RuinsOfAlphMain.asm
new file mode 100644
index 0000000..b5b6c51
--- /dev/null
+++ b/data/maps/attributes/RuinsOfAlphMain.asm
@@ -0,0 +1,15 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/RuinsOfAlphMain.asm", ROMX
+ map_attributes RuinsOfAlphMain, RUINS_OF_ALPH_MAIN, 0
+
+RuinsOfAlphMain_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+RuinsOfAlphMain_Blocks:: INCBIN "maps/blk/RuinsOfAlphMain.blk" \ No newline at end of file
diff --git a/data/maps/attributes/ShizukanaOka.asm b/data/maps/attributes/ShizukanaOka.asm
new file mode 100644
index 0000000..fe1b3e3
--- /dev/null
+++ b/data/maps/attributes/ShizukanaOka.asm
@@ -0,0 +1,33 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/ShizukanaOka.asm", ROMX
+ map_attributes ShizukanaOka, SHIZUKANA_OKA, 0
+
+ShizukanaOka_MapEvents::
+ dw $4000 ; unknown
+
+ db 10 ; warp events
+ warp_event 49, 28, 1, ROUTE_1_P1, wOverworldMapBlocks + 490
+ warp_event 49, 29, 1, ROUTE_1_P1, wOverworldMapBlocks + 490
+ warp_event 49, 30, 2, ROUTE_1_P1, wOverworldMapBlocks + 521
+ warp_event 49, 31, 2, ROUTE_1_P1, wOverworldMapBlocks + 521
+ warp_event 4, 0, 3, ROUTE_1_P2, wOverworldMapBlocks + 34
+ warp_event 5, 0, 3, ROUTE_1_P2, wOverworldMapBlocks + 34
+ warp_event 6, 0, 3, ROUTE_1_P2, wOverworldMapBlocks + 35
+ warp_event 7, 0, 4, ROUTE_1_P2, wOverworldMapBlocks + 35
+ warp_event 8, 0, 4, ROUTE_1_P2, wOverworldMapBlocks + 36
+ warp_event 9, 0, 4, ROUTE_1_P2, wOverworldMapBlocks + 36
+
+ db 2 ; bg events
+ bg_event 9, 2, 0, 1
+ bg_event 47, 28, 0, 2
+
+ db 6 ; person events
+ object_event 41, 28, SPRITE_ROCKER, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 7, SPRITE_YOUNGSTER, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 5, 0, 0
+ object_event 41, 19, SPRITE_YOUNGSTER, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 4, 0, 0
+ object_event 27, 14, SPRITE_FISHER, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 2, 0, 0
+ object_event 36, 16, SPRITE_TEACHER, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 5, 0, 0
+ object_event 9, 25, SPRITE_YOUNGSTER, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 4, 0, 0
+
+ShizukanaOka_Blocks:: INCBIN "maps/blk/ShizukanaOka.blk" \ No newline at end of file
diff --git a/data/maps/attributes/SilentHill.asm b/data/maps/attributes/SilentHill.asm
new file mode 100644
index 0000000..022d75d
--- /dev/null
+++ b/data/maps/attributes/SilentHill.asm
@@ -0,0 +1,32 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/SilentHill.asm", ROMX
+ map_attributes SilentHill, SILENT_HILL, NORTH | WEST | EAST
+ connection north, PrinceRoute, PRINCE_ROUTE, 0, 0, 10
+ connection west, Route1P1, ROUTE_1_P1, 0, 0, 9
+ connection east, RouteSilentEast, ROUTE_SILENT_EAST, 0, 0, 9
+
+SilentHill_MapEvents::
+ dw $4000 ; unknown
+
+ db 5 ; warp events
+ warp_event 5, 4, 1, PLAYER_HOUSE_1F, wOverworldMapBlocks + 51
+ warp_event 13, 4, 1, SILENT_HILL_POKECENTER, wOverworldMapBlocks + 55
+ warp_event 3, 12, 1, SILENT_HILL_HOUSE, wOverworldMapBlocks + 114
+ warp_event 14, 11, 1, SILENT_HILL_LAB_FRONT, wOverworldMapBlocks + 104
+ warp_event 15, 11, 2, SILENT_HILL_LAB_FRONT, wOverworldMapBlocks + 104
+
+ db 5 ; bg events
+ bg_event 8, 4, 0, 1
+ bg_event 14, 4, 0, 2
+ bg_event 16, 5, 0, 3
+ bg_event 10, 11, 0, 4
+ bg_event 6, 12, 0, 5
+
+ db 4 ; person events
+ object_event 6, 10, SPRITE_SILVER, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 9, SPRITE_BLUE, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 8, 6, SPRITE_TEACHER, SLOW_STEP_DOWN, 1, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 13, SPRITE_SUPER_NERD, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+SilentHill_Blocks:: INCBIN "maps/blk/SilentHill.blk" \ No newline at end of file
diff --git a/data/maps/attributes/SilentHillHouse.asm b/data/maps/attributes/SilentHillHouse.asm
new file mode 100644
index 0000000..d80a4c7
--- /dev/null
+++ b/data/maps/attributes/SilentHillHouse.asm
@@ -0,0 +1,25 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/SilentHillHouse.asm", ROMX
+ map_attributes SilentHillHouse, SILENT_HILL_HOUSE, 0
+
+SilentHillHouse_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 3, SILENT_HILL, wOverworldMapBlocks + 47
+ warp_event 5, 7, 3, SILENT_HILL, wOverworldMapBlocks + 47
+
+ db 6 ; bg events
+ bg_event 0, 1, 0, 1
+ bg_event 4, 1, 0, 2
+ bg_event 5, 1, 0, 3
+ bg_event 9, 1, 0, 4
+ bg_event 8, 1, 0, 5
+ bg_event 2, 0, 0, 6
+
+ db 2 ; person events
+ object_event 5, 3, SPRITE_SILVERS_MOM, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 5, 4, SPRITE_ROCKER, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+SilentHillHouse_Blocks:: INCBIN "maps/blk/SilentHillHouse.blk" \ No newline at end of file
diff --git a/data/maps/attributes/SilentHillLabBack.asm b/data/maps/attributes/SilentHillLabBack.asm
new file mode 100644
index 0000000..9ebe949
--- /dev/null
+++ b/data/maps/attributes/SilentHillLabBack.asm
@@ -0,0 +1,27 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/SilentHillLabBack.asm", ROMX
+ map_attributes SilentHillLabBack, SILENT_HILL_LAB_BACK, 0
+
+SilentHillLabBack_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 3, 7, 3, SILENT_HILL_LAB_FRONT, wOverworldMapBlocks + 42
+ warp_event 4, 7, 3, SILENT_HILL_LAB_FRONT, wOverworldMapBlocks + 43
+
+ db 5 ; bg events
+ bg_event 0, 1, 0, 1
+ bg_event 1, 1, 0, 2
+ bg_event 2, 1, 0, 3
+ bg_event 3, 1, 0, 4
+ bg_event 6, 0, 0, 5
+
+ db 5 ; person events
+ object_event 4, 2, SPRITE_OKIDO, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 4, SPRITE_SILVER, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 5, 2, SPRITE_POKE_BALL, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 2, SPRITE_POKE_BALL, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 7, 2, SPRITE_POKE_BALL, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+SilentHillLabBack_Blocks:: INCBIN "maps/blk/SilentHillLabBack.blk" \ No newline at end of file
diff --git a/data/maps/attributes/SilentHillLabFront.asm b/data/maps/attributes/SilentHillLabFront.asm
new file mode 100644
index 0000000..4c11d62
--- /dev/null
+++ b/data/maps/attributes/SilentHillLabFront.asm
@@ -0,0 +1,44 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/SilentHillLabFront.asm", ROMX
+ map_attributes SilentHillLabFront, SILENT_HILL_LAB_FRONT, 0
+
+SilentHillLabFront_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 3, 15, 4, SILENT_HILL, wOverworldMapBlocks + 82
+ warp_event 4, 15, 5, SILENT_HILL, wOverworldMapBlocks + 83
+ warp_event 4, 0, 2, SILENT_HILL_LAB_BACK, wOverworldMapBlocks + 13
+
+ db 15 ; bg events
+ bg_event 6, 1, 0, 1
+ bg_event 2, 0, 0, 2
+ bg_event 0, 7, 0, 3
+ bg_event 1, 7, 0, 4
+ bg_event 2, 7, 0, 5
+ bg_event 5, 7, 0, 6
+ bg_event 6, 7, 0, 7
+ bg_event 7, 7, 0, 8
+ bg_event 0, 11, 0, 9
+ bg_event 1, 11, 0, 10
+ bg_event 2, 11, 0, 11
+ bg_event 5, 11, 0, 12
+ bg_event 6, 11, 0, 13
+ bg_event 7, 11, 0, 14
+ bg_event 4, 0, 0, 15
+
+ db 11 ; person events
+ object_event 4, 2, SPRITE_OKIDO, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 0, SPRITE_OKIDO, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 4, SPRITE_SILVER, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 0, SPRITE_SILVER, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 14, SPRITE_BLUE, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 1, 3, SPRITE_BLUE, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 1, 13, SPRITE_NANAMI, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 1, 8, SPRITE_SCIENTIST, SLOW_STEP_DOWN, 1, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 12, SPRITE_SCIENTIST, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 0, 1, SPRITE_POKEDEX, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 1, 1, SPRITE_POKEDEX, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+SilentHillLabFront_Blocks:: INCBIN "maps/blk/SilentHillLabFront.blk" \ No newline at end of file
diff --git a/data/maps/attributes/SilentHillPokecenter.asm b/data/maps/attributes/SilentHillPokecenter.asm
new file mode 100644
index 0000000..929def1
--- /dev/null
+++ b/data/maps/attributes/SilentHillPokecenter.asm
@@ -0,0 +1,23 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/SilentHillPokecenter.asm", ROMX
+ map_attributes SilentHillPokecenter, SILENT_HILL_POKECENTER, 0
+
+SilentHillPokecenter_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 5, 7, 2, SILENT_HILL, wOverworldMapBlocks + 59
+ warp_event 6, 7, 2, SILENT_HILL, wOverworldMapBlocks + 60
+
+ db 1 ; bg events
+ bg_event 13, 1, 0, 1
+
+ db 5 ; person events
+ object_event 5, 1, SPRITE_NURSE, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 6, SPRITE_GENTLEMAN, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 4, SPRITE_24, SLOW_STEP_DOWN, 1, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 1, SPRITE_YOUNGSTER, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 1, SPRITE_SIDON, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+SilentHillPokecenter_Blocks:: INCBIN "maps/blk/SilentHillPokecenter.blk" \ No newline at end of file
diff --git a/data/maps/attributes/SlowpokeWellEntrance.asm b/data/maps/attributes/SlowpokeWellEntrance.asm
new file mode 100644
index 0000000..b6bc73d
--- /dev/null
+++ b/data/maps/attributes/SlowpokeWellEntrance.asm
@@ -0,0 +1,15 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/SlowpokeWellEntrance.asm", ROMX
+ map_attributes SlowpokeWellEntrance, SLOWPOKE_WELL_ENTRANCE, 0
+
+SlowpokeWellEntrance_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+SlowpokeWellEntrance_Blocks:: INCBIN "maps/blk/SlowpokeWellEntrance.blk" \ No newline at end of file
diff --git a/data/maps/attributes/SlowpokeWellMain.asm b/data/maps/attributes/SlowpokeWellMain.asm
new file mode 100644
index 0000000..6e2fde0
--- /dev/null
+++ b/data/maps/attributes/SlowpokeWellMain.asm
@@ -0,0 +1,15 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/SlowpokeWellMain.asm", ROMX
+ map_attributes SlowpokeWellMain, SLOWPOKE_WELL_MAIN, 0
+
+SlowpokeWellMain_MapEvents::
+ dw $0 ; unknown
+
+ db 0 ; warp events
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+SlowpokeWellMain_Blocks:: INCBIN "maps/blk/SlowpokeWellMain.blk" \ No newline at end of file
diff --git a/data/maps/attributes/South.asm b/data/maps/attributes/South.asm
new file mode 100644
index 0000000..ffff0be
--- /dev/null
+++ b/data/maps/attributes/South.asm
@@ -0,0 +1,36 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/South.asm", ROMX
+ map_attributes South, SOUTH, NORTH | SOUTH | EAST
+ connection north, FontoRoute5, FONTO_ROUTE_5, 10, 0, 10
+ connection south, HaitekuWestRouteOcean, HAITEKU_WEST_ROUTE_OCEAN, 10, 0, 10
+ connection east, FontoRoute1, FONTO_ROUTE_1, 0, 0, 9
+
+South_MapEvents::
+ dw $4000 ; unknown
+
+ db 9 ; warp events
+ warp_event 26, 10, 1, SOUTH_HOUSE_1, wOverworldMapBlocks + 170
+ warp_event 33, 14, 1, SOUTH_POKECENTER_1F, wOverworldMapBlocks + 225
+ warp_event 19, 22, 1, SOUTH_MART, wOverworldMapBlocks + 322
+ warp_event 33, 23, 1, SOUTH_HOUSE_2, wOverworldMapBlocks + 329
+ warp_event 30, 5, 1, FONTO_ROUTE_GATE_3, wOverworldMapBlocks + 94
+ warp_event 31, 5, 2, FONTO_ROUTE_GATE_3, wOverworldMapBlocks + 94
+ warp_event 35, 19, 2, FONTO_ROUTE_GATE_1, wOverworldMapBlocks + 278
+ warp_event 30, 30, 3, HAITEKU_WEST_ROUTE_GATE, wOverworldMapBlocks + 432
+ warp_event 31, 30, 4, HAITEKU_WEST_ROUTE_GATE, wOverworldMapBlocks + 432
+
+ db 5 ; bg events
+ bg_event 30, 14, 0, 1
+ bg_event 34, 14, 0, 2
+ bg_event 28, 17, 0, 3
+ bg_event 16, 22, 0, 4
+ bg_event 20, 22, 0, 5
+
+ db 4 ; person events
+ object_event 25, 21, SPRITE_TWIN, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 24, 21, SPRITE_PIPPI, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 22, 16, SPRITE_ROCKER, SLOW_STEP_DOWN, 3, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 30, 11, SPRITE_FISHING_GURU, FACE_UP, 1, 1, -1, -1, 0, 0, 0, 0, 0, 0
+
+South_Blocks:: INCBIN "maps/blk/South.blk" \ No newline at end of file
diff --git a/data/maps/attributes/SouthHouse1.asm b/data/maps/attributes/SouthHouse1.asm
new file mode 100644
index 0000000..4b4915a
--- /dev/null
+++ b/data/maps/attributes/SouthHouse1.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/SouthHouse1.asm", ROMX
+ map_attributes SouthHouse1, SOUTH_HOUSE_1, 0
+
+SouthHouse1_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 1, SOUTH, wOverworldMapBlocks + 47
+ warp_event 5, 7, 1, SOUTH, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 2, 3, SPRITE_GRANNY, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+SouthHouse1_Blocks:: INCBIN "maps/blk/SouthHouse1.blk" \ No newline at end of file
diff --git a/data/maps/attributes/SouthHouse2.asm b/data/maps/attributes/SouthHouse2.asm
new file mode 100644
index 0000000..bfe3a19
--- /dev/null
+++ b/data/maps/attributes/SouthHouse2.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/SouthHouse2.asm", ROMX
+ map_attributes SouthHouse2, SOUTH_HOUSE_2, 0
+
+SouthHouse2_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 4, SOUTH, wOverworldMapBlocks + 47
+ warp_event 5, 7, 4, SOUTH, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 1, 2, SPRITE_FISHER, SLOW_STEP_DOWN, 1, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+SouthHouse2_Blocks:: INCBIN "maps/blk/SouthHouse2.blk" \ No newline at end of file
diff --git a/data/maps/attributes/SouthMart.asm b/data/maps/attributes/SouthMart.asm
new file mode 100644
index 0000000..d013874
--- /dev/null
+++ b/data/maps/attributes/SouthMart.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/SouthMart.asm", ROMX
+ map_attributes SouthMart, SOUTH_MART, 0
+
+SouthMart_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 3, SOUTH, wOverworldMapBlocks + 59
+ warp_event 5, 7, 3, SOUTH, wOverworldMapBlocks + 59
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 1, 3, SPRITE_CLERK, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 5, SPRITE_GIRL, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 1, SPRITE_POKEFAN_M, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+SouthMart_Blocks:: INCBIN "maps/blk/SouthMart.blk" \ No newline at end of file
diff --git a/data/maps/attributes/SouthPokecenter1F.asm b/data/maps/attributes/SouthPokecenter1F.asm
new file mode 100644
index 0000000..e57741c
--- /dev/null
+++ b/data/maps/attributes/SouthPokecenter1F.asm
@@ -0,0 +1,22 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/SouthPokecenter1F.asm", ROMX
+ map_attributes SouthPokecenter1F, SOUTH_POKECENTER_1F, 0
+
+SouthPokecenter1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 5, 7, 2, SOUTH, wOverworldMapBlocks + 59
+ warp_event 6, 7, 2, SOUTH, wOverworldMapBlocks + 60
+ warp_event 0, 7, 1, SOUTH_POKECENTER_2F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 4 ; person events
+ object_event 5, 1, SPRITE_NURSE, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 6, SPRITE_GENTLEMAN, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 5, SPRITE_24, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 1, SPRITE_YOUNGSTER, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+SouthPokecenter1F_Blocks:: INCBIN "maps/blk/SouthPokecenter1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/SouthPokecenter2F.asm b/data/maps/attributes/SouthPokecenter2F.asm
new file mode 100644
index 0000000..b95bbd3
--- /dev/null
+++ b/data/maps/attributes/SouthPokecenter2F.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/SouthPokecenter2F.asm", ROMX
+ map_attributes SouthPokecenter2F, SOUTH_POKECENTER_2F, 0
+
+SouthPokecenter2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 0, 7, 3, SOUTH_POKECENTER_1F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 5, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 7, SPRITE_FISHING_GURU, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+SouthPokecenter2F_Blocks:: INCBIN "maps/blk/SouthPokecenter2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Stand.asm b/data/maps/attributes/Stand.asm
new file mode 100644
index 0000000..8444a43
--- /dev/null
+++ b/data/maps/attributes/Stand.asm
@@ -0,0 +1,46 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Stand.asm", ROMX
+ map_attributes Stand, STAND, NORTH | SOUTH
+ connection north, BullForestRoute2, BULL_FOREST_ROUTE_2, 10, 0, 10
+ connection south, StandRoute, STAND_ROUTE, 10, 0, 10
+
+Stand_MapEvents::
+ dw $4000 ; unknown
+
+ db 10 ; warp events
+ warp_event 24, 17, 1, STAND_LAB, wOverworldMapBlocks + 247
+ warp_event 33, 20, 1, STAND_POKECENTER_1F, wOverworldMapBlocks + 303
+ warp_event 16, 21, 1, STAND_OFFICE, wOverworldMapBlocks + 295
+ warp_event 35, 26, 1, STAND_MART, wOverworldMapBlocks + 382
+ warp_event 26, 29, 1, STAND_HOUSE, wOverworldMapBlocks + 404
+ warp_event 17, 31, 1, STAND_ROCKET_HOUSE_1F, wOverworldMapBlocks + 425
+ warp_event 34, 31, 1, STAND_LEAGUE_1F, wOverworldMapBlocks + 434
+ warp_event 35, 31, 2, STAND_LEAGUE_1F, wOverworldMapBlocks + 434
+ warp_event 30, 13, 1, BULL_FOREST_ROUTE_GATE_STAND, wOverworldMapBlocks + 198
+ warp_event 31, 13, 2, BULL_FOREST_ROUTE_GATE_STAND, wOverworldMapBlocks + 198
+
+ db 10 ; bg events
+ bg_event 8, 8, 0, 1
+ bg_event 14, 8, 0, 2
+ bg_event 20, 10, 0, 3
+ bg_event 16, 16, 0, 4
+ bg_event 10, 20, 0, 5
+ bg_event 18, 21, 0, 6
+ bg_event 24, 20, 0, 7
+ bg_event 34, 20, 0, 8
+ bg_event 36, 26, 0, 9
+ bg_event 32, 35, 0, 10
+
+ db 9 ; person events
+ object_event 10, 10, SPRITE_POKEFAN_M, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 17, SPRITE_TWIN, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 28, 19, SPRITE_ROCKER, FACE_RIGHT, 0, 3, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 30, 31, SPRITE_TEACHER, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 21, 8, SPRITE_SIDON, FACE_UP, 1, 1, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 13, 6, SPRITE_PIPPI, FACE_UP, 1, 1, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 6, SPRITE_SIDON, FACE_UP, 1, 1, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 15, SPRITE_POPPO, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 21, SPRITE_SIDON, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+Stand_Blocks:: INCBIN "maps/blk/Stand.blk" \ No newline at end of file
diff --git a/data/maps/attributes/StandHouse.asm b/data/maps/attributes/StandHouse.asm
new file mode 100644
index 0000000..d1511ae
--- /dev/null
+++ b/data/maps/attributes/StandHouse.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/StandHouse.asm", ROMX
+ map_attributes StandHouse, STAND_HOUSE, 0
+
+StandHouse_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 5, STAND, wOverworldMapBlocks + 47
+ warp_event 5, 7, 5, STAND, wOverworldMapBlocks + 47
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 2, 3, SPRITE_SUPER_NERD, FACE_RIGHT, 0, 1, -1, -1, 0, 0, 0, 0, 0, 0
+
+StandHouse_Blocks:: INCBIN "maps/blk/StandHouse.blk" \ No newline at end of file
diff --git a/data/maps/attributes/StandLab.asm b/data/maps/attributes/StandLab.asm
new file mode 100644
index 0000000..39d23c7
--- /dev/null
+++ b/data/maps/attributes/StandLab.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/StandLab.asm", ROMX
+ map_attributes StandLab, STAND_LAB, 0
+
+StandLab_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 3, 7, 1, STAND, wOverworldMapBlocks + 42
+ warp_event 4, 7, 1, STAND, wOverworldMapBlocks + 43
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 2, 3, SPRITE_NURSE, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+StandLab_Blocks:: INCBIN "maps/blk/StandLab.blk" \ No newline at end of file
diff --git a/data/maps/attributes/StandLeague1F.asm b/data/maps/attributes/StandLeague1F.asm
new file mode 100644
index 0000000..9580aa8
--- /dev/null
+++ b/data/maps/attributes/StandLeague1F.asm
@@ -0,0 +1,23 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/StandLeague1F.asm", ROMX
+ map_attributes StandLeague1F, STAND_LEAGUE_1F, 0
+
+StandLeague1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 3, 15, 7, STAND, wOverworldMapBlocks + 82
+ warp_event 4, 15, 8, STAND, wOverworldMapBlocks + 83
+ warp_event 7, 1, 1, STAND_LEAGUE_2F, wOverworldMapBlocks + 14
+
+ db 0 ; bg events
+
+ db 5 ; person events
+ object_event 2, 5, SPRITE_YOUNGSTER, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 7, SPRITE_LASS, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 9, SPRITE_BUG_CATCHER_BOY, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 1, SPRITE_24, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 6, SPRITE_COOLTRAINER_F, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+
+StandLeague1F_Blocks:: INCBIN "maps/blk/StandLeague1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/StandLeague2F.asm b/data/maps/attributes/StandLeague2F.asm
new file mode 100644
index 0000000..7165e3c
--- /dev/null
+++ b/data/maps/attributes/StandLeague2F.asm
@@ -0,0 +1,21 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/StandLeague2F.asm", ROMX
+ map_attributes StandLeague2F, STAND_LEAGUE_2F, 0
+
+StandLeague2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 7, 15, 3, STAND_LEAGUE_1F, wOverworldMapBlocks + 92
+
+ db 0 ; bg events
+
+ db 5 ; person events
+ object_event 4, 7, SPRITE_POKEFAN_M, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 1, SPRITE_24, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 0, 6, SPRITE_COOLTRAINER_F, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 6, SPRITE_24, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 5, 1, SPRITE_COOLTRAINER_F, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+StandLeague2F_Blocks:: INCBIN "maps/blk/StandLeague2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/StandMart.asm b/data/maps/attributes/StandMart.asm
new file mode 100644
index 0000000..2b804dd
--- /dev/null
+++ b/data/maps/attributes/StandMart.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/StandMart.asm", ROMX
+ map_attributes StandMart, STAND_MART, 0
+
+StandMart_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 4, STAND, wOverworldMapBlocks + 59
+ warp_event 5, 7, 4, STAND, wOverworldMapBlocks + 59
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 1, 3, SPRITE_CLERK, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 5, SPRITE_GIRL, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 1, SPRITE_POKEFAN_M, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+StandMart_Blocks:: INCBIN "maps/blk/StandMart.blk" \ No newline at end of file
diff --git a/data/maps/attributes/StandOffice.asm b/data/maps/attributes/StandOffice.asm
new file mode 100644
index 0000000..f06b0d5
--- /dev/null
+++ b/data/maps/attributes/StandOffice.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/StandOffice.asm", ROMX
+ map_attributes StandOffice, STAND_OFFICE, 0
+
+StandOffice_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 2, 7, 3, STAND, wOverworldMapBlocks + 58
+ warp_event 3, 7, 3, STAND, wOverworldMapBlocks + 58
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 13, 4, SPRITE_ROCKER, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 5, 6, SPRITE_SUPER_NERD, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 7, SPRITE_POKEFAN_M, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+StandOffice_Blocks:: INCBIN "maps/blk/StandOffice.blk" \ No newline at end of file
diff --git a/data/maps/attributes/StandPokecenter1F.asm b/data/maps/attributes/StandPokecenter1F.asm
new file mode 100644
index 0000000..78d6d5f
--- /dev/null
+++ b/data/maps/attributes/StandPokecenter1F.asm
@@ -0,0 +1,22 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/StandPokecenter1F.asm", ROMX
+ map_attributes StandPokecenter1F, STAND_POKECENTER_1F, 0
+
+StandPokecenter1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 5, 7, 2, STAND, wOverworldMapBlocks + 59
+ warp_event 6, 7, 2, STAND, wOverworldMapBlocks + 60
+ warp_event 0, 7, 1, STAND_POKECENTER_2F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 4 ; person events
+ object_event 5, 1, SPRITE_NURSE, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 6, SPRITE_GIRL, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 5, SPRITE_GENTLEMAN, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 1, SPRITE_LASS, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+StandPokecenter1F_Blocks:: INCBIN "maps/blk/StandPokecenter1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/StandPokecenter2F.asm b/data/maps/attributes/StandPokecenter2F.asm
new file mode 100644
index 0000000..8595dae
--- /dev/null
+++ b/data/maps/attributes/StandPokecenter2F.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/StandPokecenter2F.asm", ROMX
+ map_attributes StandPokecenter2F, STAND_POKECENTER_2F, 0
+
+StandPokecenter2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 0, 7, 3, STAND_POKECENTER_1F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 5, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 7, SPRITE_FISHING_GURU, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+StandPokecenter2F_Blocks:: INCBIN "maps/blk/StandPokecenter2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/StandRocketHouse1F.asm b/data/maps/attributes/StandRocketHouse1F.asm
new file mode 100644
index 0000000..5f3ee51
--- /dev/null
+++ b/data/maps/attributes/StandRocketHouse1F.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/StandRocketHouse1F.asm", ROMX
+ map_attributes StandRocketHouse1F, STAND_ROCKET_HOUSE_1F, 0
+
+StandRocketHouse1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 2, 7, 6, STAND, wOverworldMapBlocks + 58
+ warp_event 3, 7, 6, STAND, wOverworldMapBlocks + 58
+ warp_event 15, 1, 1, STAND_ROCKET_HOUSE_2F, wOverworldMapBlocks + 22
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 11, 4, SPRITE_36, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+StandRocketHouse1F_Blocks:: INCBIN "maps/blk/StandRocketHouse1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/StandRocketHouse2F.asm b/data/maps/attributes/StandRocketHouse2F.asm
new file mode 100644
index 0000000..1d9b8da
--- /dev/null
+++ b/data/maps/attributes/StandRocketHouse2F.asm
@@ -0,0 +1,17 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/StandRocketHouse2F.asm", ROMX
+ map_attributes StandRocketHouse2F, STAND_ROCKET_HOUSE_2F, 0
+
+StandRocketHouse2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 15, 1, 3, STAND_ROCKET_HOUSE_1F, wOverworldMapBlocks + 22
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 5, 4, SPRITE_ROCKET_F, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+
+StandRocketHouse2F_Blocks:: INCBIN "maps/blk/StandRocketHouse2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/StandRoute.asm b/data/maps/attributes/StandRoute.asm
new file mode 100644
index 0000000..aff6d29
--- /dev/null
+++ b/data/maps/attributes/StandRoute.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/StandRoute.asm", ROMX
+ map_attributes StandRoute, STAND_ROUTE, NORTH | SOUTH
+ connection north, Stand, STAND, -3, 7, 13
+ connection south, KantoEastRoute, KANTO_EAST_ROUTE, -3, 7, 13
+
+StandRoute_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 8, 48, 3, STAND_ROUTE_GATE_KANTO, wOverworldMapBlocks + 405
+ warp_event 9, 48, 4, STAND_ROUTE_GATE_KANTO, wOverworldMapBlocks + 405
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+StandRoute_Blocks:: INCBIN "maps/blk/StandRoute.blk" \ No newline at end of file
diff --git a/data/maps/attributes/StandRouteGateKanto.asm b/data/maps/attributes/StandRouteGateKanto.asm
new file mode 100644
index 0000000..a54c583
--- /dev/null
+++ b/data/maps/attributes/StandRouteGateKanto.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/StandRouteGateKanto.asm", ROMX
+ map_attributes StandRouteGateKanto, STAND_ROUTE_GATE_KANTO, 0
+
+StandRouteGateKanto_MapEvents::
+ dw $4000 ; unknown
+
+ db 4 ; warp events
+ warp_event 4, 7, 1, KANTO_EAST_ROUTE, wOverworldMapBlocks + 47
+ warp_event 5, 7, 2, KANTO_EAST_ROUTE, wOverworldMapBlocks + 47
+ warp_event 4, 0, 1, STAND_ROUTE, wOverworldMapBlocks + 14
+ warp_event 5, 0, 2, STAND_ROUTE, wOverworldMapBlocks + 14
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+StandRouteGateKanto_Blocks:: INCBIN "maps/blk/StandRouteGateKanto.blk" \ No newline at end of file
diff --git a/data/maps/attributes/Sugar.asm b/data/maps/attributes/Sugar.asm
new file mode 100644
index 0000000..fbf2719
--- /dev/null
+++ b/data/maps/attributes/Sugar.asm
@@ -0,0 +1,27 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/Sugar.asm", ROMX
+ map_attributes Sugar, SUGAR, SOUTH
+ connection south, SugarRoute, SUGAR_ROUTE, 0, 0, 10
+
+Sugar_MapEvents::
+ dw $4000 ; unknown
+
+ db 4 ; warp events
+ warp_event 5, 5, 1, SUGAR_HOUSE, wOverworldMapBlocks + 51
+ warp_event 15, 9, 1, SUGAR_HOUSE_2, wOverworldMapBlocks + 88
+ warp_event 5, 10, 1, SUGAR_MART, wOverworldMapBlocks + 99
+ warp_event 9, 10, 1, SUGAR_POKECENTER_1F, wOverworldMapBlocks + 101
+
+ db 4 ; bg events
+ bg_event 14, 6, 0, 1
+ bg_event 6, 10, 0, 2
+ bg_event 10, 10, 0, 3
+ bg_event 10, 14, 0, 4
+
+ db 3 ; person events
+ object_event 8, 12, SPRITE_TWIN, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 6, SPRITE_GRANNY, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 13, 11, SPRITE_GRAMPS, FACE_UP, 1, 1, -1, -1, 0, 0, 0, 0, 0, 0
+
+Sugar_Blocks:: INCBIN "maps/blk/Sugar.blk" \ No newline at end of file
diff --git a/data/maps/attributes/SugarHouse.asm b/data/maps/attributes/SugarHouse.asm
new file mode 100644
index 0000000..d4eb261
--- /dev/null
+++ b/data/maps/attributes/SugarHouse.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/SugarHouse.asm", ROMX
+ map_attributes SugarHouse, SUGAR_HOUSE, 0
+
+SugarHouse_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 3, 15, 1, SUGAR, wOverworldMapBlocks + 82
+ warp_event 4, 15, 1, SUGAR, wOverworldMapBlocks + 83
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 3, 5, SPRITE_BUG_CATCHER_BOY, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 5, SPRITE_TWIN, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 1, SPRITE_GRAMPS, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+SugarHouse_Blocks:: INCBIN "maps/blk/SugarHouse.blk" \ No newline at end of file
diff --git a/data/maps/attributes/SugarHouse2.asm b/data/maps/attributes/SugarHouse2.asm
new file mode 100644
index 0000000..a75afa4
--- /dev/null
+++ b/data/maps/attributes/SugarHouse2.asm
@@ -0,0 +1,18 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/SugarHouse2.asm", ROMX
+ map_attributes SugarHouse2, SUGAR_HOUSE_2, 0
+
+SugarHouse2_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 3, 7, 2, SUGAR, wOverworldMapBlocks + 42
+ warp_event 4, 7, 2, SUGAR, wOverworldMapBlocks + 43
+
+ db 0 ; bg events
+
+ db 1 ; person events
+ object_event 2, 3, SPRITE_FISHING_GURU, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+SugarHouse2_Blocks:: INCBIN "maps/blk/SugarHouse2.blk" \ No newline at end of file
diff --git a/data/maps/attributes/SugarMart.asm b/data/maps/attributes/SugarMart.asm
new file mode 100644
index 0000000..b1be208
--- /dev/null
+++ b/data/maps/attributes/SugarMart.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/SugarMart.asm", ROMX
+ map_attributes SugarMart, SUGAR_MART, 0
+
+SugarMart_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 3, SUGAR, wOverworldMapBlocks + 59
+ warp_event 5, 7, 3, SUGAR, wOverworldMapBlocks + 59
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 1, 3, SPRITE_CLERK, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 5, SPRITE_GIRL, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 1, SPRITE_POKEFAN_M, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+SugarMart_Blocks:: INCBIN "maps/blk/SugarMart.blk" \ No newline at end of file
diff --git a/data/maps/attributes/SugarPokecenter1F.asm b/data/maps/attributes/SugarPokecenter1F.asm
new file mode 100644
index 0000000..0961e2c
--- /dev/null
+++ b/data/maps/attributes/SugarPokecenter1F.asm
@@ -0,0 +1,22 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/SugarPokecenter1F.asm", ROMX
+ map_attributes SugarPokecenter1F, SUGAR_POKECENTER_1F, 0
+
+SugarPokecenter1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 5, 7, 4, SUGAR, wOverworldMapBlocks + 59
+ warp_event 6, 7, 4, SUGAR, wOverworldMapBlocks + 60
+ warp_event 0, 7, 1, SUGAR_POKECENTER_2F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 4 ; person events
+ object_event 5, 1, SPRITE_NURSE, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 6, SPRITE_YOUNGSTER, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 5, SPRITE_24, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 1, SPRITE_GRANNY, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+SugarPokecenter1F_Blocks:: INCBIN "maps/blk/SugarPokecenter1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/SugarPokecenter2F.asm b/data/maps/attributes/SugarPokecenter2F.asm
new file mode 100644
index 0000000..3e3a24a
--- /dev/null
+++ b/data/maps/attributes/SugarPokecenter2F.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/SugarPokecenter2F.asm", ROMX
+ map_attributes SugarPokecenter2F, SUGAR_POKECENTER_2F, 0
+
+SugarPokecenter2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 0, 7, 3, SUGAR_POKECENTER_1F, wOverworldMapBlocks + 57
+
+ db 0 ; bg events
+
+ db 3 ; person events
+ object_event 5, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 7, SPRITE_FISHING_GURU, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+SugarPokecenter2F_Blocks:: INCBIN "maps/blk/SugarPokecenter2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/SugarRoute.asm b/data/maps/attributes/SugarRoute.asm
new file mode 100644
index 0000000..71fe900
--- /dev/null
+++ b/data/maps/attributes/SugarRoute.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/SugarRoute.asm", ROMX
+ map_attributes SugarRoute, SUGAR_ROUTE, NORTH | SOUTH
+ connection north, Sugar, SUGAR, 0, 0, 10
+ connection south, Newtype, NEWTYPE, -3, 2, 16
+
+SugarRoute_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 8, 48, 3, SUGAR_ROUTE_GATE, wOverworldMapBlocks + 405
+ warp_event 9, 48, 4, SUGAR_ROUTE_GATE, wOverworldMapBlocks + 405
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+SugarRoute_Blocks:: INCBIN "maps/blk/SugarRoute.blk" \ No newline at end of file
diff --git a/data/maps/attributes/SugarRouteGate.asm b/data/maps/attributes/SugarRouteGate.asm
new file mode 100644
index 0000000..b1ce486
--- /dev/null
+++ b/data/maps/attributes/SugarRouteGate.asm
@@ -0,0 +1,19 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/SugarRouteGate.asm", ROMX
+ map_attributes SugarRouteGate, SUGAR_ROUTE_GATE, 0
+
+SugarRouteGate_MapEvents::
+ dw $4000 ; unknown
+
+ db 4 ; warp events
+ warp_event 4, 7, 12, NEWTYPE, wOverworldMapBlocks + 47
+ warp_event 5, 7, 13, NEWTYPE, wOverworldMapBlocks + 47
+ warp_event 4, 0, 1, SUGAR_ROUTE, wOverworldMapBlocks + 14
+ warp_event 5, 0, 2, SUGAR_ROUTE, wOverworldMapBlocks + 14
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+SugarRouteGate_Blocks:: INCBIN "maps/blk/SugarRouteGate.blk" \ No newline at end of file
diff --git a/data/maps/attributes/UnusedMap13.asm b/data/maps/attributes/UnusedMap13.asm
new file mode 100644
index 0000000..6976d22
--- /dev/null
+++ b/data/maps/attributes/UnusedMap13.asm
@@ -0,0 +1,7 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/UnusedMap13.asm", ROMX
+ map_attributes UnusedMap13, UNUSED_MAP_13, 0
+
+UnusedMap13_MapEvents::
+UnusedMap13_Blocks:: INCBIN "maps/blk/UnusedMap13.blk" \ No newline at end of file
diff --git a/data/maps/attributes/West.asm b/data/maps/attributes/West.asm
new file mode 100644
index 0000000..d4427dc
--- /dev/null
+++ b/data/maps/attributes/West.asm
@@ -0,0 +1,43 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/West.asm", ROMX
+ map_attributes West, WEST, NORTH | EAST
+ connection north, BaadonRoute1, BAADON_ROUTE_1, 5, 0, 10
+ connection east, Route2, ROUTE_2, 5, 0, 9
+
+West_MapEvents::
+ dw $4000 ; unknown
+
+ db 13 ; warp events
+ warp_event 13, 5, 1, WEST_MART_1F, wOverworldMapBlocks + 85
+ warp_event 14, 5, 2, WEST_MART_1F, wOverworldMapBlocks + 86
+ warp_event 31, 7, 1, WEST_RADIO_TOWER_1F, wOverworldMapBlocks + 120
+ warp_event 32, 7, 2, WEST_RADIO_TOWER_1F, wOverworldMapBlocks + 121
+ warp_event 18, 12, 1, WEST_ROCKET_RAIDED_HOUSE, wOverworldMapBlocks + 192
+ warp_event 25, 14, 1, WEST_POKECENTER_1F, wOverworldMapBlocks + 221
+ warp_event 14, 19, 1, WEST_GYM, wOverworldMapBlocks + 268
+ warp_event 15, 19, 2, WEST_GYM, wOverworldMapBlocks + 268
+ warp_event 26, 19, 1, WEST_HOUSE_1, wOverworldMapBlocks + 274
+ warp_event 32, 19, 1, WEST_HOUSE_2, wOverworldMapBlocks + 277
+ warp_event 22, 5, 1, BAADON_ROUTE_GATE_WEST, wOverworldMapBlocks + 90
+ warp_event 23, 5, 2, BAADON_ROUTE_GATE_WEST, wOverworldMapBlocks + 90
+ warp_event 35, 15, 1, ROUTE_2_GATE_1F, wOverworldMapBlocks + 226
+
+ db 6 ; bg events
+ bg_event 16, 7, 0, 1
+ bg_event 28, 9, 0, 2
+ bg_event 12, 10, 0, 3
+ bg_event 32, 12, 0, 4
+ bg_event 26, 14, 0, 5
+ bg_event 18, 20, 0, 6
+
+ db 7 ; person events
+ object_event 6, 8, SPRITE_SAILOR, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 12, 7, SPRITE_ROCKER, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 26, 10, SPRITE_ROCKER, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 30, 14, SPRITE_LASS, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 29, 14, SPRITE_PIPPI, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 22, 19, SPRITE_COOLTRAINER_F, FACE_UP, 2, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 18, 13, SPRITE_36, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+West_Blocks:: INCBIN "maps/blk/West.blk" \ No newline at end of file
diff --git a/data/maps/attributes/WestGym.asm b/data/maps/attributes/WestGym.asm
new file mode 100644
index 0000000..be9bbc5
--- /dev/null
+++ b/data/maps/attributes/WestGym.asm
@@ -0,0 +1,25 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/WestGym.asm", ROMX
+ map_attributes WestGym, WEST_GYM, 0
+
+WestGym_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 17, 7, WEST, wOverworldMapBlocks + 102
+ warp_event 5, 17, 8, WEST, wOverworldMapBlocks + 102
+
+ db 2 ; bg events
+ bg_event 3, 15, 0, 1
+ bg_event 6, 15, 0, 1
+
+ db 6 ; person events
+ object_event 4, 4, SPRITE_TSUKUSHI, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 7, SPRITE_LASS, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 3, 0, 0
+ object_event 3, 11, SPRITE_COOLTRAINER_F, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 3, 0, 0
+ object_event 5, 9, SPRITE_LASS, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 2, 0, 0
+ object_event 4, 6, SPRITE_TWIN, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 2, 0, 0
+ object_event 7, 15, SPRITE_GYM_GUY, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+WestGym_Blocks:: INCBIN "maps/blk/WestGym.blk" \ No newline at end of file
diff --git a/data/maps/attributes/WestHouse1.asm b/data/maps/attributes/WestHouse1.asm
new file mode 100644
index 0000000..73989b6
--- /dev/null
+++ b/data/maps/attributes/WestHouse1.asm
@@ -0,0 +1,24 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/WestHouse1.asm", ROMX
+ map_attributes WestHouse1, WEST_HOUSE_1, 0
+
+WestHouse1_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 9, WEST, wOverworldMapBlocks + 47
+ warp_event 5, 7, 9, WEST, wOverworldMapBlocks + 47
+
+ db 4 ; bg events
+ bg_event 0, 1, 0, 1
+ bg_event 1, 1, 0, 2
+ bg_event 5, 1, 0, 3
+ bg_event 8, 0, 0, 4
+
+ db 3 ; person events
+ object_event 7, 3, SPRITE_GRAMPS, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 1, 6, SPRITE_YOUNGSTER, FACE_UP, 1, 1, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 1, 4, SPRITE_POPPO, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+WestHouse1_Blocks:: INCBIN "maps/blk/WestHouse1.blk" \ No newline at end of file
diff --git a/data/maps/attributes/WestHouse2.asm b/data/maps/attributes/WestHouse2.asm
new file mode 100644
index 0000000..03603ec
--- /dev/null
+++ b/data/maps/attributes/WestHouse2.asm
@@ -0,0 +1,24 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/WestHouse2.asm", ROMX
+ map_attributes WestHouse2, WEST_HOUSE_2, 0
+
+WestHouse2_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 10, WEST, wOverworldMapBlocks + 47
+ warp_event 5, 7, 10, WEST, wOverworldMapBlocks + 47
+
+ db 4 ; bg events
+ bg_event 0, 1, 0, 1
+ bg_event 1, 1, 0, 2
+ bg_event 5, 1, 0, 3
+ bg_event 8, 0, 0, 4
+
+ db 3 ; person events
+ object_event 7, 3, SPRITE_GRAMPS, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 8, 6, SPRITE_YOUNGSTER, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 1, 5, SPRITE_BUG_CATCHER_BOY, FACE_UP, 2, 2, -1, -1, 0, 0, 0, 0, 0, 0
+
+WestHouse2_Blocks:: INCBIN "maps/blk/WestHouse2.blk" \ No newline at end of file
diff --git a/data/maps/attributes/WestMart1F.asm b/data/maps/attributes/WestMart1F.asm
new file mode 100644
index 0000000..3141c21
--- /dev/null
+++ b/data/maps/attributes/WestMart1F.asm
@@ -0,0 +1,22 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/WestMart1F.asm", ROMX
+ map_attributes WestMart1F, WEST_MART_1F, 0
+
+WestMart1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 4 ; warp events
+ warp_event 13, 7, 1, WEST, wOverworldMapBlocks + 63
+ warp_event 14, 7, 2, WEST, wOverworldMapBlocks + 64
+ warp_event 15, 0, 2, WEST_MART_2F, wOverworldMapBlocks + 22
+ warp_event 2, 0, 1, WEST_MART_ELEVATOR, wOverworldMapBlocks + 16
+
+ db 2 ; bg events
+ bg_event 14, 0, 0, 1
+ bg_event 3, 0, 0, 2
+
+ db 1 ; person events
+ object_event 7, 1, SPRITE_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+WestMart1F_Blocks:: INCBIN "maps/blk/WestMart1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/WestMart2F.asm b/data/maps/attributes/WestMart2F.asm
new file mode 100644
index 0000000..9113205
--- /dev/null
+++ b/data/maps/attributes/WestMart2F.asm
@@ -0,0 +1,38 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/WestMart2F.asm", ROMX
+ map_attributes WestMart2F, WEST_MART_2F, 0
+
+WestMart2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 12, 0, 1, WEST_MART_3F, wOverworldMapBlocks + 21
+ warp_event 15, 0, 3, WEST_MART_1F, wOverworldMapBlocks + 22
+ warp_event 2, 0, 1, WEST_MART_ELEVATOR, wOverworldMapBlocks + 16
+
+ db 16 ; bg events
+ bg_event 14, 0, 0, 1
+ bg_event 3, 0, 0, 2
+ bg_event 3, 4, 0, 3
+ bg_event 3, 5, 0, 3
+ bg_event 3, 6, 0, 3
+ bg_event 3, 7, 0, 3
+ bg_event 7, 4, 0, 3
+ bg_event 7, 5, 0, 3
+ bg_event 7, 6, 0, 3
+ bg_event 7, 7, 0, 3
+ bg_event 4, 1, 0, 3
+ bg_event 5, 1, 0, 3
+ bg_event 6, 1, 0, 3
+ bg_event 7, 1, 0, 3
+ bg_event 8, 1, 0, 3
+ bg_event 9, 1, 0, 3
+
+ db 4 ; person events
+ object_event 14, 5, SPRITE_CLERK, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 5, 6, SPRITE_LASS, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 1, 5, SPRITE_BURGLAR, FACE_UP, 2, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 2, SPRITE_ROCKET_M, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+WestMart2F_Blocks:: INCBIN "maps/blk/WestMart2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/WestMart3F.asm b/data/maps/attributes/WestMart3F.asm
new file mode 100644
index 0000000..198bb26
--- /dev/null
+++ b/data/maps/attributes/WestMart3F.asm
@@ -0,0 +1,35 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/WestMart3F.asm", ROMX
+ map_attributes WestMart3F, WEST_MART_3F, 0
+
+WestMart3F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 12, 0, 1, WEST_MART_2F, wOverworldMapBlocks + 21
+ warp_event 15, 0, 2, WEST_MART_4F, wOverworldMapBlocks + 22
+ warp_event 2, 0, 1, WEST_MART_ELEVATOR, wOverworldMapBlocks + 16
+
+ db 14 ; bg events
+ bg_event 14, 0, 0, 1
+ bg_event 3, 0, 0, 2
+ bg_event 1, 4, 0, 3
+ bg_event 1, 5, 0, 3
+ bg_event 1, 6, 0, 3
+ bg_event 1, 7, 0, 3
+ bg_event 5, 4, 0, 3
+ bg_event 5, 5, 0, 3
+ bg_event 5, 6, 0, 3
+ bg_event 5, 7, 0, 3
+ bg_event 9, 4, 0, 3
+ bg_event 9, 5, 0, 3
+ bg_event 9, 6, 0, 3
+ bg_event 9, 7, 0, 3
+
+ db 3 ; person events
+ object_event 6, 1, SPRITE_CLERK, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 13, 4, SPRITE_GENTLEMAN, FACE_UP, 2, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 5, SPRITE_SUPER_NERD, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+WestMart3F_Blocks:: INCBIN "maps/blk/WestMart3F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/WestMart4F.asm b/data/maps/attributes/WestMart4F.asm
new file mode 100644
index 0000000..994e4a4
--- /dev/null
+++ b/data/maps/attributes/WestMart4F.asm
@@ -0,0 +1,35 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/WestMart4F.asm", ROMX
+ map_attributes WestMart4F, WEST_MART_4F, 0
+
+WestMart4F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 12, 0, 1, WEST_MART_5F, wOverworldMapBlocks + 21
+ warp_event 15, 0, 2, WEST_MART_3F, wOverworldMapBlocks + 22
+ warp_event 2, 0, 1, WEST_MART_ELEVATOR, wOverworldMapBlocks + 16
+
+ db 14 ; bg events
+ bg_event 14, 0, 0, 1
+ bg_event 3, 0, 0, 2
+ bg_event 2, 5, 0, 3
+ bg_event 3, 5, 0, 3
+ bg_event 4, 5, 0, 3
+ bg_event 5, 5, 0, 3
+ bg_event 6, 5, 0, 3
+ bg_event 7, 5, 0, 3
+ bg_event 8, 5, 0, 3
+ bg_event 9, 5, 0, 3
+ bg_event 6, 1, 0, 3
+ bg_event 7, 1, 0, 3
+ bg_event 8, 1, 0, 3
+ bg_event 9, 1, 0, 3
+
+ db 3 ; person events
+ object_event 13, 5, SPRITE_CLERK, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 8, 6, SPRITE_24, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 7, 2, SPRITE_ROCKER, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+WestMart4F_Blocks:: INCBIN "maps/blk/WestMart4F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/WestMart5F.asm b/data/maps/attributes/WestMart5F.asm
new file mode 100644
index 0000000..4ac7cf8
--- /dev/null
+++ b/data/maps/attributes/WestMart5F.asm
@@ -0,0 +1,23 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/WestMart5F.asm", ROMX
+ map_attributes WestMart5F, WEST_MART_5F, 0
+
+WestMart5F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 12, 0, 1, WEST_MART_4F, wOverworldMapBlocks + 21
+ warp_event 15, 0, 1, WEST_MART_6F, wOverworldMapBlocks + 22
+ warp_event 2, 0, 1, WEST_MART_ELEVATOR, wOverworldMapBlocks + 16
+
+ db 2 ; bg events
+ bg_event 14, 0, 0, 1
+ bg_event 3, 0, 0, 2
+
+ db 3 ; person events
+ object_event 8, 5, SPRITE_GYM_GUY, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 13, 5, SPRITE_YOUNGSTER, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 13, 4, SPRITE_NYOROBON, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+WestMart5F_Blocks:: INCBIN "maps/blk/WestMart5F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/WestMart6F.asm b/data/maps/attributes/WestMart6F.asm
new file mode 100644
index 0000000..9a26086
--- /dev/null
+++ b/data/maps/attributes/WestMart6F.asm
@@ -0,0 +1,24 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/WestMart6F.asm", ROMX
+ map_attributes WestMart6F, WEST_MART_6F, 0
+
+WestMart6F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 15, 0, 2, WEST_MART_5F, wOverworldMapBlocks + 22
+
+ db 5 ; bg events
+ bg_event 8, 1, 0, 1
+ bg_event 9, 1, 0, 2
+ bg_event 10, 1, 0, 3
+ bg_event 11, 1, 0, 4
+ bg_event 14, 0, 0, 5
+
+ db 3 ; person events
+ object_event 12, 3, SPRITE_OFFICER, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 4, SPRITE_SIDON, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 6, SPRITE_POPPO, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+WestMart6F_Blocks:: INCBIN "maps/blk/WestMart6F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/WestMartElevator.asm b/data/maps/attributes/WestMartElevator.asm
new file mode 100644
index 0000000..92ae723
--- /dev/null
+++ b/data/maps/attributes/WestMartElevator.asm
@@ -0,0 +1,17 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/WestMartElevator.asm", ROMX
+ map_attributes WestMartElevator, WEST_MART_ELEVATOR, 0
+
+WestMartElevator_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 1, 3, 4, WEST_MART_1F, wOverworldMapBlocks + 17
+ warp_event 2, 3, 4, WEST_MART_1F, wOverworldMapBlocks + 18
+
+ db 0 ; bg events
+
+ db 0 ; person events
+
+WestMartElevator_Blocks:: INCBIN "maps/blk/WestMartElevator.blk" \ No newline at end of file
diff --git a/data/maps/attributes/WestPokecenter1F.asm b/data/maps/attributes/WestPokecenter1F.asm
new file mode 100644
index 0000000..54d5e94
--- /dev/null
+++ b/data/maps/attributes/WestPokecenter1F.asm
@@ -0,0 +1,23 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/WestPokecenter1F.asm", ROMX
+ map_attributes WestPokecenter1F, WEST_POKECENTER_1F, 0
+
+WestPokecenter1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 5, 7, 6, WEST, wOverworldMapBlocks + 59
+ warp_event 6, 7, 6, WEST, wOverworldMapBlocks + 60
+ warp_event 0, 7, 1, WEST_POKECENTER_2F, wOverworldMapBlocks + 57
+
+ db 1 ; bg events
+ bg_event 13, 1, 0, 1
+
+ db 4 ; person events
+ object_event 5, 1, SPRITE_NURSE, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 14, 6, SPRITE_GENTLEMAN, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 5, SPRITE_LASS, FACE_RIGHT, 0, 2, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 10, 1, SPRITE_ROCKET_M, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+WestPokecenter1F_Blocks:: INCBIN "maps/blk/WestPokecenter1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/WestPokecenter2F.asm b/data/maps/attributes/WestPokecenter2F.asm
new file mode 100644
index 0000000..8352240
--- /dev/null
+++ b/data/maps/attributes/WestPokecenter2F.asm
@@ -0,0 +1,20 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/WestPokecenter2F.asm", ROMX
+ map_attributes WestPokecenter2F, WEST_POKECENTER_2F, 0
+
+WestPokecenter2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 0, 7, 3, WEST_POKECENTER_1F, wOverworldMapBlocks + 57
+
+ db 1 ; bg events
+ bg_event 1, 1, 0, 1
+
+ db 3 ; person events
+ object_event 5, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 9, 2, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 13, 3, SPRITE_LINK_RECEPTIONIST, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+WestPokecenter2F_Blocks:: INCBIN "maps/blk/WestPokecenter2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/WestRadioTower1F.asm b/data/maps/attributes/WestRadioTower1F.asm
new file mode 100644
index 0000000..a5fec8d
--- /dev/null
+++ b/data/maps/attributes/WestRadioTower1F.asm
@@ -0,0 +1,23 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/WestRadioTower1F.asm", ROMX
+ map_attributes WestRadioTower1F, WEST_RADIO_TOWER_1F, 0
+
+WestRadioTower1F_MapEvents::
+ dw $4000 ; unknown
+
+ db 3 ; warp events
+ warp_event 2, 7, 3, WEST, wOverworldMapBlocks + 42
+ warp_event 3, 7, 4, WEST, wOverworldMapBlocks + 42
+ warp_event 7, 0, 2, WEST_RADIO_TOWER_2F, wOverworldMapBlocks + 14
+
+ db 2 ; bg events
+ bg_event 5, 0, 0, 1
+ bg_event 0, 1, 0, 2
+
+ db 3 ; person events
+ object_event 6, 6, SPRITE_RECEPTIONIST, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 3, SPRITE_SUPER_NERD, FACE_UP, 1, 1, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 7, 4, SPRITE_ROCKER, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+WestRadioTower1F_Blocks:: INCBIN "maps/blk/WestRadioTower1F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/WestRadioTower2F.asm b/data/maps/attributes/WestRadioTower2F.asm
new file mode 100644
index 0000000..bf1dc93
--- /dev/null
+++ b/data/maps/attributes/WestRadioTower2F.asm
@@ -0,0 +1,25 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/WestRadioTower2F.asm", ROMX
+ map_attributes WestRadioTower2F, WEST_RADIO_TOWER_2F, 0
+
+WestRadioTower2F_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 0, 0, 1, WEST_RADIO_TOWER_3F, wOverworldMapBlocks + 11
+ warp_event 7, 0, 3, WEST_RADIO_TOWER_1F, wOverworldMapBlocks + 14
+
+ db 1 ; bg events
+ bg_event 5, 0, 0, 1
+
+ db 7 ; person events
+ object_event 4, 6, SPRITE_GYM_GUY, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 7, 5, SPRITE_ROCKER, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 1, 5, SPRITE_SUPER_NERD, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 5, 2, SPRITE_GIRL, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 1, SPRITE_36, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 6, SPRITE_36, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 7, SPRITE_36, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+WestRadioTower2F_Blocks:: INCBIN "maps/blk/WestRadioTower2F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/WestRadioTower3F.asm b/data/maps/attributes/WestRadioTower3F.asm
new file mode 100644
index 0000000..8ace355
--- /dev/null
+++ b/data/maps/attributes/WestRadioTower3F.asm
@@ -0,0 +1,26 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/WestRadioTower3F.asm", ROMX
+ map_attributes WestRadioTower3F, WEST_RADIO_TOWER_3F, 0
+
+WestRadioTower3F_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 0, 0, 1, WEST_RADIO_TOWER_2F, wOverworldMapBlocks + 11
+ warp_event 7, 0, 2, WEST_RADIO_TOWER_4F, wOverworldMapBlocks + 14
+
+ db 1 ; bg events
+ bg_event 5, 0, 0, 1
+
+ db 8 ; person events
+ object_event 4, 6, SPRITE_SUPER_NERD, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 1, 6, SPRITE_ROCKER, FACE_UP, 2, 1, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 1, SPRITE_TEACHER, SLOW_STEP_DOWN, 1, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 5, SPRITE_GIRL, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 5, 2, SPRITE_36, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 3, SPRITE_36, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 1, 7, SPRITE_36, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 7, 6, SPRITE_36, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+WestRadioTower3F_Blocks:: INCBIN "maps/blk/WestRadioTower3F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/WestRadioTower4F.asm b/data/maps/attributes/WestRadioTower4F.asm
new file mode 100644
index 0000000..a454c37
--- /dev/null
+++ b/data/maps/attributes/WestRadioTower4F.asm
@@ -0,0 +1,27 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/WestRadioTower4F.asm", ROMX
+ map_attributes WestRadioTower4F, WEST_RADIO_TOWER_4F, 0
+
+WestRadioTower4F_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 0, 0, 1, WEST_RADIO_TOWER_5F, wOverworldMapBlocks + 11
+ warp_event 7, 0, 2, WEST_RADIO_TOWER_3F, wOverworldMapBlocks + 14
+
+ db 1 ; bg events
+ bg_event 5, 0, 0, 1
+
+ db 9 ; person events
+ object_event 2, 6, SPRITE_SUPER_NERD, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 2, SPRITE_ROCKER, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 7, 5, SPRITE_BURGLAR, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 7, 6, SPRITE_ROCKER, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 0, 5, SPRITE_GIRL, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 5, 5, SPRITE_36, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 4, SPRITE_36, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 5, 1, SPRITE_36, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 1, 2, SPRITE_36, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+WestRadioTower4F_Blocks:: INCBIN "maps/blk/WestRadioTower4F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/WestRadioTower5F.asm b/data/maps/attributes/WestRadioTower5F.asm
new file mode 100644
index 0000000..802cd17
--- /dev/null
+++ b/data/maps/attributes/WestRadioTower5F.asm
@@ -0,0 +1,27 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/WestRadioTower5F.asm", ROMX
+ map_attributes WestRadioTower5F, WEST_RADIO_TOWER_5F, 0
+
+WestRadioTower5F_MapEvents::
+ dw $4000 ; unknown
+
+ db 1 ; warp events
+ warp_event 0, 0, 1, WEST_RADIO_TOWER_4F, wOverworldMapBlocks + 11
+
+ db 3 ; bg events
+ bg_event 3, 0, 0, 1
+ bg_event 6, 4, 0, 2
+ bg_event 7, 4, 0, 2
+
+ db 8 ; person events
+ object_event 6, 6, SPRITE_SCIENTIST, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 5, 2, SPRITE_TEACHER, SLOW_STEP_DOWN, 1, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 6, SPRITE_PIPPI, SLOW_STEP_DOWN, 2, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 1, 5, SPRITE_PIPPI, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 7, SPRITE_SAKAKI, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 4, 2, SPRITE_36, SLOW_STEP_RIGHT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 2, 4, SPRITE_36, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 6, 7, SPRITE_TEACHER, SLOW_STEP_DOWN, 1, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+WestRadioTower5F_Blocks:: INCBIN "maps/blk/WestRadioTower5F.blk" \ No newline at end of file
diff --git a/data/maps/attributes/WestRocketRaidedHouse.asm b/data/maps/attributes/WestRocketRaidedHouse.asm
new file mode 100644
index 0000000..fffd081
--- /dev/null
+++ b/data/maps/attributes/WestRocketRaidedHouse.asm
@@ -0,0 +1,29 @@
+INCLUDE "constants.asm"
+
+SECTION "data/maps/attributes/WestRocketRaidedHouse.asm", ROMX
+ map_attributes WestRocketRaidedHouse, WEST_ROCKET_RAIDED_HOUSE, 0
+
+WestRocketRaidedHouse_MapEvents::
+ dw $4000 ; unknown
+
+ db 2 ; warp events
+ warp_event 4, 7, 5, WEST, wOverworldMapBlocks + 47
+ warp_event 5, 7, 5, WEST, wOverworldMapBlocks + 47
+
+ db 7 ; bg events
+ bg_event 0, 1, 0, 1
+ bg_event 1, 1, 0, 2
+ bg_event 2, 1, 0, 3
+ bg_event 4, 1, 0, 4
+ bg_event 5, 1, 0, 4
+ bg_event 7, 1, 0, 5
+ bg_event 8, 0, 0, 6
+
+ db 5 ; person events
+ object_event 8, 1, SPRITE_36, SLOW_STEP_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 7, 5, SPRITE_36, FACE_LEFT, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 3, 4, SPRITE_POKEFAN_M, STEP_DOWN, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 1, 3, SPRITE_POKEFAN_F, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+ object_event 7, 2, SPRITE_POKE_BALL, SLOW_STEP_UP, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0
+
+WestRocketRaidedHouse_Blocks:: INCBIN "maps/blk/WestRocketRaidedHouse.blk" \ No newline at end of file
diff --git a/data/maps/landmarks.asm b/data/maps/landmarks.asm
index bc05bd3..e53d1e0 100644
--- a/data/maps/landmarks.asm
+++ b/data/maps/landmarks.asm
@@ -1,6 +1,6 @@
INCLUDE "constants.asm"
-SECTION "LandmarkNames", ROMX[$4AAF], BANK[$3F]
+SECTION "data/maps/landmarks.asm", ROMX
LandmarkNames::
db "サイレント@" ; SILENT
@@ -47,4 +47,4 @@ LandmarkNames::
db "#りーぐ6@" ; POKEMON_LEAGUE_6
db "#りーぐ7@" ; POKEMON_LEAGUE_7
db "#りーぐ7@" ; POKEMON_LEAGUE_7_2
- db "しずかなおか@" ; SILENT_HILL
+ db "しずかなおか@" ; SILENT_HILL \ No newline at end of file
diff --git a/data/maps/maps.asm b/data/maps/maps.asm
index 1332a0e..8cdef24 100644
--- a/data/maps/maps.asm
+++ b/data/maps/maps.asm
@@ -1,17 +1,6 @@
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
- db BANK(\1_MapAttributes), \2, \3
- dw \1_MapAttributes
- db \4
- db 0, 0 ; ???
-ENDM
-
-SECTION "Map Data", ROMX[$4000], BANK[$04]
+SECTION "data/maps/maps.asm", ROMX
db 0 ; ???
@@ -44,11 +33,11 @@ MapGroup_SilentHill:
map RouteSilentEastGate, TILESET_ROUTE_GATE, GATE, LANDMARK_ROUTE_SILENT_EAST
map PlayerHouse1F, TILESET_HOUSE, INDOOR, LANDMARK_SILENT_HILL
map PlayerHouse2F, TILESET_HOUSE, INDOOR, LANDMARK_SILENT_HILL
- map SilentPokecenter, TILESET_POKECENTER, INDOOR, LANDMARK_SILENT_HILL
+ map SilentHillPokecenter, TILESET_POKECENTER, INDOOR, LANDMARK_SILENT_HILL
map SilentHillHouse, TILESET_HOUSE, INDOOR, LANDMARK_SILENT_HILL
- map SilentHillLab, TILESET_LAB, INDOOR, LANDMARK_SILENT_HILL
- map SilentHillLab2, TILESET_LAB, INDOOR, LANDMARK_SILENT_HILL
- map Unused13, TILESET_LAB, INDOOR, LANDMARK_SILENT_HILL
+ map SilentHillLabFront, TILESET_LAB, INDOOR, LANDMARK_SILENT_HILL
+ map SilentHillLabBack, TILESET_LAB, INDOOR, LANDMARK_SILENT_HILL
+ map UnusedMap13, TILESET_LAB, INDOOR, LANDMARK_SILENT_HILL
map ShizukanaOka, TILESET_FOREST, CAVE, LANDMARK_NONE
MapGroup_OldCity:
@@ -294,4 +283,4 @@ MapGroup_Misc:
map SlowpokeWellEntrance, TILESET_CAVE, CAVE, LANDMARK_NONE
map SlowpokeWellMain, TILESET_CAVE, CAVE, LANDMARK_NONE
-MapGroup_Empty:
+MapGroup_Empty: \ No newline at end of file
diff --git a/data/moves/names.asm b/data/moves/names.asm
index db98d65..7936696 100644
--- a/data/moves/names.asm
+++ b/data/moves/names.asm
@@ -1,6 +1,6 @@
INCLUDE "constants.asm"
-SECTION "MoveNames", ROMX[$52A1], BANK[$10]
+SECTION "data/moves/names.asm", ROMX
MoveNames::
db "はたく@" ; POUND
@@ -253,4 +253,4 @@ MoveNames::
db "てつわん@" ; STRONG_ARM
db "ひかりゴケ@" ; BRIGHT_MOSS
db "うずしお@" ; WHIRLPOOL
- db "とびはねる@" ; BOUNCE
+ db "とびはねる@" ; BOUNCE \ No newline at end of file
diff --git a/data/moves/tmhm_moves.asm b/data/moves/tmhm_moves.asm
index e62f1d5..84183ac 100644
--- a/data/moves/tmhm_moves.asm
+++ b/data/moves/tmhm_moves.asm
@@ -1,6 +1,6 @@
INCLUDE "constants.asm"
-SECTION "TM/HM Moves", ROMX[$52D1], BANK[$04]
+SECTION "data/moves/tmhm_moves.asm", ROMX
; This is a nearly-sequential table of new moves.
; It was probably meant for easy testing, not as
@@ -65,4 +65,4 @@ TMHMMoves: ; 04:52d1
db MOVE_STRONG_ARM ; HM04
db MOVE_BRIGHT_MOSS ; HM05
db MOVE_WHIRLPOOL ; HM06
- db MOVE_BOUNCE ; HM07
+ db MOVE_BOUNCE ; HM07 \ No newline at end of file
diff --git a/data/pokemon/base_stats.asm b/data/pokemon/base_stats.asm
index 7b3a07e..6da691e 100644
--- a/data/pokemon/base_stats.asm
+++ b/data/pokemon/base_stats.asm
@@ -1,6 +1,6 @@
INCLUDE "constants.asm"
-SECTION "Base Data", ROMX[$4F10], BANK[$14]
+SECTION "data/pokemon/base_stats.asm", ROMX
tmhm: MACRO
; used in data/pokemon/base_stats/*.asm
@@ -288,4 +288,4 @@ BaseStats_Houou:: INCLUDE "data/pokemon/base_stats/houou.inc"
BaseStats_Togepy:: INCLUDE "data/pokemon/base_stats/togepy.inc"
BaseStats_Bulu:: INCLUDE "data/pokemon/base_stats/bulu.inc"
BaseStats_Tail:: INCLUDE "data/pokemon/base_stats/tail.inc"
-BaseStats_Leafy:: INCLUDE "data/pokemon/base_stats/leafy.inc"
+BaseStats_Leafy:: INCLUDE "data/pokemon/base_stats/leafy.inc" \ No newline at end of file
diff --git a/data/pokemon/dex_order_alpha.asm b/data/pokemon/dex_order_alpha.asm
index 1e6a6b5..6f0b804 100644
--- a/data/pokemon/dex_order_alpha.asm
+++ b/data/pokemon/dex_order_alpha.asm
@@ -1,6 +1,6 @@
INCLUDE "constants.asm"
-SECTION "Alphabetical Pokedex Order", ROMX[$4943], BANK[$10]
+SECTION "data/pokemon/dex_order_alpha.asm", ROMX
; Every Pokémon sorted alphabetically by name (gojūon order).
@@ -255,4 +255,4 @@ AlphabeticalPokedexOrder: ; 0x40943
db DEX_ROKON
db DEX_WARWOLF
db DEX_WATANEKO
- db DEX_WANRIKY
+ db DEX_WANRIKY \ No newline at end of file
diff --git a/data/pokemon/evos_attacks.asm b/data/pokemon/evos_attacks.asm
index c18757b..fb94284 100644
--- a/data/pokemon/evos_attacks.asm
+++ b/data/pokemon/evos_attacks.asm
@@ -1,6 +1,6 @@
INCLUDE "constants.asm"
-SECTION "Evolutions and Attacks", ROMX[$6493], BANK[$10]
+SECTION "data/pokemon/evos_attacks.asm", ROMX
; Evolutions for Pokémon available in the demo were removed,
; and have been left in comments.
@@ -3296,4 +3296,4 @@ LeafyEvosAttacks: ; 43aa4
db 49, MOVE_MORNING_SUN
db 56, MOVE_WRAP
db 63, MOVE_SOLARBEAM
- db 0 ; no more level-up moves
+ db 0 ; no more level-up moves \ No newline at end of file
diff --git a/data/pokemon/names.asm b/data/pokemon/names.asm
index 54d5263..15475c9 100644
--- a/data/pokemon/names.asm
+++ b/data/pokemon/names.asm
@@ -1,6 +1,6 @@
INCLUDE "constants.asm"
-SECTION "PokemonNames", ROMX[$6D75], BANK[$14]
+SECTION "data/pokemon/names.asm", ROMX
PokemonNames::
db "フシギダネ" ; FUSHIGIDANE
@@ -253,4 +253,4 @@ PokemonNames::
db "トゲピー@" ; TOGEPY
db "ブルー@@" ; BULU
db "テイル@@" ; TAIL
- db "りーフィ@" ; LEAFY
+ db "りーフィ@" ; LEAFY \ No newline at end of file
diff --git a/data/predef_pointers.inc b/data/predef_pointers.inc
index f10af54..edb6a77 100644
--- a/data/predef_pointers.inc
+++ b/data/predef_pointers.inc
@@ -93,7 +93,7 @@ GiveItemPredef::
add_predef Function8c4be
add_predef Function8c9c6
add_predef Function8c940 ; 50
- add_predef Functioncc001
+ add_predef PlayBattleAnim
add_predef Functioncc000
add_predef Functioncc000_2
add_predef Functionfdb66
diff --git a/data/tileset_headers.asm b/data/tileset_headers.asm
index 47b0c38..82d3d7e 100644
--- a/data/tileset_headers.asm
+++ b/data/tileset_headers.asm
@@ -1,10 +1,10 @@
INCLUDE "constants.asm"
-if DEBUG
-SECTION "Tileset Headers", ROMX[$488D], BANK[$03]
-else
-SECTION "Tileset Headers", ROMX[$4875], BANK[$03]
-endc
+; if DEBUG
+SECTION "data/tileset_headers.asm", ROMX
+; else
+; SECTION "Tileset Headers", ROMX[$4875], BANK[$03]
+; endc
Tileset_00: ; 0xc88d
db $06 ; bank
@@ -285,4 +285,4 @@ Tileset_1b: ; 0xc9b6
db $77 ; talking over tile 1
db $40 ; talking over tile 2
db $00 ; talking over tile 3
- db $00 ; unknown
+ db $00 ; unknown \ No newline at end of file
diff --git a/data/trainers/class_names.asm b/data/trainers/class_names.asm
index 8e130f8..02c8203 100644
--- a/data/trainers/class_names.asm
+++ b/data/trainers/class_names.asm
@@ -1,6 +1,6 @@
INCLUDE "constants.asm"
-SECTION "TrainerClassNames", ROMX[$4D90], BANK[$0E]
+SECTION "data/trainers/class_names.asm", ROMX
TrainerClassNames:: ; 38d90
db "ハヤト@" ; HAYATO
@@ -66,4 +66,4 @@ TrainerClassNames:: ; 38d90
db "ふたごちゃん@" ; TWINS
db "ゲルゲだんいん♂@" ; GERUGE_MEMBER_M_2
db "してんのう♂@" ; ELITE_FOUR_M
- db "してんのう♀@" ; ELITE_FOUR_F
+ db "してんのう♀@" ; ELITE_FOUR_F \ No newline at end of file
diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm
index 013cf58..b8d8a20 100644
--- a/data/trainers/parties.asm
+++ b/data/trainers/parties.asm
@@ -9,7 +9,7 @@ INCLUDE "constants.asm"
; * for TRAINERTYPE_ITEM_MOVES: db level, species, item, 4 moves
; - db -1 ; end
-SECTION "Trainer Parties", ROMX[$5110], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties", ROMX
INCLUDE "data/trainers/party_pointers.inc"
@@ -622,7 +622,7 @@ KimonoGirlGroup::
else
-SECTION "Trainer Parties 1 TEMPORARY", ROMX[$51BF], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 1 TEMPORARY", ROMX
AkaneGroup::
BugCatcherBoyGroup::
; BUG_CATCHER_BOY_KENJI
@@ -635,47 +635,47 @@ BugCatcherBoyGroup::
db 7, DEX_KONGPANG, ITEM_NONE, MOVE_STUN_SPORE, MOVE_LEECH_LIFE, MOVE_NONE, MOVE_NONE
db -1 ; end
-SECTION "Trainer Parties 2 TEMPORARY", ROMX[$52B4], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 2 TEMPORARY", ROMX
MikanGroup::
-SECTION "Trainer Parties 3 TEMPORARY", ROMX[$53BC], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 3 TEMPORARY", ROMX
OkidoGroup::
-SECTION "Trainer Parties 4 TEMPORARY", ROMX[$54BA], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 4 TEMPORARY", ROMX
WataruGroup::
-SECTION "Trainer Parties 5 TEMPORARY", ROMX[$54E0], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 5 TEMPORARY", ROMX
GerugeMemberMGroup::
-SECTION "Trainer Parties 6 TEMPORARY", ROMX[$54FE], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 6 TEMPORARY", ROMX
Trio1Group::
BeautyGroup::
-SECTION "Trainer Parties 7 TEMPORARY", ROMX[$55EB], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 7 TEMPORARY", ROMX
FledglingGroup::
-SECTION "Trainer Parties 8 TEMPORARY", ROMX[$56CE], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 8 TEMPORARY", ROMX
PokeManiacGroup::
-SECTION "Trainer Parties 9 TEMPORARY", ROMX[$57BC], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 9 TEMPORARY", ROMX
GentlemanGroup::
-SECTION "Trainer Parties 10 TEMPORARY", ROMX[$57E0], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 10 TEMPORARY", ROMX
TeacherMGroup::
-SECTION "Trainer Parties 11 TEMPORARY", ROMX[$57EC], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 11 TEMPORARY", ROMX
TeacherFGroup::
-SECTION "Trainer Parties 12 TEMPORARY", ROMX[$57F2], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 12 TEMPORARY", ROMX
ManchildGroup::
-SECTION "Trainer Parties 13 TEMPORARY", ROMX[$58C3], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 13 TEMPORARY", ROMX
RockerGroup::
-SECTION "Trainer Parties 14 TEMPORARY", ROMX[$58F2], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 14 TEMPORARY", ROMX
HikerGroup::
-SECTION "Trainer Parties 15 TEMPORARY", ROMX[$5995], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 15 TEMPORARY", ROMX
KimonoGirlGroup::
; KIMONO_GIRL_KOUME
db "こうめ@", TRAINERTYPE_ITEM_MOVES
@@ -687,112 +687,112 @@ KimonoGirlGroup::
db 10, DEX_PURIN, ITEM_NONE, MOVE_CHARM, MOVE_POUND, MOVE_ENCORE, MOVE_NONE
db -1 ; end
-SECTION "Trainer Parties 16 TEMPORARY", ROMX[$518A], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 16 TEMPORARY", ROMX
HayatoGroup::
-SECTION "Trainer Parties 17 TEMPORARY", ROMX[$5216], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 17 TEMPORARY", ROMX
TsukishiGroup::
LassGroup::
-SECTION "Trainer Parties 18 TEMPORARY", ROMX[$526F], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 18 TEMPORARY", ROMX
EnokiGroup::
-SECTION "Trainer Parties 19 TEMPORARY", ROMX[$528F], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 19 TEMPORARY", ROMX
OkeraGroup::
-SECTION "Trainer Parties 20 TEMPORARY", ROMX[$533D], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 20 TEMPORARY", ROMX
GamaGroup::
-SECTION "Trainer Parties 21 TEMPORARY", ROMX[$5542], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 21 TEMPORARY", ROMX
Trio2Group::
-SECTION "Trainer Parties 22 TEMPORARY", ROMX[$5554], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 22 TEMPORARY", ROMX
Trio3Group::
-SECTION "Trainer Parties 23 TEMPORARY", ROMX[$5673], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 23 TEMPORARY", ROMX
ProfessionalMGroup::
ProfessionalFGroup::
-SECTION "Trainer Parties 24 TEMPORARY", ROMX[$5812], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 24 TEMPORARY", ROMX
SwimmerMGroup::
-SECTION "Trainer Parties 25 TEMPORARY", ROMX[$5821], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 25 TEMPORARY", ROMX
SuperNerdGroup::
-SECTION "Trainer Parties 26 TEMPORARY", ROMX[$5833], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 26 TEMPORARY", ROMX
EngineerGroup::
-SECTION "Trainer Parties 27 TEMPORARY", ROMX[$5965], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 27 TEMPORARY", ROMX
JugglerGroup::
-SECTION "Trainer Parties 28 TEMPORARY", ROMX[$5971], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 28 TEMPORARY", ROMX
TwinsGroup::
-SECTION "Trainer Parties 29 TEMPORARY", ROMX[$5976], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 29 TEMPORARY", ROMX
SchoolboyGroup::
; SCHOOLBOY_TETSUYA
db "てつや@", TRAINERTYPE_ITEM
db 8, DEX_YADOKING, ITEM_NONE
db -1 ; end
-SECTION "Trainer Parties 30 TEMPORARY", ROMX[$597F], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 30 TEMPORARY", ROMX
FirebreatherGroup::
; FIREBREATHER_AKITO
db "あきと@", TRAINERTYPE_ITEM
db 8, DEX_BOOBY, ITEM_NONE
db -1 ; end
-SECTION "Trainer Parties 31 TEMPORARY", ROMX[$5320], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 31 TEMPORARY", ROMX
BlueGroup::
-SECTION "Trainer Parties 32 TEMPORARY", ROMX[$5375], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 32 TEMPORARY", ROMX
RivalGroup::
-SECTION "Trainer Parties 33 TEMPORARY", ROMX[$5404], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 33 TEMPORARY", ROMX
SakakiGroup::
-SECTION "Trainer Parties 34 TEMPORARY", ROMX[$5427], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 34 TEMPORARY", ROMX
ProtagonistGroup::
-SECTION "Trainer Parties 35 TEMPORARY", ROMX[$5433], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 35 TEMPORARY", ROMX
SibaGroup::
KasumiGroup::
FisherGroup::
-SECTION "Trainer Parties 36 TEMPORARY", ROMX[$5476], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 36 TEMPORARY", ROMX
KannaGroup::
-SECTION "Trainer Parties 37 TEMPORARY", ROMX[$555D], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 37 TEMPORARY", ROMX
RocketFGroup::
-SECTION "Trainer Parties 38 TEMPORARY", ROMX[$557E], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 38 TEMPORARY", ROMX
YoungsterGroup::
-SECTION "Trainer Parties 39 TEMPORARY", ROMX[$564F], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 39 TEMPORARY", ROMX
ProdigyGroup::
-SECTION "Trainer Parties 40 TEMPORARY", ROMX[$578C], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 40 TEMPORARY", ROMX
RocketMGroup::
-SECTION "Trainer Parties 41 TEMPORARY", ROMX[$5808], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 41 TEMPORARY", ROMX
SwimmerFGroup::
-SECTION "Trainer Parties 42 TEMPORARY", ROMX[$5817], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 42 TEMPORARY", ROMX
SailorGroup::
-SECTION "Trainer Parties 43 TEMPORARY", ROMX[$58FE], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 43 TEMPORARY", ROMX
BikerGroup::
-SECTION "Trainer Parties 44 TEMPORARY", ROMX[$594D], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 44 TEMPORARY", ROMX
RockClimberGroup::
-SECTION "Trainer Parties 45 TEMPORARY", ROMX[$5959], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 45 TEMPORARY", ROMX
BurglarGroup::
-SECTION "Trainer Parties 46 TEMPORARY", ROMX[$5969], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 46 TEMPORARY", ROMX
BlackbeltGroup::
-SECTION "Trainer Parties 47 TEMPORARY", ROMX[$596D], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 47 TEMPORARY", ROMX
PsychicGroup::
KungFuMasterGroup::
FortuneTellerGroup::
@@ -802,11 +802,11 @@ MediumGroup::
SoldierGroup::
GerugeMemberFGroup::
-SECTION "Trainer Parties 48 TEMPORARY", ROMX[$5988], BANK[$0E]
+SECTION "data/trainers/parties.asm@Trainer Parties 48 TEMPORARY", ROMX
SportsmanGroup::
; SPORTSMAN_SHIGEKI
db "てつじ@", TRAINERTYPE_ITEM_MOVES
db 9, DEX_DONPHAN, ITEM_NONE, MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_NONE, MOVE_NONE
db -1 ; end
-endc
+endc \ No newline at end of file
diff --git a/data/types/names.asm b/data/types/names.asm
index 07ebec7..7036847 100644
--- a/data/types/names.asm
+++ b/data/types/names.asm
@@ -1,6 +1,6 @@
INCLUDE "constants.asm"
-SECTION "TypeNames", ROMX[$40DD], BANK[$14]
+SECTION "data/types/names.asm", ROMX
TypeNames::
dw .Normal ; NORMAL
@@ -50,4 +50,4 @@ TypeNames::
.Ghost: db "ゴースト@"
.Metal: db "メタル@"
.Dragon: db "ドラゴン@"
-.Dark: db "あく@"
+.Dark: db "あく@" \ No newline at end of file
diff --git a/data/types/search_strings.asm b/data/types/search_strings.asm
index c36a249..905f478 100644
--- a/data/types/search_strings.asm
+++ b/data/types/search_strings.asm
@@ -1,6 +1,6 @@
INCLUDE "constants.asm"
-SECTION "PokedexTypeSearchStrings", ROMX[$4ECC], BANK[$10]
+SECTION "data/types/search_strings.asm", ROMX
PokedexTypeSearchStrings::
db "ノーマル@" ; NORMAL
@@ -17,4 +17,4 @@ PokedexTypeSearchStrings::
db "むし  @" ; BUG
db "いわ  @" ; ROCK
db "ゴースト@" ; GHOST
- db "ドラゴン@" ; DRAGON
+ db "ドラゴン@" ; DRAGON \ No newline at end of file
diff --git a/data/types/search_types.asm b/data/types/search_types.asm
index fbaa70d..ed41650 100644
--- a/data/types/search_types.asm
+++ b/data/types/search_types.asm
@@ -1,6 +1,6 @@
INCLUDE "constants.asm"
-SECTION "PokedexTypeSearchConversionTable", ROMX[$5068], BANK[$10]
+SECTION "data/types/search_types.asm", ROMX
PokedexTypeSearchConversionTable::
db TYPE_NORMAL
@@ -17,4 +17,4 @@ PokedexTypeSearchConversionTable::
db TYPE_BUG
db TYPE_ROCK
db TYPE_GHOST
- db TYPE_DRAGON
+ db TYPE_DRAGON \ No newline at end of file
diff --git a/data/types/type_matchups.asm b/data/types/type_matchups.asm
index 8923a80..e23227a 100644
--- a/data/types/type_matchups.asm
+++ b/data/types/type_matchups.asm
@@ -1,6 +1,6 @@
INCLUDE "constants.asm"
-SECTION "Type Matchups", ROMX[$506D], BANK[$0D]
+SECTION "data/types/type_matchups.asm", ROMX
TypeMatchups: ; 3506d
; attacker, defender, *=
@@ -110,4 +110,4 @@ TypeMatchups: ; 3506d
db TYPE_NORMAL, TYPE_GHOST, NO_EFFECT
db -1 ; end
-; 3519b
+; 3519b \ No newline at end of file
diff --git a/data/wild.asm b/data/wild.asm
index d1cea5c..2796e91 100644
--- a/data/wild.asm
+++ b/data/wild.asm
@@ -1,6 +1,6 @@
INCLUDE "constants.asm"
-SECTION "Wild Pokémon", ROMX[$6A3C], BANK[$0F]
+SECTION "data/wild.asm", ROMX
GrassWildMons:: ; f:6a3c
@@ -642,4 +642,4 @@ endc
db 5, DEX_PIKACHU
db -1 ; end
-; f:6e3e
+; f:6e3e \ No newline at end of file