summaryrefslogtreecommitdiff
path: root/data/maps/attributes
diff options
context:
space:
mode:
Diffstat (limited to 'data/maps/attributes')
-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
228 files changed, 4839 insertions, 0 deletions
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