summaryrefslogtreecommitdiff
path: root/data/maps/objects
diff options
context:
space:
mode:
Diffstat (limited to 'data/maps/objects')
-rwxr-xr-xdata/maps/objects/AgathasRoom.asm15
-rw-r--r--data/maps/objects/BeachHouse.asm18
-rwxr-xr-xdata/maps/objects/BikeShop.asm15
-rwxr-xr-xdata/maps/objects/BillsHouse.asm15
-rwxr-xr-xdata/maps/objects/BluesHouse.asm15
-rwxr-xr-xdata/maps/objects/BrunosRoom.asm15
-rwxr-xr-xdata/maps/objects/CeladonChiefHouse.asm15
-rwxr-xr-xdata/maps/objects/CeladonCity.asm41
-rwxr-xr-xdata/maps/objects/CeladonDiner.asm17
-rwxr-xr-xdata/maps/objects/CeladonGym.asm20
-rwxr-xr-xdata/maps/objects/CeladonHotel.asm15
-rwxr-xr-xdata/maps/objects/CeladonMansion1F.asm20
-rwxr-xr-xdata/maps/objects/CeladonMansion2F.asm15
-rwxr-xr-xdata/maps/objects/CeladonMansion3F.asm22
-rwxr-xr-xdata/maps/objects/CeladonMansionRoof.asm14
-rwxr-xr-xdata/maps/objects/CeladonMansionRoofHouse.asm14
-rwxr-xr-xdata/maps/objects/CeladonMart1F.asm19
-rwxr-xr-xdata/maps/objects/CeladonMart2F.asm18
-rwxr-xr-xdata/maps/objects/CeladonMart3F.asm30
-rwxr-xr-xdata/maps/objects/CeladonMart4F.asm17
-rwxr-xr-xdata/maps/objects/CeladonMart5F.asm18
-rwxr-xr-xdata/maps/objects/CeladonMartElevator.asm13
-rwxr-xr-xdata/maps/objects/CeladonMartRoof.asm17
-rwxr-xr-xdata/maps/objects/CeladonPokecenter.asm17
-rwxr-xr-xdata/maps/objects/CeruleanBadgeHouse.asm14
-rwxr-xr-xdata/maps/objects/CeruleanCave1F.asm23
-rwxr-xr-xdata/maps/objects/CeruleanCave2F.asm20
-rwxr-xr-xdata/maps/objects/CeruleanCaveB1F.asm16
-rwxr-xr-xdata/maps/objects/CeruleanCity.asm37
-rwxr-xr-xdata/maps/objects/CeruleanGym.asm16
-rwxr-xr-xdata/maps/objects/CeruleanMart.asm15
-rwxr-xr-xdata/maps/objects/CeruleanPokecenter.asm17
-rwxr-xr-xdata/maps/objects/CeruleanTradeHouse.asm16
-rwxr-xr-xdata/maps/objects/CeruleanTrashedHouse.asm16
-rwxr-xr-xdata/maps/objects/ChampionsRoom.asm16
-rwxr-xr-xdata/maps/objects/CinnabarGym.asm21
-rwxr-xr-xdata/maps/objects/CinnabarIsland.asm22
-rwxr-xr-xdata/maps/objects/CinnabarLab.asm20
-rwxr-xr-xdata/maps/objects/CinnabarLabFossilRoom.asm14
-rwxr-xr-xdata/maps/objects/CinnabarLabMetronomeRoom.asm17
-rwxr-xr-xdata/maps/objects/CinnabarLabTradeRoom.asm15
-rwxr-xr-xdata/maps/objects/CinnabarMart.asm15
-rwxr-xr-xdata/maps/objects/CinnabarPokecenter.asm17
-rw-r--r--data/maps/objects/Colosseum.asm11
-rwxr-xr-xdata/maps/objects/CopycatsHouse1F.asm16
-rwxr-xr-xdata/maps/objects/CopycatsHouse2F.asm18
-rwxr-xr-xdata/maps/objects/Daycare.asm13
-rwxr-xr-xdata/maps/objects/DiglettsCave.asm12
-rwxr-xr-xdata/maps/objects/DiglettsCaveRoute11.asm14
-rwxr-xr-xdata/maps/objects/DiglettsCaveRoute2.asm14
-rwxr-xr-xdata/maps/objects/FightingDojo.asm19
-rwxr-xr-xdata/maps/objects/FuchsiaBillsGrandpasHouse.asm15
-rwxr-xr-xdata/maps/objects/FuchsiaCity.asm43
-rwxr-xr-xdata/maps/objects/FuchsiaGoodRodHouse.asm14
-rwxr-xr-xdata/maps/objects/FuchsiaGym.asm20
-rwxr-xr-xdata/maps/objects/FuchsiaMart.asm15
-rwxr-xr-xdata/maps/objects/FuchsiaMeetingRoom.asm15
-rwxr-xr-xdata/maps/objects/FuchsiaPokecenter.asm17
-rwxr-xr-xdata/maps/objects/GameCorner.asm25
-rwxr-xr-xdata/maps/objects/GameCornerPrizeRoom.asm17
-rwxr-xr-xdata/maps/objects/HallOfFame.asm13
-rwxr-xr-xdata/maps/objects/IndigoPlateau.asm12
-rwxr-xr-xdata/maps/objects/IndigoPlateauLobby.asm19
-rwxr-xr-xdata/maps/objects/LancesRoom.asm14
-rwxr-xr-xdata/maps/objects/LavenderCuboneHouse.asm14
-rwxr-xr-xdata/maps/objects/LavenderMart.asm15
-rwxr-xr-xdata/maps/objects/LavenderPokecenter.asm17
-rwxr-xr-xdata/maps/objects/LavenderTown.asm25
-rwxr-xr-xdata/maps/objects/LoreleisRoom.asm15
-rwxr-xr-xdata/maps/objects/MrFujisHouse.asm18
-rwxr-xr-xdata/maps/objects/MrPsychicsHouse.asm13
-rwxr-xr-xdata/maps/objects/MtMoon1F.asm29
-rwxr-xr-xdata/maps/objects/MtMoonB1F.asm18
-rwxr-xr-xdata/maps/objects/MtMoonB2F.asm24
-rwxr-xr-xdata/maps/objects/MtMoonPokecenter.asm19
-rwxr-xr-xdata/maps/objects/Museum1F.asm20
-rwxr-xr-xdata/maps/objects/Museum2F.asm18
-rwxr-xr-xdata/maps/objects/NameRatersHouse.asm13
-rwxr-xr-xdata/maps/objects/OaksLab.asm21
-rwxr-xr-xdata/maps/objects/PalletTown.asm20
-rwxr-xr-xdata/maps/objects/PewterCity.asm29
-rwxr-xr-xdata/maps/objects/PewterGym.asm15
-rwxr-xr-xdata/maps/objects/PewterMart.asm15
-rwxr-xr-xdata/maps/objects/PewterNidoranHouse.asm15
-rwxr-xr-xdata/maps/objects/PewterPokecenter.asm18
-rwxr-xr-xdata/maps/objects/PewterSpeechHouse.asm14
-rwxr-xr-xdata/maps/objects/PokemonFanClub.asm18
-rwxr-xr-xdata/maps/objects/PokemonMansion1F.asm21
-rwxr-xr-xdata/maps/objects/PokemonMansion2F.asm18
-rwxr-xr-xdata/maps/objects/PokemonMansion3F.asm18
-rwxr-xr-xdata/maps/objects/PokemonMansionB1F.asm19
-rwxr-xr-xdata/maps/objects/PokemonTower1F.asm18
-rwxr-xr-xdata/maps/objects/PokemonTower2F.asm14
-rwxr-xr-xdata/maps/objects/PokemonTower3F.asm16
-rwxr-xr-xdata/maps/objects/PokemonTower4F.asm18
-rwxr-xr-xdata/maps/objects/PokemonTower5F.asm18
-rwxr-xr-xdata/maps/objects/PokemonTower6F.asm17
-rwxr-xr-xdata/maps/objects/PokemonTower7F.asm14
-rwxr-xr-xdata/maps/objects/PowerPlant.asm27
-rwxr-xr-xdata/maps/objects/RedsHouse1F.asm15
-rwxr-xr-xdata/maps/objects/RedsHouse2F.asm11
-rwxr-xr-xdata/maps/objects/RockTunnel1F.asm26
-rwxr-xr-xdata/maps/objects/RockTunnelB1F.asm22
-rwxr-xr-xdata/maps/objects/RockTunnelPokecenter.asm17
-rwxr-xr-xdata/maps/objects/RocketHideoutB1F.asm22
-rwxr-xr-xdata/maps/objects/RocketHideoutB2F.asm20
-rwxr-xr-xdata/maps/objects/RocketHideoutB3F.asm16
-rwxr-xr-xdata/maps/objects/RocketHideoutB4F.asm22
-rwxr-xr-xdata/maps/objects/RocketHideoutElevator.asm13
-rwxr-xr-xdata/maps/objects/Route1.asm16
-rwxr-xr-xdata/maps/objects/Route10.asm24
-rwxr-xr-xdata/maps/objects/Route11.asm26
-rwxr-xr-xdata/maps/objects/Route11Gate1F.asm16
-rwxr-xr-xdata/maps/objects/Route11Gate2F.asm15
-rwxr-xr-xdata/maps/objects/Route12.asm26
-rwxr-xr-xdata/maps/objects/Route12Gate1F.asm16
-rwxr-xr-xdata/maps/objects/Route12Gate2F.asm14
-rwxr-xr-xdata/maps/objects/Route12SuperRodHouse.asm13
-rwxr-xr-xdata/maps/objects/Route13.asm23
-rwxr-xr-xdata/maps/objects/Route14.asm21
-rwxr-xr-xdata/maps/objects/Route15.asm26
-rwxr-xr-xdata/maps/objects/Route15Gate1F.asm16
-rwxr-xr-xdata/maps/objects/Route15Gate2F.asm13
-rwxr-xr-xdata/maps/objects/Route16.asm28
-rwxr-xr-xdata/maps/objects/Route16FlyHouse.asm14
-rwxr-xr-xdata/maps/objects/Route16Gate1F.asm21
-rwxr-xr-xdata/maps/objects/Route16Gate2F.asm15
-rwxr-xr-xdata/maps/objects/Route17.asm26
-rwxr-xr-xdata/maps/objects/Route18.asm19
-rwxr-xr-xdata/maps/objects/Route18Gate1F.asm16
-rwxr-xr-xdata/maps/objects/Route18Gate2F.asm14
-rwxr-xr-xdata/maps/objects/Route19.asm22
-rwxr-xr-xdata/maps/objects/Route2.asm29
-rwxr-xr-xdata/maps/objects/Route20.asm24
-rwxr-xr-xdata/maps/objects/Route21.asm19
-rwxr-xr-xdata/maps/objects/Route22.asm14
-rwxr-xr-xdata/maps/objects/Route22Gate.asm15
-rwxr-xr-xdata/maps/objects/Route23.asm22
-rwxr-xr-xdata/maps/objects/Route24.asm19
-rwxr-xr-xdata/maps/objects/Route25.asm22
-rwxr-xr-xdata/maps/objects/Route2Gate.asm16
-rwxr-xr-xdata/maps/objects/Route2TradeHouse.asm14
-rwxr-xr-xdata/maps/objects/Route3.asm20
-rwxr-xr-xdata/maps/objects/Route4.asm19
-rwxr-xr-xdata/maps/objects/Route5.asm16
-rwxr-xr-xdata/maps/objects/Route5Gate.asm15
-rwxr-xr-xdata/maps/objects/Route6.asm21
-rwxr-xr-xdata/maps/objects/Route6Gate.asm15
-rwxr-xr-xdata/maps/objects/Route7.asm16
-rwxr-xr-xdata/maps/objects/Route7Gate.asm15
-rwxr-xr-xdata/maps/objects/Route8.asm25
-rwxr-xr-xdata/maps/objects/Route8Gate.asm15
-rwxr-xr-xdata/maps/objects/Route9.asm21
-rwxr-xr-xdata/maps/objects/SSAnne1F.asm23
-rwxr-xr-xdata/maps/objects/SSAnne1FRooms.asm27
-rwxr-xr-xdata/maps/objects/SSAnne2F.asm21
-rwxr-xr-xdata/maps/objects/SSAnne2FRooms.asm35
-rwxr-xr-xdata/maps/objects/SSAnne3F.asm13
-rwxr-xr-xdata/maps/objects/SSAnneB1F.asm16
-rwxr-xr-xdata/maps/objects/SSAnneB1FRooms.asm31
-rwxr-xr-xdata/maps/objects/SSAnneBow.asm17
-rwxr-xr-xdata/maps/objects/SSAnneCaptainsRoom.asm14
-rwxr-xr-xdata/maps/objects/SSAnneKitchen.asm18
-rwxr-xr-xdata/maps/objects/SafariZoneCenter.asm22
-rwxr-xr-xdata/maps/objects/SafariZoneCenterRestHouse.asm14
-rwxr-xr-xdata/maps/objects/SafariZoneEast.asm22
-rwxr-xr-xdata/maps/objects/SafariZoneEastRestHouse.asm15
-rwxr-xr-xdata/maps/objects/SafariZoneGate.asm16
-rwxr-xr-xdata/maps/objects/SafariZoneNorth.asm26
-rwxr-xr-xdata/maps/objects/SafariZoneNorthRestHouse.asm15
-rwxr-xr-xdata/maps/objects/SafariZoneSecretHouse.asm13
-rwxr-xr-xdata/maps/objects/SafariZoneWest.asm26
-rwxr-xr-xdata/maps/objects/SafariZoneWestRestHouse.asm15
-rwxr-xr-xdata/maps/objects/SaffronCity.asm42
-rwxr-xr-xdata/maps/objects/SaffronGym.asm51
-rwxr-xr-xdata/maps/objects/SaffronMart.asm15
-rwxr-xr-xdata/maps/objects/SaffronPidgeyHouse.asm16
-rwxr-xr-xdata/maps/objects/SaffronPokecenter.asm17
-rwxr-xr-xdata/maps/objects/SeafoamIslands1F.asm19
-rwxr-xr-xdata/maps/objects/SeafoamIslandsB1F.asm19
-rwxr-xr-xdata/maps/objects/SeafoamIslandsB2F.asm19
-rwxr-xr-xdata/maps/objects/SeafoamIslandsB3F.asm23
-rwxr-xr-xdata/maps/objects/SeafoamIslandsB4F.asm19
-rwxr-xr-xdata/maps/objects/SilphCo10F.asm22
-rwxr-xr-xdata/maps/objects/SilphCo11F.asm20
-rwxr-xr-xdata/maps/objects/SilphCo1F.asm16
-rwxr-xr-xdata/maps/objects/SilphCo2F.asm22
-rwxr-xr-xdata/maps/objects/SilphCo3F.asm24
-rwxr-xr-xdata/maps/objects/SilphCo4F.asm24
-rwxr-xr-xdata/maps/objects/SilphCo5F.asm28
-rwxr-xr-xdata/maps/objects/SilphCo6F.asm25
-rwxr-xr-xdata/maps/objects/SilphCo7F.asm27
-rwxr-xr-xdata/maps/objects/SilphCo8F.asm21
-rwxr-xr-xdata/maps/objects/SilphCo9F.asm19
-rwxr-xr-xdata/maps/objects/SilphCoElevator.asm13
-rw-r--r--data/maps/objects/TradeCenter.asm11
-rwxr-xr-xdata/maps/objects/UndergroundPathNorthSouth.asm12
-rwxr-xr-xdata/maps/objects/UndergroundPathRoute5.asm14
-rwxr-xr-xdata/maps/objects/UndergroundPathRoute6.asm14
-rwxr-xr-xdata/maps/objects/UndergroundPathRoute7.asm14
-rwxr-xr-xdata/maps/objects/UndergroundPathRoute7Copy.asm15
-rwxr-xr-xdata/maps/objects/UndergroundPathRoute8.asm14
-rwxr-xr-xdata/maps/objects/UndergroundPathWestEast.asm12
-rwxr-xr-xdata/maps/objects/VermilionCity.asm33
-rwxr-xr-xdata/maps/objects/VermilionDock.asm12
-rwxr-xr-xdata/maps/objects/VermilionGym.asm17
-rwxr-xr-xdata/maps/objects/VermilionMart.asm15
-rwxr-xr-xdata/maps/objects/VermilionOldRodHouse.asm13
-rwxr-xr-xdata/maps/objects/VermilionPidgeyHouse.asm15
-rwxr-xr-xdata/maps/objects/VermilionPokecenter.asm17
-rwxr-xr-xdata/maps/objects/VermilionTradeHouse.asm13
-rwxr-xr-xdata/maps/objects/VictoryRoad1F.asm20
-rwxr-xr-xdata/maps/objects/VictoryRoad2F.asm30
-rwxr-xr-xdata/maps/objects/VictoryRoad3F.asm24
-rwxr-xr-xdata/maps/objects/ViridianCity.asm29
-rwxr-xr-xdata/maps/objects/ViridianForest.asm32
-rwxr-xr-xdata/maps/objects/ViridianForestNorthGate.asm16
-rwxr-xr-xdata/maps/objects/ViridianForestSouthGate.asm16
-rwxr-xr-xdata/maps/objects/ViridianGym.asm23
-rwxr-xr-xdata/maps/objects/ViridianMart.asm15
-rwxr-xr-xdata/maps/objects/ViridianNicknameHouse.asm16
-rwxr-xr-xdata/maps/objects/ViridianPokecenter.asm17
-rwxr-xr-xdata/maps/objects/ViridianSchoolHouse.asm15
-rwxr-xr-xdata/maps/objects/WardensHouse.asm17
224 files changed, 4206 insertions, 0 deletions
diff --git a/data/maps/objects/AgathasRoom.asm b/data/maps/objects/AgathasRoom.asm
new file mode 100755
index 00000000..0f00ea20
--- /dev/null
+++ b/data/maps/objects/AgathasRoom.asm
@@ -0,0 +1,15 @@
+AgathasRoom_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 4, 11, 2, BRUNOS_ROOM
+ warp 5, 11, 3, BRUNOS_ROOM
+ warp 4, 0, 0, LANCES_ROOM
+ warp 5, 0, 0, LANCES_ROOM
+
+ def_signs
+
+ def_objects
+ object SPRITE_AGATHA, 5, 2, STAY, DOWN, 1, OPP_AGATHA, 1
+
+ def_warps_to AGATHAS_ROOM
diff --git a/data/maps/objects/BeachHouse.asm b/data/maps/objects/BeachHouse.asm
new file mode 100644
index 00000000..1ba99f87
--- /dev/null
+++ b/data/maps/objects/BeachHouse.asm
@@ -0,0 +1,18 @@
+BeachHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 0, LAST_MAP
+ warp 3, 7, 0, LAST_MAP
+
+ def_signs
+ sign 3, 0, 3
+ sign 7, 0, 4
+ sign 11, 0, 5
+ sign 13, 1, 6
+
+ def_objects
+ object SPRITE_FISHING_GURU, 2, 3, STAY, DOWN, 1 ; surfin' dude
+ object SPRITE_PIKACHU, 5, 3, WALK, 1, 2 ; pikachu
+
+ def_warps_to BEACH_HOUSE
diff --git a/data/maps/objects/BikeShop.asm b/data/maps/objects/BikeShop.asm
new file mode 100755
index 00000000..6a6fe6d6
--- /dev/null
+++ b/data/maps/objects/BikeShop.asm
@@ -0,0 +1,15 @@
+BikeShop_Object:
+ db $e ; border block
+
+ def_warps
+ warp 2, 7, 4, LAST_MAP
+ warp 3, 7, 4, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_BIKE_SHOP_CLERK, 6, 2, STAY, NONE, 1 ; person
+ object SPRITE_MIDDLE_AGED_WOMAN, 5, 6, WALK, UP_DOWN, 2 ; person
+ object SPRITE_YOUNGSTER, 1, 3, STAY, UP, 3 ; person
+
+ def_warps_to BIKE_SHOP
diff --git a/data/maps/objects/BillsHouse.asm b/data/maps/objects/BillsHouse.asm
new file mode 100755
index 00000000..fad8df05
--- /dev/null
+++ b/data/maps/objects/BillsHouse.asm
@@ -0,0 +1,15 @@
+BillsHouse_Object:
+ db $d ; border block
+
+ def_warps
+ warp 2, 7, 0, LAST_MAP
+ warp 3, 7, 0, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_MONSTER, 6, 5, STAY, NONE, 1 ; person
+ object SPRITE_SUPER_NERD, 4, 4, STAY, NONE, 2 ; person
+ object SPRITE_SUPER_NERD, 6, 5, STAY, NONE, 3 ; person
+
+ def_warps_to BILLS_HOUSE
diff --git a/data/maps/objects/BluesHouse.asm b/data/maps/objects/BluesHouse.asm
new file mode 100755
index 00000000..f4931a47
--- /dev/null
+++ b/data/maps/objects/BluesHouse.asm
@@ -0,0 +1,15 @@
+BluesHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 1, LAST_MAP
+ warp 3, 7, 1, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_DAISY, 2, 3, STAY, RIGHT, 1, 0 ; Daisy, sitting by map
+ object SPRITE_DAISY, 6, 4, WALK, UP_DOWN, 2, 0 ; Daisy, walking around
+ object SPRITE_POKEDEX, 3, 3, STAY, NONE, 3, 0 ; map on table
+
+ def_warps_to BLUES_HOUSE
diff --git a/data/maps/objects/BrunosRoom.asm b/data/maps/objects/BrunosRoom.asm
new file mode 100755
index 00000000..f5399874
--- /dev/null
+++ b/data/maps/objects/BrunosRoom.asm
@@ -0,0 +1,15 @@
+BrunosRoom_Object:
+ db $3 ; border block
+
+ def_warps
+ warp 4, 11, 2, LORELEIS_ROOM
+ warp 5, 11, 3, LORELEIS_ROOM
+ warp 4, 0, 0, AGATHAS_ROOM
+ warp 5, 0, 1, AGATHAS_ROOM
+
+ def_signs
+
+ def_objects
+ object SPRITE_BRUNO, 5, 2, STAY, DOWN, 1, OPP_BRUNO, 1
+
+ def_warps_to BRUNOS_ROOM
diff --git a/data/maps/objects/CeladonChiefHouse.asm b/data/maps/objects/CeladonChiefHouse.asm
new file mode 100755
index 00000000..97b9e4c9
--- /dev/null
+++ b/data/maps/objects/CeladonChiefHouse.asm
@@ -0,0 +1,15 @@
+CeladonChiefHouse_Object:
+ db $f ; border block
+
+ def_warps
+ warp 2, 7, 11, LAST_MAP
+ warp 3, 7, 11, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_GRAMPS, 4, 2, STAY, DOWN, 1 ; person
+ object SPRITE_ROCKET, 1, 4, WALK, ANY_DIR, 2 ; person
+ object SPRITE_SAILOR, 5, 6, STAY, LEFT, 3 ; person
+
+ def_warps_to CELADON_CHIEF_HOUSE
diff --git a/data/maps/objects/CeladonCity.asm b/data/maps/objects/CeladonCity.asm
new file mode 100755
index 00000000..ddf0afdb
--- /dev/null
+++ b/data/maps/objects/CeladonCity.asm
@@ -0,0 +1,41 @@
+CeladonCity_Object:
+ db $f ; border block
+
+ def_warps
+ warp 8, 13, 0, CELADON_MART_1F
+ warp 10, 13, 2, CELADON_MART_1F
+ warp 24, 9, 0, CELADON_MANSION_1F
+ warp 24, 3, 2, CELADON_MANSION_1F
+ warp 25, 3, 2, CELADON_MANSION_1F
+ warp 41, 9, 0, CELADON_POKECENTER
+ warp 12, 27, 0, CELADON_GYM
+ warp 28, 19, 0, GAME_CORNER
+ warp 39, 19, 0, CELADON_MART_5F ; beta warp! no longer used
+ warp 33, 19, 0, GAME_CORNER_PRIZE_ROOM
+ warp 31, 27, 0, CELADON_DINER
+ warp 35, 27, 0, CELADON_CHIEF_HOUSE
+ warp 43, 27, 0, CELADON_HOTEL
+
+ def_signs
+ sign 27, 15, 10 ; CeladonCityText10
+ sign 19, 15, 11 ; CeladonCityText11
+ sign 42, 9, 12 ; PokeCenterSignText
+ sign 13, 29, 13 ; CeladonCityText13
+ sign 21, 9, 14 ; CeladonCityText14
+ sign 12, 13, 15 ; CeladonCityText15
+ sign 39, 21, 16 ; CeladonCityText16
+ sign 33, 21, 17 ; CeladonCityText17
+ sign 27, 21, 18 ; CeladonCityText18
+
+ def_objects
+ object SPRITE_LITTLE_GIRL, 8, 17, WALK, ANY_DIR, 1 ; person
+ object SPRITE_GRAMPS, 11, 28, STAY, UP, 2 ; person
+ object SPRITE_GIRL, 14, 19, WALK, UP_DOWN, 3 ; person
+ object SPRITE_GRAMPS, 25, 22, STAY, DOWN, 4 ; person
+ object SPRITE_GRAMPS, 22, 16, STAY, DOWN, 5 ; person
+ object SPRITE_FISHER, 32, 12, STAY, LEFT, 6 ; person
+ object SPRITE_MONSTER, 30, 12, STAY, RIGHT, 7 ; person
+ object SPRITE_ROCKET, 32, 29, WALK, LEFT_RIGHT, 8 ; person
+ object SPRITE_ROCKET, 42, 14, WALK, LEFT_RIGHT, 9 ; person
+
+ def_warps_to CELADON_CITY
diff --git a/data/maps/objects/CeladonDiner.asm b/data/maps/objects/CeladonDiner.asm
new file mode 100755
index 00000000..37c8c876
--- /dev/null
+++ b/data/maps/objects/CeladonDiner.asm
@@ -0,0 +1,17 @@
+CeladonDiner_Object:
+ db $f ; border block
+
+ def_warps
+ warp 3, 7, 10, LAST_MAP
+ warp 4, 7, 10, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_COOK, 8, 5, WALK, LEFT_RIGHT, 1 ; person
+ object SPRITE_MIDDLE_AGED_WOMAN, 7, 2, STAY, NONE, 2 ; person
+ object SPRITE_MIDDLE_AGED_MAN, 1, 4, STAY, DOWN, 3 ; person
+ object SPRITE_FISHER, 5, 3, STAY, RIGHT, 4 ; person
+ object SPRITE_GYM_GUIDE, 0, 1, STAY, DOWN, 5 ; person
+
+ def_warps_to CELADON_DINER
diff --git a/data/maps/objects/CeladonGym.asm b/data/maps/objects/CeladonGym.asm
new file mode 100755
index 00000000..197a254b
--- /dev/null
+++ b/data/maps/objects/CeladonGym.asm
@@ -0,0 +1,20 @@
+CeladonGym_Object:
+ db $3 ; border block
+
+ def_warps
+ warp 4, 17, 6, LAST_MAP
+ warp 5, 17, 6, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_ERIKA, 4, 3, STAY, DOWN, 1, OPP_ERIKA, 1
+ object SPRITE_COOLTRAINER_F, 2, 11, STAY, RIGHT, 2, OPP_LASS, 17
+ object SPRITE_BEAUTY, 7, 10, STAY, LEFT, 3, OPP_BEAUTY, 1
+ object SPRITE_COOLTRAINER_F, 9, 5, STAY, DOWN, 4, OPP_JR_TRAINER_F, 11
+ object SPRITE_BEAUTY, 1, 5, STAY, DOWN, 5, OPP_BEAUTY, 2
+ object SPRITE_COOLTRAINER_F, 6, 3, STAY, DOWN, 6, OPP_LASS, 18
+ object SPRITE_BEAUTY, 3, 3, STAY, DOWN, 7, OPP_BEAUTY, 3
+ object SPRITE_COOLTRAINER_F, 5, 3, STAY, DOWN, 8, OPP_COOLTRAINER_F, 1
+
+ def_warps_to CELADON_GYM
diff --git a/data/maps/objects/CeladonHotel.asm b/data/maps/objects/CeladonHotel.asm
new file mode 100755
index 00000000..a516f141
--- /dev/null
+++ b/data/maps/objects/CeladonHotel.asm
@@ -0,0 +1,15 @@
+CeladonHotel_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 3, 7, 12, LAST_MAP
+ warp 4, 7, 12, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_GRANNY, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_BEAUTY, 2, 4, STAY, NONE, 2 ; person
+ object SPRITE_SUPER_NERD, 8, 4, WALK, LEFT_RIGHT, 3 ; person
+
+ def_warps_to CELADON_HOTEL
diff --git a/data/maps/objects/CeladonMansion1F.asm b/data/maps/objects/CeladonMansion1F.asm
new file mode 100755
index 00000000..63eb686c
--- /dev/null
+++ b/data/maps/objects/CeladonMansion1F.asm
@@ -0,0 +1,20 @@
+CeladonMansion1F_Object:
+ db $f ; border block
+
+ def_warps
+ warp 4, 11, 2, LAST_MAP
+ warp 5, 11, 2, LAST_MAP
+ warp 4, 0, 4, LAST_MAP
+ warp 7, 1, 1, CELADON_MANSION_2F
+ warp 2, 1, 2, CELADON_MANSION_2F
+
+ def_signs
+ sign 4, 9, 5 ; CeladonMansion1Text5
+
+ def_objects
+ object SPRITE_MONSTER, 0, 5, STAY, RIGHT, 1 ; person
+ object SPRITE_GRANNY, 1, 5, STAY, DOWN, 2 ; person
+ object SPRITE_FAIRY, 1, 8, WALK, LEFT_RIGHT, 3 ; person
+ object SPRITE_MONSTER, 4, 4, WALK, UP_DOWN, 4 ; person
+
+ def_warps_to CELADON_MANSION_1F
diff --git a/data/maps/objects/CeladonMansion2F.asm b/data/maps/objects/CeladonMansion2F.asm
new file mode 100755
index 00000000..211abbda
--- /dev/null
+++ b/data/maps/objects/CeladonMansion2F.asm
@@ -0,0 +1,15 @@
+CeladonMansion2F_Object:
+ db $f ; border block
+
+ def_warps
+ warp 6, 1, 0, CELADON_MANSION_3F
+ warp 7, 1, 3, CELADON_MANSION_1F
+ warp 2, 1, 4, CELADON_MANSION_1F
+ warp 4, 1, 3, CELADON_MANSION_3F
+
+ def_signs
+ sign 4, 9, 1 ; CeladonMansion2Text1
+
+ def_objects
+
+ def_warps_to CELADON_MANSION_2F
diff --git a/data/maps/objects/CeladonMansion3F.asm b/data/maps/objects/CeladonMansion3F.asm
new file mode 100755
index 00000000..442f3c23
--- /dev/null
+++ b/data/maps/objects/CeladonMansion3F.asm
@@ -0,0 +1,22 @@
+CeladonMansion3F_Object:
+ db $f ; border block
+
+ def_warps
+ warp 6, 1, 0, CELADON_MANSION_2F
+ warp 7, 1, 0, CELADON_MANSION_ROOF
+ warp 2, 1, 1, CELADON_MANSION_ROOF
+ warp 4, 1, 3, CELADON_MANSION_2F
+
+ def_signs
+ sign 1, 3, 5 ; CeladonMansion3Text5
+ sign 4, 3, 6 ; CeladonMansion3Text6
+ sign 1, 6, 7 ; CeladonMansion3Text7
+ sign 4, 9, 8 ; CeladonMansion3Text8
+
+ def_objects
+ object SPRITE_BIKE_SHOP_CLERK, 0, 4, STAY, UP, 1 ; person
+ object SPRITE_CLERK, 3, 4, STAY, UP, 2 ; person
+ object SPRITE_SUPER_NERD, 0, 7, STAY, UP, 3 ; person
+ object SPRITE_SILPH_WORKER, 2, 3, STAY, NONE, 4 ; person
+
+ def_warps_to CELADON_MANSION_3F
diff --git a/data/maps/objects/CeladonMansionRoof.asm b/data/maps/objects/CeladonMansionRoof.asm
new file mode 100755
index 00000000..e3eb8aa7
--- /dev/null
+++ b/data/maps/objects/CeladonMansionRoof.asm
@@ -0,0 +1,14 @@
+CeladonMansionRoof_Object:
+ db $9 ; border block
+
+ def_warps
+ warp 6, 1, 1, CELADON_MANSION_3F
+ warp 2, 1, 2, CELADON_MANSION_3F
+ warp 2, 7, 0, CELADON_MANSION_ROOF_HOUSE
+
+ def_signs
+ sign 3, 7, 1 ; CeladonMansion4Text1
+
+ def_objects
+
+ def_warps_to CELADON_MANSION_ROOF
diff --git a/data/maps/objects/CeladonMansionRoofHouse.asm b/data/maps/objects/CeladonMansionRoofHouse.asm
new file mode 100755
index 00000000..1656bdcf
--- /dev/null
+++ b/data/maps/objects/CeladonMansionRoofHouse.asm
@@ -0,0 +1,14 @@
+CeladonMansionRoofHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 2, CELADON_MANSION_ROOF
+ warp 3, 7, 2, CELADON_MANSION_ROOF
+
+ def_signs
+
+ def_objects
+ object SPRITE_HIKER, 2, 2, STAY, DOWN, 1 ; person
+ object SPRITE_POKE_BALL, 4, 3, STAY, NONE, 2 ; person
+
+ def_warps_to CELADON_MANSION_ROOF_HOUSE
diff --git a/data/maps/objects/CeladonMart1F.asm b/data/maps/objects/CeladonMart1F.asm
new file mode 100755
index 00000000..3edcbe3f
--- /dev/null
+++ b/data/maps/objects/CeladonMart1F.asm
@@ -0,0 +1,19 @@
+CeladonMart1F_Object:
+ db $f ; border block
+
+ def_warps
+ warp 2, 7, 0, LAST_MAP
+ warp 3, 7, 0, LAST_MAP
+ warp 16, 7, 1, LAST_MAP
+ warp 17, 7, 1, LAST_MAP
+ warp 12, 1, 0, CELADON_MART_2F
+ warp 1, 1, 0, CELADON_MART_ELEVATOR
+
+ def_signs
+ sign 11, 4, 2 ; CeladonMart1Text2
+ sign 14, 1, 3 ; CeladonMart1Text3
+
+ def_objects
+ object SPRITE_LINK_RECEPTIONIST, 8, 3, STAY, DOWN, 1 ; person
+
+ def_warps_to CELADON_MART_1F
diff --git a/data/maps/objects/CeladonMart2F.asm b/data/maps/objects/CeladonMart2F.asm
new file mode 100755
index 00000000..19b2aa59
--- /dev/null
+++ b/data/maps/objects/CeladonMart2F.asm
@@ -0,0 +1,18 @@
+CeladonMart2F_Object:
+ db $f ; border block
+
+ def_warps
+ warp 12, 1, 4, CELADON_MART_1F
+ warp 16, 1, 1, CELADON_MART_3F
+ warp 1, 1, 0, CELADON_MART_ELEVATOR
+
+ def_signs
+ sign 14, 1, 5 ; CeladonMart2Text5
+
+ def_objects
+ object SPRITE_CLERK, 5, 3, STAY, DOWN, 1 ; person
+ object SPRITE_CLERK, 6, 3, STAY, DOWN, 2 ; person
+ object SPRITE_MIDDLE_AGED_MAN, 19, 5, STAY, NONE, 3 ; person
+ object SPRITE_GIRL, 14, 4, WALK, UP_DOWN, 4 ; person
+
+ def_warps_to CELADON_MART_2F
diff --git a/data/maps/objects/CeladonMart3F.asm b/data/maps/objects/CeladonMart3F.asm
new file mode 100755
index 00000000..e1e8c8f2
--- /dev/null
+++ b/data/maps/objects/CeladonMart3F.asm
@@ -0,0 +1,30 @@
+CeladonMart3F_Object:
+ db $f ; border block
+
+ def_warps
+ warp 12, 1, 0, CELADON_MART_4F
+ warp 16, 1, 1, CELADON_MART_2F
+ warp 1, 1, 0, CELADON_MART_ELEVATOR
+
+ def_signs
+ sign 2, 4, 6 ; CeladonMart3Text6
+ sign 3, 4, 7 ; CeladonMart3Text7
+ sign 5, 4, 8 ; CeladonMart3Text8
+ sign 6, 4, 9 ; CeladonMart3Text9
+ sign 2, 6, 10 ; CeladonMart3Text10
+ sign 3, 6, 11 ; CeladonMart3Text11
+ sign 5, 6, 12 ; CeladonMart3Text12
+ sign 6, 6, 13 ; CeladonMart3Text13
+ sign 14, 1, 14 ; CeladonMart3Text14
+ sign 4, 1, 15 ; CeladonMart3Text15
+ sign 6, 1, 16 ; CeladonMart3Text16
+ sign 10, 1, 17 ; CeladonMart3Text17
+
+ def_objects
+ object SPRITE_CLERK, 16, 5, STAY, NONE, 1 ; person
+ object SPRITE_GAMEBOY_KID, 11, 6, STAY, RIGHT, 2 ; person
+ object SPRITE_GAMEBOY_KID, 7, 2, STAY, DOWN, 3 ; person
+ object SPRITE_GAMEBOY_KID, 8, 2, STAY, DOWN, 4 ; person
+ object SPRITE_LITTLE_BOY, 2, 5, STAY, UP, 5 ; person
+
+ def_warps_to CELADON_MART_3F
diff --git a/data/maps/objects/CeladonMart4F.asm b/data/maps/objects/CeladonMart4F.asm
new file mode 100755
index 00000000..72ed0338
--- /dev/null
+++ b/data/maps/objects/CeladonMart4F.asm
@@ -0,0 +1,17 @@
+CeladonMart4F_Object:
+ db $f ; border block
+
+ def_warps
+ warp 12, 1, 0, CELADON_MART_3F
+ warp 16, 1, 1, CELADON_MART_5F
+ warp 1, 1, 0, CELADON_MART_ELEVATOR
+
+ def_signs
+ sign 14, 1, 4 ; CeladonMart4Text4
+
+ def_objects
+ object SPRITE_CLERK, 5, 7, STAY, NONE, 1 ; person
+ object SPRITE_SUPER_NERD, 15, 5, WALK, LEFT_RIGHT, 2 ; person
+ object SPRITE_YOUNGSTER, 5, 2, WALK, LEFT_RIGHT, 3 ; person
+
+ def_warps_to CELADON_MART_4F
diff --git a/data/maps/objects/CeladonMart5F.asm b/data/maps/objects/CeladonMart5F.asm
new file mode 100755
index 00000000..2583526c
--- /dev/null
+++ b/data/maps/objects/CeladonMart5F.asm
@@ -0,0 +1,18 @@
+CeladonMart5F_Object:
+ db $f ; border block
+
+ def_warps
+ warp 12, 1, 0, CELADON_MART_ROOF
+ warp 16, 1, 1, CELADON_MART_4F
+ warp 1, 1, 0, CELADON_MART_ELEVATOR
+
+ def_signs
+ sign 14, 1, 5 ; CeladonMart5Text5
+
+ def_objects
+ object SPRITE_GENTLEMAN, 14, 5, WALK, UP_DOWN, 1 ; person
+ object SPRITE_SAILOR, 2, 6, STAY, NONE, 2 ; person
+ object SPRITE_CLERK, 5, 3, STAY, DOWN, 3 ; person
+ object SPRITE_CLERK, 6, 3, STAY, DOWN, 4 ; person
+
+ def_warps_to CELADON_MART_5F
diff --git a/data/maps/objects/CeladonMartElevator.asm b/data/maps/objects/CeladonMartElevator.asm
new file mode 100755
index 00000000..d03984a6
--- /dev/null
+++ b/data/maps/objects/CeladonMartElevator.asm
@@ -0,0 +1,13 @@
+CeladonMartElevator_Object:
+ db $f ; border block
+
+ def_warps
+ warp 1, 3, 5, CELADON_MART_1F
+ warp 2, 3, 5, CELADON_MART_1F
+
+ def_signs
+ sign 3, 0, 1 ; CeladonMartElevatorText1
+
+ def_objects
+
+ def_warps_to CELADON_MART_ELEVATOR
diff --git a/data/maps/objects/CeladonMartRoof.asm b/data/maps/objects/CeladonMartRoof.asm
new file mode 100755
index 00000000..49b5ab6f
--- /dev/null
+++ b/data/maps/objects/CeladonMartRoof.asm
@@ -0,0 +1,17 @@
+CeladonMartRoof_Object:
+ db $42 ; border block
+
+ def_warps
+ warp 15, 2, 0, CELADON_MART_5F
+
+ def_signs
+ sign 10, 1, 3 ; CeladonMartRoofText3
+ sign 11, 1, 4 ; CeladonMartRoofText4
+ sign 12, 2, 5 ; CeladonMartRoofText5
+ sign 13, 2, 6 ; CeladonMartRoofText6
+
+ def_objects
+ object SPRITE_SUPER_NERD, 10, 4, STAY, LEFT, 1 ; person
+ object SPRITE_LITTLE_GIRL, 5, 5, WALK, ANY_DIR, 2 ; person
+
+ def_warps_to CELADON_MART_ROOF
diff --git a/data/maps/objects/CeladonPokecenter.asm b/data/maps/objects/CeladonPokecenter.asm
new file mode 100755
index 00000000..0a298fd0
--- /dev/null
+++ b/data/maps/objects/CeladonPokecenter.asm
@@ -0,0 +1,17 @@
+CeladonPokecenter_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 3, 7, 5, LAST_MAP
+ warp 4, 7, 5, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_GENTLEMAN, 7, 3, STAY, DOWN, 2 ; person
+ object SPRITE_BEAUTY, 10, 5, WALK, ANY_DIR, 3 ; person
+ object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person
+ object SPRITE_CHANSEY, 4, 1, STAY, DOWN, 5 ; person
+
+ def_warps_to CELADON_POKECENTER
diff --git a/data/maps/objects/CeruleanBadgeHouse.asm b/data/maps/objects/CeruleanBadgeHouse.asm
new file mode 100755
index 00000000..50d2087a
--- /dev/null
+++ b/data/maps/objects/CeruleanBadgeHouse.asm
@@ -0,0 +1,14 @@
+CeruleanBadgeHouse_Object:
+ db $c ; border block
+
+ def_warps
+ warp 2, 0, 9, LAST_MAP
+ warp 2, 7, 8, LAST_MAP
+ warp 3, 7, 8, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_MIDDLE_AGED_MAN, 5, 3, STAY, RIGHT, 1 ; person
+
+ def_warps_to CERULEAN_BADGE_HOUSE
diff --git a/data/maps/objects/CeruleanCave1F.asm b/data/maps/objects/CeruleanCave1F.asm
new file mode 100755
index 00000000..8c3d260e
--- /dev/null
+++ b/data/maps/objects/CeruleanCave1F.asm
@@ -0,0 +1,23 @@
+CeruleanCave1F_Object:
+ db $7d ; border block
+
+ def_warps
+ warp 24, 17, 6, LAST_MAP
+ warp 25, 17, 6, LAST_MAP
+ warp 27, 1, 0, CERULEAN_CAVE_2F
+ warp 23, 7, 1, CERULEAN_CAVE_2F
+ warp 18, 9, 2, CERULEAN_CAVE_2F
+ warp 7, 1, 3, CERULEAN_CAVE_2F
+ warp 1, 3, 4, CERULEAN_CAVE_2F
+ warp 3, 11, 5, CERULEAN_CAVE_2F
+ warp 0, 6, 0, CERULEAN_CAVE_B1F
+
+ def_signs
+
+ def_objects
+ object SPRITE_POKE_BALL, 29, 16, STAY, NONE, 1, RARE_CANDY
+ object SPRITE_POKE_BALL, 7, 11, STAY, NONE, 2, MAX_ELIXER
+ object SPRITE_POKE_BALL, 29, 9, STAY, NONE, 3, MAX_REVIVE
+ object SPRITE_POKE_BALL, 18, 3, STAY, NONE, 4, ULTRA_BALL
+
+ def_warps_to CERULEAN_CAVE_1F
diff --git a/data/maps/objects/CeruleanCave2F.asm b/data/maps/objects/CeruleanCave2F.asm
new file mode 100755
index 00000000..787ae539
--- /dev/null
+++ b/data/maps/objects/CeruleanCave2F.asm
@@ -0,0 +1,20 @@
+CeruleanCave2F_Object:
+ db $7d ; border block
+
+ def_warps
+ warp 29, 1, 2, CERULEAN_CAVE_1F
+ warp 22, 6, 3, CERULEAN_CAVE_1F
+ warp 19, 7, 4, CERULEAN_CAVE_1F
+ warp 9, 1, 5, CERULEAN_CAVE_1F
+ warp 1, 3, 6, CERULEAN_CAVE_1F
+ warp 3, 11, 7, CERULEAN_CAVE_1F
+
+ def_signs
+
+ def_objects
+ object SPRITE_POKE_BALL, 0, 11, STAY, NONE, 1, RARE_CANDY
+ object SPRITE_POKE_BALL, 16, 7, STAY, NONE, 2, ULTRA_BALL
+ object SPRITE_POKE_BALL, 19, 11, STAY, NONE, 3, MAX_REVIVE
+ object SPRITE_POKE_BALL, 27, 9, STAY, NONE, 4, FULL_RESTORE
+
+ def_warps_to CERULEAN_CAVE_2F
diff --git a/data/maps/objects/CeruleanCaveB1F.asm b/data/maps/objects/CeruleanCaveB1F.asm
new file mode 100755
index 00000000..3493ab7e
--- /dev/null
+++ b/data/maps/objects/CeruleanCaveB1F.asm
@@ -0,0 +1,16 @@
+CeruleanCaveB1F_Object:
+ db $7d ; border block
+
+ def_warps
+ warp 3, 6, 8, CERULEAN_CAVE_1F
+
+ def_signs
+
+ def_objects
+ object SPRITE_MONSTER, 27, 13, STAY, DOWN, 1, MEWTWO, 70
+ object SPRITE_POKE_BALL, 26, 1, STAY, NONE, 2, ULTRA_BALL
+ object SPRITE_POKE_BALL, 2, 13, STAY, NONE, 3, ULTRA_BALL
+ object SPRITE_POKE_BALL, 3, 13, STAY, NONE, 4, MAX_REVIVE
+ object SPRITE_POKE_BALL, 15, 3, STAY, NONE, 5, MAX_ELIXER
+
+ def_warps_to CERULEAN_CAVE_B1F
diff --git a/data/maps/objects/CeruleanCity.asm b/data/maps/objects/CeruleanCity.asm
new file mode 100755
index 00000000..fae56fc1
--- /dev/null
+++ b/data/maps/objects/CeruleanCity.asm
@@ -0,0 +1,37 @@
+CeruleanCity_Object:
+ db $a ; border block
+
+ def_warps
+ warp 27, 11, 0, CERULEAN_TRASHED_HOUSE
+ warp 13, 15, 0, CERULEAN_TRADE_HOUSE
+ warp 19, 17, 0, CERULEAN_POKECENTER
+ warp 30, 19, 0, CERULEAN_GYM
+ warp 13, 25, 0, BIKE_SHOP
+ warp 25, 25, 0, CERULEAN_MART
+ warp 4, 11, 0, CERULEAN_CAVE_1F
+ warp 27, 9, 2, CERULEAN_TRASHED_HOUSE
+ warp 9, 11, 1, CERULEAN_BADGE_HOUSE
+ warp 9, 9, 0, CERULEAN_BADGE_HOUSE
+
+ def_signs
+ sign 23, 19, 12 ; CeruleanCityText12
+ sign 17, 29, 13 ; CeruleanCityText13
+ sign 26, 25, 14 ; MartSignText
+ sign 20, 17, 15 ; PokeCenterSignText
+ sign 11, 25, 16 ; CeruleanCityText16
+ sign 27, 21, 17 ; CeruleanCityText17
+
+ def_objects
+ object SPRITE_BLUE, 20, 2, STAY, DOWN, 1 ; person
+ object SPRITE_ROCKET, 30, 8, STAY, NONE, 2, OPP_ROCKET, 5
+ object SPRITE_COOLTRAINER_M, 31, 20, STAY, DOWN, 3 ; person
+ object SPRITE_SUPER_NERD, 15, 18, WALK, UP_DOWN, 4 ; person
+ object SPRITE_SUPER_NERD, 9, 21, WALK, LEFT_RIGHT, 5 ; person
+ object SPRITE_OFFICER_JENNY, 28, 12, STAY, DOWN, 6 ; person
+ object SPRITE_COOLTRAINER_F, 29, 26, STAY, LEFT, 7 ; person
+ object SPRITE_POKE_BALL, 28, 26, STAY, DOWN, 8 ; person
+ object SPRITE_COOLTRAINER_F, 9, 27, WALK, LEFT_RIGHT, 9 ; person
+ object SPRITE_SUPER_NERD, 4, 12, STAY, DOWN, 10 ; person
+ object SPRITE_OFFICER_JENNY, 27, 12, STAY, DOWN, 11 ; person
+
+ def_warps_to CERULEAN_CITY
diff --git a/data/maps/objects/CeruleanGym.asm b/data/maps/objects/CeruleanGym.asm
new file mode 100755
index 00000000..26709cae
--- /dev/null
+++ b/data/maps/objects/CeruleanGym.asm
@@ -0,0 +1,16 @@
+CeruleanGym_Object:
+ db $3 ; border block
+
+ def_warps
+ warp 4, 13, 3, LAST_MAP
+ warp 5, 13, 3, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_BRUNETTE_GIRL, 4, 2, STAY, DOWN, 1, OPP_MISTY, 1
+ object SPRITE_COOLTRAINER_F, 2, 3, STAY, RIGHT, 2, OPP_JR_TRAINER_F, 1
+ object SPRITE_SWIMMER, 8, 7, STAY, LEFT, 3, OPP_SWIMMER, 1
+ object SPRITE_GYM_GUIDE, 7, 10, STAY, DOWN, 4 ; person
+
+ def_warps_to CERULEAN_GYM
diff --git a/data/maps/objects/CeruleanMart.asm b/data/maps/objects/CeruleanMart.asm
new file mode 100755
index 00000000..144edd80
--- /dev/null
+++ b/data/maps/objects/CeruleanMart.asm
@@ -0,0 +1,15 @@
+CeruleanMart_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 3, 7, 5, LAST_MAP
+ warp 4, 7, 5, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person
+ object SPRITE_COOLTRAINER_M, 3, 4, WALK, UP_DOWN, 2 ; person
+ object SPRITE_COOLTRAINER_F, 6, 2, WALK, LEFT_RIGHT, 3 ; person
+
+ def_warps_to CERULEAN_MART
diff --git a/data/maps/objects/CeruleanPokecenter.asm b/data/maps/objects/CeruleanPokecenter.asm
new file mode 100755
index 00000000..b90db6a5
--- /dev/null
+++ b/data/maps/objects/CeruleanPokecenter.asm
@@ -0,0 +1,17 @@
+CeruleanPokecenter_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 3, 7, 2, LAST_MAP
+ warp 4, 7, 2, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_SUPER_NERD, 10, 5, WALK, ANY_DIR, 2 ; person
+ object SPRITE_GENTLEMAN, 4, 3, STAY, UP, 3 ; person
+ object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person
+ object SPRITE_CHANSEY, 4, 1, STAY, DOWN, 5 ; person
+
+ def_warps_to CERULEAN_POKECENTER
diff --git a/data/maps/objects/CeruleanTradeHouse.asm b/data/maps/objects/CeruleanTradeHouse.asm
new file mode 100755
index 00000000..a52548fe
--- /dev/null
+++ b/data/maps/objects/CeruleanTradeHouse.asm
@@ -0,0 +1,16 @@
+CeruleanTradeHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 1, LAST_MAP
+ warp 3, 7, 1, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_GIRL, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_BULBASAUR, 4, 1, STAY, DOWN, 2 ; person
+ object SPRITE_ODDISH, 1, 4, STAY, NONE, 3 ; person
+ object SPRITE_SANDSHREW, 5, 3, STAY, LEFT, 4 ; person
+
+ def_warps_to CERULEAN_TRADE_HOUSE
diff --git a/data/maps/objects/CeruleanTrashedHouse.asm b/data/maps/objects/CeruleanTrashedHouse.asm
new file mode 100755
index 00000000..9f502319
--- /dev/null
+++ b/data/maps/objects/CeruleanTrashedHouse.asm
@@ -0,0 +1,16 @@
+CeruleanTrashedHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 0, LAST_MAP
+ warp 3, 7, 0, LAST_MAP
+ warp 3, 0, 7, LAST_MAP
+
+ def_signs
+ sign 3, 0, 3 ; CeruleanHouseTrashedText3
+
+ def_objects
+ object SPRITE_FISHING_GURU, 2, 1, STAY, DOWN, 1 ; person
+ object SPRITE_GIRL, 5, 6, WALK, LEFT_RIGHT, 2 ; person
+
+ def_warps_to CERULEAN_TRASHED_HOUSE
diff --git a/data/maps/objects/ChampionsRoom.asm b/data/maps/objects/ChampionsRoom.asm
new file mode 100755
index 00000000..2380fd04
--- /dev/null
+++ b/data/maps/objects/ChampionsRoom.asm
@@ -0,0 +1,16 @@
+ChampionsRoom_Object:
+ db $3 ; border block
+
+ def_warps
+ warp 3, 7, 1, LANCES_ROOM
+ warp 4, 7, 2, LANCES_ROOM
+ warp 3, 0, 0, HALL_OF_FAME
+ warp 4, 0, 0, HALL_OF_FAME
+
+ def_signs
+
+ def_objects
+ object SPRITE_BLUE, 4, 2, STAY, DOWN, 1 ; person
+ object SPRITE_OAK, 3, 7, STAY, UP, 2 ; person
+
+ def_warps_to CHAMPIONS_ROOM
diff --git a/data/maps/objects/CinnabarGym.asm b/data/maps/objects/CinnabarGym.asm
new file mode 100755
index 00000000..a680d3fd
--- /dev/null
+++ b/data/maps/objects/CinnabarGym.asm
@@ -0,0 +1,21 @@
+CinnabarGym_Object:
+ db $2e ; border block
+
+ def_warps
+ warp 16, 17, 1, LAST_MAP
+ warp 17, 17, 1, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_SILPH_PRESIDENT, 3, 3, STAY, DOWN, 1, OPP_BLAINE, 1
+ object SPRITE_SUPER_NERD, 17, 2, STAY, DOWN, 2, OPP_SUPER_NERD, 9
+ object SPRITE_SUPER_NERD, 17, 8, STAY, DOWN, 3, OPP_BURGLAR, 4
+ object SPRITE_SUPER_NERD, 11, 4, STAY, DOWN, 4, OPP_SUPER_NERD, 10
+ object SPRITE_SUPER_NERD, 11, 8, STAY, DOWN, 5, OPP_BURGLAR, 5
+ object SPRITE_SUPER_NERD, 11, 14, STAY, DOWN, 6, OPP_SUPER_NERD, 11
+ object SPRITE_SUPER_NERD, 3, 14, STAY, DOWN, 7, OPP_BURGLAR, 6
+ object SPRITE_SUPER_NERD, 3, 8, STAY, DOWN, 8, OPP_SUPER_NERD, 12
+ object SPRITE_GYM_GUIDE, 16, 13, STAY, DOWN, 9 ; person
+
+ def_warps_to CINNABAR_GYM
diff --git a/data/maps/objects/CinnabarIsland.asm b/data/maps/objects/CinnabarIsland.asm
new file mode 100755
index 00000000..1dd11a43
--- /dev/null
+++ b/data/maps/objects/CinnabarIsland.asm
@@ -0,0 +1,22 @@
+CinnabarIsland_Object:
+ db $43 ; border block
+
+ def_warps
+ warp 6, 3, 1, POKEMON_MANSION_1F
+ warp 18, 3, 0, CINNABAR_GYM
+ warp 6, 9, 0, CINNABAR_LAB
+ warp 11, 11, 0, CINNABAR_POKECENTER
+ warp 15, 11, 0, CINNABAR_MART
+
+ def_signs
+ sign 9, 5, 3 ; CinnabarIslandText3
+ sign 16, 11, 4 ; MartSignText
+ sign 12, 11, 5 ; PokeCenterSignText
+ sign 9, 11, 6 ; CinnabarIslandText6
+ sign 13, 3, 7 ; CinnabarIslandText7
+
+ def_objects
+ object SPRITE_GIRL, 12, 5, WALK, LEFT_RIGHT, 1 ; person
+ object SPRITE_GAMBLER, 14, 6, STAY, NONE, 2 ; person
+
+ def_warps_to CINNABAR_ISLAND
diff --git a/data/maps/objects/CinnabarLab.asm b/data/maps/objects/CinnabarLab.asm
new file mode 100755
index 00000000..0e007e3a
--- /dev/null
+++ b/data/maps/objects/CinnabarLab.asm
@@ -0,0 +1,20 @@
+CinnabarLab_Object:
+ db $17 ; border block
+
+ def_warps
+ warp 2, 7, 2, LAST_MAP
+ warp 3, 7, 2, LAST_MAP
+ warp 8, 4, 0, CINNABAR_LAB_TRADE_ROOM
+ warp 12, 4, 0, CINNABAR_LAB_METRONOME_ROOM
+ warp 16, 4, 0, CINNABAR_LAB_FOSSIL_ROOM
+
+ def_signs
+ sign 3, 2, 2 ; Lab1Text2
+ sign 9, 4, 3 ; Lab1Text3
+ sign 13, 4, 4 ; Lab1Text4
+ sign 17, 4, 5 ; Lab1Text5
+
+ def_objects
+ object SPRITE_FISHING_GURU, 1, 3, STAY, NONE, 1 ; person
+
+ def_warps_to CINNABAR_LAB
diff --git a/data/maps/objects/CinnabarLabFossilRoom.asm b/data/maps/objects/CinnabarLabFossilRoom.asm
new file mode 100755
index 00000000..8269eaeb
--- /dev/null
+++ b/data/maps/objects/CinnabarLabFossilRoom.asm
@@ -0,0 +1,14 @@
+CinnabarLabFossilRoom_Object:
+ db $17 ; border block
+
+ def_warps
+ warp 2, 7, 4, CINNABAR_LAB
+ warp 3, 7, 4, CINNABAR_LAB
+
+ def_signs
+
+ def_objects
+ object SPRITE_SCIENTIST, 5, 2, WALK, LEFT_RIGHT, 1 ; person
+ object SPRITE_SCIENTIST, 7, 6, STAY, UP, 2 ; person
+
+ def_warps_to CINNABAR_LAB_FOSSIL_ROOM
diff --git a/data/maps/objects/CinnabarLabMetronomeRoom.asm b/data/maps/objects/CinnabarLabMetronomeRoom.asm
new file mode 100755
index 00000000..b5969dfa
--- /dev/null
+++ b/data/maps/objects/CinnabarLabMetronomeRoom.asm
@@ -0,0 +1,17 @@
+CinnabarLabMetronomeRoom_Object:
+ db $17 ; border block
+
+ def_warps
+ warp 2, 7, 3, CINNABAR_LAB
+ warp 3, 7, 3, CINNABAR_LAB
+
+ def_signs
+ sign 0, 4, 3 ; Lab3Text3
+ sign 1, 4, 4 ; Lab3Text4
+ sign 2, 1, 5 ; Lab3Text5
+
+ def_objects
+ object SPRITE_SCIENTIST, 7, 2, STAY, DOWN, 1 ; person
+ object SPRITE_SCIENTIST, 2, 3, WALK, LEFT_RIGHT, 2 ; person
+
+ def_warps_to CINNABAR_LAB_METRONOME_ROOM
diff --git a/data/maps/objects/CinnabarLabTradeRoom.asm b/data/maps/objects/CinnabarLabTradeRoom.asm
new file mode 100755
index 00000000..e23a19cf
--- /dev/null
+++ b/data/maps/objects/CinnabarLabTradeRoom.asm
@@ -0,0 +1,15 @@
+CinnabarLabTradeRoom_Object:
+ db $17 ; border block
+
+ def_warps
+ warp 2, 7, 2, CINNABAR_LAB
+ warp 3, 7, 2, CINNABAR_LAB
+
+ def_signs
+
+ def_objects
+ object SPRITE_SUPER_NERD, 3, 2, STAY, DOWN, 1 ; person
+ object SPRITE_GRAMPS, 1, 4, STAY, NONE, 2 ; person
+ object SPRITE_BEAUTY, 5, 5, STAY, UP, 3 ; person
+
+ def_warps_to CINNABAR_LAB_TRADE_ROOM
diff --git a/data/maps/objects/CinnabarMart.asm b/data/maps/objects/CinnabarMart.asm
new file mode 100755
index 00000000..2413d993
--- /dev/null
+++ b/data/maps/objects/CinnabarMart.asm
@@ -0,0 +1,15 @@
+CinnabarMart_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 3, 7, 4, LAST_MAP
+ warp 4, 7, 4, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person
+ object SPRITE_ERIKA, 6, 2, STAY, NONE, 2 ; person
+ object SPRITE_SCIENTIST, 3, 4, STAY, NONE, 3 ; person
+
+ def_warps_to CINNABAR_MART
diff --git a/data/maps/objects/CinnabarPokecenter.asm b/data/maps/objects/CinnabarPokecenter.asm
new file mode 100755
index 00000000..0a2a11aa
--- /dev/null
+++ b/data/maps/objects/CinnabarPokecenter.asm
@@ -0,0 +1,17 @@
+CinnabarPokecenter_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 3, 7, 3, LAST_MAP
+ warp 4, 7, 3, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_COOLTRAINER_F, 9, 4, WALK, ANY_DIR, 2 ; person
+ object SPRITE_GENTLEMAN, 2, 6, STAY, NONE, 3 ; person
+ object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person
+ object SPRITE_CHANSEY, 4, 1, STAY, DOWN, 5 ; person
+
+ def_warps_to CINNABAR_POKECENTER
diff --git a/data/maps/objects/Colosseum.asm b/data/maps/objects/Colosseum.asm
new file mode 100644
index 00000000..dac9bc09
--- /dev/null
+++ b/data/maps/objects/Colosseum.asm
@@ -0,0 +1,11 @@
+Colosseum_Object:
+ db $e ; border block
+
+ def_warps
+
+ def_signs
+
+ def_objects
+ object SPRITE_RED, 2, 2, STAY, 0, 1 ; person
+
+ def_warps_to COLOSSEUM
diff --git a/data/maps/objects/CopycatsHouse1F.asm b/data/maps/objects/CopycatsHouse1F.asm
new file mode 100755
index 00000000..bc635385
--- /dev/null
+++ b/data/maps/objects/CopycatsHouse1F.asm
@@ -0,0 +1,16 @@
+CopycatsHouse1F_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 0, LAST_MAP
+ warp 3, 7, 0, LAST_MAP
+ warp 7, 1, 0, COPYCATS_HOUSE_2F
+
+ def_signs
+
+ def_objects
+ object SPRITE_MIDDLE_AGED_WOMAN, 2, 2, STAY, DOWN, 1 ; person
+ object SPRITE_MIDDLE_AGED_MAN, 5, 4, STAY, LEFT, 2 ; person
+ object SPRITE_CHANSEY, 1, 4, STAY, NONE, 3 ; person
+
+ def_warps_to COPYCATS_HOUSE_1F
diff --git a/data/maps/objects/CopycatsHouse2F.asm b/data/maps/objects/CopycatsHouse2F.asm
new file mode 100755
index 00000000..e04edee7
--- /dev/null
+++ b/data/maps/objects/CopycatsHouse2F.asm
@@ -0,0 +1,18 @@
+CopycatsHouse2F_Object:
+ db $a ; border block
+
+ def_warps
+ warp 7, 1, 2, COPYCATS_HOUSE_1F
+
+ def_signs
+ sign 3, 5, 6 ; CopycatsHouse2FText6
+ sign 0, 1, 7 ; CopycatsHouse2FText7
+
+ def_objects
+ object SPRITE_BRUNETTE_GIRL, 4, 3, WALK, ANY_DIR, 1 ; person
+ object SPRITE_BIRD, 4, 6, WALK, LEFT_RIGHT, 2 ; person
+ object SPRITE_MONSTER, 5, 1, STAY, DOWN, 3 ; person
+ object SPRITE_BIRD, 2, 0, STAY, DOWN, 4 ; person
+ object SPRITE_FAIRY, 1, 6, STAY, RIGHT, 5 ; person
+
+ def_warps_to COPYCATS_HOUSE_2F
diff --git a/data/maps/objects/Daycare.asm b/data/maps/objects/Daycare.asm
new file mode 100755
index 00000000..2feecff3
--- /dev/null
+++ b/data/maps/objects/Daycare.asm
@@ -0,0 +1,13 @@
+Daycare_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 4, LAST_MAP
+ warp 3, 7, 4, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_GENTLEMAN, 2, 3, STAY, RIGHT, 1 ; person
+
+ def_warps_to DAYCARE
diff --git a/data/maps/objects/DiglettsCave.asm b/data/maps/objects/DiglettsCave.asm
new file mode 100755
index 00000000..dc4889e5
--- /dev/null
+++ b/data/maps/objects/DiglettsCave.asm
@@ -0,0 +1,12 @@
+DiglettsCave_Object:
+ db $19 ; border block
+
+ def_warps
+ warp 5, 5, 2, DIGLETTS_CAVE_ROUTE_2
+ warp 37, 31, 2, DIGLETTS_CAVE_ROUTE_11
+
+ def_signs
+
+ def_objects
+
+ def_warps_to DIGLETTS_CAVE
diff --git a/data/maps/objects/DiglettsCaveRoute11.asm b/data/maps/objects/DiglettsCaveRoute11.asm
new file mode 100755
index 00000000..f6c884d9
--- /dev/null
+++ b/data/maps/objects/DiglettsCaveRoute11.asm
@@ -0,0 +1,14 @@
+DiglettsCaveRoute11_Object:
+ db $7d ; border block
+
+ def_warps
+ warp 2, 7, 4, LAST_MAP
+ warp 3, 7, 4, LAST_MAP
+ warp 4, 4, 1, DIGLETTS_CAVE
+
+ def_signs
+
+ def_objects
+ object SPRITE_GAMBLER, 2, 3, STAY, NONE, 1 ; person
+
+ def_warps_to DIGLETTS_CAVE_ROUTE_11
diff --git a/data/maps/objects/DiglettsCaveRoute2.asm b/data/maps/objects/DiglettsCaveRoute2.asm
new file mode 100755
index 00000000..948a82e3
--- /dev/null
+++ b/data/maps/objects/DiglettsCaveRoute2.asm
@@ -0,0 +1,14 @@
+DiglettsCaveRoute2_Object:
+ db $7d ; border block
+
+ def_warps
+ warp 2, 7, 0, LAST_MAP
+ warp 3, 7, 0, LAST_MAP
+ warp 4, 4, 0, DIGLETTS_CAVE
+
+ def_signs
+
+ def_objects
+ object SPRITE_FISHING_GURU, 3, 3, STAY, NONE, 1 ; person
+
+ def_warps_to DIGLETTS_CAVE_ROUTE_2
diff --git a/data/maps/objects/FightingDojo.asm b/data/maps/objects/FightingDojo.asm
new file mode 100755
index 00000000..5345a7aa
--- /dev/null
+++ b/data/maps/objects/FightingDojo.asm
@@ -0,0 +1,19 @@
+FightingDojo_Object:
+ db $3 ; border block
+
+ def_warps
+ warp 4, 11, 1, LAST_MAP
+ warp 5, 11, 1, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_HIKER, 5, 3, STAY, DOWN, 1, OPP_BLACKBELT, 1
+ object SPRITE_HIKER, 3, 4, STAY, RIGHT, 2, OPP_BLACKBELT, 2
+ object SPRITE_HIKER, 3, 6, STAY, RIGHT, 3, OPP_BLACKBELT, 3
+ object SPRITE_HIKER, 5, 5, STAY, LEFT, 4, OPP_BLACKBELT, 4
+ object SPRITE_HIKER, 5, 7, STAY, LEFT, 5, OPP_BLACKBELT, 5
+ object SPRITE_POKE_BALL, 4, 1, STAY, NONE, 6 ; person
+ object SPRITE_POKE_BALL, 5, 1, STAY, NONE, 7 ; person
+
+ def_warps_to FIGHTING_DOJO
diff --git a/data/maps/objects/FuchsiaBillsGrandpasHouse.asm b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm
new file mode 100755
index 00000000..30aff6c5
--- /dev/null
+++ b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm
@@ -0,0 +1,15 @@
+FuchsiaBillsGrandpasHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 1, LAST_MAP
+ warp 3, 7, 1, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_MIDDLE_AGED_WOMAN, 2, 3, STAY, RIGHT, 1 ; person
+ object SPRITE_GAMBLER, 7, 2, STAY, UP, 2 ; person
+ object SPRITE_YOUNGSTER, 5, 5, STAY, NONE, 3 ; person
+
+ def_warps_to FUCHSIA_BILLS_GRANDPAS_HOUSE
diff --git a/data/maps/objects/FuchsiaCity.asm b/data/maps/objects/FuchsiaCity.asm
new file mode 100755
index 00000000..a601a896
--- /dev/null
+++ b/data/maps/objects/FuchsiaCity.asm
@@ -0,0 +1,43 @@
+FuchsiaCity_Object:
+ db $f ; border block
+
+ def_warps
+ warp 5, 13, 0, FUCHSIA_MART
+ warp 11, 27, 0, FUCHSIA_BILLS_GRANDPAS_HOUSE
+ warp 19, 27, 0, FUCHSIA_POKECENTER
+ warp 27, 27, 0, WARDENS_HOUSE
+ warp 18, 3, 0, SAFARI_ZONE_GATE
+ warp 5, 27, 0, FUCHSIA_GYM
+ warp 22, 13, 0, FUCHSIA_MEETING_ROOM
+ warp 31, 27, 1, FUCHSIA_GOOD_ROD_HOUSE
+ warp 31, 24, 0, FUCHSIA_GOOD_ROD_HOUSE
+
+ def_signs
+ sign 15, 23, 11 ; FuchsiaCityText11
+ sign 25, 15, 12 ; FuchsiaCityText12
+ sign 17, 5, 13 ; FuchsiaCityText13
+ sign 6, 13, 14 ; MartSignText
+ sign 20, 27, 15 ; PokeCenterSignText
+ sign 27, 29, 16 ; FuchsiaCityText16
+ sign 21, 15, 17 ; FuchsiaCityText17
+ sign 5, 29, 18 ; FuchsiaCityText18
+ sign 33, 7, 19 ; FuchsiaCityText19
+ sign 27, 7, 20 ; FuchsiaCityText20
+ sign 13, 7, 21 ; FuchsiaCityText21
+ sign 31, 13, 22 ; FuchsiaCityText22
+ sign 13, 15, 23 ; FuchsiaCityText23
+ sign 7, 7, 24 ; FuchsiaCityText24
+
+ def_objects
+ object SPRITE_YOUNGSTER, 10, 12, WALK, LEFT_RIGHT, 1 ; person
+ object SPRITE_GAMBLER, 28, 17, WALK, LEFT_RIGHT, 2 ; person
+ object SPRITE_FISHER, 30, 14, STAY, DOWN, 3 ; person
+ object SPRITE_YOUNGSTER, 24, 8, STAY, UP, 4 ; person
+ object SPRITE_CHANSEY, 31, 5, STAY, DOWN, 5 ; person
+ object SPRITE_POKE_BALL, 25, 6, STAY, NONE, 6 ; person
+ object SPRITE_MONSTER, 12, 6, WALK, LEFT_RIGHT, 7 ; person
+ object SPRITE_MONSTER, 30, 12, WALK, LEFT_RIGHT, 8 ; person
+ object SPRITE_SEEL, 8, 17, WALK, ANY_DIR, 9 ; person
+ object SPRITE_FOSSIL, 6, 5, STAY, NONE, 10 ; person
+
+ def_warps_to FUCHSIA_CITY
diff --git a/data/maps/objects/FuchsiaGoodRodHouse.asm b/data/maps/objects/FuchsiaGoodRodHouse.asm
new file mode 100755
index 00000000..434cec8b
--- /dev/null
+++ b/data/maps/objects/FuchsiaGoodRodHouse.asm
@@ -0,0 +1,14 @@
+FuchsiaGoodRodHouse_Object:
+ db $c ; border block
+
+ def_warps
+ warp 2, 0, 8, LAST_MAP
+ warp 2, 7, 7, LAST_MAP
+ warp 3, 7, 7, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_FISHING_GURU, 5, 3, STAY, RIGHT, 1 ; person
+
+ def_warps_to FUCHSIA_GOOD_ROD_HOUSE
diff --git a/data/maps/objects/FuchsiaGym.asm b/data/maps/objects/FuchsiaGym.asm
new file mode 100755
index 00000000..95b2e42e
--- /dev/null
+++ b/data/maps/objects/FuchsiaGym.asm
@@ -0,0 +1,20 @@
+FuchsiaGym_Object:
+ db $3 ; border block
+
+ def_warps
+ warp 4, 17, 5, LAST_MAP
+ warp 5, 17, 5, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_SILPH_WORKER, 4, 10, STAY, DOWN, 1, OPP_KOGA, 1
+ object SPRITE_ROCKER, 8, 13, STAY, DOWN, 2, OPP_JUGGLER, 7
+ object SPRITE_ROCKER, 7, 8, STAY, RIGHT, 3, OPP_JUGGLER, 3
+ object SPRITE_ROCKER, 1, 12, STAY, DOWN, 4, OPP_JUGGLER, 8
+ object SPRITE_ROCKER, 3, 5, STAY, UP, 5, OPP_TAMER, 1
+ object SPRITE_ROCKER, 8, 2, STAY, DOWN, 6, OPP_TAMER, 2
+ object SPRITE_ROCKER, 2, 7, STAY, LEFT, 7, OPP_JUGGLER, 4
+ object SPRITE_GYM_GUIDE, 7, 15, STAY, DOWN, 8 ; person
+
+ def_warps_to FUCHSIA_GYM
diff --git a/data/maps/objects/FuchsiaMart.asm b/data/maps/objects/FuchsiaMart.asm
new file mode 100755
index 00000000..0a238a87
--- /dev/null
+++ b/data/maps/objects/FuchsiaMart.asm
@@ -0,0 +1,15 @@
+FuchsiaMart_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 3, 7, 0, LAST_MAP
+ warp 4, 7, 0, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person
+ object SPRITE_MIDDLE_AGED_MAN, 4, 2, STAY, NONE, 2 ; person
+ object SPRITE_COOLTRAINER_F, 6, 5, WALK, UP_DOWN, 3 ; person
+
+ def_warps_to FUCHSIA_MART
diff --git a/data/maps/objects/FuchsiaMeetingRoom.asm b/data/maps/objects/FuchsiaMeetingRoom.asm
new file mode 100755
index 00000000..e4c2a83b
--- /dev/null
+++ b/data/maps/objects/FuchsiaMeetingRoom.asm
@@ -0,0 +1,15 @@
+FuchsiaMeetingRoom_Object:
+ db $17 ; border block
+
+ def_warps
+ warp 4, 7, 6, LAST_MAP
+ warp 5, 7, 6, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_SAFARI_ZONE_WORKER, 4, 1, STAY, DOWN, 1 ; person
+ object SPRITE_SAFARI_ZONE_WORKER, 0, 2, STAY, UP, 2 ; person
+ object SPRITE_SAFARI_ZONE_WORKER, 10, 1, STAY, DOWN, 3 ; person
+
+ def_warps_to FUCHSIA_MEETING_ROOM
diff --git a/data/maps/objects/FuchsiaPokecenter.asm b/data/maps/objects/FuchsiaPokecenter.asm
new file mode 100755
index 00000000..4eb9d196
--- /dev/null
+++ b/data/maps/objects/FuchsiaPokecenter.asm
@@ -0,0 +1,17 @@
+FuchsiaPokecenter_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 3, 7, 2, LAST_MAP
+ warp 4, 7, 2, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_ROCKER, 4, 3, STAY, UP, 2 ; person
+ object SPRITE_COOLTRAINER_F, 6, 5, WALK, LEFT_RIGHT, 3 ; person
+ object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person
+ object SPRITE_CHANSEY, 4, 1, STAY, DOWN, 5 ; person
+
+ def_warps_to FUCHSIA_POKECENTER
diff --git a/data/maps/objects/GameCorner.asm b/data/maps/objects/GameCorner.asm
new file mode 100755
index 00000000..4e425e86
--- /dev/null
+++ b/data/maps/objects/GameCorner.asm
@@ -0,0 +1,25 @@
+GameCorner_Object:
+ db $f ; border block
+
+ def_warps
+ warp 15, 17, 7, LAST_MAP
+ warp 16, 17, 7, LAST_MAP
+ warp 17, 4, 1, ROCKET_HIDEOUT_B1F
+
+ def_signs
+ sign 9, 4, 12 ; CeladonGameCornerText12
+
+ def_objects
+ object SPRITE_BEAUTY, 2, 6, STAY, DOWN, 1 ; person
+ object SPRITE_CLERK, 5, 6, STAY, DOWN, 2 ; person
+ object SPRITE_MIDDLE_AGED_MAN, 2, 10, STAY, LEFT, 3 ; person
+ object SPRITE_BEAUTY, 2, 13, STAY, LEFT, 4 ; person
+ object SPRITE_FISHING_GURU, 5, 11, STAY, RIGHT, 5 ; person
+ object SPRITE_MIDDLE_AGED_WOMAN, 8, 11, STAY, LEFT, 6 ; person
+ object SPRITE_GYM_GUIDE, 8, 14, STAY, LEFT, 7 ; person
+ object SPRITE_GAMBLER, 11, 15, STAY, RIGHT, 8 ; person
+ object SPRITE_MIDDLE_AGED_MAN, 14, 11, STAY, LEFT, 9 ; person
+ object SPRITE_FISHING_GURU, 17, 13, STAY, RIGHT, 10 ; person
+ object SPRITE_ROCKET, 9, 5, STAY, UP, 11, OPP_ROCKET, 7
+
+ def_warps_to GAME_CORNER
diff --git a/data/maps/objects/GameCornerPrizeRoom.asm b/data/maps/objects/GameCornerPrizeRoom.asm
new file mode 100755
index 00000000..d55decf1
--- /dev/null
+++ b/data/maps/objects/GameCornerPrizeRoom.asm
@@ -0,0 +1,17 @@
+GameCornerPrizeRoom_Object:
+ db $f ; border block
+
+ def_warps
+ warp 4, 7, 9, LAST_MAP
+ warp 5, 7, 9, LAST_MAP
+
+ def_signs
+ sign 2, 2, 3 ; CeladonPrizeRoomText3
+ sign 4, 2, 4 ; CeladonPrizeRoomText4
+ sign 6, 2, 5 ; CeladonPrizeRoomText5
+
+ def_objects
+ object SPRITE_BALDING_GUY, 1, 4, STAY, NONE, 1 ; person
+ object SPRITE_GAMBLER, 7, 3, WALK, LEFT_RIGHT, 2 ; person
+
+ def_warps_to GAME_CORNER_PRIZE_ROOM
diff --git a/data/maps/objects/HallOfFame.asm b/data/maps/objects/HallOfFame.asm
new file mode 100755
index 00000000..caa55bf6
--- /dev/null
+++ b/data/maps/objects/HallOfFame.asm
@@ -0,0 +1,13 @@
+HallOfFame_Object:
+ db $3 ; border block
+
+ def_warps
+ warp 4, 7, 2, CHAMPIONS_ROOM
+ warp 5, 7, 3, CHAMPIONS_ROOM
+
+ def_signs
+
+ def_objects
+ object SPRITE_OAK, 5, 2, STAY, DOWN, 1 ; person
+
+ def_warps_to HALL_OF_FAME
diff --git a/data/maps/objects/IndigoPlateau.asm b/data/maps/objects/IndigoPlateau.asm
new file mode 100755
index 00000000..d67c9f8a
--- /dev/null
+++ b/data/maps/objects/IndigoPlateau.asm
@@ -0,0 +1,12 @@
+IndigoPlateau_Object:
+ db $e ; border block
+
+ def_warps
+ warp 9, 5, 0, INDIGO_PLATEAU_LOBBY
+ warp 10, 5, 0, INDIGO_PLATEAU_LOBBY
+
+ def_signs
+
+ def_objects
+
+ def_warps_to INDIGO_PLATEAU
diff --git a/data/maps/objects/IndigoPlateauLobby.asm b/data/maps/objects/IndigoPlateauLobby.asm
new file mode 100755
index 00000000..db101be0
--- /dev/null
+++ b/data/maps/objects/IndigoPlateauLobby.asm
@@ -0,0 +1,19 @@
+IndigoPlateauLobby_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 7, 11, 0, LAST_MAP
+ warp 8, 11, 1, LAST_MAP
+ warp 8, 0, 0, LORELEIS_ROOM
+
+ def_signs
+
+ def_objects
+ object SPRITE_NURSE, 7, 5, STAY, DOWN, 1 ; person
+ object SPRITE_GYM_GUIDE, 4, 9, STAY, RIGHT, 2 ; person
+ object SPRITE_COOLTRAINER_F, 5, 1, STAY, DOWN, 3 ; person
+ object SPRITE_CLERK, 0, 5, STAY, RIGHT, 4 ; person
+ object SPRITE_LINK_RECEPTIONIST, 13, 6, STAY, DOWN, 5 ; person
+ object SPRITE_CHANSEY, 8, 5, STAY, DOWN, 6 ; person
+
+ def_warps_to INDIGO_PLATEAU_LOBBY
diff --git a/data/maps/objects/LancesRoom.asm b/data/maps/objects/LancesRoom.asm
new file mode 100755
index 00000000..a8dc4777
--- /dev/null
+++ b/data/maps/objects/LancesRoom.asm
@@ -0,0 +1,14 @@
+LancesRoom_Object:
+ db $3 ; border block
+
+ def_warps
+ warp 24, 16, 2, AGATHAS_ROOM
+ warp 5, 0, 0, CHAMPIONS_ROOM
+ warp 6, 0, 0, CHAMPIONS_ROOM
+
+ def_signs
+
+ def_objects
+ object SPRITE_LANCE, 6, 1, STAY, DOWN, 1, OPP_LANCE, 1
+
+ def_warps_to LANCES_ROOM
diff --git a/data/maps/objects/LavenderCuboneHouse.asm b/data/maps/objects/LavenderCuboneHouse.asm
new file mode 100755
index 00000000..7e7443e2
--- /dev/null
+++ b/data/maps/objects/LavenderCuboneHouse.asm
@@ -0,0 +1,14 @@
+LavenderCuboneHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 4, LAST_MAP
+ warp 3, 7, 4, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_MONSTER, 3, 5, STAY, UP, 1 ; person
+ object SPRITE_BRUNETTE_GIRL, 2, 4, STAY, RIGHT, 2 ; person
+
+ def_warps_to LAVENDER_CUBONE_HOUSE
diff --git a/data/maps/objects/LavenderMart.asm b/data/maps/objects/LavenderMart.asm
new file mode 100755
index 00000000..00d5a64b
--- /dev/null
+++ b/data/maps/objects/LavenderMart.asm
@@ -0,0 +1,15 @@
+LavenderMart_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 3, 7, 3, LAST_MAP
+ warp 4, 7, 3, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person
+ object SPRITE_BALDING_GUY, 3, 4, STAY, NONE, 2 ; person
+ object SPRITE_COOLTRAINER_M, 7, 2, STAY, NONE, 3 ; person
+
+ def_warps_to LAVENDER_MART
diff --git a/data/maps/objects/LavenderPokecenter.asm b/data/maps/objects/LavenderPokecenter.asm
new file mode 100755
index 00000000..667b584f
--- /dev/null
+++ b/data/maps/objects/LavenderPokecenter.asm
@@ -0,0 +1,17 @@
+LavenderPokecenter_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 3, 7, 0, LAST_MAP
+ warp 4, 7, 0, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_GENTLEMAN, 5, 3, STAY, NONE, 2 ; person
+ object SPRITE_LITTLE_GIRL, 10, 5, WALK, LEFT_RIGHT, 3 ; person
+ object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person
+ object SPRITE_CHANSEY, 4, 1, STAY, DOWN, 5 ; person
+
+ def_warps_to LAVENDER_POKECENTER
diff --git a/data/maps/objects/LavenderTown.asm b/data/maps/objects/LavenderTown.asm
new file mode 100755
index 00000000..f34659c1
--- /dev/null
+++ b/data/maps/objects/LavenderTown.asm
@@ -0,0 +1,25 @@
+LavenderTown_Object:
+ db $2c ; border block
+
+ def_warps
+ warp 3, 5, 0, LAVENDER_POKECENTER
+ warp 14, 5, 0, POKEMON_TOWER_1F
+ warp 7, 9, 0, MR_FUJIS_HOUSE
+ warp 15, 13, 0, LAVENDER_MART
+ warp 3, 13, 0, LAVENDER_CUBONE_HOUSE
+ warp 7, 13, 0, NAME_RATERS_HOUSE
+
+ def_signs
+ sign 11, 9, 4 ; LavenderTownText4
+ sign 9, 3, 5 ; LavenderTownText5
+ sign 16, 13, 6 ; MartSignText
+ sign 4, 5, 7 ; PokeCenterSignText
+ sign 5, 9, 8 ; LavenderTownText8
+ sign 17, 7, 9 ; LavenderTownText9
+
+ def_objects
+ object SPRITE_LITTLE_GIRL, 15, 9, WALK, ANY_DIR, 1 ; person
+ object SPRITE_COOLTRAINER_M, 9, 10, STAY, NONE, 2 ; person
+ object SPRITE_SUPER_NERD, 8, 7, WALK, LEFT_RIGHT, 3 ; person
+
+ def_warps_to LAVENDER_TOWN
diff --git a/data/maps/objects/LoreleisRoom.asm b/data/maps/objects/LoreleisRoom.asm
new file mode 100755
index 00000000..91a306b8
--- /dev/null
+++ b/data/maps/objects/LoreleisRoom.asm
@@ -0,0 +1,15 @@
+LoreleisRoom_Object:
+ db $3 ; border block
+
+ def_warps
+ warp 4, 11, 2, INDIGO_PLATEAU_LOBBY
+ warp 5, 11, 2, INDIGO_PLATEAU_LOBBY
+ warp 4, 0, 0, BRUNOS_ROOM
+ warp 5, 0, 1, BRUNOS_ROOM
+
+ def_signs
+
+ def_objects
+ object SPRITE_LORELEI, 5, 2, STAY, DOWN, 1, OPP_LORELEI, 1
+
+ def_warps_to LORELEIS_ROOM
diff --git a/data/maps/objects/MrFujisHouse.asm b/data/maps/objects/MrFujisHouse.asm
new file mode 100755
index 00000000..6ec762f6
--- /dev/null
+++ b/data/maps/objects/MrFujisHouse.asm
@@ -0,0 +1,18 @@
+MrFujisHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 2, LAST_MAP
+ warp 3, 7, 2, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_SUPER_NERD, 3, 5, STAY, NONE, 1 ; person
+ object SPRITE_LITTLE_GIRL, 6, 3, STAY, DOWN, 2 ; person
+ object SPRITE_MONSTER, 6, 4, STAY, UP, 3 ; person
+ object SPRITE_MONSTER, 1, 3, STAY, NONE, 4 ; person
+ object SPRITE_MR_FUJI, 3, 1, STAY, NONE, 5 ; person
+ object SPRITE_POKEDEX, 3, 3, STAY, NONE, 6 ; person
+
+ def_warps_to MR_FUJIS_HOUSE
diff --git a/data/maps/objects/MrPsychicsHouse.asm b/data/maps/objects/MrPsychicsHouse.asm
new file mode 100755
index 00000000..44367b20
--- /dev/null
+++ b/data/maps/objects/MrPsychicsHouse.asm
@@ -0,0 +1,13 @@
+MrPsychicsHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 7, LAST_MAP
+ warp 3, 7, 7, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_FISHING_GURU, 5, 3, STAY, LEFT, 1 ; person
+
+ def_warps_to MR_PSYCHICS_HOUSE
diff --git a/data/maps/objects/MtMoon1F.asm b/data/maps/objects/MtMoon1F.asm
new file mode 100755
index 00000000..8b40ac4f
--- /dev/null
+++ b/data/maps/objects/MtMoon1F.asm
@@ -0,0 +1,29 @@
+MtMoon1F_Object:
+ db $3 ; border block
+
+ def_warps
+ warp 14, 35, 1, LAST_MAP
+ warp 15, 35, 1, LAST_MAP
+ warp 5, 5, 0, MT_MOON_B1F
+ warp 17, 11, 2, MT_MOON_B1F
+ warp 25, 15, 3, MT_MOON_B1F
+
+ def_signs
+ sign 15, 23, 14 ; MtMoon1Text14
+
+ def_objects
+ object SPRITE_HIKER, 5, 6, STAY, DOWN, 1, OPP_HIKER, 1
+ object SPRITE_YOUNGSTER, 12, 16, STAY, RIGHT, 2, OPP_YOUNGSTER, 3
+ object SPRITE_COOLTRAINER_F, 30, 4, STAY, DOWN, 3, OPP_LASS, 5
+ object SPRITE_SUPER_NERD, 24, 31, STAY, UP, 4, OPP_SUPER_NERD, 1
+ object SPRITE_COOLTRAINER_F, 16, 23, STAY, DOWN, 5, OPP_LASS, 6
+ object SPRITE_YOUNGSTER, 7, 22, STAY, DOWN, 6, OPP_BUG_CATCHER, 7
+ object SPRITE_YOUNGSTER, 30, 27, STAY, RIGHT, 7, OPP_BUG_CATCHER, 8
+ object SPRITE_POKE_BALL, 2, 20, STAY, NONE, 8, POTION
+ object SPRITE_POKE_BALL, 2, 2, STAY, NONE, 9, MOON_STONE
+ object SPRITE_POKE_BALL, 35, 31, STAY, NONE, 10, RARE_CANDY
+ object SPRITE_POKE_BALL, 36, 23, STAY, NONE, 11, ESCAPE_ROPE
+ object SPRITE_POKE_BALL, 20, 33, STAY, NONE, 12, POTION
+ object SPRITE_POKE_BALL, 5, 32, STAY, NONE, 13, TM_WATER_GUN
+
+ def_warps_to MT_MOON_1F
diff --git a/data/maps/objects/MtMoonB1F.asm b/data/maps/objects/MtMoonB1F.asm
new file mode 100755
index 00000000..69fa3c17
--- /dev/null
+++ b/data/maps/objects/MtMoonB1F.asm
@@ -0,0 +1,18 @@
+MtMoonB1F_Object:
+ db $3 ; border block
+
+ def_warps
+ warp 5, 5, 2, MT_MOON_1F
+ warp 17, 11, 0, MT_MOON_B2F
+ warp 25, 9, 3, MT_MOON_1F
+ warp 25, 15, 4, MT_MOON_1F
+ warp 21, 17, 1, MT_MOON_B2F
+ warp 13, 27, 2, MT_MOON_B2F
+ warp 23, 3, 3, MT_MOON_B2F
+ warp 27, 3, 2, LAST_MAP
+
+ def_signs
+
+ def_objects
+
+ def_warps_to MT_MOON_B1F
diff --git a/data/maps/objects/MtMoonB2F.asm b/data/maps/objects/MtMoonB2F.asm
new file mode 100755
index 00000000..b2c1ff1d
--- /dev/null
+++ b/data/maps/objects/MtMoonB2F.asm
@@ -0,0 +1,24 @@
+MtMoonB2F_Object:
+ db $3 ; border block
+
+ def_warps
+ warp 25, 9, 1, MT_MOON_B1F
+ warp 21, 17, 4, MT_MOON_B1F
+ warp 15, 27, 5, MT_MOON_B1F
+ warp 5, 7, 6, MT_MOON_B1F
+
+ def_signs
+
+ def_objects
+ object SPRITE_SUPER_NERD, 12, 8, STAY, RIGHT, 1, OPP_SUPER_NERD, 2
+ object SPRITE_JESSIE, 9, 3, STAY, LEFT, 2
+ object SPRITE_ROCKET, 15, 22, STAY, DOWN, 3, OPP_ROCKET, 2
+ object SPRITE_ROCKET, 29, 11, STAY, UP, 4, OPP_ROCKET, 3
+ object SPRITE_ROCKET, 29, 17, STAY, LEFT, 5, OPP_ROCKET, 1
+ object SPRITE_JAMES, 9, 4, STAY, LEFT, 6
+ object SPRITE_FOSSIL, 12, 6, STAY, NONE, 7 ; person
+ object SPRITE_FOSSIL, 13, 6, STAY, NONE, 8 ; person
+ object SPRITE_POKE_BALL, 25, 21, STAY, NONE, 9, HP_UP
+ object SPRITE_POKE_BALL, 29, 5, STAY, NONE, 10, TM_MEGA_PUNCH
+
+ def_warps_to MT_MOON_B2F
diff --git a/data/maps/objects/MtMoonPokecenter.asm b/data/maps/objects/MtMoonPokecenter.asm
new file mode 100755
index 00000000..e94dd27d
--- /dev/null
+++ b/data/maps/objects/MtMoonPokecenter.asm
@@ -0,0 +1,19 @@
+MtMoonPokecenter_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 3, 7, 0, LAST_MAP
+ warp 4, 7, 0, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_YOUNGSTER, 4, 3, STAY, UP, 2 ; person
+ object SPRITE_GENTLEMAN, 7, 3, STAY, UP, 3 ; person
+ object SPRITE_MIDDLE_AGED_MAN, 10, 6, WALK, LEFT_RIGHT, 4 ; person
+ object SPRITE_CLIPBOARD, 7, 2, STAY, NONE, 5 ; person
+ object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 6 ; person
+ object SPRITE_CHANSEY, 4, 1, STAY, DOWN, 7 ; person
+
+ def_warps_to MT_MOON_POKECENTER
diff --git a/data/maps/objects/Museum1F.asm b/data/maps/objects/Museum1F.asm
new file mode 100755
index 00000000..3628173c
--- /dev/null
+++ b/data/maps/objects/Museum1F.asm
@@ -0,0 +1,20 @@
+Museum1F_Object:
+ db $a ; border block
+
+ def_warps
+ warp 10, 7, 0, LAST_MAP
+ warp 11, 7, 0, LAST_MAP
+ warp 16, 7, 1, LAST_MAP
+ warp 17, 7, 1, LAST_MAP
+ warp 7, 7, 0, MUSEUM_2F
+
+ def_signs
+
+ def_objects
+ object SPRITE_SCIENTIST, 12, 4, STAY, LEFT, 1 ; person
+ object SPRITE_GAMBLER, 1, 4, STAY, NONE, 2 ; person
+ object SPRITE_SCIENTIST, 15, 2, STAY, DOWN, 3 ; person
+ object SPRITE_SCIENTIST, 17, 4, STAY, NONE, 4 ; person
+ object SPRITE_OLD_AMBER, 16, 2, STAY, NONE, 5 ; person
+
+ def_warps_to MUSEUM_1F
diff --git a/data/maps/objects/Museum2F.asm b/data/maps/objects/Museum2F.asm
new file mode 100755
index 00000000..72f98f9b
--- /dev/null
+++ b/data/maps/objects/Museum2F.asm
@@ -0,0 +1,18 @@
+Museum2F_Object:
+ db $a ; border block
+
+ def_warps
+ warp 7, 7, 4, MUSEUM_1F
+
+ def_signs
+ sign 11, 2, 6 ; Museum2FText6
+ sign 2, 5, 7 ; Museum2FText7
+
+ def_objects
+ object SPRITE_YOUNGSTER, 1, 7, WALK, LEFT_RIGHT, 1 ; person
+ object SPRITE_GRAMPS, 0, 5, STAY, DOWN, 2 ; person
+ object SPRITE_SCIENTIST, 7, 5, STAY, DOWN, 3 ; person
+ object SPRITE_BRUNETTE_GIRL, 11, 5, STAY, NONE, 4 ; person
+ object SPRITE_HIKER, 12, 5, STAY, DOWN, 5 ; person
+
+ def_warps_to MUSEUM_2F
diff --git a/data/maps/objects/NameRatersHouse.asm b/data/maps/objects/NameRatersHouse.asm
new file mode 100755
index 00000000..935a6887
--- /dev/null
+++ b/data/maps/objects/NameRatersHouse.asm
@@ -0,0 +1,13 @@
+NameRatersHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 5, LAST_MAP
+ warp 3, 7, 5, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_SILPH_PRESIDENT, 5, 3, STAY, LEFT, 1 ; person
+
+ def_warps_to NAME_RATERS_HOUSE
diff --git a/data/maps/objects/OaksLab.asm b/data/maps/objects/OaksLab.asm
new file mode 100755
index 00000000..366fc894
--- /dev/null
+++ b/data/maps/objects/OaksLab.asm
@@ -0,0 +1,21 @@
+OaksLab_Object:
+ db $3 ; border block
+
+ def_warps
+ warp 4, 11, 2, LAST_MAP
+ warp 5, 11, 2, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_BLUE, 4, 3, STAY, NONE, 1, OPP_RIVAL1, 1
+ object SPRITE_POKE_BALL, 7, 3, STAY, NONE, 2 ; person
+ object SPRITE_OAK, 5, 2, STAY, DOWN, 3 ; person
+ object SPRITE_POKEDEX, 2, 1, STAY, NONE, 4 ; person
+ object SPRITE_POKEDEX, 3, 1, STAY, NONE, 5 ; person
+ object SPRITE_OAK, 5, 10, STAY, UP, 6 ; person
+ object SPRITE_GIRL, 1, 9, WALK, UP_DOWN, 7 ; person
+ object SPRITE_SCIENTIST, 2, 10, STAY, NONE, 8 ; person
+ object SPRITE_SCIENTIST, 8, 10, STAY, NONE, 9 ; person
+
+ def_warps_to OAKS_LAB
diff --git a/data/maps/objects/PalletTown.asm b/data/maps/objects/PalletTown.asm
new file mode 100755
index 00000000..c84dc921
--- /dev/null
+++ b/data/maps/objects/PalletTown.asm
@@ -0,0 +1,20 @@
+PalletTown_Object:
+ db $b ; border block
+
+ def_warps
+ warp 5, 5, 0, REDS_HOUSE_1F
+ warp 13, 5, 0, BLUES_HOUSE
+ warp 12, 11, 1, OAKS_LAB
+
+ def_signs
+ sign 13, 13, 4 ; PalletTownText4
+ sign 7, 9, 5 ; PalletTownText5
+ sign 3, 5, 6 ; PalletTownText6
+ sign 11, 5, 7 ; PalletTownText7
+
+ def_objects
+ object SPRITE_OAK, 10, 4, STAY, NONE, 1 ; person
+ object SPRITE_GIRL, 3, 8, WALK, ANY_DIR, 2 ; person
+ object SPRITE_FISHER, 11, 14, WALK, ANY_DIR, 3 ; person
+
+ def_warps_to PALLET_TOWN
diff --git a/data/maps/objects/PewterCity.asm b/data/maps/objects/PewterCity.asm
new file mode 100755
index 00000000..13d228f2
--- /dev/null
+++ b/data/maps/objects/PewterCity.asm
@@ -0,0 +1,29 @@
+PewterCity_Object:
+ db $a ; border block
+
+ def_warps
+ warp 14, 7, 0, MUSEUM_1F
+ warp 19, 5, 2, MUSEUM_1F
+ warp 16, 17, 0, PEWTER_GYM
+ warp 29, 13, 0, PEWTER_NIDORAN_HOUSE
+ warp 23, 17, 0, PEWTER_MART
+ warp 7, 29, 0, PEWTER_SPEECH_HOUSE
+ warp 13, 25, 0, PEWTER_POKECENTER
+
+ def_signs
+ sign 19, 29, 6 ; PewterCityText6
+ sign 33, 19, 7 ; PewterCityText7
+ sign 24, 17, 8 ; MartSignText
+ sign 14, 25, 9 ; PokeCenterSignText
+ sign 15, 9, 10 ; PewterCityText10
+ sign 11, 17, 11 ; PewterCityText11
+ sign 25, 23, 12 ; PewterCityText12
+
+ def_objects
+ object SPRITE_COOLTRAINER_F, 8, 15, STAY, NONE, 1 ; person
+ object SPRITE_COOLTRAINER_M, 17, 25, STAY, NONE, 2 ; person
+ object SPRITE_SUPER_NERD, 27, 17, STAY, NONE, 3 ; person
+ object SPRITE_SUPER_NERD, 26, 25, WALK, LEFT_RIGHT, 4 ; person
+ object SPRITE_YOUNGSTER, 35, 16, STAY, DOWN, 5 ; person
+
+ def_warps_to PEWTER_CITY
diff --git a/data/maps/objects/PewterGym.asm b/data/maps/objects/PewterGym.asm
new file mode 100755
index 00000000..9c21701a
--- /dev/null
+++ b/data/maps/objects/PewterGym.asm
@@ -0,0 +1,15 @@
+PewterGym_Object:
+ db $3 ; border block
+
+ def_warps
+ warp 4, 13, 2, LAST_MAP
+ warp 5, 13, 2, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_SUPER_NERD, 4, 1, STAY, DOWN, 1, OPP_BROCK, 1
+ object SPRITE_COOLTRAINER_M, 3, 6, STAY, RIGHT, 2, OPP_JR_TRAINER_M, 1
+ object SPRITE_GYM_GUIDE, 7, 10, STAY, DOWN, 3 ; person
+
+ def_warps_to PEWTER_GYM
diff --git a/data/maps/objects/PewterMart.asm b/data/maps/objects/PewterMart.asm
new file mode 100755
index 00000000..9685d5c7
--- /dev/null
+++ b/data/maps/objects/PewterMart.asm
@@ -0,0 +1,15 @@
+PewterMart_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 3, 7, 4, LAST_MAP
+ warp 4, 7, 4, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person
+ object SPRITE_YOUNGSTER, 3, 3, WALK, UP_DOWN, 2 ; person
+ object SPRITE_SUPER_NERD, 5, 5, STAY, NONE, 3 ; person
+
+ def_warps_to PEWTER_MART
diff --git a/data/maps/objects/PewterNidoranHouse.asm b/data/maps/objects/PewterNidoranHouse.asm
new file mode 100755
index 00000000..b1fd0a74
--- /dev/null
+++ b/data/maps/objects/PewterNidoranHouse.asm
@@ -0,0 +1,15 @@
+PewterNidoranHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 3, LAST_MAP
+ warp 3, 7, 3, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_MONSTER, 4, 5, STAY, LEFT, 1 ; person
+ object SPRITE_LITTLE_BOY, 3, 5, STAY, RIGHT, 2 ; person
+ object SPRITE_MIDDLE_AGED_MAN, 1, 2, STAY, NONE, 3 ; person
+
+ def_warps_to PEWTER_NIDORAN_HOUSE
diff --git a/data/maps/objects/PewterPokecenter.asm b/data/maps/objects/PewterPokecenter.asm
new file mode 100755
index 00000000..e9a40d20
--- /dev/null
+++ b/data/maps/objects/PewterPokecenter.asm
@@ -0,0 +1,18 @@
+PewterPokecenter_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 3, 7, 6, LAST_MAP
+ warp 4, 7, 6, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_GENTLEMAN, 11, 7, STAY, LEFT, 2 ; person
+ object SPRITE_JIGGLYPUFF, 1, 3, STAY, DOWN, 3 ; person
+ object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person
+ object SPRITE_COOLTRAINER_F, 4, 3, STAY, UP, 5 ; person
+ object SPRITE_CHANSEY, 4, 1, STAY, DOWN, 6 ; person
+
+ def_warps_to PEWTER_POKECENTER
diff --git a/data/maps/objects/PewterSpeechHouse.asm b/data/maps/objects/PewterSpeechHouse.asm
new file mode 100755
index 00000000..4dafb7be
--- /dev/null
+++ b/data/maps/objects/PewterSpeechHouse.asm
@@ -0,0 +1,14 @@
+PewterSpeechHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 5, LAST_MAP
+ warp 3, 7, 5, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_GAMBLER, 2, 3, STAY, RIGHT, 1 ; person
+ object SPRITE_YOUNGSTER, 4, 5, STAY, NONE, 2 ; person
+
+ def_warps_to PEWTER_SPEECH_HOUSE
diff --git a/data/maps/objects/PokemonFanClub.asm b/data/maps/objects/PokemonFanClub.asm
new file mode 100755
index 00000000..eb3e945e
--- /dev/null
+++ b/data/maps/objects/PokemonFanClub.asm
@@ -0,0 +1,18 @@
+PokemonFanClub_Object:
+ db $d ; border block
+
+ def_warps
+ warp 2, 7, 1, LAST_MAP
+ warp 3, 7, 1, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_FISHER, 6, 3, STAY, LEFT, 1 ; person
+ object SPRITE_GIRL, 1, 3, STAY, RIGHT, 2 ; person
+ object SPRITE_CLEFAIRY, 6, 4, STAY, LEFT, 3 ; person
+ object SPRITE_SEEL, 1, 4, STAY, RIGHT, 4 ; person
+ object SPRITE_GENTLEMAN, 3, 1, STAY, DOWN, 5 ; person
+ object SPRITE_LINK_RECEPTIONIST, 5, 1, STAY, DOWN, 6 ; person
+
+ def_warps_to POKEMON_FAN_CLUB
diff --git a/data/maps/objects/PokemonMansion1F.asm b/data/maps/objects/PokemonMansion1F.asm
new file mode 100755
index 00000000..70eef1a1
--- /dev/null
+++ b/data/maps/objects/PokemonMansion1F.asm
@@ -0,0 +1,21 @@
+PokemonMansion1F_Object:
+ db $2e ; border block
+
+ def_warps
+ warp 4, 27, 0, LAST_MAP
+ warp 5, 27, 0, LAST_MAP
+ warp 6, 27, 0, LAST_MAP
+ warp 7, 27, 0, LAST_MAP
+ warp 5, 10, 0, POKEMON_MANSION_2F
+ warp 21, 23, 0, POKEMON_MANSION_B1F
+ warp 26, 27, 0, LAST_MAP
+ warp 27, 27, 0, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_SCIENTIST, 17, 17, STAY, LEFT, 1, OPP_SCIENTIST, 4
+ object SPRITE_POKE_BALL, 14, 3, STAY, NONE, 2, ESCAPE_ROPE
+ object SPRITE_POKE_BALL, 18, 21, STAY, NONE, 3, CARBOS
+
+ def_warps_to POKEMON_MANSION_1F
diff --git a/data/maps/objects/PokemonMansion2F.asm b/data/maps/objects/PokemonMansion2F.asm
new file mode 100755
index 00000000..8d504eef
--- /dev/null
+++ b/data/maps/objects/PokemonMansion2F.asm
@@ -0,0 +1,18 @@
+PokemonMansion2F_Object:
+ db $1 ; border block
+
+ def_warps
+ warp 5, 10, 4, POKEMON_MANSION_1F
+ warp 7, 10, 0, POKEMON_MANSION_3F
+ warp 25, 14, 2, POKEMON_MANSION_3F
+ warp 6, 1, 1, POKEMON_MANSION_3F
+
+ def_signs
+
+ def_objects
+ object SPRITE_SUPER_NERD, 3, 17, WALK, LEFT_RIGHT, 1, OPP_BURGLAR, 7
+ object SPRITE_POKE_BALL, 28, 7, STAY, NONE, 2, CALCIUM
+ object SPRITE_POKEDEX, 18, 2, STAY, NONE, 3 ; person
+ object SPRITE_POKEDEX, 3, 22, STAY, NONE, 4 ; person
+
+ def_warps_to POKEMON_MANSION_2F
diff --git a/data/maps/objects/PokemonMansion3F.asm b/data/maps/objects/PokemonMansion3F.asm
new file mode 100755
index 00000000..fdf16a8d
--- /dev/null
+++ b/data/maps/objects/PokemonMansion3F.asm
@@ -0,0 +1,18 @@
+PokemonMansion3F_Object:
+ db $1 ; border block
+
+ def_warps
+ warp 7, 10, 1, POKEMON_MANSION_2F
+ warp 6, 1, 3, POKEMON_MANSION_2F
+ warp 25, 14, 2, POKEMON_MANSION_2F
+
+ def_signs
+
+ def_objects
+ object SPRITE_SUPER_NERD, 5, 11, WALK, LEFT_RIGHT, 1, OPP_BURGLAR, 8
+ object SPRITE_SCIENTIST, 20, 11, STAY, LEFT, 2, OPP_SCIENTIST, 12
+ object SPRITE_POKE_BALL, 1, 16, STAY, NONE, 3, MAX_POTION
+ object SPRITE_POKE_BALL, 25, 5, STAY, NONE, 4, IRON
+ object SPRITE_POKEDEX, 6, 12, STAY, NONE, 5 ; person
+
+ def_warps_to POKEMON_MANSION_3F
diff --git a/data/maps/objects/PokemonMansionB1F.asm b/data/maps/objects/PokemonMansionB1F.asm
new file mode 100755
index 00000000..bf0ea0a4
--- /dev/null
+++ b/data/maps/objects/PokemonMansionB1F.asm
@@ -0,0 +1,19 @@
+PokemonMansionB1F_Object:
+ db $1 ; border block
+
+ def_warps
+ warp 23, 22, 5, POKEMON_MANSION_1F
+
+ def_signs
+
+ def_objects
+ object SPRITE_SUPER_NERD, 16, 23, STAY, NONE, 1, OPP_BURGLAR, 9
+ object SPRITE_SCIENTIST, 27, 11, STAY, DOWN, 2, OPP_SCIENTIST, 13
+ object SPRITE_POKE_BALL, 10, 2, STAY, NONE, 3, RARE_CANDY
+ object SPRITE_POKE_BALL, 1, 22, STAY, NONE, 4, FULL_RESTORE
+ object SPRITE_POKE_BALL, 19, 25, STAY, NONE, 5, TM_BLIZZARD
+ object SPRITE_POKE_BALL, 5, 4, STAY, NONE, 6, TM_SOLARBEAM
+ object SPRITE_POKEDEX, 16, 20, STAY, NONE, 7 ; person
+ object SPRITE_POKE_BALL, 5, 13, STAY, NONE, 8, SECRET_KEY
+
+ def_warps_to POKEMON_MANSION_B1F
diff --git a/data/maps/objects/PokemonTower1F.asm b/data/maps/objects/PokemonTower1F.asm
new file mode 100755
index 00000000..b73c7562
--- /dev/null
+++ b/data/maps/objects/PokemonTower1F.asm
@@ -0,0 +1,18 @@
+PokemonTower1F_Object:
+ db $1 ; border block
+
+ def_warps
+ warp 10, 17, 1, LAST_MAP
+ warp 11, 17, 1, LAST_MAP
+ warp 18, 9, 1, POKEMON_TOWER_2F
+
+ def_signs
+
+ def_objects
+ object SPRITE_LINK_RECEPTIONIST, 15, 13, STAY, UP, 1 ; person
+ object SPRITE_MIDDLE_AGED_WOMAN, 6, 8, STAY, NONE, 2 ; person
+ object SPRITE_BALDING_GUY, 8, 12, STAY, NONE, 3 ; person
+ object SPRITE_GIRL, 13, 7, STAY, NONE, 4 ; person
+ object SPRITE_CHANNELER, 17, 7, STAY, LEFT, 5 ; person
+
+ def_warps_to POKEMON_TOWER_1F
diff --git a/data/maps/objects/PokemonTower2F.asm b/data/maps/objects/PokemonTower2F.asm
new file mode 100755
index 00000000..27bd2f1b
--- /dev/null
+++ b/data/maps/objects/PokemonTower2F.asm
@@ -0,0 +1,14 @@
+PokemonTower2F_Object:
+ db $1 ; border block
+
+ def_warps
+ warp 3, 9, 0, POKEMON_TOWER_3F
+ warp 18, 9, 2, POKEMON_TOWER_1F
+
+ def_signs
+
+ def_objects
+ object SPRITE_BLUE, 14, 5, STAY, NONE, 1 ; person
+ object SPRITE_CHANNELER, 3, 7, STAY, RIGHT, 2 ; person
+
+ def_warps_to POKEMON_TOWER_2F
diff --git a/data/maps/objects/PokemonTower3F.asm b/data/maps/objects/PokemonTower3F.asm
new file mode 100755
index 00000000..af1b17dc
--- /dev/null
+++ b/data/maps/objects/PokemonTower3F.asm
@@ -0,0 +1,16 @@
+PokemonTower3F_Object:
+ db $1 ; border block
+
+ def_warps
+ warp 3, 9, 0, POKEMON_TOWER_2F
+ warp 18, 9, 1, POKEMON_TOWER_4F
+
+ def_signs
+
+ def_objects
+ object SPRITE_CHANNELER, 12, 3, STAY, LEFT, 1, OPP_CHANNELER, 5
+ object SPRITE_CHANNELER, 9, 8, STAY, DOWN, 2, OPP_CHANNELER, 6
+ object SPRITE_CHANNELER, 10, 13, STAY, DOWN, 3, OPP_CHANNELER, 8
+ object SPRITE_POKE_BALL, 12, 1, STAY, NONE, 4, ESCAPE_ROPE
+
+ def_warps_to POKEMON_TOWER_3F
diff --git a/data/maps/objects/PokemonTower4F.asm b/data/maps/objects/PokemonTower4F.asm
new file mode 100755
index 00000000..64801e23
--- /dev/null
+++ b/data/maps/objects/PokemonTower4F.asm
@@ -0,0 +1,18 @@
+PokemonTower4F_Object:
+ db $1 ; border block
+
+ def_warps
+ warp 3, 9, 0, POKEMON_TOWER_5F
+ warp 18, 9, 1, POKEMON_TOWER_3F
+
+ def_signs
+
+ def_objects
+ object SPRITE_CHANNELER, 5, 10, STAY, RIGHT, 1, OPP_CHANNELER, 9
+ object SPRITE_CHANNELER, 15, 7, STAY, DOWN, 2, OPP_CHANNELER, 10
+ object SPRITE_CHANNELER, 14, 12, STAY, LEFT, 3, OPP_CHANNELER, 12
+ object SPRITE_POKE_BALL, 12, 10, STAY, NONE, 4, ELIXER
+ object SPRITE_POKE_BALL, 9, 10, STAY, NONE, 5, AWAKENING
+ object SPRITE_POKE_BALL, 12, 16, STAY, NONE, 6, HP_UP
+
+ def_warps_to POKEMON_TOWER_4F
diff --git a/data/maps/objects/PokemonTower5F.asm b/data/maps/objects/PokemonTower5F.asm
new file mode 100755
index 00000000..33482ed5
--- /dev/null
+++ b/data/maps/objects/PokemonTower5F.asm
@@ -0,0 +1,18 @@
+PokemonTower5F_Object:
+ db $1 ; border block
+
+ def_warps
+ warp 3, 9, 0, POKEMON_TOWER_4F
+ warp 18, 9, 0, POKEMON_TOWER_6F
+
+ def_signs
+
+ def_objects
+ object SPRITE_CHANNELER, 12, 8, STAY, NONE, 1 ; person
+ object SPRITE_CHANNELER, 17, 7, STAY, LEFT, 2, OPP_CHANNELER, 14
+ object SPRITE_CHANNELER, 14, 3, STAY, LEFT, 3, OPP_CHANNELER, 16
+ object SPRITE_CHANNELER, 6, 10, STAY, RIGHT, 4, OPP_CHANNELER, 17
+ object SPRITE_CHANNELER, 9, 16, STAY, RIGHT, 5, OPP_CHANNELER, 18
+ object SPRITE_POKE_BALL, 6, 14, STAY, NONE, 6, NUGGET
+
+ def_warps_to POKEMON_TOWER_5F
diff --git a/data/maps/objects/PokemonTower6F.asm b/data/maps/objects/PokemonTower6F.asm
new file mode 100755
index 00000000..8e7b276c
--- /dev/null
+++ b/data/maps/objects/PokemonTower6F.asm
@@ -0,0 +1,17 @@
+PokemonTower6F_Object:
+ db $1 ; border block
+
+ def_warps
+ warp 18, 9, 1, POKEMON_TOWER_5F
+ warp 9, 16, 0, POKEMON_TOWER_7F
+
+ def_signs
+
+ def_objects
+ object SPRITE_CHANNELER, 12, 10, STAY, RIGHT, 1, OPP_CHANNELER, 19
+ object SPRITE_CHANNELER, 9, 5, STAY, DOWN, 2, OPP_CHANNELER, 20
+ object SPRITE_CHANNELER, 16, 5, STAY, LEFT, 3, OPP_CHANNELER, 21
+ object SPRITE_POKE_BALL, 6, 8, STAY, NONE, 4, RARE_CANDY
+ object SPRITE_POKE_BALL, 14, 14, STAY, NONE, 5, X_ACCURACY
+
+ def_warps_to POKEMON_TOWER_6F
diff --git a/data/maps/objects/PokemonTower7F.asm b/data/maps/objects/PokemonTower7F.asm
new file mode 100755
index 00000000..e5fe486b
--- /dev/null
+++ b/data/maps/objects/PokemonTower7F.asm
@@ -0,0 +1,14 @@
+PokemonTower7F_Object:
+ db $1 ; border block
+
+ def_warps
+ warp 9, 16, 1, POKEMON_TOWER_6F
+
+ def_signs
+
+ def_objects
+ object SPRITE_JESSIE, 10, 8, STAY, DOWN, 1
+ object SPRITE_JAMES, 11, 8, STAY, DOWN, 2
+ object SPRITE_MR_FUJI, 10, 3, STAY, DOWN, 3
+
+ def_warps_to POKEMON_TOWER_7F
diff --git a/data/maps/objects/PowerPlant.asm b/data/maps/objects/PowerPlant.asm
new file mode 100755
index 00000000..6802ce4f
--- /dev/null
+++ b/data/maps/objects/PowerPlant.asm
@@ -0,0 +1,27 @@
+PowerPlant_Object:
+ db $2e ; border block
+
+ def_warps
+ warp 4, 35, 3, LAST_MAP
+ warp 5, 35, 3, LAST_MAP
+ warp 0, 11, 3, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_POKE_BALL, 9, 20, STAY, NONE, 1, VOLTORB, 40
+ object SPRITE_POKE_BALL, 32, 18, STAY, NONE, 2, VOLTORB, 40
+ object SPRITE_POKE_BALL, 21, 25, STAY, NONE, 3, VOLTORB, 40
+ object SPRITE_POKE_BALL, 25, 18, STAY, NONE, 4, ELECTRODE, 43
+ object SPRITE_POKE_BALL, 23, 34, STAY, NONE, 5, VOLTORB, 40
+ object SPRITE_POKE_BALL, 26, 28, STAY, NONE, 6, VOLTORB, 40
+ object SPRITE_POKE_BALL, 21, 14, STAY, NONE, 7, ELECTRODE, 43
+ object SPRITE_POKE_BALL, 37, 32, STAY, NONE, 8, VOLTORB, 40
+ object SPRITE_BIRD, 4, 9, STAY, UP, 9, ZAPDOS, 50
+ object SPRITE_POKE_BALL, 7, 25, STAY, NONE, 10, CARBOS
+ object SPRITE_POKE_BALL, 28, 3, STAY, NONE, 11, HP_UP
+ object SPRITE_POKE_BALL, 34, 3, STAY, NONE, 12, RARE_CANDY
+ object SPRITE_POKE_BALL, 26, 32, STAY, NONE, 13, TM_THUNDER
+ object SPRITE_POKE_BALL, 20, 32, STAY, NONE, 14, TM_REFLECT
+
+ def_warps_to POWER_PLANT
diff --git a/data/maps/objects/RedsHouse1F.asm b/data/maps/objects/RedsHouse1F.asm
new file mode 100755
index 00000000..f7cd0819
--- /dev/null
+++ b/data/maps/objects/RedsHouse1F.asm
@@ -0,0 +1,15 @@
+RedsHouse1F_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 0, LAST_MAP ; exit1
+ warp 3, 7, 0, LAST_MAP ; exit2
+ warp 7, 1, 0, REDS_HOUSE_2F ; staircase
+
+ def_signs
+ sign 3, 1, 2 ; TV
+
+ def_objects
+ object SPRITE_MOM, 5, 4, STAY, LEFT, 1 ; Mom
+
+ def_warps_to REDS_HOUSE_1F
diff --git a/data/maps/objects/RedsHouse2F.asm b/data/maps/objects/RedsHouse2F.asm
new file mode 100755
index 00000000..826e68fd
--- /dev/null
+++ b/data/maps/objects/RedsHouse2F.asm
@@ -0,0 +1,11 @@
+RedsHouse2F_Object:
+ db $a ; border block
+
+ def_warps
+ warp 7, 1, 2, REDS_HOUSE_1F
+
+ def_signs
+
+ def_objects
+
+ def_warps_to REDS_HOUSE_2F
diff --git a/data/maps/objects/RockTunnel1F.asm b/data/maps/objects/RockTunnel1F.asm
new file mode 100755
index 00000000..b3d4da48
--- /dev/null
+++ b/data/maps/objects/RockTunnel1F.asm
@@ -0,0 +1,26 @@
+RockTunnel1F_Object:
+ db $3 ; border block
+
+ def_warps
+ warp 15, 3, 1, LAST_MAP
+ warp 15, 0, 1, LAST_MAP
+ warp 15, 33, 2, LAST_MAP
+ warp 15, 35, 2, LAST_MAP
+ warp 37, 3, 0, ROCK_TUNNEL_B1F
+ warp 5, 3, 1, ROCK_TUNNEL_B1F
+ warp 17, 11, 2, ROCK_TUNNEL_B1F
+ warp 37, 17, 3, ROCK_TUNNEL_B1F
+
+ def_signs
+ sign 11, 29, 8 ; RockTunnel1Text8
+
+ def_objects
+ object SPRITE_HIKER, 7, 5, STAY, DOWN, 1, OPP_HIKER, 12
+ object SPRITE_HIKER, 5, 16, STAY, DOWN, 2, OPP_HIKER, 13
+ object SPRITE_HIKER, 17, 15, STAY, LEFT, 3, OPP_HIKER, 14
+ object SPRITE_SUPER_NERD, 23, 8, STAY, LEFT, 4, OPP_POKEMANIAC, 7
+ object SPRITE_COOLTRAINER_F, 37, 21, STAY, LEFT, 5, OPP_JR_TRAINER_F, 17
+ object SPRITE_COOLTRAINER_F, 22, 24, STAY, DOWN, 6, OPP_JR_TRAINER_F, 18
+ object SPRITE_COOLTRAINER_F, 32, 24, STAY, RIGHT, 7, OPP_JR_TRAINER_F, 19
+
+ def_warps_to ROCK_TUNNEL_1F
diff --git a/data/maps/objects/RockTunnelB1F.asm b/data/maps/objects/RockTunnelB1F.asm
new file mode 100755
index 00000000..3fadaa5b
--- /dev/null
+++ b/data/maps/objects/RockTunnelB1F.asm
@@ -0,0 +1,22 @@
+RockTunnelB1F_Object:
+ db $3 ; border block
+
+ def_warps
+ warp 33, 25, 4, ROCK_TUNNEL_1F
+ warp 27, 3, 5, ROCK_TUNNEL_1F
+ warp 23, 11, 6, ROCK_TUNNEL_1F
+ warp 3, 3, 7, ROCK_TUNNEL_1F
+
+ def_signs
+
+ def_objects
+ object SPRITE_COOLTRAINER_F, 11, 13, STAY, DOWN, 1, OPP_JR_TRAINER_F, 9
+ object SPRITE_HIKER, 6, 10, STAY, DOWN, 2, OPP_HIKER, 9
+ object SPRITE_SUPER_NERD, 3, 5, STAY, DOWN, 3, OPP_POKEMANIAC, 3
+ object SPRITE_SUPER_NERD, 20, 21, STAY, RIGHT, 4, OPP_POKEMANIAC, 4
+ object SPRITE_HIKER, 30, 10, STAY, DOWN, 5, OPP_HIKER, 10
+ object SPRITE_COOLTRAINER_F, 14, 28, STAY, RIGHT, 6, OPP_JR_TRAINER_F, 10
+ object SPRITE_HIKER, 33, 5, STAY, RIGHT, 7, OPP_HIKER, 11
+ object SPRITE_SUPER_NERD, 26, 30, STAY, DOWN, 8, OPP_POKEMANIAC, 5
+
+ def_warps_to ROCK_TUNNEL_B1F
diff --git a/data/maps/objects/RockTunnelPokecenter.asm b/data/maps/objects/RockTunnelPokecenter.asm
new file mode 100755
index 00000000..7b99d491
--- /dev/null
+++ b/data/maps/objects/RockTunnelPokecenter.asm
@@ -0,0 +1,17 @@
+RockTunnelPokecenter_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 3, 7, 0, LAST_MAP
+ warp 4, 7, 0, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_GENTLEMAN, 7, 3, STAY, DOWN, 2 ; person
+ object SPRITE_FISHER, 2, 5, STAY, NONE, 3 ; person
+ object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person
+ object SPRITE_CHANSEY, 4, 1, STAY, DOWN, 5 ; person
+
+ def_warps_to ROCK_TUNNEL_POKECENTER
diff --git a/data/maps/objects/RocketHideoutB1F.asm b/data/maps/objects/RocketHideoutB1F.asm
new file mode 100755
index 00000000..81049d63
--- /dev/null
+++ b/data/maps/objects/RocketHideoutB1F.asm
@@ -0,0 +1,22 @@
+RocketHideoutB1F_Object:
+ db $2e ; border block
+
+ def_warps
+ warp 23, 2, 0, ROCKET_HIDEOUT_B2F
+ warp 21, 2, 2, GAME_CORNER
+ warp 24, 19, 0, ROCKET_HIDEOUT_ELEVATOR
+ warp 21, 24, 3, ROCKET_HIDEOUT_B2F
+ warp 25, 19, 1, ROCKET_HIDEOUT_ELEVATOR
+
+ def_signs
+
+ def_objects
+ object SPRITE_ROCKET, 26, 8, STAY, LEFT, 1, OPP_ROCKET, 8
+ object SPRITE_ROCKET, 12, 6, STAY, RIGHT, 2, OPP_ROCKET, 9
+ object SPRITE_ROCKET, 18, 17, STAY, DOWN, 3, OPP_ROCKET, 10
+ object SPRITE_ROCKET, 15, 25, STAY, RIGHT, 4, OPP_ROCKET, 11
+ object SPRITE_ROCKET, 28, 18, STAY, LEFT, 5, OPP_ROCKET, 12
+ object SPRITE_POKE_BALL, 11, 14, STAY, NONE, 6, ESCAPE_ROPE
+ object SPRITE_POKE_BALL, 9, 17, STAY, NONE, 7, HYPER_POTION
+
+ def_warps_to ROCKET_HIDEOUT_B1F
diff --git a/data/maps/objects/RocketHideoutB2F.asm b/data/maps/objects/RocketHideoutB2F.asm
new file mode 100755
index 00000000..f6ce5113
--- /dev/null
+++ b/data/maps/objects/RocketHideoutB2F.asm
@@ -0,0 +1,20 @@
+RocketHideoutB2F_Object:
+ db $2e ; border block
+
+ def_warps
+ warp 27, 8, 0, ROCKET_HIDEOUT_B1F
+ warp 21, 8, 0, ROCKET_HIDEOUT_B3F
+ warp 24, 19, 0, ROCKET_HIDEOUT_ELEVATOR
+ warp 21, 22, 3, ROCKET_HIDEOUT_B1F
+ warp 25, 19, 1, ROCKET_HIDEOUT_ELEVATOR
+
+ def_signs
+
+ def_objects
+ object SPRITE_ROCKET, 20, 12, STAY, DOWN, 1, OPP_ROCKET, 13
+ object SPRITE_POKE_BALL, 1, 11, STAY, NONE, 2, MOON_STONE
+ object SPRITE_POKE_BALL, 16, 8, STAY, NONE, 3, NUGGET
+ object SPRITE_POKE_BALL, 6, 12, STAY, NONE, 4, TM_HORN_DRILL
+ object SPRITE_POKE_BALL, 3, 21, STAY, NONE, 5, SUPER_POTION
+
+ def_warps_to ROCKET_HIDEOUT_B2F
diff --git a/data/maps/objects/RocketHideoutB3F.asm b/data/maps/objects/RocketHideoutB3F.asm
new file mode 100755
index 00000000..4cba5422
--- /dev/null
+++ b/data/maps/objects/RocketHideoutB3F.asm
@@ -0,0 +1,16 @@
+RocketHideoutB3F_Object:
+ db $2e ; border block
+
+ def_warps
+ warp 25, 6, 1, ROCKET_HIDEOUT_B2F
+ warp 19, 18, 0, ROCKET_HIDEOUT_B4F
+
+ def_signs
+
+ def_objects
+ object SPRITE_ROCKET, 10, 22, STAY, RIGHT, 1, OPP_ROCKET, 14
+ object SPRITE_ROCKET, 26, 12, STAY, UP, 2, OPP_ROCKET, 15
+ object SPRITE_POKE_BALL, 26, 17, STAY, NONE, 3, TM_DOUBLE_EDGE
+ object SPRITE_POKE_BALL, 20, 14, STAY, NONE, 4, RARE_CANDY
+
+ def_warps_to ROCKET_HIDEOUT_B3F
diff --git a/data/maps/objects/RocketHideoutB4F.asm b/data/maps/objects/RocketHideoutB4F.asm
new file mode 100755
index 00000000..3541befc
--- /dev/null
+++ b/data/maps/objects/RocketHideoutB4F.asm
@@ -0,0 +1,22 @@
+RocketHideoutB4F_Object:
+ db $2e ; border block
+
+ def_warps
+ warp 19, 10, 1, ROCKET_HIDEOUT_B3F
+ warp 24, 15, 0, ROCKET_HIDEOUT_ELEVATOR
+ warp 25, 15, 1, ROCKET_HIDEOUT_ELEVATOR
+
+ def_signs
+
+ def_objects
+ object SPRITE_GIOVANNI, 25, 3, STAY, DOWN, 1, OPP_GIOVANNI, 1
+ object SPRITE_JAMES, 25, 10, STAY, DOWN, 2
+ object SPRITE_JESSIE, 24, 10, STAY, DOWN, 3
+ object SPRITE_ROCKET, 11, 2, STAY, DOWN, 4, OPP_ROCKET, 18
+ object SPRITE_POKE_BALL, 10, 12, STAY, NONE, 5, HP_UP
+ object SPRITE_POKE_BALL, 9, 4, STAY, NONE, 6, TM_RAZOR_WIND
+ object SPRITE_POKE_BALL, 12, 20, STAY, NONE, 7, IRON
+ object SPRITE_POKE_BALL, 25, 2, STAY, NONE, 8, SILPH_SCOPE
+ object SPRITE_POKE_BALL, 10, 2, STAY, NONE, 9, LIFT_KEY
+
+ def_warps_to ROCKET_HIDEOUT_B4F
diff --git a/data/maps/objects/RocketHideoutElevator.asm b/data/maps/objects/RocketHideoutElevator.asm
new file mode 100755
index 00000000..20ab4956
--- /dev/null
+++ b/data/maps/objects/RocketHideoutElevator.asm
@@ -0,0 +1,13 @@
+RocketHideoutElevator_Object:
+ db $f ; border block
+
+ def_warps
+ warp 2, 1, 2, ROCKET_HIDEOUT_B1F
+ warp 3, 1, 4, ROCKET_HIDEOUT_B1F
+
+ def_signs
+ sign 1, 1, 1 ; RocketHideoutElevatorText1
+
+ def_objects
+
+ def_warps_to ROCKET_HIDEOUT_ELEVATOR
diff --git a/data/maps/objects/Route1.asm b/data/maps/objects/Route1.asm
new file mode 100755
index 00000000..ee1b03a5
--- /dev/null
+++ b/data/maps/objects/Route1.asm
@@ -0,0 +1,16 @@
+Route1_Object:
+ db $b ; border block
+
+ def_warps
+
+ def_signs
+ sign 9, 27, 3 ; Route1Text3
+
+ def_objects
+ object SPRITE_YOUNGSTER, 5, 24, WALK, UP_DOWN, 1 ; person
+ object SPRITE_YOUNGSTER, 15, 13, WALK, LEFT_RIGHT, 2 ; person
+
+ def_warps_to ROUTE_1
+
+ ; unused
+ warp_to 2, 7, 4
diff --git a/data/maps/objects/Route10.asm b/data/maps/objects/Route10.asm
new file mode 100755
index 00000000..54a0936e
--- /dev/null
+++ b/data/maps/objects/Route10.asm
@@ -0,0 +1,24 @@
+Route10_Object:
+ db $2c ; border block
+
+ def_warps
+ warp 11, 19, 0, ROCK_TUNNEL_POKECENTER
+ warp 8, 17, 0, ROCK_TUNNEL_1F
+ warp 8, 53, 2, ROCK_TUNNEL_1F
+ warp 6, 39, 0, POWER_PLANT
+
+ def_signs
+ sign 7, 19, 7 ; Route10Text7
+ sign 12, 19, 8 ; PokeCenterSignText
+ sign 9, 55, 9 ; Route10Text9
+ sign 5, 41, 10 ; Route10Text10
+
+ def_objects
+ object SPRITE_SUPER_NERD, 10, 44, STAY, LEFT, 1, OPP_POKEMANIAC, 1
+ object SPRITE_HIKER, 3, 57, STAY, UP, 2, OPP_HIKER, 7
+ object SPRITE_SUPER_NERD, 14, 64, STAY, LEFT, 3, OPP_POKEMANIAC, 2
+ object SPRITE_COOLTRAINER_F, 7, 25, STAY, LEFT, 4, OPP_JR_TRAINER_F, 7
+ object SPRITE_HIKER, 3, 61, STAY, DOWN, 5, OPP_HIKER, 8
+ object SPRITE_COOLTRAINER_F, 7, 54, STAY, DOWN, 6, OPP_JR_TRAINER_F, 8
+
+ def_warps_to ROUTE_10
diff --git a/data/maps/objects/Route11.asm b/data/maps/objects/Route11.asm
new file mode 100755
index 00000000..0814aeb1
--- /dev/null
+++ b/data/maps/objects/Route11.asm
@@ -0,0 +1,26 @@
+Route11_Object:
+ db $f ; border block
+
+ def_warps
+ warp 49, 8, 0, ROUTE_11_GATE_1F
+ warp 49, 9, 0, ROUTE_11_GATE_1F
+ warp 58, 8, 2, ROUTE_11_GATE_1F
+ warp 58, 9, 2, ROUTE_11_GATE_1F
+ warp 4, 5, 0, DIGLETTS_CAVE_ROUTE_11
+
+ def_signs
+ sign 1, 5, 11 ; Route11Text11
+
+ def_objects
+ object SPRITE_GAMBLER, 10, 14, STAY, DOWN, 1, OPP_GAMBLER, 1
+ object SPRITE_GAMBLER, 26, 9, STAY, DOWN, 2, OPP_GAMBLER, 2
+ object SPRITE_YOUNGSTER, 13, 5, STAY, LEFT, 3, OPP_YOUNGSTER, 9
+ object SPRITE_SUPER_NERD, 36, 11, STAY, DOWN, 4, OPP_ENGINEER, 2
+ object SPRITE_YOUNGSTER, 22, 4, STAY, UP, 5, OPP_YOUNGSTER, 10
+ object SPRITE_GAMBLER, 45, 7, STAY, DOWN, 6, OPP_GAMBLER, 3
+ object SPRITE_GAMBLER, 33, 3, STAY, UP, 7, OPP_GAMBLER, 4
+ object SPRITE_YOUNGSTER, 43, 5, STAY, RIGHT, 8, OPP_YOUNGSTER, 11
+ object SPRITE_SUPER_NERD, 45, 16, STAY, LEFT, 9, OPP_ENGINEER, 3
+ object SPRITE_YOUNGSTER, 22, 12, STAY, UP, 10, OPP_YOUNGSTER, 12
+
+ def_warps_to ROUTE_11
diff --git a/data/maps/objects/Route11Gate1F.asm b/data/maps/objects/Route11Gate1F.asm
new file mode 100755
index 00000000..d0c9c461
--- /dev/null
+++ b/data/maps/objects/Route11Gate1F.asm
@@ -0,0 +1,16 @@
+Route11Gate1F_Object:
+ db $a ; border block
+
+ def_warps
+ warp 0, 4, 0, LAST_MAP
+ warp 0, 5, 1, LAST_MAP
+ warp 7, 4, 2, LAST_MAP
+ warp 7, 5, 3, LAST_MAP
+ warp 6, 8, 0, ROUTE_11_GATE_2F
+
+ def_signs
+
+ def_objects
+ object SPRITE_GUARD, 4, 1, STAY, NONE, 1 ; person
+
+ def_warps_to ROUTE_11_GATE_1F
diff --git a/data/maps/objects/Route11Gate2F.asm b/data/maps/objects/Route11Gate2F.asm
new file mode 100755
index 00000000..fa48409c
--- /dev/null
+++ b/data/maps/objects/Route11Gate2F.asm
@@ -0,0 +1,15 @@
+Route11Gate2F_Object:
+ db $a ; border block
+
+ def_warps
+ warp 7, 7, 4, ROUTE_11_GATE_1F
+
+ def_signs
+ sign 1, 2, 3 ; Route11GateUpstairsText3
+ sign 6, 2, 4 ; Route11GateUpstairsText4
+
+ def_objects
+ object SPRITE_YOUNGSTER, 4, 2, WALK, LEFT_RIGHT, 1 ; person
+ object SPRITE_SCIENTIST, 2, 6, STAY, NONE, 2 ; person
+
+ def_warps_to ROUTE_11_GATE_2F
diff --git a/data/maps/objects/Route12.asm b/data/maps/objects/Route12.asm
new file mode 100755
index 00000000..bdb74d68
--- /dev/null
+++ b/data/maps/objects/Route12.asm
@@ -0,0 +1,26 @@
+Route12_Object:
+ db $43 ; border block
+
+ def_warps
+ warp 10, 15, 0, ROUTE_12_GATE_1F
+ warp 11, 15, 0, ROUTE_12_GATE_1F
+ warp 10, 21, 2, ROUTE_12_GATE_1F
+ warp 11, 77, 0, ROUTE_12_SUPER_ROD_HOUSE
+
+ def_signs
+ sign 13, 13, 11 ; Route12Text11
+ sign 11, 63, 12 ; Route12Text12
+
+ def_objects
+ object SPRITE_SNORLAX, 10, 62, STAY, DOWN, 1 ; person
+ object SPRITE_FISHER, 14, 31, STAY, LEFT, 2, OPP_FISHER, 3
+ object SPRITE_FISHER, 5, 39, STAY, UP, 3, OPP_FISHER, 4
+ object SPRITE_COOLTRAINER_M, 11, 92, STAY, LEFT, 4, OPP_JR_TRAINER_M, 9
+ object SPRITE_SUPER_NERD, 14, 76, STAY, UP, 5, OPP_ROCKER, 2
+ object SPRITE_FISHER, 12, 40, STAY, LEFT, 6, OPP_FISHER, 5
+ object SPRITE_FISHER, 9, 52, STAY, RIGHT, 7, OPP_FISHER, 6
+ object SPRITE_FISHER, 6, 87, STAY, DOWN, 8, OPP_FISHER, 11
+ object SPRITE_POKE_BALL, 14, 35, STAY, NONE, 9, TM_PAY_DAY
+ object SPRITE_POKE_BALL, 5, 89, STAY, NONE, 10, IRON
+
+ def_warps_to ROUTE_12
diff --git a/data/maps/objects/Route12Gate1F.asm b/data/maps/objects/Route12Gate1F.asm
new file mode 100755
index 00000000..356bf67a
--- /dev/null
+++ b/data/maps/objects/Route12Gate1F.asm
@@ -0,0 +1,16 @@
+Route12Gate1F_Object:
+ db $a ; border block
+
+ def_warps
+ warp 4, 0, 0, LAST_MAP
+ warp 5, 0, 1, LAST_MAP
+ warp 4, 7, 2, LAST_MAP
+ warp 5, 7, 2, LAST_MAP
+ warp 8, 6, 0, ROUTE_12_GATE_2F
+
+ def_signs
+
+ def_objects
+ object SPRITE_GUARD, 1, 3, STAY, NONE, 1 ; person
+
+ def_warps_to ROUTE_12_GATE_1F
diff --git a/data/maps/objects/Route12Gate2F.asm b/data/maps/objects/Route12Gate2F.asm
new file mode 100755
index 00000000..413adf25
--- /dev/null
+++ b/data/maps/objects/Route12Gate2F.asm
@@ -0,0 +1,14 @@
+Route12Gate2F_Object:
+ db $a ; border block
+
+ def_warps
+ warp 7, 7, 4, ROUTE_12_GATE_1F
+
+ def_signs
+ sign 1, 2, 2 ; Route12GateUpstairsText2
+ sign 6, 2, 3 ; Route12GateUpstairsText3
+
+ def_objects
+ object SPRITE_BRUNETTE_GIRL, 3, 4, WALK, UP_DOWN, 1 ; person
+
+ def_warps_to ROUTE_12_GATE_2F
diff --git a/data/maps/objects/Route12SuperRodHouse.asm b/data/maps/objects/Route12SuperRodHouse.asm
new file mode 100755
index 00000000..4cd43639
--- /dev/null
+++ b/data/maps/objects/Route12SuperRodHouse.asm
@@ -0,0 +1,13 @@
+Route12SuperRodHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 3, LAST_MAP
+ warp 3, 7, 3, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_FISHING_GURU, 2, 4, STAY, RIGHT, 1 ; person
+
+ def_warps_to ROUTE_12_SUPER_ROD_HOUSE
diff --git a/data/maps/objects/Route13.asm b/data/maps/objects/Route13.asm
new file mode 100755
index 00000000..365eea7d
--- /dev/null
+++ b/data/maps/objects/Route13.asm
@@ -0,0 +1,23 @@
+Route13_Object:
+ db $43 ; border block
+
+ def_warps
+
+ def_signs
+ sign 15, 13, 11 ; Route13Text11
+ sign 33, 5, 12 ; Route13Text12
+ sign 31, 11, 13 ; Route13Text13
+
+ def_objects
+ object SPRITE_COOLTRAINER_M, 49, 10, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 1
+ object SPRITE_COOLTRAINER_F, 48, 10, STAY, DOWN, 2, OPP_JR_TRAINER_F, 12
+ object SPRITE_COOLTRAINER_F, 27, 9, STAY, DOWN, 3, OPP_JR_TRAINER_F, 13
+ object SPRITE_COOLTRAINER_F, 23, 10, STAY, LEFT, 4, OPP_JR_TRAINER_F, 14
+ object SPRITE_COOLTRAINER_F, 50, 5, STAY, DOWN, 5, OPP_JR_TRAINER_F, 15
+ object SPRITE_COOLTRAINER_M, 12, 4, STAY, RIGHT, 6, OPP_BIRD_KEEPER, 2
+ object SPRITE_BEAUTY, 33, 6, STAY, DOWN, 7, OPP_BEAUTY, 4
+ object SPRITE_BEAUTY, 32, 6, STAY, DOWN, 8, OPP_BEAUTY, 5
+ object SPRITE_BIKER, 10, 7, STAY, UP, 9, OPP_BIKER, 1
+ object SPRITE_COOLTRAINER_M, 7, 13, STAY, UP, 10, OPP_BIRD_KEEPER, 3
+
+ def_warps_to ROUTE_13
diff --git a/data/maps/objects/Route14.asm b/data/maps/objects/Route14.asm
new file mode 100755
index 00000000..4a2240e6
--- /dev/null
+++ b/data/maps/objects/Route14.asm
@@ -0,0 +1,21 @@
+Route14_Object:
+ db $43 ; border block
+
+ def_warps
+
+ def_signs
+ sign 17, 13, 11 ; Route14Text11
+
+ def_objects
+ object SPRITE_COOLTRAINER_M, 4, 4, STAY, DOWN, 1, OPP_BIRD_KEEPER, 14
+ object SPRITE_COOLTRAINER_M, 15, 6, STAY, DOWN, 2, OPP_BIRD_KEEPER, 15
+ object SPRITE_COOLTRAINER_M, 12, 11, STAY, DOWN, 3, OPP_BIRD_KEEPER, 16
+ object SPRITE_COOLTRAINER_M, 14, 15, STAY, UP, 4, OPP_BIRD_KEEPER, 17
+ object SPRITE_COOLTRAINER_M, 15, 31, STAY, LEFT, 5, OPP_BIRD_KEEPER, 4
+ object SPRITE_COOLTRAINER_M, 6, 49, STAY, UP, 6, OPP_BIRD_KEEPER, 5
+ object SPRITE_BIKER, 5, 39, STAY, DOWN, 7, OPP_BIKER, 13
+ object SPRITE_BIKER, 4, 30, STAY, RIGHT, 8, OPP_BIKER, 14
+ object SPRITE_BIKER, 15, 30, STAY, LEFT, 9, OPP_BIKER, 15
+ object SPRITE_BIKER, 4, 31, STAY, RIGHT, 10, OPP_BIKER, 2
+
+ def_warps_to ROUTE_14
diff --git a/data/maps/objects/Route15.asm b/data/maps/objects/Route15.asm
new file mode 100755
index 00000000..884e1704
--- /dev/null
+++ b/data/maps/objects/Route15.asm
@@ -0,0 +1,26 @@
+Route15_Object:
+ db $43 ; border block
+
+ def_warps
+ warp 7, 8, 0, ROUTE_15_GATE_1F
+ warp 7, 9, 0, ROUTE_15_GATE_1F
+ warp 14, 8, 2, ROUTE_15_GATE_1F
+ warp 14, 9, 2, ROUTE_15_GATE_1F
+
+ def_signs
+ sign 39, 9, 12 ; Route15Text12
+
+ def_objects
+ object SPRITE_COOLTRAINER_F, 41, 11, STAY, DOWN, 1, OPP_JR_TRAINER_F, 20
+ object SPRITE_COOLTRAINER_F, 53, 10, STAY, LEFT, 2, OPP_JR_TRAINER_F, 21
+ object SPRITE_COOLTRAINER_M, 31, 13, STAY, UP, 3, OPP_BIRD_KEEPER, 6
+ object SPRITE_COOLTRAINER_M, 35, 13, STAY, UP, 4, OPP_BIRD_KEEPER, 7
+ object SPRITE_BEAUTY, 53, 11, STAY, DOWN, 5, OPP_BEAUTY, 9
+ object SPRITE_BEAUTY, 41, 10, STAY, RIGHT, 6, OPP_BEAUTY, 10
+ object SPRITE_BIKER, 48, 10, STAY, DOWN, 7, OPP_BIKER, 3
+ object SPRITE_BIKER, 46, 10, STAY, DOWN, 8, OPP_BIKER, 4
+ object SPRITE_COOLTRAINER_F, 37, 5, STAY, RIGHT, 9, OPP_JR_TRAINER_F, 22
+ object SPRITE_COOLTRAINER_F, 18, 13, STAY, UP, 10, OPP_JR_TRAINER_F, 23
+ object SPRITE_POKE_BALL, 18, 5, STAY, NONE, 11, TM_RAGE
+
+ def_warps_to ROUTE_15
diff --git a/data/maps/objects/Route15Gate1F.asm b/data/maps/objects/Route15Gate1F.asm
new file mode 100755
index 00000000..e611e98b
--- /dev/null
+++ b/data/maps/objects/Route15Gate1F.asm
@@ -0,0 +1,16 @@
+Route15Gate1F_Object:
+ db $a ; border block
+
+ def_warps
+ warp 0, 4, 0, LAST_MAP
+ warp 0, 5, 1, LAST_MAP
+ warp 7, 4, 2, LAST_MAP
+ warp 7, 5, 3, LAST_MAP
+ warp 6, 8, 0, ROUTE_15_GATE_2F
+
+ def_signs
+
+ def_objects
+ object SPRITE_GUARD, 4, 1, STAY, NONE, 1 ; person
+
+ def_warps_to ROUTE_15_GATE_1F
diff --git a/data/maps/objects/Route15Gate2F.asm b/data/maps/objects/Route15Gate2F.asm
new file mode 100755
index 00000000..608b69e5
--- /dev/null
+++ b/data/maps/objects/Route15Gate2F.asm
@@ -0,0 +1,13 @@
+Route15Gate2F_Object:
+ db $a ; border block
+
+ def_warps
+ warp 7, 7, 4, ROUTE_15_GATE_1F
+
+ def_signs
+ sign 6, 2, 2 ; Route15GateUpstairsText2
+
+ def_objects
+ object SPRITE_SCIENTIST, 4, 2, STAY, DOWN, 1
+
+ def_warps_to ROUTE_15_GATE_2F
diff --git a/data/maps/objects/Route16.asm b/data/maps/objects/Route16.asm
new file mode 100755
index 00000000..50a8a4bf
--- /dev/null
+++ b/data/maps/objects/Route16.asm
@@ -0,0 +1,28 @@
+Route16_Object:
+ db $f ; border block
+
+ def_warps
+ warp 17, 10, 0, ROUTE_16_GATE_1F
+ warp 17, 11, 0, ROUTE_16_GATE_1F
+ warp 24, 10, 2, ROUTE_16_GATE_1F
+ warp 24, 11, 2, ROUTE_16_GATE_1F
+ warp 17, 4, 4, ROUTE_16_GATE_1F
+ warp 17, 5, 4, ROUTE_16_GATE_1F
+ warp 24, 4, 6, ROUTE_16_GATE_1F
+ warp 24, 5, 6, ROUTE_16_GATE_1F
+ warp 7, 5, 0, ROUTE_16_FLY_HOUSE
+
+ def_signs
+ sign 27, 11, 8 ; Route16Text8
+ sign 5, 17, 9 ; Route16Text9
+
+ def_objects
+ object SPRITE_BIKER, 17, 12, STAY, LEFT, 1, OPP_BIKER, 5
+ object SPRITE_BIKER, 14, 13, STAY, RIGHT, 2, OPP_CUE_BALL, 1
+ object SPRITE_BIKER, 11, 12, STAY, UP, 3, OPP_CUE_BALL, 2
+ object SPRITE_BIKER, 9, 11, STAY, LEFT, 4, OPP_BIKER, 6
+ object SPRITE_BIKER, 6, 10, STAY, RIGHT, 5, OPP_CUE_BALL, 3
+ object SPRITE_BIKER, 3, 12, STAY, RIGHT, 6, OPP_BIKER, 7
+ object SPRITE_SNORLAX, 26, 10, STAY, DOWN, 7 ; person
+
+ def_warps_to ROUTE_16
diff --git a/data/maps/objects/Route16FlyHouse.asm b/data/maps/objects/Route16FlyHouse.asm
new file mode 100755
index 00000000..be6cdc61
--- /dev/null
+++ b/data/maps/objects/Route16FlyHouse.asm
@@ -0,0 +1,14 @@
+Route16FlyHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 8, LAST_MAP
+ warp 3, 7, 8, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_BRUNETTE_GIRL, 2, 3, STAY, RIGHT, 1 ; person
+ object SPRITE_BIRD, 6, 4, WALK, ANY_DIR, 2 ; person
+
+ def_warps_to ROUTE_16_FLY_HOUSE
diff --git a/data/maps/objects/Route16Gate1F.asm b/data/maps/objects/Route16Gate1F.asm
new file mode 100755
index 00000000..4f876e7f
--- /dev/null
+++ b/data/maps/objects/Route16Gate1F.asm
@@ -0,0 +1,21 @@
+Route16Gate1F_Object:
+ db $a ; border block
+
+ def_warps
+ warp 0, 8, 0, LAST_MAP
+ warp 0, 9, 1, LAST_MAP
+ warp 7, 8, 2, LAST_MAP
+ warp 7, 9, 2, LAST_MAP
+ warp 0, 2, 4, LAST_MAP
+ warp 0, 3, 5, LAST_MAP
+ warp 7, 2, 6, LAST_MAP
+ warp 7, 3, 7, LAST_MAP
+ warp 6, 12, 0, ROUTE_16_GATE_2F
+
+ def_signs
+
+ def_objects
+ object SPRITE_GUARD, 4, 5, STAY, DOWN, 1 ; person
+ object SPRITE_GAMBLER, 4, 3, STAY, NONE, 2 ; person
+
+ def_warps_to ROUTE_16_GATE_1F
diff --git a/data/maps/objects/Route16Gate2F.asm b/data/maps/objects/Route16Gate2F.asm
new file mode 100755
index 00000000..53511ae5
--- /dev/null
+++ b/data/maps/objects/Route16Gate2F.asm
@@ -0,0 +1,15 @@
+Route16Gate2F_Object:
+ db $a ; border block
+
+ def_warps
+ warp 7, 7, 8, ROUTE_16_GATE_1F
+
+ def_signs
+ sign 1, 2, 3 ; Route16GateUpstairsText3
+ sign 6, 2, 4 ; Route16GateUpstairsText4
+
+ def_objects
+ object SPRITE_LITTLE_BOY, 4, 2, STAY, NONE, 1 ; person
+ object SPRITE_LITTLE_GIRL, 2, 5, WALK, LEFT_RIGHT, 2 ; person
+
+ def_warps_to ROUTE_16_GATE_2F
diff --git a/data/maps/objects/Route17.asm b/data/maps/objects/Route17.asm
new file mode 100755
index 00000000..f170b695
--- /dev/null
+++ b/data/maps/objects/Route17.asm
@@ -0,0 +1,26 @@
+Route17_Object:
+ db $43 ; border block
+
+ def_warps
+
+ def_signs
+ sign 9, 51, 11 ; Route17Text11
+ sign 9, 63, 12 ; Route17Text12
+ sign 9, 75, 13 ; Route17Text13
+ sign 9, 87, 14 ; Route17Text14
+ sign 9, 111, 15 ; Route17Text15
+ sign 9, 141, 16 ; Route17Text16
+
+ def_objects
+ object SPRITE_BIKER, 12, 19, STAY, LEFT, 1, OPP_CUE_BALL, 4
+ object SPRITE_BIKER, 11, 16, STAY, RIGHT, 2, OPP_CUE_BALL, 5
+ object SPRITE_BIKER, 4, 18, STAY, UP, 3, OPP_BIKER, 8
+ object SPRITE_BIKER, 7, 32, STAY, LEFT, 4, OPP_BIKER, 9
+ object SPRITE_BIKER, 14, 34, STAY, RIGHT, 5, OPP_BIKER, 10
+ object SPRITE_BIKER, 17, 58, STAY, LEFT, 6, OPP_CUE_BALL, 6
+ object SPRITE_BIKER, 2, 68, STAY, RIGHT, 7, OPP_CUE_BALL, 7
+ object SPRITE_BIKER, 14, 98, STAY, RIGHT, 8, OPP_CUE_BALL, 8
+ object SPRITE_BIKER, 5, 98, STAY, LEFT, 9, OPP_BIKER, 11
+ object SPRITE_BIKER, 10, 118, STAY, DOWN, 10, OPP_BIKER, 12
+
+ def_warps_to ROUTE_17
diff --git a/data/maps/objects/Route18.asm b/data/maps/objects/Route18.asm
new file mode 100755
index 00000000..cbb881fe
--- /dev/null
+++ b/data/maps/objects/Route18.asm
@@ -0,0 +1,19 @@
+Route18_Object:
+ db $43 ; border block
+
+ def_warps
+ warp 33, 8, 0, ROUTE_18_GATE_1F
+ warp 33, 9, 0, ROUTE_18_GATE_1F
+ warp 40, 8, 2, ROUTE_18_GATE_1F
+ warp 40, 9, 2, ROUTE_18_GATE_1F
+
+ def_signs
+ sign 43, 7, 4 ; Route18Text4
+ sign 33, 5, 5 ; Route18Text5
+
+ def_objects
+ object SPRITE_COOLTRAINER_M, 36, 11, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 8
+ object SPRITE_COOLTRAINER_M, 40, 15, STAY, LEFT, 2, OPP_BIRD_KEEPER, 9
+ object SPRITE_COOLTRAINER_M, 42, 13, STAY, LEFT, 3, OPP_BIRD_KEEPER, 10
+
+ def_warps_to ROUTE_18
diff --git a/data/maps/objects/Route18Gate1F.asm b/data/maps/objects/Route18Gate1F.asm
new file mode 100755
index 00000000..3bfdefaa
--- /dev/null
+++ b/data/maps/objects/Route18Gate1F.asm
@@ -0,0 +1,16 @@
+Route18Gate1F_Object:
+ db $a ; border block
+
+ def_warps
+ warp 0, 4, 0, LAST_MAP
+ warp 0, 5, 1, LAST_MAP
+ warp 7, 4, 2, LAST_MAP
+ warp 7, 5, 3, LAST_MAP
+ warp 6, 8, 0, ROUTE_18_GATE_2F
+
+ def_signs
+
+ def_objects
+ object SPRITE_GUARD, 4, 1, STAY, DOWN, 1 ; person
+
+ def_warps_to ROUTE_18_GATE_1F
diff --git a/data/maps/objects/Route18Gate2F.asm b/data/maps/objects/Route18Gate2F.asm
new file mode 100755
index 00000000..a2080d46
--- /dev/null
+++ b/data/maps/objects/Route18Gate2F.asm
@@ -0,0 +1,14 @@
+Route18Gate2F_Object:
+ db $a ; border block
+
+ def_warps
+ warp 7, 7, 4, ROUTE_18_GATE_1F
+
+ def_signs
+ sign 1, 2, 2 ; Route18GateUpstairsText2
+ sign 6, 2, 3 ; Route18GateUpstairsText3
+
+ def_objects
+ object SPRITE_COOK, 4, 2, WALK, LEFT_RIGHT, 1 ; person
+
+ def_warps_to ROUTE_18_GATE_2F
diff --git a/data/maps/objects/Route19.asm b/data/maps/objects/Route19.asm
new file mode 100755
index 00000000..340c48f0
--- /dev/null
+++ b/data/maps/objects/Route19.asm
@@ -0,0 +1,22 @@
+Route19_Object:
+ db $43 ; border block
+
+ def_warps
+ warp 5, 9, 0, BEACH_HOUSE
+
+ def_signs
+ sign 11, 11, 11
+
+ def_objects
+ object SPRITE_COOLTRAINER_M, 9, 7, STAY, RIGHT, 1, OPP_SWIMMER, 2
+ object SPRITE_COOLTRAINER_M, 12, 9, STAY, LEFT, 2, OPP_SWIMMER, 3
+ object SPRITE_SWIMMER, 13, 25, STAY, LEFT, 3, OPP_SWIMMER, 4
+ object SPRITE_SWIMMER, 4, 27, STAY, RIGHT, 4, OPP_SWIMMER, 5
+ object SPRITE_SWIMMER, 16, 31, STAY, UP, 5, OPP_SWIMMER, 6
+ object SPRITE_SWIMMER, 9, 13, STAY, DOWN, 6, OPP_SWIMMER, 7
+ object SPRITE_SWIMMER, 8, 43, STAY, LEFT, 7, OPP_BEAUTY, 12
+ object SPRITE_SWIMMER, 11, 43, STAY, RIGHT, 8, OPP_BEAUTY, 13
+ object SPRITE_SWIMMER, 9, 42, STAY, UP, 9, OPP_SWIMMER, 8
+ object SPRITE_SWIMMER, 10, 44, STAY, DOWN, 10, OPP_BEAUTY, 14
+
+ def_warps_to ROUTE_19
diff --git a/data/maps/objects/Route2.asm b/data/maps/objects/Route2.asm
new file mode 100755
index 00000000..e939b0dd
--- /dev/null
+++ b/data/maps/objects/Route2.asm
@@ -0,0 +1,29 @@
+Route2_Object:
+ db $f ; border block
+
+ def_warps
+ warp 12, 9, 0, DIGLETTS_CAVE_ROUTE_2
+ warp 3, 11, 1, VIRIDIAN_FOREST_NORTH_GATE
+ warp 15, 19, 0, ROUTE_2_TRADE_HOUSE
+ warp 16, 35, 1, ROUTE_2_GATE
+ warp 15, 39, 2, ROUTE_2_GATE
+ warp 3, 43, 2, VIRIDIAN_FOREST_SOUTH_GATE
+ warp 17, 35, 1, ROUTE_2_GATE
+
+ def_signs
+ sign 5, 65, 3 ; Route2Text3
+ sign 11, 11, 4 ; Route2Text4
+
+ def_objects
+ object SPRITE_POKE_BALL, 13, 54, STAY, NONE, 1, MOON_STONE
+ object SPRITE_POKE_BALL, 13, 45, STAY, NONE, 2, HP_UP
+
+ def_warps_to ROUTE_2
+
+ ; unused
+ warp_to 2, 7, 4
+ dw $c712
+ db $9, $7
+ warp_to 2, 7, 4
+ warp_to 2, 7, 4
+ warp_to 2, 7, 4
diff --git a/data/maps/objects/Route20.asm b/data/maps/objects/Route20.asm
new file mode 100755
index 00000000..19e7cce7
--- /dev/null
+++ b/data/maps/objects/Route20.asm
@@ -0,0 +1,24 @@
+Route20_Object:
+ db $43 ; border block
+
+ def_warps
+ warp 48, 5, 0, SEAFOAM_ISLANDS_1F
+ warp 58, 9, 2, SEAFOAM_ISLANDS_1F
+
+ def_signs
+ sign 51, 7, 11 ; Route20Text11
+ sign 57, 11, 12 ; Route20Text12
+
+ def_objects
+ object SPRITE_SWIMMER, 87, 8, STAY, UP, 1, OPP_SWIMMER, 9
+ object SPRITE_SWIMMER, 68, 11, STAY, UP, 2, OPP_BEAUTY, 15
+ object SPRITE_SWIMMER, 45, 10, STAY, DOWN, 3, OPP_BEAUTY, 6
+ object SPRITE_SWIMMER, 55, 14, STAY, RIGHT, 4, OPP_JR_TRAINER_F, 24
+ object SPRITE_SWIMMER, 38, 13, STAY, DOWN, 5, OPP_SWIMMER, 10
+ object SPRITE_SWIMMER, 87, 13, STAY, UP, 6, OPP_SWIMMER, 11
+ object SPRITE_COOLTRAINER_M, 34, 9, STAY, UP, 7, OPP_BIRD_KEEPER, 11
+ object SPRITE_SWIMMER, 25, 7, STAY, UP, 8, OPP_BEAUTY, 7
+ object SPRITE_SWIMMER, 24, 12, STAY, DOWN, 9, OPP_JR_TRAINER_F, 16
+ object SPRITE_SWIMMER, 15, 8, STAY, UP, 10, OPP_BEAUTY, 8
+
+ def_warps_to ROUTE_20
diff --git a/data/maps/objects/Route21.asm b/data/maps/objects/Route21.asm
new file mode 100755
index 00000000..71817640
--- /dev/null
+++ b/data/maps/objects/Route21.asm
@@ -0,0 +1,19 @@
+Route21_Object:
+ db $43 ; border block
+
+ def_warps
+
+ def_signs
+
+ def_objects
+ object SPRITE_FISHER, 4, 24, STAY, LEFT, 1, OPP_FISHER, 7
+ object SPRITE_FISHER, 6, 25, STAY, DOWN, 2, OPP_FISHER, 9
+ object SPRITE_SWIMMER, 10, 31, STAY, UP, 3, OPP_SWIMMER, 12
+ object SPRITE_SWIMMER, 12, 30, STAY, RIGHT, 4, OPP_CUE_BALL, 9
+ object SPRITE_SWIMMER, 16, 63, STAY, DOWN, 5, OPP_SWIMMER, 13
+ object SPRITE_SWIMMER, 5, 71, STAY, RIGHT, 6, OPP_SWIMMER, 14
+ object SPRITE_SWIMMER, 15, 71, STAY, LEFT, 7, OPP_SWIMMER, 15
+ object SPRITE_FISHER, 14, 56, STAY, LEFT, 8, OPP_FISHER, 8
+ object SPRITE_FISHER, 17, 57, STAY, RIGHT, 9, OPP_FISHER, 10
+
+ def_warps_to ROUTE_21
diff --git a/data/maps/objects/Route22.asm b/data/maps/objects/Route22.asm
new file mode 100755
index 00000000..857b8a86
--- /dev/null
+++ b/data/maps/objects/Route22.asm
@@ -0,0 +1,14 @@
+Route22_Object:
+ db $2c ; border block
+
+ def_warps
+ warp 8, 5, 0, ROUTE_22_GATE
+
+ def_signs
+ sign 7, 11, 3 ; Route22FrontGateText
+
+ def_objects
+ object SPRITE_BLUE, 25, 5, STAY, NONE, 1 ; person
+ object SPRITE_BLUE, 25, 5, STAY, NONE, 2 ; person
+
+ def_warps_to ROUTE_22
diff --git a/data/maps/objects/Route22Gate.asm b/data/maps/objects/Route22Gate.asm
new file mode 100755
index 00000000..53944c52
--- /dev/null
+++ b/data/maps/objects/Route22Gate.asm
@@ -0,0 +1,15 @@
+Route22Gate_Object:
+ db $a ; border block
+
+ def_warps
+ warp 4, 7, 0, LAST_MAP
+ warp 5, 7, 0, LAST_MAP
+ warp 4, 0, 0, LAST_MAP
+ warp 5, 0, 0, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_GUARD, 6, 2, STAY, LEFT, 1 ; person
+
+ def_warps_to ROUTE_22_GATE
diff --git a/data/maps/objects/Route23.asm b/data/maps/objects/Route23.asm
new file mode 100755
index 00000000..bd74afb4
--- /dev/null
+++ b/data/maps/objects/Route23.asm
@@ -0,0 +1,22 @@
+Route23_Object:
+ db $f ; border block
+
+ def_warps
+ warp 7, 139, 2, ROUTE_22_GATE
+ warp 8, 139, 3, ROUTE_22_GATE
+ warp 4, 31, 0, VICTORY_ROAD_1F
+ warp 14, 31, 1, VICTORY_ROAD_2F
+
+ def_signs
+ sign 3, 33, 8 ; Route23Text8
+
+ def_objects
+ object SPRITE_GUARD, 4, 35, STAY, DOWN, 1 ; person
+ object SPRITE_GUARD, 10, 56, STAY, DOWN, 2 ; person
+ object SPRITE_SWIMMER, 8, 85, STAY, DOWN, 3 ; person
+ object SPRITE_SWIMMER, 11, 96, STAY, DOWN, 4 ; person
+ object SPRITE_GUARD, 12, 105, STAY, DOWN, 5 ; person
+ object SPRITE_GUARD, 8, 119, STAY, DOWN, 6 ; person
+ object SPRITE_GUARD, 8, 136, STAY, DOWN, 7 ; person
+
+ def_warps_to ROUTE_23
diff --git a/data/maps/objects/Route24.asm b/data/maps/objects/Route24.asm
new file mode 100755
index 00000000..b3cf1298
--- /dev/null
+++ b/data/maps/objects/Route24.asm
@@ -0,0 +1,19 @@
+Route24_Object:
+ db $2c ; border block
+
+ def_warps
+
+ def_signs
+
+ def_objects
+ object SPRITE_COOLTRAINER_M, 11, 15, STAY, LEFT, 1, OPP_ROCKET, 6
+ object SPRITE_COOLTRAINER_M, 5, 20, STAY, UP, 2, OPP_JR_TRAINER_M, 2
+ object SPRITE_COOLTRAINER_M, 11, 19, STAY, LEFT, 3, OPP_JR_TRAINER_M, 3
+ object SPRITE_COOLTRAINER_F, 10, 22, STAY, RIGHT, 4, OPP_LASS, 7
+ object SPRITE_YOUNGSTER, 11, 25, STAY, LEFT, 5, OPP_YOUNGSTER, 4
+ object SPRITE_COOLTRAINER_F, 10, 28, STAY, RIGHT, 6, OPP_LASS, 8
+ object SPRITE_YOUNGSTER, 11, 31, STAY, LEFT, 7, OPP_BUG_CATCHER, 9
+ object SPRITE_POKE_BALL, 10, 5, STAY, NONE, 8, TM_THUNDER_WAVE
+ object SPRITE_COOLTRAINER_M, 6, 5, STAY, DOWN, 9
+
+ def_warps_to ROUTE_24
diff --git a/data/maps/objects/Route25.asm b/data/maps/objects/Route25.asm
new file mode 100755
index 00000000..4f0be4d4
--- /dev/null
+++ b/data/maps/objects/Route25.asm
@@ -0,0 +1,22 @@
+Route25_Object:
+ db $2c ; border block
+
+ def_warps
+ warp 45, 3, 0, BILLS_HOUSE
+
+ def_signs
+ sign 43, 3, 11 ; Route25Text11
+
+ def_objects
+ object SPRITE_YOUNGSTER, 14, 2, STAY, DOWN, 1, OPP_YOUNGSTER, 5
+ object SPRITE_YOUNGSTER, 18, 5, STAY, UP, 2, OPP_YOUNGSTER, 6
+ object SPRITE_COOLTRAINER_M, 24, 4, STAY, DOWN, 3, OPP_JR_TRAINER_M, 2
+ object SPRITE_COOLTRAINER_F, 18, 8, STAY, RIGHT, 4, OPP_LASS, 9
+ object SPRITE_YOUNGSTER, 32, 3, STAY, LEFT, 5, OPP_YOUNGSTER, 7
+ object SPRITE_COOLTRAINER_F, 37, 4, STAY, DOWN, 6, OPP_LASS, 10
+ object SPRITE_HIKER, 8, 4, STAY, RIGHT, 7, OPP_HIKER, 2
+ object SPRITE_HIKER, 23, 9, STAY, UP, 8, OPP_HIKER, 3
+ object SPRITE_HIKER, 13, 7, STAY, RIGHT, 9, OPP_HIKER, 4
+ object SPRITE_POKE_BALL, 22, 2, STAY, NONE, 10, TM_SEISMIC_TOSS
+
+ def_warps_to ROUTE_25
diff --git a/data/maps/objects/Route2Gate.asm b/data/maps/objects/Route2Gate.asm
new file mode 100755
index 00000000..3151ce79
--- /dev/null
+++ b/data/maps/objects/Route2Gate.asm
@@ -0,0 +1,16 @@
+Route2Gate_Object:
+ db $a ; border block
+
+ def_warps
+ warp 4, 0, 3, LAST_MAP
+ warp 5, 0, 3, LAST_MAP
+ warp 4, 7, 4, LAST_MAP
+ warp 5, 7, 4, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_SCIENTIST, 1, 4, STAY, LEFT, 1 ; person
+ object SPRITE_YOUNGSTER, 5, 4, WALK, LEFT_RIGHT, 2 ; person
+
+ def_warps_to ROUTE_2_GATE
diff --git a/data/maps/objects/Route2TradeHouse.asm b/data/maps/objects/Route2TradeHouse.asm
new file mode 100755
index 00000000..d14df485
--- /dev/null
+++ b/data/maps/objects/Route2TradeHouse.asm
@@ -0,0 +1,14 @@
+Route2TradeHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 2, LAST_MAP
+ warp 3, 7, 2, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_SCIENTIST, 2, 4, STAY, RIGHT, 1 ; person
+ object SPRITE_GAMEBOY_KID, 4, 1, STAY, DOWN, 2 ; person
+
+ def_warps_to ROUTE_2_TRADE_HOUSE
diff --git a/data/maps/objects/Route3.asm b/data/maps/objects/Route3.asm
new file mode 100755
index 00000000..153fa795
--- /dev/null
+++ b/data/maps/objects/Route3.asm
@@ -0,0 +1,20 @@
+Route3_Object:
+ db $2c ; border block
+
+ def_warps
+
+ def_signs
+ sign 59, 9, 10 ; Route3Text10
+
+ def_objects
+ object SPRITE_SUPER_NERD, 57, 11, STAY, NONE, 1 ; person
+ object SPRITE_YOUNGSTER, 10, 6, STAY, RIGHT, 2, OPP_BUG_CATCHER, 4
+ object SPRITE_YOUNGSTER, 14, 4, STAY, DOWN, 3, OPP_YOUNGSTER, 1
+ object SPRITE_COOLTRAINER_F, 16, 9, STAY, LEFT, 4, OPP_LASS, 1
+ object SPRITE_YOUNGSTER, 19, 5, STAY, DOWN, 5, OPP_BUG_CATCHER, 5
+ object SPRITE_COOLTRAINER_F, 23, 4, STAY, LEFT, 6, OPP_LASS, 2
+ object SPRITE_YOUNGSTER, 22, 9, STAY, LEFT, 7, OPP_YOUNGSTER, 2
+ object SPRITE_YOUNGSTER, 24, 6, STAY, RIGHT, 8, OPP_BUG_CATCHER, 6
+ object SPRITE_COOLTRAINER_F, 33, 10, STAY, UP, 9, OPP_LASS, 3
+
+ def_warps_to ROUTE_3
diff --git a/data/maps/objects/Route4.asm b/data/maps/objects/Route4.asm
new file mode 100755
index 00000000..79e79b79
--- /dev/null
+++ b/data/maps/objects/Route4.asm
@@ -0,0 +1,19 @@
+Route4_Object:
+ db $2c ; border block
+
+ def_warps
+ warp 11, 5, 0, MT_MOON_POKECENTER
+ warp 18, 5, 0, MT_MOON_1F
+ warp 24, 5, 7, MT_MOON_B1F
+
+ def_signs
+ sign 12, 5, 4 ; PokeCenterSignText
+ sign 17, 7, 5 ; Route4Text5
+ sign 27, 7, 6 ; Route4Text6
+
+ def_objects
+ object SPRITE_COOLTRAINER_F, 9, 8, WALK, ANY_DIR, 1 ; person
+ object SPRITE_COOLTRAINER_F, 63, 3, STAY, RIGHT, 2, OPP_LASS, 4
+ object SPRITE_POKE_BALL, 57, 3, STAY, NONE, 3, TM_WHIRLWIND
+
+ def_warps_to ROUTE_4
diff --git a/data/maps/objects/Route5.asm b/data/maps/objects/Route5.asm
new file mode 100755
index 00000000..98f76683
--- /dev/null
+++ b/data/maps/objects/Route5.asm
@@ -0,0 +1,16 @@
+Route5_Object:
+ db $a ; border block
+
+ def_warps
+ warp 10, 29, 2, ROUTE_5_GATE
+ warp 9, 29, 2, ROUTE_5_GATE
+ warp 10, 33, 0, ROUTE_5_GATE
+ warp 17, 27, 0, UNDERGROUND_PATH_ROUTE_5
+ warp 10, 21, 0, DAYCARE
+
+ def_signs
+ sign 17, 29, 1 ; Route5Text1
+
+ def_objects
+
+ def_warps_to ROUTE_5
diff --git a/data/maps/objects/Route5Gate.asm b/data/maps/objects/Route5Gate.asm
new file mode 100755
index 00000000..81c8c43e
--- /dev/null
+++ b/data/maps/objects/Route5Gate.asm
@@ -0,0 +1,15 @@
+Route5Gate_Object:
+ db $a ; border block
+
+ def_warps
+ warp 3, 5, 2, LAST_MAP
+ warp 4, 5, 2, LAST_MAP
+ warp 3, 0, 1, LAST_MAP
+ warp 4, 0, 0, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_GUARD, 1, 3, STAY, RIGHT, 1 ; person
+
+ def_warps_to ROUTE_5_GATE
diff --git a/data/maps/objects/Route6.asm b/data/maps/objects/Route6.asm
new file mode 100755
index 00000000..f18c66f5
--- /dev/null
+++ b/data/maps/objects/Route6.asm
@@ -0,0 +1,21 @@
+Route6_Object:
+ db $f ; border block
+
+ def_warps
+ warp 9, 1, 2, ROUTE_6_GATE
+ warp 10, 1, 2, ROUTE_6_GATE
+ warp 10, 7, 0, ROUTE_6_GATE
+ warp 17, 13, 0, UNDERGROUND_PATH_ROUTE_6
+
+ def_signs
+ sign 19, 15, 7 ; Route6Text7
+
+ def_objects
+ object SPRITE_COOLTRAINER_M, 10, 21, STAY, RIGHT, 1, OPP_JR_TRAINER_M, 10
+ object SPRITE_COOLTRAINER_F, 11, 21, STAY, LEFT, 2, OPP_JR_TRAINER_F, 25
+ object SPRITE_YOUNGSTER, 0, 15, STAY, RIGHT, 3, OPP_BUG_CATCHER, 10
+ object SPRITE_COOLTRAINER_M, 11, 31, STAY, LEFT, 4, OPP_JR_TRAINER_M, 5
+ object SPRITE_COOLTRAINER_F, 11, 30, STAY, LEFT, 5, OPP_JR_TRAINER_F, 3
+ object SPRITE_YOUNGSTER, 19, 26, STAY, LEFT, 6, OPP_BUG_CATCHER, 11
+
+ def_warps_to ROUTE_6
diff --git a/data/maps/objects/Route6Gate.asm b/data/maps/objects/Route6Gate.asm
new file mode 100755
index 00000000..2ef5a8b5
--- /dev/null
+++ b/data/maps/objects/Route6Gate.asm
@@ -0,0 +1,15 @@
+Route6Gate_Object:
+ db $a ; border block
+
+ def_warps
+ warp 3, 5, 2, LAST_MAP
+ warp 4, 5, 2, LAST_MAP
+ warp 3, 0, 1, LAST_MAP
+ warp 4, 0, 1, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_GUARD, 6, 2, STAY, LEFT, 1 ; person
+
+ def_warps_to ROUTE_6_GATE
diff --git a/data/maps/objects/Route7.asm b/data/maps/objects/Route7.asm
new file mode 100755
index 00000000..64b0387f
--- /dev/null
+++ b/data/maps/objects/Route7.asm
@@ -0,0 +1,16 @@
+Route7_Object:
+ db $f ; border block
+
+ def_warps
+ warp 18, 9, 2, ROUTE_7_GATE
+ warp 18, 10, 2, ROUTE_7_GATE
+ warp 11, 9, 0, ROUTE_7_GATE
+ warp 11, 10, 0, ROUTE_7_GATE
+ warp 5, 13, 0, UNDERGROUND_PATH_ROUTE_7
+
+ def_signs
+ sign 3, 13, 1 ; Route7Text1
+
+ def_objects
+
+ def_warps_to ROUTE_7
diff --git a/data/maps/objects/Route7Gate.asm b/data/maps/objects/Route7Gate.asm
new file mode 100755
index 00000000..85064914
--- /dev/null
+++ b/data/maps/objects/Route7Gate.asm
@@ -0,0 +1,15 @@
+Route7Gate_Object:
+ db $a ; border block
+
+ def_warps
+ warp 0, 3, 3, LAST_MAP
+ warp 0, 4, 3, LAST_MAP
+ warp 5, 3, 1, LAST_MAP
+ warp 5, 4, 1, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_GUARD, 3, 1, STAY, DOWN, 1 ; person
+
+ def_warps_to ROUTE_7_GATE
diff --git a/data/maps/objects/Route8.asm b/data/maps/objects/Route8.asm
new file mode 100755
index 00000000..aaa69ea2
--- /dev/null
+++ b/data/maps/objects/Route8.asm
@@ -0,0 +1,25 @@
+Route8_Object:
+ db $2c ; border block
+
+ def_warps
+ warp 1, 9, 0, ROUTE_8_GATE
+ warp 1, 10, 0, ROUTE_8_GATE
+ warp 8, 9, 2, ROUTE_8_GATE
+ warp 8, 10, 2, ROUTE_8_GATE
+ warp 13, 3, 0, UNDERGROUND_PATH_ROUTE_8
+
+ def_signs
+ sign 17, 3, 10 ; Route8Text10
+
+ def_objects
+ object SPRITE_SUPER_NERD, 8, 5, STAY, RIGHT, 1, OPP_SUPER_NERD, 3
+ object SPRITE_GAMBLER, 13, 9, STAY, UP, 2, OPP_GAMBLER, 5
+ object SPRITE_SUPER_NERD, 42, 6, STAY, UP, 3, OPP_SUPER_NERD, 4
+ object SPRITE_COOLTRAINER_F, 26, 3, STAY, LEFT, 4, OPP_LASS, 13
+ object SPRITE_SUPER_NERD, 26, 4, STAY, RIGHT, 5, OPP_SUPER_NERD, 5
+ object SPRITE_COOLTRAINER_F, 26, 5, STAY, LEFT, 6, OPP_LASS, 14
+ object SPRITE_COOLTRAINER_F, 26, 6, STAY, RIGHT, 7, OPP_LASS, 15
+ object SPRITE_GAMBLER, 46, 13, STAY, DOWN, 8, OPP_GAMBLER, 7
+ object SPRITE_COOLTRAINER_F, 51, 12, STAY, LEFT, 9, OPP_LASS, 16
+
+ def_warps_to ROUTE_8
diff --git a/data/maps/objects/Route8Gate.asm b/data/maps/objects/Route8Gate.asm
new file mode 100755
index 00000000..64b935da
--- /dev/null
+++ b/data/maps/objects/Route8Gate.asm
@@ -0,0 +1,15 @@
+Route8Gate_Object:
+ db $a ; border block
+
+ def_warps
+ warp 0, 3, 1, LAST_MAP
+ warp 0, 4, 1, LAST_MAP
+ warp 5, 3, 3, LAST_MAP
+ warp 5, 4, 3, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_GUARD, 2, 1, STAY, DOWN, 1 ; person
+
+ def_warps_to ROUTE_8_GATE
diff --git a/data/maps/objects/Route9.asm b/data/maps/objects/Route9.asm
new file mode 100755
index 00000000..f67f337b
--- /dev/null
+++ b/data/maps/objects/Route9.asm
@@ -0,0 +1,21 @@
+Route9_Object:
+ db $2c ; border block
+
+ def_warps
+
+ def_signs
+ sign 25, 7, 11 ; Route9Text11
+
+ def_objects
+ object SPRITE_COOLTRAINER_F, 13, 10, STAY, LEFT, 1, OPP_JR_TRAINER_F, 5
+ object SPRITE_COOLTRAINER_M, 24, 7, STAY, LEFT, 2, OPP_YOUNGSTER, 14
+ object SPRITE_COOLTRAINER_M, 31, 7, STAY, RIGHT, 3, OPP_JR_TRAINER_M, 8
+ object SPRITE_COOLTRAINER_F, 48, 8, STAY, RIGHT, 4, OPP_JR_TRAINER_F, 6
+ object SPRITE_HIKER, 16, 15, STAY, LEFT, 5, OPP_HIKER, 11
+ object SPRITE_HIKER, 43, 3, STAY, LEFT, 6, OPP_HIKER, 6
+ object SPRITE_YOUNGSTER, 22, 2, STAY, DOWN, 7, OPP_BUG_CATCHER, 13
+ object SPRITE_HIKER, 45, 15, STAY, RIGHT, 8, OPP_HIKER, 5
+ object SPRITE_YOUNGSTER, 40, 8, STAY, RIGHT, 9, OPP_BUG_CATCHER, 14
+ object SPRITE_POKE_BALL, 10, 15, STAY, NONE, 10, TM_TELEPORT
+
+ def_warps_to ROUTE_9
diff --git a/data/maps/objects/SSAnne1F.asm b/data/maps/objects/SSAnne1F.asm
new file mode 100755
index 00000000..bf4e7292
--- /dev/null
+++ b/data/maps/objects/SSAnne1F.asm
@@ -0,0 +1,23 @@
+SSAnne1F_Object:
+ db $c ; border block
+
+ def_warps
+ warp 26, 0, 1, VERMILION_DOCK
+ warp 27, 0, 1, VERMILION_DOCK
+ warp 31, 8, 0, SS_ANNE_1F_ROOMS
+ warp 23, 8, 1, SS_ANNE_1F_ROOMS
+ warp 19, 8, 2, SS_ANNE_1F_ROOMS
+ warp 15, 8, 3, SS_ANNE_1F_ROOMS
+ warp 11, 8, 4, SS_ANNE_1F_ROOMS
+ warp 7, 8, 5, SS_ANNE_1F_ROOMS
+ warp 2, 6, 6, SS_ANNE_2F
+ warp 37, 15, 5, SS_ANNE_B1F
+ warp 3, 16, 0, SS_ANNE_KITCHEN
+
+ def_signs
+
+ def_objects
+ object SPRITE_WAITER, 12, 6, WALK, LEFT_RIGHT, 1 ; person
+ object SPRITE_SAILOR, 27, 5, STAY, NONE, 2 ; person
+
+ def_warps_to SS_ANNE_1F
diff --git a/data/maps/objects/SSAnne1FRooms.asm b/data/maps/objects/SSAnne1FRooms.asm
new file mode 100755
index 00000000..afb30af4
--- /dev/null
+++ b/data/maps/objects/SSAnne1FRooms.asm
@@ -0,0 +1,27 @@
+SSAnne1FRooms_Object:
+ db $c ; border block
+
+ def_warps
+ warp 0, 0, 2, SS_ANNE_1F
+ warp 10, 0, 3, SS_ANNE_1F
+ warp 20, 0, 4, SS_ANNE_1F
+ warp 0, 10, 5, SS_ANNE_1F
+ warp 10, 10, 6, SS_ANNE_1F
+ warp 20, 10, 7, SS_ANNE_1F
+
+ def_signs
+
+ def_objects
+ object SPRITE_GENTLEMAN, 2, 3, STAY, LEFT, 1, OPP_GENTLEMAN, 1
+ object SPRITE_GENTLEMAN, 11, 4, STAY, UP, 2, OPP_GENTLEMAN, 2
+ object SPRITE_YOUNGSTER, 11, 14, STAY, UP, 3, OPP_YOUNGSTER, 8
+ object SPRITE_COOLTRAINER_F, 13, 11, STAY, LEFT, 4, OPP_LASS, 11
+ object SPRITE_GIRL, 22, 3, WALK, UP_DOWN, 5 ; person
+ object SPRITE_MIDDLE_AGED_MAN, 0, 14, STAY, NONE, 6 ; person
+ object SPRITE_LITTLE_GIRL, 2, 11, STAY, DOWN, 7 ; person
+ object SPRITE_JIGGLYPUFF, 3, 11, STAY, DOWN, 8 ; person
+ object SPRITE_GIRL, 10, 13, STAY, RIGHT, 9 ; person
+ object SPRITE_POKE_BALL, 12, 15, STAY, NONE, 10, TM_BODY_SLAM
+ object SPRITE_GENTLEMAN, 21, 13, WALK, LEFT_RIGHT, 11 ; person
+
+ def_warps_to SS_ANNE_1F_ROOMS
diff --git a/data/maps/objects/SSAnne2F.asm b/data/maps/objects/SSAnne2F.asm
new file mode 100755
index 00000000..dda0fee6
--- /dev/null
+++ b/data/maps/objects/SSAnne2F.asm
@@ -0,0 +1,21 @@
+SSAnne2F_Object:
+ db $c ; border block
+
+ def_warps
+ warp 9, 11, 0, SS_ANNE_2F_ROOMS
+ warp 13, 11, 2, SS_ANNE_2F_ROOMS
+ warp 17, 11, 4, SS_ANNE_2F_ROOMS
+ warp 21, 11, 6, SS_ANNE_2F_ROOMS
+ warp 25, 11, 8, SS_ANNE_2F_ROOMS
+ warp 29, 11, 10, SS_ANNE_2F_ROOMS
+ warp 2, 4, 8, SS_ANNE_1F
+ warp 2, 12, 1, SS_ANNE_3F
+ warp 36, 4, 0, SS_ANNE_CAPTAINS_ROOM
+
+ def_signs
+
+ def_objects
+ object SPRITE_WAITER, 3, 7, WALK, UP_DOWN, 1 ; person
+ object SPRITE_BLUE, 36, 4, STAY, DOWN, 2, OPP_RIVAL1, 1
+
+ def_warps_to SS_ANNE_2F
diff --git a/data/maps/objects/SSAnne2FRooms.asm b/data/maps/objects/SSAnne2FRooms.asm
new file mode 100755
index 00000000..78a2dd38
--- /dev/null
+++ b/data/maps/objects/SSAnne2FRooms.asm
@@ -0,0 +1,35 @@
+SSAnne2FRooms_Object:
+ db $c ; border block
+
+ def_warps
+ warp 2, 5, 0, SS_ANNE_2F
+ warp 3, 5, 0, SS_ANNE_2F
+ warp 12, 5, 1, SS_ANNE_2F
+ warp 13, 5, 1, SS_ANNE_2F
+ warp 22, 5, 2, SS_ANNE_2F
+ warp 23, 5, 2, SS_ANNE_2F
+ warp 2, 15, 3, SS_ANNE_2F
+ warp 3, 15, 3, SS_ANNE_2F
+ warp 12, 15, 4, SS_ANNE_2F
+ warp 13, 15, 4, SS_ANNE_2F
+ warp 22, 15, 5, SS_ANNE_2F
+ warp 23, 15, 5, SS_ANNE_2F
+
+ def_signs
+
+ def_objects
+ object SPRITE_GENTLEMAN, 10, 2, STAY, RIGHT, 1, OPP_GENTLEMAN, 3
+ object SPRITE_FISHER, 13, 4, STAY, LEFT, 2, OPP_FISHER, 1
+ object SPRITE_GENTLEMAN, 0, 14, STAY, RIGHT, 3, OPP_GENTLEMAN, 5
+ object SPRITE_COOLTRAINER_F, 2, 11, STAY, DOWN, 4, OPP_LASS, 12
+ object SPRITE_GENTLEMAN, 1, 2, STAY, DOWN, 5 ; person
+ object SPRITE_POKE_BALL, 12, 1, STAY, NONE, 6, MAX_ETHER
+ object SPRITE_GENTLEMAN, 21, 2, STAY, DOWN, 7 ; person
+ object SPRITE_GRAMPS, 22, 1, STAY, DOWN, 8 ; person
+ object SPRITE_POKE_BALL, 0, 12, STAY, NONE, 9, RARE_CANDY
+ object SPRITE_GENTLEMAN, 12, 12, STAY, DOWN, 10 ; person
+ object SPRITE_LITTLE_BOY, 11, 14, STAY, NONE, 11 ; person
+ object SPRITE_BRUNETTE_GIRL, 22, 12, STAY, LEFT, 12 ; person
+ object SPRITE_BEAUTY, 20, 12, STAY, RIGHT, 13 ; person
+
+ def_warps_to SS_ANNE_2F_ROOMS
diff --git a/data/maps/objects/SSAnne3F.asm b/data/maps/objects/SSAnne3F.asm
new file mode 100755
index 00000000..f230aeb9
--- /dev/null
+++ b/data/maps/objects/SSAnne3F.asm
@@ -0,0 +1,13 @@
+SSAnne3F_Object:
+ db $c ; border block
+
+ def_warps
+ warp 0, 3, 0, SS_ANNE_BOW
+ warp 19, 3, 7, SS_ANNE_2F
+
+ def_signs
+
+ def_objects
+ object SPRITE_SAILOR, 9, 3, WALK, LEFT_RIGHT, 1 ; person
+
+ def_warps_to SS_ANNE_3F
diff --git a/data/maps/objects/SSAnneB1F.asm b/data/maps/objects/SSAnneB1F.asm
new file mode 100755
index 00000000..619dd33c
--- /dev/null
+++ b/data/maps/objects/SSAnneB1F.asm
@@ -0,0 +1,16 @@
+SSAnneB1F_Object:
+ db $c ; border block
+
+ def_warps
+ warp 23, 3, 8, SS_ANNE_B1F_ROOMS
+ warp 19, 3, 6, SS_ANNE_B1F_ROOMS
+ warp 15, 3, 4, SS_ANNE_B1F_ROOMS
+ warp 11, 3, 2, SS_ANNE_B1F_ROOMS
+ warp 7, 3, 0, SS_ANNE_B1F_ROOMS
+ warp 27, 5, 9, SS_ANNE_1F
+
+ def_signs
+
+ def_objects
+
+ def_warps_to SS_ANNE_B1F
diff --git a/data/maps/objects/SSAnneB1FRooms.asm b/data/maps/objects/SSAnneB1FRooms.asm
new file mode 100755
index 00000000..c7540482
--- /dev/null
+++ b/data/maps/objects/SSAnneB1FRooms.asm
@@ -0,0 +1,31 @@
+SSAnneB1FRooms_Object:
+ db $c ; border block
+
+ def_warps
+ warp 2, 5, 4, SS_ANNE_B1F
+ warp 3, 5, 4, SS_ANNE_B1F
+ warp 12, 5, 3, SS_ANNE_B1F
+ warp 13, 5, 3, SS_ANNE_B1F
+ warp 22, 5, 2, SS_ANNE_B1F
+ warp 23, 5, 2, SS_ANNE_B1F
+ warp 2, 15, 1, SS_ANNE_B1F
+ warp 3, 15, 1, SS_ANNE_B1F
+ warp 12, 15, 0, SS_ANNE_B1F
+ warp 13, 15, 0, SS_ANNE_B1F
+
+ def_signs
+
+ def_objects
+ object SPRITE_SAILOR, 0, 13, STAY, DOWN, 1, OPP_SAILOR, 3
+ object SPRITE_SAILOR, 2, 11, STAY, DOWN, 2, OPP_SAILOR, 4
+ object SPRITE_SAILOR, 12, 3, STAY, LEFT, 3, OPP_SAILOR, 5
+ object SPRITE_SAILOR, 22, 2, STAY, DOWN, 4, OPP_SAILOR, 6
+ object SPRITE_SAILOR, 0, 2, STAY, RIGHT, 5, OPP_SAILOR, 7
+ object SPRITE_FISHER, 0, 4, STAY, RIGHT, 6, OPP_FISHER, 2
+ object SPRITE_SUPER_NERD, 10, 13, STAY, RIGHT, 7 ; person
+ object SPRITE_MONSTER, 11, 12, STAY, NONE, 8 ; person
+ object SPRITE_POKE_BALL, 20, 2, STAY, NONE, 9, ETHER
+ object SPRITE_POKE_BALL, 10, 2, STAY, NONE, 10, TM_REST
+ object SPRITE_POKE_BALL, 12, 11, STAY, NONE, 11, MAX_POTION
+
+ def_warps_to SS_ANNE_B1F_ROOMS
diff --git a/data/maps/objects/SSAnneBow.asm b/data/maps/objects/SSAnneBow.asm
new file mode 100755
index 00000000..080fe623
--- /dev/null
+++ b/data/maps/objects/SSAnneBow.asm
@@ -0,0 +1,17 @@
+SSAnneBow_Object:
+ db $23 ; border block
+
+ def_warps
+ warp 13, 6, 0, SS_ANNE_3F
+ warp 13, 7, 0, SS_ANNE_3F
+
+ def_signs
+
+ def_objects
+ object SPRITE_SUPER_NERD, 5, 2, STAY, UP, 1 ; person
+ object SPRITE_SAILOR, 4, 9, STAY, NONE, 2 ; person
+ object SPRITE_COOLTRAINER_M, 7, 11, STAY, NONE, 3 ; person
+ object SPRITE_SAILOR, 4, 4, STAY, DOWN, 4, OPP_SAILOR, 1
+ object SPRITE_SAILOR, 10, 8, STAY, UP, 5, OPP_SAILOR, 2
+
+ def_warps_to SS_ANNE_BOW
diff --git a/data/maps/objects/SSAnneCaptainsRoom.asm b/data/maps/objects/SSAnneCaptainsRoom.asm
new file mode 100755
index 00000000..c07be59e
--- /dev/null
+++ b/data/maps/objects/SSAnneCaptainsRoom.asm
@@ -0,0 +1,14 @@
+SSAnneCaptainsRoom_Object:
+ db $c ; border block
+
+ def_warps
+ warp 0, 7, 8, SS_ANNE_2F
+
+ def_signs
+ sign 4, 1, 2 ; SSAnne7Text2
+ sign 1, 2, 3 ; SSAnne7Text3
+
+ def_objects
+ object SPRITE_CAPTAIN, 4, 2, STAY, UP, 1 ; person
+
+ def_warps_to SS_ANNE_CAPTAINS_ROOM
diff --git a/data/maps/objects/SSAnneKitchen.asm b/data/maps/objects/SSAnneKitchen.asm
new file mode 100755
index 00000000..75fc497f
--- /dev/null
+++ b/data/maps/objects/SSAnneKitchen.asm
@@ -0,0 +1,18 @@
+SSAnneKitchen_Object:
+ db $c ; border block
+
+ def_warps
+ warp 6, 0, 10, SS_ANNE_1F
+
+ def_signs
+
+ def_objects
+ object SPRITE_COOK, 1, 8, WALK, UP_DOWN, 1 ; person
+ object SPRITE_COOK, 5, 8, WALK, UP_DOWN, 2 ; person
+ object SPRITE_COOK, 9, 7, WALK, UP_DOWN, 3 ; person
+ object SPRITE_COOK, 13, 6, STAY, NONE, 4 ; person
+ object SPRITE_COOK, 13, 8, STAY, NONE, 5 ; person
+ object SPRITE_COOK, 13, 10, STAY, NONE, 6 ; person
+ object SPRITE_COOK, 11, 13, STAY, UP, 7 ; person
+
+ def_warps_to SS_ANNE_KITCHEN
diff --git a/data/maps/objects/SafariZoneCenter.asm b/data/maps/objects/SafariZoneCenter.asm
new file mode 100755
index 00000000..59f4e2a4
--- /dev/null
+++ b/data/maps/objects/SafariZoneCenter.asm
@@ -0,0 +1,22 @@
+SafariZoneCenter_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 14, 25, 2, SAFARI_ZONE_GATE
+ warp 15, 25, 3, SAFARI_ZONE_GATE
+ warp 0, 10, 4, SAFARI_ZONE_WEST
+ warp 0, 11, 5, SAFARI_ZONE_WEST
+ warp 14, 0, 4, SAFARI_ZONE_NORTH
+ warp 15, 0, 5, SAFARI_ZONE_NORTH
+ warp 29, 10, 2, SAFARI_ZONE_EAST
+ warp 29, 11, 3, SAFARI_ZONE_EAST
+ warp 17, 19, 0, SAFARI_ZONE_CENTER_REST_HOUSE
+
+ def_signs
+ sign 18, 20, 2 ; SafariZoneCenterText2
+ sign 14, 22, 3 ; SafariZoneCenterText3
+
+ def_objects
+ object SPRITE_POKE_BALL, 14, 10, STAY, NONE, 1, NUGGET
+
+ def_warps_to SAFARI_ZONE_CENTER
diff --git a/data/maps/objects/SafariZoneCenterRestHouse.asm b/data/maps/objects/SafariZoneCenterRestHouse.asm
new file mode 100755
index 00000000..5b256347
--- /dev/null
+++ b/data/maps/objects/SafariZoneCenterRestHouse.asm
@@ -0,0 +1,14 @@
+SafariZoneCenterRestHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 8, SAFARI_ZONE_CENTER
+ warp 3, 7, 8, SAFARI_ZONE_CENTER
+
+ def_signs
+
+ def_objects
+ object SPRITE_GIRL, 3, 2, STAY, DOWN, 1 ; person
+ object SPRITE_SCIENTIST, 1, 4, WALK, UP_DOWN, 2 ; person
+
+ def_warps_to SAFARI_ZONE_CENTER_REST_HOUSE
diff --git a/data/maps/objects/SafariZoneEast.asm b/data/maps/objects/SafariZoneEast.asm
new file mode 100755
index 00000000..999c51b0
--- /dev/null
+++ b/data/maps/objects/SafariZoneEast.asm
@@ -0,0 +1,22 @@
+SafariZoneEast_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 0, 4, 6, SAFARI_ZONE_NORTH
+ warp 0, 5, 7, SAFARI_ZONE_NORTH
+ warp 0, 22, 6, SAFARI_ZONE_CENTER
+ warp 0, 23, 6, SAFARI_ZONE_CENTER
+ warp 25, 9, 0, SAFARI_ZONE_EAST_REST_HOUSE
+
+ def_signs
+ sign 26, 10, 5 ; SafariZoneEastText5
+ sign 6, 4, 6 ; SafariZoneEastText6
+ sign 5, 23, 7 ; SafariZoneEastText7
+
+ def_objects
+ object SPRITE_POKE_BALL, 21, 10, STAY, NONE, 1, FULL_RESTORE
+ object SPRITE_POKE_BALL, 3, 7, STAY, NONE, 2, MAX_POTION
+ object SPRITE_POKE_BALL, 20, 13, STAY, NONE, 3, CARBOS
+ object SPRITE_POKE_BALL, 15, 12, STAY, NONE, 4, TM_EGG_BOMB
+
+ def_warps_to SAFARI_ZONE_EAST
diff --git a/data/maps/objects/SafariZoneEastRestHouse.asm b/data/maps/objects/SafariZoneEastRestHouse.asm
new file mode 100755
index 00000000..31940542
--- /dev/null
+++ b/data/maps/objects/SafariZoneEastRestHouse.asm
@@ -0,0 +1,15 @@
+SafariZoneEastRestHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 4, SAFARI_ZONE_EAST
+ warp 3, 7, 4, SAFARI_ZONE_EAST
+
+ def_signs
+
+ def_objects
+ object SPRITE_SCIENTIST, 1, 3, WALK, UP_DOWN, 1 ; person
+ object SPRITE_ROCKER, 4, 2, STAY, NONE, 2 ; person
+ object SPRITE_SILPH_WORKER, 5, 2, STAY, NONE, 3 ; person
+
+ def_warps_to SAFARI_ZONE_EAST_REST_HOUSE
diff --git a/data/maps/objects/SafariZoneGate.asm b/data/maps/objects/SafariZoneGate.asm
new file mode 100755
index 00000000..2423ae8a
--- /dev/null
+++ b/data/maps/objects/SafariZoneGate.asm
@@ -0,0 +1,16 @@
+SafariZoneGate_Object:
+ db $a ; border block
+
+ def_warps
+ warp 3, 5, 4, LAST_MAP
+ warp 4, 5, 4, LAST_MAP
+ warp 3, 0, 0, SAFARI_ZONE_CENTER
+ warp 4, 0, 1, SAFARI_ZONE_CENTER
+
+ def_signs
+
+ def_objects
+ object SPRITE_SAFARI_ZONE_WORKER, 6, 2, STAY, LEFT, 1 ; person
+ object SPRITE_SAFARI_ZONE_WORKER, 1, 4, STAY, RIGHT, 2 ; person
+
+ def_warps_to SAFARI_ZONE_GATE
diff --git a/data/maps/objects/SafariZoneNorth.asm b/data/maps/objects/SafariZoneNorth.asm
new file mode 100755
index 00000000..2094e742
--- /dev/null
+++ b/data/maps/objects/SafariZoneNorth.asm
@@ -0,0 +1,26 @@
+SafariZoneNorth_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 2, 35, 0, SAFARI_ZONE_WEST
+ warp 3, 35, 1, SAFARI_ZONE_WEST
+ warp 8, 35, 2, SAFARI_ZONE_WEST
+ warp 9, 35, 3, SAFARI_ZONE_WEST
+ warp 20, 35, 4, SAFARI_ZONE_CENTER
+ warp 21, 35, 5, SAFARI_ZONE_CENTER
+ warp 39, 30, 0, SAFARI_ZONE_EAST
+ warp 39, 31, 1, SAFARI_ZONE_EAST
+ warp 35, 3, 0, SAFARI_ZONE_NORTH_REST_HOUSE
+
+ def_signs
+ sign 36, 4, 3 ; SafariZoneNorthText3
+ sign 4, 25, 4 ; SafariZoneNorthText4
+ sign 13, 31, 5 ; SafariZoneNorthText5
+ sign 19, 33, 6 ; SafariZoneNorthText6
+ sign 26, 28, 7 ; SafariZoneNorthText7
+
+ def_objects
+ object SPRITE_POKE_BALL, 25, 1, STAY, NONE, 1, PROTEIN
+ object SPRITE_POKE_BALL, 19, 7, STAY, NONE, 2, TM_SKULL_BASH
+
+ def_warps_to SAFARI_ZONE_NORTH
diff --git a/data/maps/objects/SafariZoneNorthRestHouse.asm b/data/maps/objects/SafariZoneNorthRestHouse.asm
new file mode 100755
index 00000000..38087622
--- /dev/null
+++ b/data/maps/objects/SafariZoneNorthRestHouse.asm
@@ -0,0 +1,15 @@
+SafariZoneNorthRestHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 8, SAFARI_ZONE_NORTH
+ warp 3, 7, 8, SAFARI_ZONE_NORTH
+
+ def_signs
+
+ def_objects
+ object SPRITE_SCIENTIST, 6, 3, WALK, LEFT_RIGHT, 1 ; person
+ object SPRITE_SAFARI_ZONE_WORKER, 3, 4, STAY, NONE, 2 ; person
+ object SPRITE_GENTLEMAN, 1, 5, WALK, UP_DOWN, 3 ; person
+
+ def_warps_to SAFARI_ZONE_NORTH_REST_HOUSE
diff --git a/data/maps/objects/SafariZoneSecretHouse.asm b/data/maps/objects/SafariZoneSecretHouse.asm
new file mode 100755
index 00000000..1431d711
--- /dev/null
+++ b/data/maps/objects/SafariZoneSecretHouse.asm
@@ -0,0 +1,13 @@
+SafariZoneSecretHouse_Object:
+ db $17 ; border block
+
+ def_warps
+ warp 2, 7, 6, SAFARI_ZONE_WEST
+ warp 3, 7, 6, SAFARI_ZONE_WEST
+
+ def_signs
+
+ def_objects
+ object SPRITE_FISHING_GURU, 3, 3, STAY, DOWN, 1 ; person
+
+ def_warps_to SAFARI_ZONE_SECRET_HOUSE
diff --git a/data/maps/objects/SafariZoneWest.asm b/data/maps/objects/SafariZoneWest.asm
new file mode 100755
index 00000000..d53ee37b
--- /dev/null
+++ b/data/maps/objects/SafariZoneWest.asm
@@ -0,0 +1,26 @@
+SafariZoneWest_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 20, 0, 0, SAFARI_ZONE_NORTH
+ warp 21, 0, 1, SAFARI_ZONE_NORTH
+ warp 26, 0, 2, SAFARI_ZONE_NORTH
+ warp 27, 0, 3, SAFARI_ZONE_NORTH
+ warp 29, 22, 2, SAFARI_ZONE_CENTER
+ warp 29, 23, 3, SAFARI_ZONE_CENTER
+ warp 3, 3, 0, SAFARI_ZONE_SECRET_HOUSE
+ warp 11, 11, 0, SAFARI_ZONE_WEST_REST_HOUSE
+
+ def_signs
+ sign 12, 12, 5 ; SafariZoneWestText5
+ sign 17, 3, 6 ; SafariZoneWestText6
+ sign 26, 4, 7 ; SafariZoneWestText7
+ sign 24, 22, 8 ; SafariZoneWestText8
+
+ def_objects
+ object SPRITE_POKE_BALL, 8, 20, STAY, NONE, 1, MAX_POTION
+ object SPRITE_POKE_BALL, 9, 7, STAY, NONE, 2, TM_DOUBLE_TEAM
+ object SPRITE_POKE_BALL, 18, 18, STAY, NONE, 3, MAX_REVIVE
+ object SPRITE_POKE_BALL, 19, 7, STAY, NONE, 4, GOLD_TEETH
+
+ def_warps_to SAFARI_ZONE_WEST
diff --git a/data/maps/objects/SafariZoneWestRestHouse.asm b/data/maps/objects/SafariZoneWestRestHouse.asm
new file mode 100755
index 00000000..26bb481e
--- /dev/null
+++ b/data/maps/objects/SafariZoneWestRestHouse.asm
@@ -0,0 +1,15 @@
+SafariZoneWestRestHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 7, SAFARI_ZONE_WEST
+ warp 3, 7, 7, SAFARI_ZONE_WEST
+
+ def_signs
+
+ def_objects
+ object SPRITE_SCIENTIST, 4, 4, WALK, ANY_DIR, 1 ; person
+ object SPRITE_COOLTRAINER_M, 0, 2, STAY, RIGHT, 2 ; person
+ object SPRITE_ERIKA, 6, 2, STAY, DOWN, 3 ; person
+
+ def_warps_to SAFARI_ZONE_WEST_REST_HOUSE
diff --git a/data/maps/objects/SaffronCity.asm b/data/maps/objects/SaffronCity.asm
new file mode 100755
index 00000000..49f94706
--- /dev/null
+++ b/data/maps/objects/SaffronCity.asm
@@ -0,0 +1,42 @@
+SaffronCity_Object:
+ db $f ; border block
+
+ def_warps
+ warp 7, 5, 0, COPYCATS_HOUSE_1F
+ warp 26, 3, 0, FIGHTING_DOJO
+ warp 34, 3, 0, SAFFRON_GYM
+ warp 13, 11, 0, SAFFRON_PIDGEY_HOUSE
+ warp 25, 11, 0, SAFFRON_MART
+ warp 18, 21, 0, SILPH_CO_1F
+ warp 9, 29, 0, SAFFRON_POKECENTER
+ warp 29, 29, 0, MR_PSYCHICS_HOUSE
+
+ def_signs
+ sign 17, 5, 16 ; SaffronCityText16
+ sign 27, 5, 17 ; SaffronCityText17
+ sign 35, 5, 18 ; SaffronCityText18
+ sign 26, 11, 19 ; MartSignText
+ sign 39, 19, 20 ; SaffronCityText20
+ sign 5, 21, 21 ; SaffronCityText21
+ sign 15, 21, 22 ; SaffronCityText22
+ sign 10, 29, 23 ; PokeCenterSignText
+ sign 27, 29, 24 ; SaffronCityText24
+ sign 1, 19, 25 ; SaffronCityText25
+
+ def_objects
+ object SPRITE_ROCKET, 7, 6, STAY, NONE, 1 ; person
+ object SPRITE_ROCKET, 20, 8, WALK, LEFT_RIGHT, 2 ; person
+ object SPRITE_ROCKET, 34, 4, STAY, NONE, 3 ; person
+ object SPRITE_ROCKET, 13, 12, STAY, NONE, 4 ; person
+ object SPRITE_ROCKET, 11, 25, WALK, LEFT_RIGHT, 5 ; person
+ object SPRITE_ROCKET, 32, 13, WALK, LEFT_RIGHT, 6 ; person
+ object SPRITE_ROCKET, 18, 30, WALK, LEFT_RIGHT, 7 ; person
+ object SPRITE_SCIENTIST, 8, 14, WALK, ANY_DIR, 8 ; person
+ object SPRITE_SILPH_WORKER, 23, 23, STAY, NONE, 9 ; person
+ object SPRITE_ERIKA, 17, 30, WALK, LEFT_RIGHT, 10 ; person
+ object SPRITE_GENTLEMAN, 30, 12, STAY, DOWN, 11 ; person
+ object SPRITE_BIRD, 31, 12, STAY, DOWN, 12 ; person
+ object SPRITE_ROCKER, 18, 8, STAY, UP, 13 ; person
+ object SPRITE_ROCKET, 18, 22, STAY, DOWN, 14 ; person
+
+ def_warps_to SAFFRON_CITY
diff --git a/data/maps/objects/SaffronGym.asm b/data/maps/objects/SaffronGym.asm
new file mode 100755
index 00000000..8cec0421
--- /dev/null
+++ b/data/maps/objects/SaffronGym.asm
@@ -0,0 +1,51 @@
+SaffronGym_Object:
+ db $2e ; border block
+
+ def_warps
+ warp 8, 17, 2, LAST_MAP
+ warp 9, 17, 2, LAST_MAP
+ warp 1, 3, 22, SAFFRON_GYM
+ warp 5, 3, 15, SAFFRON_GYM
+ warp 1, 5, 18, SAFFRON_GYM
+ warp 5, 5, 8, SAFFRON_GYM
+ warp 1, 9, 27, SAFFRON_GYM
+ warp 5, 9, 16, SAFFRON_GYM
+ warp 1, 11, 5, SAFFRON_GYM
+ warp 5, 11, 13, SAFFRON_GYM
+ warp 1, 15, 23, SAFFRON_GYM
+ warp 5, 15, 30, SAFFRON_GYM
+ warp 1, 17, 17, SAFFRON_GYM
+ warp 5, 17, 9, SAFFRON_GYM
+ warp 9, 3, 26, SAFFRON_GYM
+ warp 11, 3, 3, SAFFRON_GYM
+ warp 9, 5, 7, SAFFRON_GYM
+ warp 11, 5, 12, SAFFRON_GYM
+ warp 11, 11, 4, SAFFRON_GYM
+ warp 11, 15, 31, SAFFRON_GYM
+ warp 15, 3, 24, SAFFRON_GYM
+ warp 19, 3, 28, SAFFRON_GYM
+ warp 15, 5, 2, SAFFRON_GYM
+ warp 19, 5, 10, SAFFRON_GYM
+ warp 15, 9, 20, SAFFRON_GYM
+ warp 19, 9, 29, SAFFRON_GYM
+ warp 15, 11, 14, SAFFRON_GYM
+ warp 19, 11, 6, SAFFRON_GYM
+ warp 15, 15, 21, SAFFRON_GYM
+ warp 19, 15, 25, SAFFRON_GYM
+ warp 15, 17, 11, SAFFRON_GYM
+ warp 19, 17, 19, SAFFRON_GYM
+
+ def_signs
+
+ def_objects
+ object SPRITE_COOLTRAINER_F, 9, 8, STAY, DOWN, 1, OPP_SABRINA, 1
+ object SPRITE_CHANNELER, 10, 1, STAY, DOWN, 2, OPP_CHANNELER, 22
+ object SPRITE_YOUNGSTER, 17, 1, STAY, DOWN, 3, OPP_PSYCHIC_TR, 1
+ object SPRITE_CHANNELER, 3, 7, STAY, DOWN, 4, OPP_CHANNELER, 23
+ object SPRITE_YOUNGSTER, 17, 7, STAY, DOWN, 5, OPP_PSYCHIC_TR, 2
+ object SPRITE_CHANNELER, 3, 13, STAY, DOWN, 6, OPP_CHANNELER, 24
+ object SPRITE_YOUNGSTER, 17, 13, STAY, DOWN, 7, OPP_PSYCHIC_TR, 3
+ object SPRITE_YOUNGSTER, 3, 1, STAY, DOWN, 8, OPP_PSYCHIC_TR, 4
+ object SPRITE_GYM_GUIDE, 10, 15, STAY, DOWN, 9 ; person
+
+ def_warps_to SAFFRON_GYM
diff --git a/data/maps/objects/SaffronMart.asm b/data/maps/objects/SaffronMart.asm
new file mode 100755
index 00000000..0a9aed7a
--- /dev/null
+++ b/data/maps/objects/SaffronMart.asm
@@ -0,0 +1,15 @@
+SaffronMart_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 3, 7, 4, LAST_MAP
+ warp 4, 7, 4, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person
+ object SPRITE_SUPER_NERD, 4, 2, STAY, NONE, 2 ; person
+ object SPRITE_COOLTRAINER_F, 6, 5, WALK, ANY_DIR, 3 ; person
+
+ def_warps_to SAFFRON_MART
diff --git a/data/maps/objects/SaffronPidgeyHouse.asm b/data/maps/objects/SaffronPidgeyHouse.asm
new file mode 100755
index 00000000..59af6fc0
--- /dev/null
+++ b/data/maps/objects/SaffronPidgeyHouse.asm
@@ -0,0 +1,16 @@
+SaffronPidgeyHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 3, LAST_MAP
+ warp 3, 7, 3, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_BRUNETTE_GIRL, 2, 3, STAY, RIGHT, 1 ; person
+ object SPRITE_BIRD, 0, 4, WALK, UP_DOWN, 2 ; person
+ object SPRITE_YOUNGSTER, 4, 1, STAY, DOWN, 3 ; person
+ object SPRITE_PAPER, 3, 3, STAY, NONE, 4 ; person
+
+ def_warps_to SAFFRON_PIDGEY_HOUSE
diff --git a/data/maps/objects/SaffronPokecenter.asm b/data/maps/objects/SaffronPokecenter.asm
new file mode 100755
index 00000000..ab52a72c
--- /dev/null
+++ b/data/maps/objects/SaffronPokecenter.asm
@@ -0,0 +1,17 @@
+SaffronPokecenter_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 3, 7, 6, LAST_MAP
+ warp 4, 7, 6, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_BEAUTY, 5, 5, STAY, NONE, 2 ; person
+ object SPRITE_GENTLEMAN, 8, 3, STAY, DOWN, 3 ; person
+ object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person
+ object SPRITE_CHANSEY, 4, 1, STAY, DOWN, 5 ; person
+
+ def_warps_to SAFFRON_POKECENTER
diff --git a/data/maps/objects/SeafoamIslands1F.asm b/data/maps/objects/SeafoamIslands1F.asm
new file mode 100755
index 00000000..913ca7c7
--- /dev/null
+++ b/data/maps/objects/SeafoamIslands1F.asm
@@ -0,0 +1,19 @@
+SeafoamIslands1F_Object:
+ db $7d ; border block
+
+ def_warps
+ warp 4, 17, 0, LAST_MAP
+ warp 5, 17, 0, LAST_MAP
+ warp 26, 17, 1, LAST_MAP
+ warp 27, 17, 1, LAST_MAP
+ warp 7, 5, 1, SEAFOAM_ISLANDS_B1F
+ warp 25, 3, 6, SEAFOAM_ISLANDS_B1F
+ warp 23, 15, 4, SEAFOAM_ISLANDS_B1F
+
+ def_signs
+
+ def_objects
+ object SPRITE_BOULDER, 18, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person
+ object SPRITE_BOULDER, 26, 7, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person
+
+ def_warps_to SEAFOAM_ISLANDS_1F
diff --git a/data/maps/objects/SeafoamIslandsB1F.asm b/data/maps/objects/SeafoamIslandsB1F.asm
new file mode 100755
index 00000000..c9a4d235
--- /dev/null
+++ b/data/maps/objects/SeafoamIslandsB1F.asm
@@ -0,0 +1,19 @@
+SeafoamIslandsB1F_Object:
+ db $7d ; border block
+
+ def_warps
+ warp 4, 2, 0, SEAFOAM_ISLANDS_B2F
+ warp 7, 5, 4, SEAFOAM_ISLANDS_1F
+ warp 13, 7, 2, SEAFOAM_ISLANDS_B2F
+ warp 19, 15, 3, SEAFOAM_ISLANDS_B2F
+ warp 23, 15, 6, SEAFOAM_ISLANDS_1F
+ warp 25, 11, 5, SEAFOAM_ISLANDS_B2F
+ warp 25, 3, 5, SEAFOAM_ISLANDS_1F
+
+ def_signs
+
+ def_objects
+ object SPRITE_BOULDER, 17, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person
+ object SPRITE_BOULDER, 22, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person
+
+ def_warps_to SEAFOAM_ISLANDS_B1F
diff --git a/data/maps/objects/SeafoamIslandsB2F.asm b/data/maps/objects/SeafoamIslandsB2F.asm
new file mode 100755
index 00000000..ff9e55fd
--- /dev/null
+++ b/data/maps/objects/SeafoamIslandsB2F.asm
@@ -0,0 +1,19 @@
+SeafoamIslandsB2F_Object:
+ db $7d ; border block
+
+ def_warps
+ warp 5, 3, 0, SEAFOAM_ISLANDS_B1F
+ warp 5, 13, 0, SEAFOAM_ISLANDS_B3F
+ warp 13, 7, 2, SEAFOAM_ISLANDS_B1F
+ warp 19, 15, 3, SEAFOAM_ISLANDS_B1F
+ warp 25, 3, 3, SEAFOAM_ISLANDS_B3F
+ warp 25, 11, 5, SEAFOAM_ISLANDS_B1F
+ warp 25, 14, 4, SEAFOAM_ISLANDS_B3F
+
+ def_signs
+
+ def_objects
+ object SPRITE_BOULDER, 18, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person
+ object SPRITE_BOULDER, 23, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person
+
+ def_warps_to SEAFOAM_ISLANDS_B2F
diff --git a/data/maps/objects/SeafoamIslandsB3F.asm b/data/maps/objects/SeafoamIslandsB3F.asm
new file mode 100755
index 00000000..418cdde6
--- /dev/null
+++ b/data/maps/objects/SeafoamIslandsB3F.asm
@@ -0,0 +1,23 @@
+SeafoamIslandsB3F_Object:
+ db $7d ; border block
+
+ def_warps
+ warp 5, 12, 1, SEAFOAM_ISLANDS_B2F
+ warp 8, 6, 2, SEAFOAM_ISLANDS_B4F
+ warp 25, 4, 3, SEAFOAM_ISLANDS_B4F
+ warp 25, 3, 4, SEAFOAM_ISLANDS_B2F
+ warp 25, 14, 6, SEAFOAM_ISLANDS_B2F
+ warp 20, 17, 0, SEAFOAM_ISLANDS_B4F
+ warp 21, 17, 1, SEAFOAM_ISLANDS_B4F
+
+ def_signs
+
+ def_objects
+ object SPRITE_BOULDER, 5, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person
+ object SPRITE_BOULDER, 3, 15, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person
+ object SPRITE_BOULDER, 8, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person
+ object SPRITE_BOULDER, 9, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 4 ; person
+ object SPRITE_BOULDER, 18, 6, STAY, NONE, 5 ; person
+ object SPRITE_BOULDER, 19, 6, STAY, NONE, 6 ; person
+
+ def_warps_to SEAFOAM_ISLANDS_B3F
diff --git a/data/maps/objects/SeafoamIslandsB4F.asm b/data/maps/objects/SeafoamIslandsB4F.asm
new file mode 100755
index 00000000..f2d35831
--- /dev/null
+++ b/data/maps/objects/SeafoamIslandsB4F.asm
@@ -0,0 +1,19 @@
+SeafoamIslandsB4F_Object:
+ db $7d ; border block
+
+ def_warps
+ warp 20, 17, 5, SEAFOAM_ISLANDS_B3F
+ warp 21, 17, 6, SEAFOAM_ISLANDS_B3F
+ warp 11, 7, 1, SEAFOAM_ISLANDS_B3F
+ warp 25, 4, 2, SEAFOAM_ISLANDS_B3F
+
+ def_signs
+ sign 9, 15, 4 ; SeafoamIslands5Text4
+ sign 23, 1, 5 ; SeafoamIslands5Text5
+
+ def_objects
+ object SPRITE_BOULDER, 4, 15, STAY, NONE, 1 ; person
+ object SPRITE_BOULDER, 5, 15, STAY, NONE, 2 ; person
+ object SPRITE_BIRD, 6, 1, STAY, DOWN, 3, ARTICUNO, 50
+
+ def_warps_to SEAFOAM_ISLANDS_B4F
diff --git a/data/maps/objects/SilphCo10F.asm b/data/maps/objects/SilphCo10F.asm
new file mode 100755
index 00000000..6840c13a
--- /dev/null
+++ b/data/maps/objects/SilphCo10F.asm
@@ -0,0 +1,22 @@
+SilphCo10F_Object:
+ db $2e ; border block
+
+ def_warps
+ warp 8, 0, 0, SILPH_CO_9F
+ warp 10, 0, 0, SILPH_CO_11F
+ warp 12, 0, 0, SILPH_CO_ELEVATOR
+ warp 9, 11, 3, SILPH_CO_4F
+ warp 13, 15, 5, SILPH_CO_4F
+ warp 13, 7, 6, SILPH_CO_4F
+
+ def_signs
+
+ def_objects
+ object SPRITE_ROCKET, 1, 9, STAY, RIGHT, 1, OPP_ROCKET, 39
+ object SPRITE_SCIENTIST, 10, 2, STAY, LEFT, 2, OPP_SCIENTIST, 11
+ object SPRITE_ERIKA, 9, 15, WALK, ANY_DIR, 3 ; person
+ object SPRITE_POKE_BALL, 2, 12, STAY, NONE, 4, TM_EARTHQUAKE
+ object SPRITE_POKE_BALL, 4, 14, STAY, NONE, 5, RARE_CANDY
+ object SPRITE_POKE_BALL, 5, 11, STAY, NONE, 6, CARBOS
+
+ def_warps_to SILPH_CO_10F
diff --git a/data/maps/objects/SilphCo11F.asm b/data/maps/objects/SilphCo11F.asm
new file mode 100755
index 00000000..dab1144c
--- /dev/null
+++ b/data/maps/objects/SilphCo11F.asm
@@ -0,0 +1,20 @@
+SilphCo11F_Object:
+ db $d ; border block
+
+ def_warps
+ warp 9, 0, 1, SILPH_CO_10F
+ warp 13, 0, 0, SILPH_CO_ELEVATOR
+ warp 5, 5, 9, LAST_MAP
+ warp 3, 2, 3, SILPH_CO_7F
+
+ def_signs
+
+ def_objects
+ object SPRITE_SILPH_PRESIDENT, 7, 5, STAY, DOWN, 1 ; person
+ object SPRITE_BEAUTY, 10, 5, STAY, DOWN, 2 ; person
+ object SPRITE_GIOVANNI, 6, 9, STAY, DOWN, 3, OPP_GIOVANNI, 2
+ object SPRITE_JAMES, 2, 8, STAY, UP, 4
+ object SPRITE_ROCKET, 15, 9, STAY, UP, 5, OPP_ROCKET, 40
+ object SPRITE_JESSIE, 3, 8, STAY, UP, 6
+
+ def_warps_to SILPH_CO_11F
diff --git a/data/maps/objects/SilphCo1F.asm b/data/maps/objects/SilphCo1F.asm
new file mode 100755
index 00000000..7a9bdb61
--- /dev/null
+++ b/data/maps/objects/SilphCo1F.asm
@@ -0,0 +1,16 @@
+SilphCo1F_Object:
+ db $2e ; border block
+
+ def_warps
+ warp 10, 17, 5, LAST_MAP
+ warp 11, 17, 5, LAST_MAP
+ warp 26, 0, 0, SILPH_CO_2F
+ warp 20, 0, 0, SILPH_CO_ELEVATOR
+ warp 16, 10, 6, SILPH_CO_3F
+
+ def_signs
+
+ def_objects
+ object SPRITE_LINK_RECEPTIONIST, 4, 2, STAY, DOWN, 1 ; person
+
+ def_warps_to SILPH_CO_1F
diff --git a/data/maps/objects/SilphCo2F.asm b/data/maps/objects/SilphCo2F.asm
new file mode 100755
index 00000000..186d1581
--- /dev/null
+++ b/data/maps/objects/SilphCo2F.asm
@@ -0,0 +1,22 @@
+SilphCo2F_Object:
+ db $2e ; border block
+
+ def_warps
+ warp 24, 0, 2, SILPH_CO_1F
+ warp 26, 0, 0, SILPH_CO_3F
+ warp 20, 0, 0, SILPH_CO_ELEVATOR
+ warp 3, 3, 6, SILPH_CO_3F
+ warp 13, 3, 4, SILPH_CO_8F
+ warp 27, 15, 5, SILPH_CO_8F
+ warp 9, 15, 4, SILPH_CO_6F
+
+ def_signs
+
+ def_objects
+ object SPRITE_ERIKA, 10, 1, STAY, UP, 1 ; person
+ object SPRITE_SCIENTIST, 5, 12, STAY, DOWN, 2, OPP_SCIENTIST, 2
+ object SPRITE_SCIENTIST, 24, 13, STAY, LEFT, 3, OPP_SCIENTIST, 3
+ object SPRITE_ROCKET, 16, 11, STAY, UP, 4, OPP_ROCKET, 23
+ object SPRITE_ROCKET, 24, 7, STAY, UP, 5, OPP_ROCKET, 24
+
+ def_warps_to SILPH_CO_2F
diff --git a/data/maps/objects/SilphCo3F.asm b/data/maps/objects/SilphCo3F.asm
new file mode 100755
index 00000000..e9ea1cce
--- /dev/null
+++ b/data/maps/objects/SilphCo3F.asm
@@ -0,0 +1,24 @@
+SilphCo3F_Object:
+ db $2e ; border block
+
+ def_warps
+ warp 26, 0, 1, SILPH_CO_2F
+ warp 24, 0, 0, SILPH_CO_4F
+ warp 20, 0, 0, SILPH_CO_ELEVATOR
+ warp 23, 11, 9, SILPH_CO_3F
+ warp 3, 3, 5, SILPH_CO_5F
+ warp 3, 15, 6, SILPH_CO_5F
+ warp 27, 3, 3, SILPH_CO_2F
+ warp 3, 11, 3, SILPH_CO_9F
+ warp 11, 11, 4, SILPH_CO_7F
+ warp 27, 15, 3, SILPH_CO_3F
+
+ def_signs
+
+ def_objects
+ object SPRITE_SILPH_WORKER, 24, 8, STAY, NONE, 1 ; person
+ object SPRITE_ROCKET, 20, 7, STAY, LEFT, 2, OPP_ROCKET, 25
+ object SPRITE_SCIENTIST, 7, 9, STAY, DOWN, 3, OPP_SCIENTIST, 4
+ object SPRITE_POKE_BALL, 8, 5, STAY, NONE, 4, HYPER_POTION
+
+ def_warps_to SILPH_CO_3F
diff --git a/data/maps/objects/SilphCo4F.asm b/data/maps/objects/SilphCo4F.asm
new file mode 100755
index 00000000..6c30b526
--- /dev/null
+++ b/data/maps/objects/SilphCo4F.asm
@@ -0,0 +1,24 @@
+SilphCo4F_Object:
+ db $2e ; border block
+
+ def_warps
+ warp 24, 0, 1, SILPH_CO_3F
+ warp 26, 0, 1, SILPH_CO_5F
+ warp 20, 0, 0, SILPH_CO_ELEVATOR
+ warp 11, 7, 3, SILPH_CO_10F
+ warp 17, 3, 3, SILPH_CO_6F
+ warp 3, 15, 4, SILPH_CO_10F
+ warp 17, 11, 5, SILPH_CO_10F
+
+ def_signs
+
+ def_objects
+ object SPRITE_SILPH_WORKER, 6, 2, STAY, NONE, 1 ; person
+ object SPRITE_ROCKET, 9, 14, STAY, RIGHT, 2, OPP_ROCKET, 26
+ object SPRITE_SCIENTIST, 14, 6, STAY, LEFT, 3, OPP_SCIENTIST, 5
+ object SPRITE_ROCKET, 26, 10, STAY, UP, 4, OPP_ROCKET, 27
+ object SPRITE_POKE_BALL, 3, 9, STAY, NONE, 5, FULL_HEAL
+ object SPRITE_POKE_BALL, 4, 7, STAY, NONE, 6, MAX_REVIVE
+ object SPRITE_POKE_BALL, 5, 8, STAY, NONE, 7, ESCAPE_ROPE
+
+ def_warps_to SILPH_CO_4F
diff --git a/data/maps/objects/SilphCo5F.asm b/data/maps/objects/SilphCo5F.asm
new file mode 100755
index 00000000..553ec0c3
--- /dev/null
+++ b/data/maps/objects/SilphCo5F.asm
@@ -0,0 +1,28 @@
+SilphCo5F_Object:
+ db $2e ; border block
+
+ def_warps
+ warp 24, 0, 1, SILPH_CO_6F
+ warp 26, 0, 1, SILPH_CO_4F
+ warp 20, 0, 0, SILPH_CO_ELEVATOR
+ warp 27, 3, 5, SILPH_CO_7F
+ warp 9, 15, 4, SILPH_CO_9F
+ warp 11, 5, 4, SILPH_CO_3F
+ warp 3, 15, 5, SILPH_CO_3F
+
+ def_signs
+
+ def_objects
+ object SPRITE_SILPH_WORKER, 13, 9, STAY, NONE, 1 ; person
+ object SPRITE_ROCKET, 8, 16, STAY, RIGHT, 2, OPP_ROCKET, 28
+ object SPRITE_SCIENTIST, 8, 3, STAY, RIGHT, 3, OPP_SCIENTIST, 6
+ object SPRITE_ROCKER, 18, 10, STAY, UP, 4, OPP_JUGGLER, 1
+ object SPRITE_ROCKET, 28, 4, STAY, UP, 5, OPP_ROCKET, 29
+ object SPRITE_POKE_BALL, 2, 13, STAY, NONE, 6, TM_TAKE_DOWN
+ object SPRITE_POKE_BALL, 4, 6, STAY, NONE, 7, PROTEIN
+ object SPRITE_POKE_BALL, 21, 16, STAY, NONE, 8, CARD_KEY
+ object SPRITE_CLIPBOARD, 22, 12, STAY, NONE, 9 ; person
+ object SPRITE_CLIPBOARD, 25, 10, STAY, NONE, 10 ; person
+ object SPRITE_CLIPBOARD, 24, 6, STAY, NONE, 11 ; person
+
+ def_warps_to SILPH_CO_5F
diff --git a/data/maps/objects/SilphCo6F.asm b/data/maps/objects/SilphCo6F.asm
new file mode 100755
index 00000000..3dba7414
--- /dev/null
+++ b/data/maps/objects/SilphCo6F.asm
@@ -0,0 +1,25 @@
+SilphCo6F_Object:
+ db $2e ; border block
+
+ def_warps
+ warp 16, 0, 1, SILPH_CO_7F
+ warp 14, 0, 0, SILPH_CO_5F
+ warp 18, 0, 0, SILPH_CO_ELEVATOR
+ warp 3, 3, 4, SILPH_CO_4F
+ warp 23, 3, 6, SILPH_CO_2F
+
+ def_signs
+
+ def_objects
+ object SPRITE_SILPH_WORKER, 10, 6, STAY, NONE, 1 ; person
+ object SPRITE_SILPH_WORKER, 20, 6, STAY, NONE, 2 ; person
+ object SPRITE_ERIKA, 21, 6, STAY, DOWN, 3 ; person
+ object SPRITE_ERIKA, 11, 10, STAY, RIGHT, 4 ; person
+ object SPRITE_SILPH_WORKER, 18, 13, STAY, UP, 5 ; person
+ object SPRITE_ROCKET, 17, 3, STAY, RIGHT, 6, OPP_ROCKET, 30
+ object SPRITE_SCIENTIST, 7, 8, STAY, DOWN, 7, OPP_SCIENTIST, 7
+ object SPRITE_ROCKET, 14, 15, STAY, LEFT, 8, OPP_ROCKET, 31
+ object SPRITE_POKE_BALL, 3, 12, STAY, NONE, 9, HP_UP
+ object SPRITE_POKE_BALL, 2, 15, STAY, NONE, 10, X_ACCURACY
+
+ def_warps_to SILPH_CO_6F
diff --git a/data/maps/objects/SilphCo7F.asm b/data/maps/objects/SilphCo7F.asm
new file mode 100755
index 00000000..55f2ade6
--- /dev/null
+++ b/data/maps/objects/SilphCo7F.asm
@@ -0,0 +1,27 @@
+SilphCo7F_Object:
+ db $2e ; border block
+
+ def_warps
+ warp 16, 0, 1, SILPH_CO_8F
+ warp 22, 0, 0, SILPH_CO_6F
+ warp 18, 0, 0, SILPH_CO_ELEVATOR
+ warp 5, 7, 3, SILPH_CO_11F
+ warp 5, 3, 8, SILPH_CO_3F
+ warp 21, 15, 3, SILPH_CO_5F
+
+ def_signs
+
+ def_objects
+ object SPRITE_SILPH_WORKER, 1, 5, STAY, NONE, 1 ; person
+ object SPRITE_SILPH_WORKER, 13, 13, STAY, UP, 2 ; person
+ object SPRITE_SILPH_WORKER, 7, 10, STAY, NONE, 3 ; person
+ object SPRITE_ERIKA, 10, 8, STAY, NONE, 4 ; person
+ object SPRITE_ROCKET, 13, 1, STAY, DOWN, 5, OPP_ROCKET, 32
+ object SPRITE_SCIENTIST, 2, 13, STAY, DOWN, 6, OPP_SCIENTIST, 8
+ object SPRITE_ROCKET, 20, 2, STAY, LEFT, 7, OPP_ROCKET, 33
+ object SPRITE_ROCKET, 19, 14, STAY, RIGHT, 8, OPP_ROCKET, 34
+ object SPRITE_BLUE, 3, 7, STAY, UP, 9 ; person
+ object SPRITE_POKE_BALL, 1, 9, STAY, NONE, 10, CALCIUM
+ object SPRITE_POKE_BALL, 24, 11, STAY, NONE, 11, TM_SWORDS_DANCE
+
+ def_warps_to SILPH_CO_7F
diff --git a/data/maps/objects/SilphCo8F.asm b/data/maps/objects/SilphCo8F.asm
new file mode 100755
index 00000000..1a50df07
--- /dev/null
+++ b/data/maps/objects/SilphCo8F.asm
@@ -0,0 +1,21 @@
+SilphCo8F_Object:
+ db $2e ; border block
+
+ def_warps
+ warp 16, 0, 1, SILPH_CO_9F
+ warp 14, 0, 0, SILPH_CO_7F
+ warp 18, 0, 0, SILPH_CO_ELEVATOR
+ warp 3, 11, 6, SILPH_CO_8F
+ warp 3, 15, 4, SILPH_CO_2F
+ warp 11, 5, 5, SILPH_CO_2F
+ warp 11, 9, 3, SILPH_CO_8F
+
+ def_signs
+
+ def_objects
+ object SPRITE_SILPH_WORKER, 4, 2, STAY, NONE, 1 ; person
+ object SPRITE_ROCKET, 19, 2, STAY, LEFT, 2, OPP_ROCKET, 35
+ object SPRITE_SCIENTIST, 10, 2, STAY, DOWN, 3, OPP_SCIENTIST, 9
+ object SPRITE_ROCKET, 12, 15, STAY, RIGHT, 4, OPP_ROCKET, 36
+
+ def_warps_to SILPH_CO_8F
diff --git a/data/maps/objects/SilphCo9F.asm b/data/maps/objects/SilphCo9F.asm
new file mode 100755
index 00000000..e6de70fd
--- /dev/null
+++ b/data/maps/objects/SilphCo9F.asm
@@ -0,0 +1,19 @@
+SilphCo9F_Object:
+ db $2e ; border block
+
+ def_warps
+ warp 14, 0, 0, SILPH_CO_10F
+ warp 16, 0, 0, SILPH_CO_8F
+ warp 18, 0, 0, SILPH_CO_ELEVATOR
+ warp 9, 3, 7, SILPH_CO_3F
+ warp 17, 15, 4, SILPH_CO_5F
+
+ def_signs
+
+ def_objects
+ object SPRITE_NURSE, 3, 14, STAY, DOWN, 1 ; person
+ object SPRITE_ROCKET, 2, 4, STAY, UP, 2, OPP_ROCKET, 37
+ object SPRITE_SCIENTIST, 21, 13, STAY, DOWN, 3, OPP_SCIENTIST, 10
+ object SPRITE_ROCKET, 13, 16, STAY, UP, 4, OPP_ROCKET, 38
+
+ def_warps_to SILPH_CO_9F
diff --git a/data/maps/objects/SilphCoElevator.asm b/data/maps/objects/SilphCoElevator.asm
new file mode 100755
index 00000000..d894ba65
--- /dev/null
+++ b/data/maps/objects/SilphCoElevator.asm
@@ -0,0 +1,13 @@
+SilphCoElevator_Object:
+ db $f ; border block
+
+ def_warps
+ warp 1, 3, 0, UNUSED_MAP_ED
+ warp 2, 3, 0, UNUSED_MAP_ED
+
+ def_signs
+ sign 3, 0, 1 ; SilphCoElevatorText1
+
+ def_objects
+
+ def_warps_to SILPH_CO_ELEVATOR
diff --git a/data/maps/objects/TradeCenter.asm b/data/maps/objects/TradeCenter.asm
new file mode 100644
index 00000000..ff74a4fa
--- /dev/null
+++ b/data/maps/objects/TradeCenter.asm
@@ -0,0 +1,11 @@
+TradeCenter_Object:
+ db $e ; border block
+
+ def_warps
+
+ def_signs
+
+ def_objects
+ object SPRITE_RED, 2, 2, STAY, 0, 1 ; person
+
+ def_warps_to TRADE_CENTER
diff --git a/data/maps/objects/UndergroundPathNorthSouth.asm b/data/maps/objects/UndergroundPathNorthSouth.asm
new file mode 100755
index 00000000..abf2d715
--- /dev/null
+++ b/data/maps/objects/UndergroundPathNorthSouth.asm
@@ -0,0 +1,12 @@
+UndergroundPathNorthSouth_Object:
+ db $1 ; border block
+
+ def_warps
+ warp 5, 4, 2, UNDERGROUND_PATH_ROUTE_5
+ warp 2, 41, 2, UNDERGROUND_PATH_ROUTE_6
+
+ def_signs
+
+ def_objects
+
+ def_warps_to UNDERGROUND_PATH_NORTH_SOUTH
diff --git a/data/maps/objects/UndergroundPathRoute5.asm b/data/maps/objects/UndergroundPathRoute5.asm
new file mode 100755
index 00000000..0e0f64e0
--- /dev/null
+++ b/data/maps/objects/UndergroundPathRoute5.asm
@@ -0,0 +1,14 @@
+UndergroundPathRoute5_Object:
+ db $a ; border block
+
+ def_warps
+ warp 3, 7, 3, LAST_MAP
+ warp 4, 7, 3, LAST_MAP
+ warp 4, 4, 0, UNDERGROUND_PATH_NORTH_SOUTH
+
+ def_signs
+
+ def_objects
+ object SPRITE_LITTLE_GIRL, 2, 3, STAY, NONE, 1 ; person
+
+ def_warps_to UNDERGROUND_PATH_ROUTE_5
diff --git a/data/maps/objects/UndergroundPathRoute6.asm b/data/maps/objects/UndergroundPathRoute6.asm
new file mode 100755
index 00000000..ff4d66b3
--- /dev/null
+++ b/data/maps/objects/UndergroundPathRoute6.asm
@@ -0,0 +1,14 @@
+UndergroundPathRoute6_Object:
+ db $a ; border block
+
+ def_warps
+ warp 3, 7, 3, LAST_MAP
+ warp 4, 7, 3, LAST_MAP
+ warp 4, 4, 1, UNDERGROUND_PATH_NORTH_SOUTH
+
+ def_signs
+
+ def_objects
+ object SPRITE_GIRL, 2, 3, STAY, NONE, 1 ; person
+
+ def_warps_to UNDERGROUND_PATH_ROUTE_6
diff --git a/data/maps/objects/UndergroundPathRoute7.asm b/data/maps/objects/UndergroundPathRoute7.asm
new file mode 100755
index 00000000..2532c380
--- /dev/null
+++ b/data/maps/objects/UndergroundPathRoute7.asm
@@ -0,0 +1,14 @@
+UndergroundPathRoute7_Object:
+ db $a ; border block
+
+ def_warps
+ warp 3, 7, 4, LAST_MAP
+ warp 4, 7, 4, LAST_MAP
+ warp 4, 4, 0, UNDERGROUND_PATH_WEST_EAST
+
+ def_signs
+
+ def_objects
+ object SPRITE_MIDDLE_AGED_MAN, 2, 4, STAY, NONE, 1 ; person
+
+ def_warps_to UNDERGROUND_PATH_ROUTE_7
diff --git a/data/maps/objects/UndergroundPathRoute7Copy.asm b/data/maps/objects/UndergroundPathRoute7Copy.asm
new file mode 100755
index 00000000..57e6d093
--- /dev/null
+++ b/data/maps/objects/UndergroundPathRoute7Copy.asm
@@ -0,0 +1,15 @@
+UndergroundPathRoute7Copy_Object:
+ db $a ; border block
+
+ def_warps
+ warp 3, 7, 5, LAST_MAP
+ warp 4, 7, 5, LAST_MAP
+ warp 4, 4, 0, UNDERGROUND_PATH_WEST_EAST
+
+ def_signs
+
+ def_objects
+ object SPRITE_GIRL, 3, 2, STAY, NONE, 1 ; person
+ object SPRITE_MIDDLE_AGED_MAN, 2, 4, STAY, NONE, 2 ; person
+
+ def_warps_to UNDERGROUND_PATH_ROUTE_7_COPY
diff --git a/data/maps/objects/UndergroundPathRoute8.asm b/data/maps/objects/UndergroundPathRoute8.asm
new file mode 100755
index 00000000..d84188ab
--- /dev/null
+++ b/data/maps/objects/UndergroundPathRoute8.asm
@@ -0,0 +1,14 @@
+UndergroundPathRoute8_Object:
+ db $a ; border block
+
+ def_warps
+ warp 3, 7, 4, LAST_MAP
+ warp 4, 7, 4, LAST_MAP
+ warp 4, 4, 1, UNDERGROUND_PATH_WEST_EAST
+
+ def_signs
+
+ def_objects
+ object SPRITE_GIRL, 3, 4, STAY, NONE, 1 ; person
+
+ def_warps_to UNDERGROUND_PATH_ROUTE_8
diff --git a/data/maps/objects/UndergroundPathWestEast.asm b/data/maps/objects/UndergroundPathWestEast.asm
new file mode 100755
index 00000000..15141e93
--- /dev/null
+++ b/data/maps/objects/UndergroundPathWestEast.asm
@@ -0,0 +1,12 @@
+UndergroundPathWestEast_Object:
+ db $1 ; border block
+
+ def_warps
+ warp 2, 5, 2, UNDERGROUND_PATH_ROUTE_7
+ warp 47, 2, 2, UNDERGROUND_PATH_ROUTE_8
+
+ def_signs
+
+ def_objects
+
+ def_warps_to UNDERGROUND_PATH_WEST_EAST
diff --git a/data/maps/objects/VermilionCity.asm b/data/maps/objects/VermilionCity.asm
new file mode 100755
index 00000000..3ea219c3
--- /dev/null
+++ b/data/maps/objects/VermilionCity.asm
@@ -0,0 +1,33 @@
+VermilionCity_Object:
+ db $43 ; border block
+
+ def_warps
+ warp 11, 3, 0, VERMILION_POKECENTER
+ warp 9, 13, 0, POKEMON_FAN_CLUB
+ warp 23, 13, 0, VERMILION_MART
+ warp 12, 19, 0, VERMILION_GYM
+ warp 23, 19, 0, VERMILION_PIDGEY_HOUSE
+ warp 18, 31, 0, VERMILION_DOCK
+ warp 19, 31, 0, VERMILION_DOCK
+ warp 15, 13, 0, VERMILION_TRADE_HOUSE
+ warp 7, 3, 0, VERMILION_OLD_ROD_HOUSE
+
+ def_signs
+ sign 27, 3, 8 ; VermilionCityText7
+ sign 37, 13, 9 ; VermilionCityText8
+ sign 24, 13, 10 ; MartSignText
+ sign 12, 3, 11 ; PokeCenterSignText
+ sign 7, 13, 12 ; VermilionCityText11
+ sign 7, 19, 13 ; VermilionCityText12
+ sign 29, 15, 14 ; VermilionCityText13
+
+ def_objects
+ object SPRITE_COOLTRAINER_F, 19, 7, WALK, LEFT_RIGHT, 1 ; person
+ object SPRITE_GAMBLER, 14, 6, STAY, NONE, 2 ; person
+ object SPRITE_SAILOR, 19, 30, STAY, UP, 3 ; person
+ object SPRITE_GAMBLER, 30, 7, STAY, NONE, 4 ; person
+ object SPRITE_MONSTER, 29, 9, WALK, UP_DOWN, 5 ; person
+ object SPRITE_SAILOR, 25, 27, WALK, LEFT_RIGHT, 6 ; person
+ object SPRITE_OFFICER_JENNY, 19, 15, STAY, NONE, 7 ; person
+
+ def_warps_to VERMILION_CITY
diff --git a/data/maps/objects/VermilionDock.asm b/data/maps/objects/VermilionDock.asm
new file mode 100755
index 00000000..f8143aaa
--- /dev/null
+++ b/data/maps/objects/VermilionDock.asm
@@ -0,0 +1,12 @@
+VermilionDock_Object:
+ db $f ; border block
+
+ def_warps
+ warp 14, 0, 5, LAST_MAP
+ warp 14, 2, 1, SS_ANNE_1F
+
+ def_signs
+
+ def_objects
+
+ def_warps_to VERMILION_DOCK
diff --git a/data/maps/objects/VermilionGym.asm b/data/maps/objects/VermilionGym.asm
new file mode 100755
index 00000000..ce0fd9f0
--- /dev/null
+++ b/data/maps/objects/VermilionGym.asm
@@ -0,0 +1,17 @@
+VermilionGym_Object:
+ db $3 ; border block
+
+ def_warps
+ warp 4, 17, 3, LAST_MAP
+ warp 5, 17, 3, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_ROCKER, 5, 1, STAY, DOWN, 1, OPP_LT_SURGE, 1
+ object SPRITE_GENTLEMAN, 9, 6, STAY, LEFT, 2, OPP_GENTLEMAN, 3
+ object SPRITE_SUPER_NERD, 3, 8, STAY, LEFT, 3, OPP_ROCKER, 1
+ object SPRITE_SAILOR, 0, 10, STAY, RIGHT, 4, OPP_SAILOR, 8
+ object SPRITE_GYM_GUIDE, 4, 14, STAY, DOWN, 5 ; person
+
+ def_warps_to VERMILION_GYM
diff --git a/data/maps/objects/VermilionMart.asm b/data/maps/objects/VermilionMart.asm
new file mode 100755
index 00000000..c473b5d1
--- /dev/null
+++ b/data/maps/objects/VermilionMart.asm
@@ -0,0 +1,15 @@
+VermilionMart_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 3, 7, 2, LAST_MAP
+ warp 4, 7, 2, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person
+ object SPRITE_COOLTRAINER_M, 5, 6, STAY, NONE, 2 ; person
+ object SPRITE_COOLTRAINER_F, 3, 3, WALK, LEFT_RIGHT, 3 ; person
+
+ def_warps_to VERMILION_MART
diff --git a/data/maps/objects/VermilionOldRodHouse.asm b/data/maps/objects/VermilionOldRodHouse.asm
new file mode 100755
index 00000000..878262f2
--- /dev/null
+++ b/data/maps/objects/VermilionOldRodHouse.asm
@@ -0,0 +1,13 @@
+VermilionOldRodHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 8, LAST_MAP
+ warp 3, 7, 8, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_FISHING_GURU, 2, 4, STAY, RIGHT, 1 ; person
+
+ def_warps_to VERMILION_OLD_ROD_HOUSE
diff --git a/data/maps/objects/VermilionPidgeyHouse.asm b/data/maps/objects/VermilionPidgeyHouse.asm
new file mode 100755
index 00000000..0a357409
--- /dev/null
+++ b/data/maps/objects/VermilionPidgeyHouse.asm
@@ -0,0 +1,15 @@
+VermilionPidgeyHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 4, LAST_MAP
+ warp 3, 7, 4, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_YOUNGSTER, 5, 3, STAY, LEFT, 1 ; person
+ object SPRITE_BIRD, 3, 5, WALK, LEFT_RIGHT, 2 ; person
+ object SPRITE_PAPER, 4, 3, STAY, NONE, 3 ; person
+
+ def_warps_to VERMILION_PIDGEY_HOUSE
diff --git a/data/maps/objects/VermilionPokecenter.asm b/data/maps/objects/VermilionPokecenter.asm
new file mode 100755
index 00000000..f52bf24e
--- /dev/null
+++ b/data/maps/objects/VermilionPokecenter.asm
@@ -0,0 +1,17 @@
+VermilionPokecenter_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 3, 7, 0, LAST_MAP
+ warp 4, 7, 0, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_FISHING_GURU, 10, 5, STAY, NONE, 2 ; person
+ object SPRITE_SAILOR, 5, 4, STAY, NONE, 3 ; person
+ object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person
+ object SPRITE_CHANSEY, 4, 1, STAY, DOWN, 5 ; person
+
+ def_warps_to VERMILION_POKECENTER
diff --git a/data/maps/objects/VermilionTradeHouse.asm b/data/maps/objects/VermilionTradeHouse.asm
new file mode 100755
index 00000000..5eace66e
--- /dev/null
+++ b/data/maps/objects/VermilionTradeHouse.asm
@@ -0,0 +1,13 @@
+VermilionTradeHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 7, LAST_MAP
+ warp 3, 7, 7, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_GENTLEMAN, 3, 5, STAY, UP, 1 ; person
+
+ def_warps_to VERMILION_TRADE_HOUSE
diff --git a/data/maps/objects/VictoryRoad1F.asm b/data/maps/objects/VictoryRoad1F.asm
new file mode 100755
index 00000000..e3798128
--- /dev/null
+++ b/data/maps/objects/VictoryRoad1F.asm
@@ -0,0 +1,20 @@
+VictoryRoad1F_Object:
+ db $7d ; border block
+
+ def_warps
+ warp 8, 17, 2, LAST_MAP
+ warp 9, 17, 2, LAST_MAP
+ warp 1, 1, 0, VICTORY_ROAD_2F
+
+ def_signs
+
+ def_objects
+ object SPRITE_COOLTRAINER_F, 7, 5, STAY, RIGHT, 1, OPP_COOLTRAINER_F, 5
+ object SPRITE_COOLTRAINER_M, 3, 2, STAY, DOWN, 2, OPP_COOLTRAINER_M, 5
+ object SPRITE_POKE_BALL, 11, 0, STAY, NONE, 3, TM_SKY_ATTACK
+ object SPRITE_POKE_BALL, 9, 2, STAY, NONE, 4, RARE_CANDY
+ object SPRITE_BOULDER, 5, 15, STAY, BOULDER_MOVEMENT_BYTE_2, 5 ; person
+ object SPRITE_BOULDER, 14, 2, STAY, BOULDER_MOVEMENT_BYTE_2, 6 ; person
+ object SPRITE_BOULDER, 2, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person
+
+ def_warps_to VICTORY_ROAD_1F
diff --git a/data/maps/objects/VictoryRoad2F.asm b/data/maps/objects/VictoryRoad2F.asm
new file mode 100755
index 00000000..84a32fa2
--- /dev/null
+++ b/data/maps/objects/VictoryRoad2F.asm
@@ -0,0 +1,30 @@
+VictoryRoad2F_Object:
+ db $7d ; border block
+
+ def_warps
+ warp 0, 8, 2, VICTORY_ROAD_1F
+ warp 29, 7, 3, LAST_MAP
+ warp 29, 8, 3, LAST_MAP
+ warp 23, 7, 0, VICTORY_ROAD_3F
+ warp 25, 14, 2, VICTORY_ROAD_3F
+ warp 27, 7, 1, VICTORY_ROAD_3F
+ warp 1, 1, 3, VICTORY_ROAD_3F
+
+ def_signs
+
+ def_objects
+ object SPRITE_HIKER, 12, 9, STAY, LEFT, 1, OPP_BLACKBELT, 9
+ object SPRITE_SUPER_NERD, 21, 13, STAY, LEFT, 2, OPP_JUGGLER, 2
+ object SPRITE_COOLTRAINER_M, 19, 8, STAY, DOWN, 3, OPP_TAMER, 5
+ object SPRITE_SUPER_NERD, 4, 2, STAY, DOWN, 4, OPP_POKEMANIAC, 6
+ object SPRITE_SUPER_NERD, 26, 3, STAY, LEFT, 5, OPP_JUGGLER, 5
+ object SPRITE_BIRD, 11, 5, STAY, UP, 6, MOLTRES, 50
+ object SPRITE_POKE_BALL, 27, 5, STAY, NONE, 7, TM_SUBMISSION
+ object SPRITE_POKE_BALL, 18, 9, STAY, NONE, 8, FULL_HEAL
+ object SPRITE_POKE_BALL, 9, 11, STAY, NONE, 9, TM_MEGA_KICK
+ object SPRITE_POKE_BALL, 11, 0, STAY, NONE, 10, GUARD_SPEC
+ object SPRITE_BOULDER, 4, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 11 ; person
+ object SPRITE_BOULDER, 5, 5, STAY, BOULDER_MOVEMENT_BYTE_2, 12 ; person
+ object SPRITE_BOULDER, 23, 16, STAY, BOULDER_MOVEMENT_BYTE_2, 13 ; person
+
+ def_warps_to VICTORY_ROAD_2F
diff --git a/data/maps/objects/VictoryRoad3F.asm b/data/maps/objects/VictoryRoad3F.asm
new file mode 100755
index 00000000..fcab3e74
--- /dev/null
+++ b/data/maps/objects/VictoryRoad3F.asm
@@ -0,0 +1,24 @@
+VictoryRoad3F_Object:
+ db $7d ; border block
+
+ def_warps
+ warp 23, 7, 3, VICTORY_ROAD_2F
+ warp 26, 8, 5, VICTORY_ROAD_2F
+ warp 27, 15, 4, VICTORY_ROAD_2F
+ warp 2, 0, 6, VICTORY_ROAD_2F
+
+ def_signs
+
+ def_objects
+ object SPRITE_COOLTRAINER_M, 28, 5, STAY, LEFT, 1, OPP_COOLTRAINER_M, 2
+ object SPRITE_COOLTRAINER_F, 7, 13, STAY, RIGHT, 2, OPP_COOLTRAINER_F, 2
+ object SPRITE_COOLTRAINER_M, 6, 14, STAY, LEFT, 3, OPP_COOLTRAINER_M, 3
+ object SPRITE_COOLTRAINER_F, 13, 3, STAY, RIGHT, 4, OPP_COOLTRAINER_F, 3
+ object SPRITE_POKE_BALL, 26, 5, STAY, NONE, 5, MAX_REVIVE
+ object SPRITE_POKE_BALL, 7, 7, STAY, NONE, 6, TM_EXPLOSION
+ object SPRITE_BOULDER, 22, 3, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person
+ object SPRITE_BOULDER, 13, 12, STAY, BOULDER_MOVEMENT_BYTE_2, 8 ; person
+ object SPRITE_BOULDER, 24, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 9 ; person
+ object SPRITE_BOULDER, 22, 15, STAY, BOULDER_MOVEMENT_BYTE_2, 10 ; person
+
+ def_warps_to VICTORY_ROAD_3F
diff --git a/data/maps/objects/ViridianCity.asm b/data/maps/objects/ViridianCity.asm
new file mode 100755
index 00000000..9e3e30bb
--- /dev/null
+++ b/data/maps/objects/ViridianCity.asm
@@ -0,0 +1,29 @@
+ViridianCity_Object:
+ db $f ; border block
+
+ def_warps
+ warp 23, 25, 0, VIRIDIAN_POKECENTER
+ warp 29, 19, 0, VIRIDIAN_MART
+ warp 21, 15, 0, VIRIDIAN_SCHOOL_HOUSE
+ warp 21, 9, 0, VIRIDIAN_NICKNAME_HOUSE
+ warp 32, 7, 0, VIRIDIAN_GYM
+
+ def_signs
+ sign 17, 17, 9 ; ViridianCityText8
+ sign 19, 1, 10 ; ViridianCityText9
+ sign 21, 29, 11 ; ViridianCityText10
+ sign 30, 19, 12 ; MartSignText
+ sign 24, 25, 13 ; PokeCenterSignText
+ sign 27, 7, 14 ; ViridianCityText13
+
+ def_objects
+ object SPRITE_YOUNGSTER, 13, 20, WALK, ANY_DIR, 1 ; person
+ object SPRITE_GAMBLER, 30, 8, STAY, NONE, 2 ; person
+ object SPRITE_YOUNGSTER, 30, 25, WALK, ANY_DIR, 3 ; person
+ object SPRITE_GIRL, 17, 9, STAY, RIGHT, 4 ; person
+ object SPRITE_GAMBLER_ASLEEP, 18, 9, STAY, NONE, 5 ; person
+ object SPRITE_FISHER, 6, 23, STAY, DOWN, 6 ; person
+ object SPRITE_GAMBLER, 17, 5, WALK, LEFT_RIGHT, 7 ; person
+ object SPRITE_GAMBLER, 18, 9, STAY, NONE, 8
+
+ def_warps_to VIRIDIAN_CITY
diff --git a/data/maps/objects/ViridianForest.asm b/data/maps/objects/ViridianForest.asm
new file mode 100755
index 00000000..56d48f6d
--- /dev/null
+++ b/data/maps/objects/ViridianForest.asm
@@ -0,0 +1,32 @@
+ViridianForest_Object:
+ db $3 ; border block
+
+ def_warps
+ warp 1, 0, 2, VIRIDIAN_FOREST_NORTH_GATE
+ warp 2, 0, 2, VIRIDIAN_FOREST_NORTH_GATE
+ warp 15, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE
+ warp 16, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE
+ warp 17, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE
+ warp 18, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE
+
+ def_signs
+ sign 24, 40, 11 ; ViridianForestText9
+ sign 16, 32, 12 ; ViridianForestText10
+ sign 26, 17, 13 ; ViridianForestText11
+ sign 4, 24, 14 ; ViridianForestText12
+ sign 18, 45, 15 ; ViridianForestText13
+ sign 2, 1, 16 ; ViridianForestText14
+
+ def_objects
+ object SPRITE_YOUNGSTER, 16, 43, STAY, NONE, 1 ; person
+ object SPRITE_YOUNGSTER, 30, 33, STAY, LEFT, 2, OPP_BUG_CATCHER, 1
+ object SPRITE_YOUNGSTER, 30, 19, STAY, LEFT, 3, OPP_BUG_CATCHER, 2
+ object SPRITE_YOUNGSTER, 2, 18, STAY, LEFT, 4, OPP_BUG_CATCHER, 3
+ object SPRITE_COOLTRAINER_F, 2, 41, STAY, NONE, 5, OPP_LASS, 19
+ object SPRITE_YOUNGSTER, 13, 17, STAY, RIGHT, 6, OPP_BUG_CATCHER, 15
+ object SPRITE_POKE_BALL, 25, 11, STAY, NONE, 7, POTION
+ object SPRITE_POKE_BALL, 12, 29, STAY, NONE, 8, POTION
+ object SPRITE_POKE_BALL, 1, 31, STAY, NONE, 9, POKE_BALL
+ object SPRITE_YOUNGSTER, 27, 40, STAY, NONE, 10 ; person
+
+ def_warps_to VIRIDIAN_FOREST
diff --git a/data/maps/objects/ViridianForestNorthGate.asm b/data/maps/objects/ViridianForestNorthGate.asm
new file mode 100755
index 00000000..137b8b3b
--- /dev/null
+++ b/data/maps/objects/ViridianForestNorthGate.asm
@@ -0,0 +1,16 @@
+ViridianForestNorthGate_Object:
+ db $a ; border block
+
+ def_warps
+ warp 4, 0, 1, LAST_MAP
+ warp 5, 0, 1, LAST_MAP
+ warp 4, 7, 0, VIRIDIAN_FOREST
+ warp 5, 7, 0, VIRIDIAN_FOREST
+
+ def_signs
+
+ def_objects
+ object SPRITE_SUPER_NERD, 3, 2, STAY, NONE, 1 ; person
+ object SPRITE_GRAMPS, 2, 5, STAY, NONE, 2 ; person
+
+ def_warps_to VIRIDIAN_FOREST_NORTH_GATE
diff --git a/data/maps/objects/ViridianForestSouthGate.asm b/data/maps/objects/ViridianForestSouthGate.asm
new file mode 100755
index 00000000..c73205cd
--- /dev/null
+++ b/data/maps/objects/ViridianForestSouthGate.asm
@@ -0,0 +1,16 @@
+ViridianForestSouthGate_Object:
+ db $a ; border block
+
+ def_warps
+ warp 4, 0, 3, VIRIDIAN_FOREST
+ warp 5, 0, 3, VIRIDIAN_FOREST
+ warp 4, 7, 5, LAST_MAP
+ warp 5, 7, 5, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_GIRL, 8, 4, STAY, LEFT, 1 ; person
+ object SPRITE_LITTLE_GIRL, 2, 4, WALK, UP_DOWN, 2 ; person
+
+ def_warps_to VIRIDIAN_FOREST_SOUTH_GATE
diff --git a/data/maps/objects/ViridianGym.asm b/data/maps/objects/ViridianGym.asm
new file mode 100755
index 00000000..cc158928
--- /dev/null
+++ b/data/maps/objects/ViridianGym.asm
@@ -0,0 +1,23 @@
+ViridianGym_Object:
+ db $3 ; border block
+
+ def_warps
+ warp 16, 17, 4, LAST_MAP
+ warp 17, 17, 4, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_GIOVANNI, 2, 1, STAY, DOWN, 1, OPP_GIOVANNI, 3
+ object SPRITE_COOLTRAINER_M, 12, 7, STAY, DOWN, 2, OPP_COOLTRAINER_M, 9
+ object SPRITE_HIKER, 11, 11, STAY, UP, 3, OPP_BLACKBELT, 6
+ object SPRITE_ROCKER, 10, 7, STAY, DOWN, 4, OPP_TAMER, 3
+ object SPRITE_HIKER, 3, 7, STAY, LEFT, 5, OPP_BLACKBELT, 7
+ object SPRITE_COOLTRAINER_M, 13, 5, STAY, RIGHT, 6, OPP_COOLTRAINER_M, 10
+ object SPRITE_HIKER, 10, 1, STAY, DOWN, 7, OPP_BLACKBELT, 8
+ object SPRITE_ROCKER, 2, 16, STAY, RIGHT, 8, OPP_TAMER, 4
+ object SPRITE_COOLTRAINER_M, 6, 5, STAY, DOWN, 9, OPP_COOLTRAINER_M, 1
+ object SPRITE_GYM_GUIDE, 16, 15, STAY, DOWN, 10 ; person
+ object SPRITE_POKE_BALL, 16, 9, STAY, NONE, 11, REVIVE
+
+ def_warps_to VIRIDIAN_GYM
diff --git a/data/maps/objects/ViridianMart.asm b/data/maps/objects/ViridianMart.asm
new file mode 100755
index 00000000..cbb5a4a3
--- /dev/null
+++ b/data/maps/objects/ViridianMart.asm
@@ -0,0 +1,15 @@
+ViridianMart_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 3, 7, 1, LAST_MAP
+ warp 4, 7, 1, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person
+ object SPRITE_YOUNGSTER, 5, 5, WALK, UP_DOWN, 2 ; person
+ object SPRITE_COOLTRAINER_M, 3, 3, STAY, NONE, 3 ; person
+
+ def_warps_to VIRIDIAN_MART
diff --git a/data/maps/objects/ViridianNicknameHouse.asm b/data/maps/objects/ViridianNicknameHouse.asm
new file mode 100755
index 00000000..c2e6b70f
--- /dev/null
+++ b/data/maps/objects/ViridianNicknameHouse.asm
@@ -0,0 +1,16 @@
+ViridianNicknameHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 3, LAST_MAP
+ warp 3, 7, 3, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_BALDING_GUY, 5, 3, STAY, NONE, 1 ; person
+ object SPRITE_LITTLE_GIRL, 1, 4, WALK, UP_DOWN, 2 ; person
+ object SPRITE_BIRD, 5, 5, WALK, LEFT_RIGHT, 3 ; person
+ object SPRITE_CLIPBOARD, 4, 0, STAY, NONE, 4 ; person
+
+ def_warps_to VIRIDIAN_NICKNAME_HOUSE
diff --git a/data/maps/objects/ViridianPokecenter.asm b/data/maps/objects/ViridianPokecenter.asm
new file mode 100755
index 00000000..ef510f72
--- /dev/null
+++ b/data/maps/objects/ViridianPokecenter.asm
@@ -0,0 +1,17 @@
+ViridianPokecenter_Object:
+ db $0 ; border block
+
+ def_warps
+ warp 3, 7, 0, LAST_MAP
+ warp 4, 7, 0, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_GENTLEMAN, 10, 5, WALK, UP_DOWN, 2 ; person
+ object SPRITE_COOLTRAINER_M, 4, 3, STAY, UP, 3 ; person
+ object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person
+ object SPRITE_CHANSEY, 4, 1, STAY, DOWN, 5 ; person
+
+ def_warps_to VIRIDIAN_POKECENTER
diff --git a/data/maps/objects/ViridianSchoolHouse.asm b/data/maps/objects/ViridianSchoolHouse.asm
new file mode 100755
index 00000000..632baaba
--- /dev/null
+++ b/data/maps/objects/ViridianSchoolHouse.asm
@@ -0,0 +1,15 @@
+ViridianSchoolHouse_Object:
+ db $a ; border block
+
+ def_warps
+ warp 2, 7, 2, LAST_MAP
+ warp 3, 7, 2, LAST_MAP
+
+ def_signs
+
+ def_objects
+ object SPRITE_BRUNETTE_GIRL, 3, 5, STAY, UP, 1 ; person
+ object SPRITE_COOLTRAINER_F, 4, 1, STAY, DOWN, 2 ; person
+ object SPRITE_LITTLE_GIRL, 4, 5, STAY, UP, 3 ; person
+
+ def_warps_to VIRIDIAN_SCHOOL_HOUSE
diff --git a/data/maps/objects/WardensHouse.asm b/data/maps/objects/WardensHouse.asm
new file mode 100755
index 00000000..68210d65
--- /dev/null
+++ b/data/maps/objects/WardensHouse.asm
@@ -0,0 +1,17 @@
+WardensHouse_Object:
+ db $17 ; border block
+
+ def_warps
+ warp 4, 7, 3, LAST_MAP
+ warp 5, 7, 3, LAST_MAP
+
+ def_signs
+ sign 4, 3, 4 ; FuchsiaHouse2Text4
+ sign 5, 3, 5 ; FuchsiaHouse2Text5
+
+ def_objects
+ object SPRITE_WARDEN, 2, 3, STAY, NONE, 1 ; person
+ object SPRITE_POKE_BALL, 8, 3, STAY, NONE, 2, RARE_CANDY
+ object SPRITE_BOULDER, 8, 4, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person
+
+ def_warps_to WARDENS_HOUSE