summaryrefslogtreecommitdiff
path: root/data/maps
diff options
context:
space:
mode:
Diffstat (limited to 'data/maps')
-rwxr-xr-xdata/maps/headers/AgathasRoom.asm3
-rwxr-xr-xdata/maps/headers/BikeShop.asm3
-rwxr-xr-xdata/maps/headers/BillsHouse.asm3
-rwxr-xr-xdata/maps/headers/BluesHouse.asm3
-rwxr-xr-xdata/maps/headers/BrunosRoom.asm3
-rwxr-xr-xdata/maps/headers/CeladonChiefHouse.asm3
-rwxr-xr-xdata/maps/headers/CeladonCity.asm5
-rwxr-xr-xdata/maps/headers/CeladonDiner.asm3
-rwxr-xr-xdata/maps/headers/CeladonGym.asm3
-rwxr-xr-xdata/maps/headers/CeladonHotel.asm3
-rwxr-xr-xdata/maps/headers/CeladonMansion1F.asm3
-rwxr-xr-xdata/maps/headers/CeladonMansion2F.asm3
-rwxr-xr-xdata/maps/headers/CeladonMansion3F.asm3
-rwxr-xr-xdata/maps/headers/CeladonMansionRoof.asm3
-rwxr-xr-xdata/maps/headers/CeladonMansionRoofHouse.asm3
-rwxr-xr-xdata/maps/headers/CeladonMart1F.asm3
-rwxr-xr-xdata/maps/headers/CeladonMart2F.asm3
-rwxr-xr-xdata/maps/headers/CeladonMart3F.asm3
-rwxr-xr-xdata/maps/headers/CeladonMart4F.asm3
-rwxr-xr-xdata/maps/headers/CeladonMart5F.asm3
-rwxr-xr-xdata/maps/headers/CeladonMartElevator.asm3
-rwxr-xr-xdata/maps/headers/CeladonMartRoof.asm3
-rwxr-xr-xdata/maps/headers/CeladonPokecenter.asm3
-rwxr-xr-xdata/maps/headers/CeruleanBadgeHouse.asm3
-rwxr-xr-xdata/maps/headers/CeruleanCave1F.asm3
-rwxr-xr-xdata/maps/headers/CeruleanCave2F.asm3
-rwxr-xr-xdata/maps/headers/CeruleanCaveB1F.asm3
-rwxr-xr-xdata/maps/headers/CeruleanCity.asm7
-rwxr-xr-xdata/maps/headers/CeruleanGym.asm3
-rwxr-xr-xdata/maps/headers/CeruleanMart.asm3
-rwxr-xr-xdata/maps/headers/CeruleanPokecenter.asm3
-rwxr-xr-xdata/maps/headers/CeruleanTradeHouse.asm3
-rwxr-xr-xdata/maps/headers/CeruleanTrashedHouse.asm3
-rwxr-xr-xdata/maps/headers/ChampionsRoom.asm3
-rwxr-xr-xdata/maps/headers/CinnabarGym.asm3
-rwxr-xr-xdata/maps/headers/CinnabarIsland.asm5
-rwxr-xr-xdata/maps/headers/CinnabarLab.asm3
-rwxr-xr-xdata/maps/headers/CinnabarLabFossilRoom.asm3
-rwxr-xr-xdata/maps/headers/CinnabarLabMetronomeRoom.asm3
-rwxr-xr-xdata/maps/headers/CinnabarLabTradeRoom.asm3
-rwxr-xr-xdata/maps/headers/CinnabarMart.asm3
-rwxr-xr-xdata/maps/headers/CinnabarPokecenter.asm3
-rwxr-xr-xdata/maps/headers/Colosseum.asm3
-rwxr-xr-xdata/maps/headers/CopycatsHouse1F.asm3
-rwxr-xr-xdata/maps/headers/CopycatsHouse2F.asm3
-rwxr-xr-xdata/maps/headers/Daycare.asm3
-rwxr-xr-xdata/maps/headers/DiglettsCave.asm3
-rwxr-xr-xdata/maps/headers/DiglettsCaveRoute11.asm3
-rwxr-xr-xdata/maps/headers/DiglettsCaveRoute2.asm3
-rwxr-xr-xdata/maps/headers/FightingDojo.asm3
-rwxr-xr-xdata/maps/headers/FuchsiaBillsGrandpasHouse.asm3
-rwxr-xr-xdata/maps/headers/FuchsiaCity.asm6
-rwxr-xr-xdata/maps/headers/FuchsiaGoodRodHouse.asm3
-rwxr-xr-xdata/maps/headers/FuchsiaGym.asm3
-rwxr-xr-xdata/maps/headers/FuchsiaMart.asm3
-rwxr-xr-xdata/maps/headers/FuchsiaMeetingRoom.asm3
-rwxr-xr-xdata/maps/headers/FuchsiaPokecenter.asm3
-rwxr-xr-xdata/maps/headers/GameCorner.asm3
-rwxr-xr-xdata/maps/headers/GameCornerPrizeRoom.asm3
-rwxr-xr-xdata/maps/headers/HallOfFame.asm3
-rwxr-xr-xdata/maps/headers/IndigoPlateau.asm4
-rwxr-xr-xdata/maps/headers/IndigoPlateauLobby.asm3
-rwxr-xr-xdata/maps/headers/LancesRoom.asm3
-rwxr-xr-xdata/maps/headers/LavenderCuboneHouse.asm3
-rwxr-xr-xdata/maps/headers/LavenderMart.asm3
-rwxr-xr-xdata/maps/headers/LavenderPokecenter.asm3
-rwxr-xr-xdata/maps/headers/LavenderTown.asm6
-rwxr-xr-xdata/maps/headers/LoreleisRoom.asm3
-rwxr-xr-xdata/maps/headers/MrFujisHouse.asm3
-rwxr-xr-xdata/maps/headers/MrPsychicsHouse.asm3
-rwxr-xr-xdata/maps/headers/MtMoon1F.asm3
-rwxr-xr-xdata/maps/headers/MtMoonB1F.asm3
-rwxr-xr-xdata/maps/headers/MtMoonB2F.asm3
-rwxr-xr-xdata/maps/headers/MtMoonPokecenter.asm3
-rwxr-xr-xdata/maps/headers/Museum1F.asm3
-rwxr-xr-xdata/maps/headers/Museum2F.asm3
-rwxr-xr-xdata/maps/headers/NameRatersHouse.asm3
-rwxr-xr-xdata/maps/headers/OaksLab.asm3
-rwxr-xr-xdata/maps/headers/PalletTown.asm5
-rwxr-xr-xdata/maps/headers/PewterCity.asm5
-rwxr-xr-xdata/maps/headers/PewterGym.asm3
-rwxr-xr-xdata/maps/headers/PewterMart.asm3
-rwxr-xr-xdata/maps/headers/PewterNidoranHouse.asm3
-rwxr-xr-xdata/maps/headers/PewterPokecenter.asm3
-rwxr-xr-xdata/maps/headers/PewterSpeechHouse.asm3
-rwxr-xr-xdata/maps/headers/PokemonFanClub.asm3
-rwxr-xr-xdata/maps/headers/PokemonMansion1F.asm3
-rwxr-xr-xdata/maps/headers/PokemonMansion2F.asm3
-rwxr-xr-xdata/maps/headers/PokemonMansion3F.asm3
-rwxr-xr-xdata/maps/headers/PokemonMansionB1F.asm3
-rwxr-xr-xdata/maps/headers/PokemonTower1F.asm3
-rwxr-xr-xdata/maps/headers/PokemonTower2F.asm3
-rwxr-xr-xdata/maps/headers/PokemonTower3F.asm3
-rwxr-xr-xdata/maps/headers/PokemonTower4F.asm3
-rwxr-xr-xdata/maps/headers/PokemonTower5F.asm3
-rwxr-xr-xdata/maps/headers/PokemonTower6F.asm3
-rwxr-xr-xdata/maps/headers/PokemonTower7F.asm3
-rwxr-xr-xdata/maps/headers/PowerPlant.asm3
-rwxr-xr-xdata/maps/headers/RedsHouse1F.asm3
-rwxr-xr-xdata/maps/headers/RedsHouse2F.asm3
-rwxr-xr-xdata/maps/headers/RockTunnel1F.asm3
-rwxr-xr-xdata/maps/headers/RockTunnelB1F.asm3
-rwxr-xr-xdata/maps/headers/RockTunnelPokecenter.asm3
-rwxr-xr-xdata/maps/headers/RocketHideoutB1F.asm3
-rwxr-xr-xdata/maps/headers/RocketHideoutB2F.asm3
-rwxr-xr-xdata/maps/headers/RocketHideoutB3F.asm3
-rwxr-xr-xdata/maps/headers/RocketHideoutB4F.asm3
-rwxr-xr-xdata/maps/headers/RocketHideoutElevator.asm3
-rwxr-xr-xdata/maps/headers/Route1.asm5
-rwxr-xr-xdata/maps/headers/Route10.asm5
-rwxr-xr-xdata/maps/headers/Route11.asm5
-rwxr-xr-xdata/maps/headers/Route11Gate1F.asm3
-rwxr-xr-xdata/maps/headers/Route11Gate2F.asm3
-rwxr-xr-xdata/maps/headers/Route12.asm6
-rwxr-xr-xdata/maps/headers/Route12Gate1F.asm3
-rwxr-xr-xdata/maps/headers/Route12Gate2F.asm3
-rwxr-xr-xdata/maps/headers/Route12SuperRodHouse.asm3
-rwxr-xr-xdata/maps/headers/Route13.asm5
-rwxr-xr-xdata/maps/headers/Route14.asm5
-rwxr-xr-xdata/maps/headers/Route15.asm5
-rwxr-xr-xdata/maps/headers/Route15Gate1F.asm3
-rwxr-xr-xdata/maps/headers/Route15Gate2F.asm3
-rwxr-xr-xdata/maps/headers/Route16.asm5
-rwxr-xr-xdata/maps/headers/Route16FlyHouse.asm3
-rwxr-xr-xdata/maps/headers/Route16Gate1F.asm3
-rwxr-xr-xdata/maps/headers/Route16Gate2F.asm3
-rwxr-xr-xdata/maps/headers/Route17.asm5
-rwxr-xr-xdata/maps/headers/Route18.asm5
-rwxr-xr-xdata/maps/headers/Route18Gate1F.asm3
-rwxr-xr-xdata/maps/headers/Route18Gate2F.asm3
-rwxr-xr-xdata/maps/headers/Route19.asm5
-rwxr-xr-xdata/maps/headers/Route2.asm5
-rwxr-xr-xdata/maps/headers/Route20.asm5
-rwxr-xr-xdata/maps/headers/Route21.asm5
-rwxr-xr-xdata/maps/headers/Route22.asm5
-rwxr-xr-xdata/maps/headers/Route22Gate.asm3
-rwxr-xr-xdata/maps/headers/Route23.asm5
-rwxr-xr-xdata/maps/headers/Route24.asm5
-rwxr-xr-xdata/maps/headers/Route25.asm4
-rwxr-xr-xdata/maps/headers/Route2Gate.asm3
-rwxr-xr-xdata/maps/headers/Route2TradeHouse.asm3
-rwxr-xr-xdata/maps/headers/Route3.asm5
-rwxr-xr-xdata/maps/headers/Route4.asm5
-rwxr-xr-xdata/maps/headers/Route5.asm5
-rwxr-xr-xdata/maps/headers/Route5Gate.asm3
-rwxr-xr-xdata/maps/headers/Route6.asm5
-rwxr-xr-xdata/maps/headers/Route6Gate.asm3
-rwxr-xr-xdata/maps/headers/Route7.asm5
-rwxr-xr-xdata/maps/headers/Route7Gate.asm3
-rwxr-xr-xdata/maps/headers/Route8.asm5
-rwxr-xr-xdata/maps/headers/Route8Gate.asm3
-rwxr-xr-xdata/maps/headers/Route9.asm5
-rwxr-xr-xdata/maps/headers/SSAnne1F.asm3
-rwxr-xr-xdata/maps/headers/SSAnne1FRooms.asm3
-rwxr-xr-xdata/maps/headers/SSAnne2F.asm3
-rwxr-xr-xdata/maps/headers/SSAnne2FRooms.asm3
-rwxr-xr-xdata/maps/headers/SSAnne3F.asm3
-rwxr-xr-xdata/maps/headers/SSAnneB1F.asm3
-rwxr-xr-xdata/maps/headers/SSAnneB1FRooms.asm3
-rwxr-xr-xdata/maps/headers/SSAnneBow.asm3
-rwxr-xr-xdata/maps/headers/SSAnneCaptainsRoom.asm3
-rwxr-xr-xdata/maps/headers/SSAnneKitchen.asm3
-rwxr-xr-xdata/maps/headers/SafariZoneCenter.asm3
-rwxr-xr-xdata/maps/headers/SafariZoneCenterRestHouse.asm3
-rwxr-xr-xdata/maps/headers/SafariZoneEast.asm3
-rwxr-xr-xdata/maps/headers/SafariZoneEastRestHouse.asm3
-rwxr-xr-xdata/maps/headers/SafariZoneGate.asm3
-rwxr-xr-xdata/maps/headers/SafariZoneNorth.asm3
-rwxr-xr-xdata/maps/headers/SafariZoneNorthRestHouse.asm3
-rwxr-xr-xdata/maps/headers/SafariZoneSecretHouse.asm3
-rwxr-xr-xdata/maps/headers/SafariZoneWest.asm3
-rwxr-xr-xdata/maps/headers/SafariZoneWestRestHouse.asm3
-rwxr-xr-xdata/maps/headers/SaffronCity.asm7
-rwxr-xr-xdata/maps/headers/SaffronGym.asm3
-rwxr-xr-xdata/maps/headers/SaffronMart.asm3
-rwxr-xr-xdata/maps/headers/SaffronPidgeyHouse.asm3
-rwxr-xr-xdata/maps/headers/SaffronPokecenter.asm3
-rwxr-xr-xdata/maps/headers/SeafoamIslands1F.asm3
-rwxr-xr-xdata/maps/headers/SeafoamIslandsB1F.asm3
-rwxr-xr-xdata/maps/headers/SeafoamIslandsB2F.asm3
-rwxr-xr-xdata/maps/headers/SeafoamIslandsB3F.asm3
-rwxr-xr-xdata/maps/headers/SeafoamIslandsB4F.asm3
-rwxr-xr-xdata/maps/headers/SilphCo10F.asm3
-rwxr-xr-xdata/maps/headers/SilphCo11F.asm3
-rwxr-xr-xdata/maps/headers/SilphCo1F.asm3
-rwxr-xr-xdata/maps/headers/SilphCo2F.asm3
-rwxr-xr-xdata/maps/headers/SilphCo3F.asm3
-rwxr-xr-xdata/maps/headers/SilphCo4F.asm3
-rwxr-xr-xdata/maps/headers/SilphCo5F.asm3
-rwxr-xr-xdata/maps/headers/SilphCo6F.asm3
-rwxr-xr-xdata/maps/headers/SilphCo7F.asm3
-rwxr-xr-xdata/maps/headers/SilphCo8F.asm3
-rwxr-xr-xdata/maps/headers/SilphCo9F.asm3
-rwxr-xr-xdata/maps/headers/SilphCoElevator.asm3
-rwxr-xr-xdata/maps/headers/TradeCenter.asm3
-rwxr-xr-xdata/maps/headers/UndergroundPathNorthSouth.asm3
-rwxr-xr-xdata/maps/headers/UndergroundPathRoute5.asm3
-rwxr-xr-xdata/maps/headers/UndergroundPathRoute6.asm3
-rwxr-xr-xdata/maps/headers/UndergroundPathRoute7.asm3
-rwxr-xr-xdata/maps/headers/UndergroundPathRoute7Copy.asm3
-rwxr-xr-xdata/maps/headers/UndergroundPathRoute8.asm3
-rwxr-xr-xdata/maps/headers/UndergroundPathWestEast.asm3
-rwxr-xr-xdata/maps/headers/VermilionCity.asm5
-rwxr-xr-xdata/maps/headers/VermilionDock.asm3
-rwxr-xr-xdata/maps/headers/VermilionGym.asm3
-rwxr-xr-xdata/maps/headers/VermilionMart.asm3
-rwxr-xr-xdata/maps/headers/VermilionOldRodHouse.asm3
-rwxr-xr-xdata/maps/headers/VermilionPidgeyHouse.asm3
-rwxr-xr-xdata/maps/headers/VermilionPokecenter.asm3
-rwxr-xr-xdata/maps/headers/VermilionTradeHouse.asm3
-rwxr-xr-xdata/maps/headers/VictoryRoad1F.asm3
-rwxr-xr-xdata/maps/headers/VictoryRoad2F.asm3
-rwxr-xr-xdata/maps/headers/VictoryRoad3F.asm3
-rwxr-xr-xdata/maps/headers/ViridianCity.asm6
-rwxr-xr-xdata/maps/headers/ViridianForest.asm3
-rwxr-xr-xdata/maps/headers/ViridianForestNorthGate.asm3
-rwxr-xr-xdata/maps/headers/ViridianForestSouthGate.asm3
-rwxr-xr-xdata/maps/headers/ViridianGym.asm3
-rwxr-xr-xdata/maps/headers/ViridianMart.asm3
-rwxr-xr-xdata/maps/headers/ViridianNicknameHouse.asm3
-rwxr-xr-xdata/maps/headers/ViridianPokecenter.asm3
-rwxr-xr-xdata/maps/headers/ViridianSchoolHouse.asm3
-rwxr-xr-xdata/maps/headers/WardensHouse.asm3
-rwxr-xr-xdata/maps/objects/AgathasRoom.asm19
-rwxr-xr-xdata/maps/objects/BikeShop.asm17
-rwxr-xr-xdata/maps/objects/BillsHouse.asm17
-rwxr-xr-xdata/maps/objects/BluesHouse.asm17
-rwxr-xr-xdata/maps/objects/BrunosRoom.asm19
-rwxr-xr-xdata/maps/objects/CeladonChiefHouse.asm17
-rwxr-xr-xdata/maps/objects/CeladonCity.asm54
-rwxr-xr-xdata/maps/objects/CeladonDiner.asm19
-rwxr-xr-xdata/maps/objects/CeladonGym.asm22
-rwxr-xr-xdata/maps/objects/CeladonHotel.asm17
-rwxr-xr-xdata/maps/objects/CeladonMansion1F.asm25
-rwxr-xr-xdata/maps/objects/CeladonMansion2F.asm19
-rwxr-xr-xdata/maps/objects/CeladonMansion3F.asm26
-rwxr-xr-xdata/maps/objects/CeladonMansionRoof.asm17
-rwxr-xr-xdata/maps/objects/CeladonMansionRoofHouse.asm16
-rwxr-xr-xdata/maps/objects/CeladonMart1F.asm25
-rwxr-xr-xdata/maps/objects/CeladonMart2F.asm21
-rwxr-xr-xdata/maps/objects/CeladonMart3F.asm33
-rwxr-xr-xdata/maps/objects/CeladonMart4F.asm20
-rwxr-xr-xdata/maps/objects/CeladonMart5F.asm21
-rwxr-xr-xdata/maps/objects/CeladonMartElevator.asm15
-rwxr-xr-xdata/maps/objects/CeladonMartRoof.asm18
-rwxr-xr-xdata/maps/objects/CeladonPokecenter.asm18
-rwxr-xr-xdata/maps/objects/CeruleanBadgeHouse.asm17
-rwxr-xr-xdata/maps/objects/CeruleanCave1F.asm31
-rwxr-xr-xdata/maps/objects/CeruleanCave2F.asm25
-rwxr-xr-xdata/maps/objects/CeruleanCaveB1F.asm15
-rwxr-xr-xdata/maps/objects/CeruleanCity.asm47
-rwxr-xr-xdata/maps/objects/CeruleanGym.asm18
-rwxr-xr-xdata/maps/objects/CeruleanMart.asm17
-rwxr-xr-xdata/maps/objects/CeruleanPokecenter.asm18
-rwxr-xr-xdata/maps/objects/CeruleanTradeHouse.asm16
-rwxr-xr-xdata/maps/objects/CeruleanTrashedHouse.asm19
-rwxr-xr-xdata/maps/objects/ChampionsRoom.asm20
-rwxr-xr-xdata/maps/objects/CinnabarGym.asm23
-rwxr-xr-xdata/maps/objects/CinnabarIsland.asm27
-rwxr-xr-xdata/maps/objects/CinnabarLab.asm25
-rwxr-xr-xdata/maps/objects/CinnabarLabFossilRoom.asm16
-rwxr-xr-xdata/maps/objects/CinnabarLabMetronomeRoom.asm19
-rwxr-xr-xdata/maps/objects/CinnabarLabTradeRoom.asm17
-rwxr-xr-xdata/maps/objects/CinnabarMart.asm17
-rwxr-xr-xdata/maps/objects/CinnabarPokecenter.asm18
-rwxr-xr-xdata/maps/objects/Colosseum.asm9
-rwxr-xr-xdata/maps/objects/CopycatsHouse1F.asm19
-rwxr-xr-xdata/maps/objects/CopycatsHouse2F.asm19
-rwxr-xr-xdata/maps/objects/Daycare.asm15
-rwxr-xr-xdata/maps/objects/DiglettsCave.asm14
-rwxr-xr-xdata/maps/objects/DiglettsCaveRoute11.asm17
-rwxr-xr-xdata/maps/objects/DiglettsCaveRoute2.asm17
-rwxr-xr-xdata/maps/objects/FightingDojo.asm21
-rwxr-xr-xdata/maps/objects/FuchsiaBillsGrandpasHouse.asm17
-rwxr-xr-xdata/maps/objects/FuchsiaCity.asm52
-rwxr-xr-xdata/maps/objects/FuchsiaGoodRodHouse.asm17
-rwxr-xr-xdata/maps/objects/FuchsiaGym.asm22
-rwxr-xr-xdata/maps/objects/FuchsiaMart.asm17
-rwxr-xr-xdata/maps/objects/FuchsiaMeetingRoom.asm17
-rwxr-xr-xdata/maps/objects/FuchsiaPokecenter.asm18
-rwxr-xr-xdata/maps/objects/GameCorner.asm28
-rwxr-xr-xdata/maps/objects/GameCornerPrizeRoom.asm19
-rwxr-xr-xdata/maps/objects/HallOfFame.asm15
-rwxr-xr-xdata/maps/objects/IndigoPlateau.asm14
-rwxr-xr-xdata/maps/objects/IndigoPlateauLobby.asm21
-rwxr-xr-xdata/maps/objects/LancesRoom.asm17
-rwxr-xr-xdata/maps/objects/LavenderCuboneHouse.asm16
-rwxr-xr-xdata/maps/objects/LavenderMart.asm17
-rwxr-xr-xdata/maps/objects/LavenderPokecenter.asm18
-rwxr-xr-xdata/maps/objects/LavenderTown.asm31
-rwxr-xr-xdata/maps/objects/LoreleisRoom.asm19
-rwxr-xr-xdata/maps/objects/MrFujisHouse.asm20
-rwxr-xr-xdata/maps/objects/MrPsychicsHouse.asm15
-rwxr-xr-xdata/maps/objects/MtMoon1F.asm34
-rwxr-xr-xdata/maps/objects/MtMoonB1F.asm26
-rwxr-xr-xdata/maps/objects/MtMoonB2F.asm27
-rwxr-xr-xdata/maps/objects/MtMoonPokecenter.asm20
-rwxr-xr-xdata/maps/objects/Museum1F.asm25
-rwxr-xr-xdata/maps/objects/Museum2F.asm19
-rwxr-xr-xdata/maps/objects/NameRatersHouse.asm15
-rwxr-xr-xdata/maps/objects/OaksLab.asm25
-rwxr-xr-xdata/maps/objects/PalletTown.asm23
-rwxr-xr-xdata/maps/objects/PewterCity.asm36
-rwxr-xr-xdata/maps/objects/PewterGym.asm17
-rwxr-xr-xdata/maps/objects/PewterMart.asm17
-rwxr-xr-xdata/maps/objects/PewterNidoranHouse.asm17
-rwxr-xr-xdata/maps/objects/PewterPokecenter.asm18
-rwxr-xr-xdata/maps/objects/PewterSpeechHouse.asm16
-rwxr-xr-xdata/maps/objects/PokemonFanClub.asm22
-rwxr-xr-xdata/maps/objects/PokemonMansion1F.asm29
-rwxr-xr-xdata/maps/objects/PokemonMansion2F.asm22
-rwxr-xr-xdata/maps/objects/PokemonMansion3F.asm21
-rwxr-xr-xdata/maps/objects/PokemonMansionB1F.asm20
-rwxr-xr-xdata/maps/objects/PokemonTower1F.asm21
-rwxr-xr-xdata/maps/objects/PokemonTower2F.asm16
-rwxr-xr-xdata/maps/objects/PokemonTower3F.asm18
-rwxr-xr-xdata/maps/objects/PokemonTower4F.asm20
-rwxr-xr-xdata/maps/objects/PokemonTower5F.asm20
-rwxr-xr-xdata/maps/objects/PokemonTower6F.asm19
-rwxr-xr-xdata/maps/objects/PokemonTower7F.asm16
-rwxr-xr-xdata/maps/objects/PowerPlant.asm30
-rwxr-xr-xdata/maps/objects/RedsHouse1F.asm18
-rwxr-xr-xdata/maps/objects/RedsHouse2F.asm12
-rwxr-xr-xdata/maps/objects/RockTunnel1F.asm34
-rwxr-xr-xdata/maps/objects/RockTunnelB1F.asm26
-rwxr-xr-xdata/maps/objects/RockTunnelPokecenter.asm18
-rwxr-xr-xdata/maps/objects/RocketHideoutB1F.asm27
-rwxr-xr-xdata/maps/objects/RocketHideoutB2F.asm25
-rwxr-xr-xdata/maps/objects/RocketHideoutB3F.asm18
-rwxr-xr-xdata/maps/objects/RocketHideoutB4F.asm25
-rwxr-xr-xdata/maps/objects/RocketHideoutElevator.asm15
-rwxr-xr-xdata/maps/objects/Route1.asm14
-rwxr-xr-xdata/maps/objects/Route10.asm28
-rwxr-xr-xdata/maps/objects/Route11.asm31
-rwxr-xr-xdata/maps/objects/Route11Gate1F.asm21
-rwxr-xr-xdata/maps/objects/Route11Gate2F.asm16
-rwxr-xr-xdata/maps/objects/Route12.asm30
-rwxr-xr-xdata/maps/objects/Route12Gate1F.asm21
-rwxr-xr-xdata/maps/objects/Route12Gate2F.asm15
-rwxr-xr-xdata/maps/objects/Route12SuperRodHouse.asm15
-rwxr-xr-xdata/maps/objects/Route13.asm21
-rwxr-xr-xdata/maps/objects/Route14.asm19
-rwxr-xr-xdata/maps/objects/Route15.asm30
-rwxr-xr-xdata/maps/objects/Route15Gate1F.asm21
-rwxr-xr-xdata/maps/objects/Route15Gate2F.asm14
-rwxr-xr-xdata/maps/objects/Route16.asm37
-rwxr-xr-xdata/maps/objects/Route16FlyHouse.asm16
-rwxr-xr-xdata/maps/objects/Route16Gate1F.asm30
-rwxr-xr-xdata/maps/objects/Route16Gate2F.asm16
-rwxr-xr-xdata/maps/objects/Route17.asm24
-rwxr-xr-xdata/maps/objects/Route18.asm23
-rwxr-xr-xdata/maps/objects/Route18Gate1F.asm21
-rwxr-xr-xdata/maps/objects/Route18Gate2F.asm15
-rwxr-xr-xdata/maps/objects/Route19.asm21
-rwxr-xr-xdata/maps/objects/Route2.asm33
-rwxr-xr-xdata/maps/objects/Route20.asm26
-rwxr-xr-xdata/maps/objects/Route21.asm17
-rwxr-xr-xdata/maps/objects/Route22.asm15
-rwxr-xr-xdata/maps/objects/Route22Gate.asm19
-rwxr-xr-xdata/maps/objects/Route23.asm26
-rwxr-xr-xdata/maps/objects/Route24.asm16
-rwxr-xr-xdata/maps/objects/Route25.asm23
-rwxr-xr-xdata/maps/objects/Route2Gate.asm20
-rwxr-xr-xdata/maps/objects/Route2TradeHouse.asm16
-rwxr-xr-xdata/maps/objects/Route3.asm18
-rwxr-xr-xdata/maps/objects/Route4.asm22
-rwxr-xr-xdata/maps/objects/Route5.asm21
-rwxr-xr-xdata/maps/objects/Route5Gate.asm19
-rwxr-xr-xdata/maps/objects/Route6.asm25
-rwxr-xr-xdata/maps/objects/Route6Gate.asm19
-rwxr-xr-xdata/maps/objects/Route7.asm21
-rwxr-xr-xdata/maps/objects/Route7Gate.asm19
-rwxr-xr-xdata/maps/objects/Route8.asm30
-rwxr-xr-xdata/maps/objects/Route8Gate.asm19
-rwxr-xr-xdata/maps/objects/Route9.asm19
-rwxr-xr-xdata/maps/objects/SSAnne1F.asm34
-rwxr-xr-xdata/maps/objects/SSAnne1FRooms.asm33
-rwxr-xr-xdata/maps/objects/SSAnne2F.asm30
-rwxr-xr-xdata/maps/objects/SSAnne2FRooms.asm47
-rwxr-xr-xdata/maps/objects/SSAnne3F.asm15
-rwxr-xr-xdata/maps/objects/SSAnneB1F.asm22
-rwxr-xr-xdata/maps/objects/SSAnneB1FRooms.asm41
-rwxr-xr-xdata/maps/objects/SSAnneBow.asm19
-rwxr-xr-xdata/maps/objects/SSAnneCaptainsRoom.asm15
-rwxr-xr-xdata/maps/objects/SSAnneKitchen.asm19
-rwxr-xr-xdata/maps/objects/SafariZoneCenter.asm31
-rwxr-xr-xdata/maps/objects/SafariZoneCenterRestHouse.asm16
-rwxr-xr-xdata/maps/objects/SafariZoneEast.asm27
-rwxr-xr-xdata/maps/objects/SafariZoneEastRestHouse.asm17
-rwxr-xr-xdata/maps/objects/SafariZoneGate.asm20
-rwxr-xr-xdata/maps/objects/SafariZoneNorth.asm35
-rwxr-xr-xdata/maps/objects/SafariZoneNorthRestHouse.asm17
-rwxr-xr-xdata/maps/objects/SafariZoneSecretHouse.asm15
-rwxr-xr-xdata/maps/objects/SafariZoneWest.asm34
-rwxr-xr-xdata/maps/objects/SafariZoneWestRestHouse.asm17
-rwxr-xr-xdata/maps/objects/SaffronCity.asm51
-rwxr-xr-xdata/maps/objects/SaffronGym.asm83
-rwxr-xr-xdata/maps/objects/SaffronMart.asm17
-rwxr-xr-xdata/maps/objects/SaffronPidgeyHouse.asm18
-rwxr-xr-xdata/maps/objects/SaffronPokecenter.asm18
-rwxr-xr-xdata/maps/objects/SeafoamIslands1F.asm30
-rwxr-xr-xdata/maps/objects/SeafoamIslandsB1F.asm26
-rwxr-xr-xdata/maps/objects/SeafoamIslandsB2F.asm26
-rwxr-xr-xdata/maps/objects/SeafoamIslandsB3F.asm30
-rwxr-xr-xdata/maps/objects/SeafoamIslandsB4F.asm23
-rwxr-xr-xdata/maps/objects/SilphCo10F.asm28
-rwxr-xr-xdata/maps/objects/SilphCo11F.asm23
-rwxr-xr-xdata/maps/objects/SilphCo1F.asm21
-rwxr-xr-xdata/maps/objects/SilphCo2F.asm29
-rwxr-xr-xdata/maps/objects/SilphCo3F.asm34
-rwxr-xr-xdata/maps/objects/SilphCo4F.asm31
-rwxr-xr-xdata/maps/objects/SilphCo5F.asm35
-rwxr-xr-xdata/maps/objects/SilphCo6F.asm30
-rwxr-xr-xdata/maps/objects/SilphCo7F.asm33
-rwxr-xr-xdata/maps/objects/SilphCo8F.asm28
-rwxr-xr-xdata/maps/objects/SilphCo9F.asm24
-rwxr-xr-xdata/maps/objects/SilphCoElevator.asm15
-rwxr-xr-xdata/maps/objects/TradeCenter.asm9
-rwxr-xr-xdata/maps/objects/UndergroundPathNorthSouth.asm14
-rwxr-xr-xdata/maps/objects/UndergroundPathRoute5.asm17
-rwxr-xr-xdata/maps/objects/UndergroundPathRoute6.asm17
-rwxr-xr-xdata/maps/objects/UndergroundPathRoute7.asm17
-rwxr-xr-xdata/maps/objects/UndergroundPathRoute7Copy.asm18
-rwxr-xr-xdata/maps/objects/UndergroundPathRoute8.asm17
-rwxr-xr-xdata/maps/objects/UndergroundPathWestEast.asm14
-rwxr-xr-xdata/maps/objects/VermilionCity.asm41
-rwxr-xr-xdata/maps/objects/VermilionDock.asm14
-rwxr-xr-xdata/maps/objects/VermilionGym.asm19
-rwxr-xr-xdata/maps/objects/VermilionMart.asm17
-rwxr-xr-xdata/maps/objects/VermilionOldRodHouse.asm15
-rwxr-xr-xdata/maps/objects/VermilionPidgeyHouse.asm17
-rwxr-xr-xdata/maps/objects/VermilionPokecenter.asm18
-rwxr-xr-xdata/maps/objects/VermilionTradeHouse.asm15
-rwxr-xr-xdata/maps/objects/VictoryRoad1F.asm23
-rwxr-xr-xdata/maps/objects/VictoryRoad2F.asm37
-rwxr-xr-xdata/maps/objects/VictoryRoad3F.asm28
-rwxr-xr-xdata/maps/objects/ViridianCity.asm33
-rwxr-xr-xdata/maps/objects/ViridianForest.asm36
-rwxr-xr-xdata/maps/objects/ViridianForestNorthGate.asm20
-rwxr-xr-xdata/maps/objects/ViridianForestSouthGate.asm20
-rwxr-xr-xdata/maps/objects/ViridianGym.asm25
-rwxr-xr-xdata/maps/objects/ViridianMart.asm17
-rwxr-xr-xdata/maps/objects/ViridianNicknameHouse.asm18
-rwxr-xr-xdata/maps/objects/ViridianPokecenter.asm18
-rwxr-xr-xdata/maps/objects/ViridianSchoolHouse.asm16
-rwxr-xr-xdata/maps/objects/WardensHouse.asm19
446 files changed, 5700 insertions, 0 deletions
diff --git a/data/maps/headers/AgathasRoom.asm b/data/maps/headers/AgathasRoom.asm
new file mode 100755
index 00000000..d04e0cfd
--- /dev/null
+++ b/data/maps/headers/AgathasRoom.asm
@@ -0,0 +1,3 @@
+
+ map_header AgathasRoom, AGATHAS_ROOM, CEMETERY, 0
+ end_map_header
diff --git a/data/maps/headers/BikeShop.asm b/data/maps/headers/BikeShop.asm
new file mode 100755
index 00000000..b4b520e2
--- /dev/null
+++ b/data/maps/headers/BikeShop.asm
@@ -0,0 +1,3 @@
+
+ map_header BikeShop, BIKE_SHOP, CLUB, 0
+ end_map_header
diff --git a/data/maps/headers/BillsHouse.asm b/data/maps/headers/BillsHouse.asm
new file mode 100755
index 00000000..6063175d
--- /dev/null
+++ b/data/maps/headers/BillsHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header BillsHouse, BILLS_HOUSE, INTERIOR, 0
+ end_map_header
diff --git a/data/maps/headers/BluesHouse.asm b/data/maps/headers/BluesHouse.asm
new file mode 100755
index 00000000..33cee254
--- /dev/null
+++ b/data/maps/headers/BluesHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header BluesHouse, BLUES_HOUSE, HOUSE, 0
+ end_map_header
diff --git a/data/maps/headers/BrunosRoom.asm b/data/maps/headers/BrunosRoom.asm
new file mode 100755
index 00000000..a0b2d4fd
--- /dev/null
+++ b/data/maps/headers/BrunosRoom.asm
@@ -0,0 +1,3 @@
+
+ map_header BrunosRoom, BRUNOS_ROOM, GYM, 0
+ end_map_header
diff --git a/data/maps/headers/CeladonChiefHouse.asm b/data/maps/headers/CeladonChiefHouse.asm
new file mode 100755
index 00000000..34f17273
--- /dev/null
+++ b/data/maps/headers/CeladonChiefHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header CeladonChiefHouse, CELADON_CHIEF_HOUSE, MANSION, 0
+ end_map_header
diff --git a/data/maps/headers/CeladonCity.asm b/data/maps/headers/CeladonCity.asm
new file mode 100755
index 00000000..6faa6f48
--- /dev/null
+++ b/data/maps/headers/CeladonCity.asm
@@ -0,0 +1,5 @@
+
+ map_header CeladonCity, CELADON_CITY, OVERWORLD, WEST | EAST
+ connection west, Route16, ROUTE_16, 4
+ connection east, Route7, ROUTE_7, 4
+ end_map_header
diff --git a/data/maps/headers/CeladonDiner.asm b/data/maps/headers/CeladonDiner.asm
new file mode 100755
index 00000000..b18d9633
--- /dev/null
+++ b/data/maps/headers/CeladonDiner.asm
@@ -0,0 +1,3 @@
+
+ map_header CeladonDiner, CELADON_DINER, LOBBY, 0
+ end_map_header
diff --git a/data/maps/headers/CeladonGym.asm b/data/maps/headers/CeladonGym.asm
new file mode 100755
index 00000000..2302c65a
--- /dev/null
+++ b/data/maps/headers/CeladonGym.asm
@@ -0,0 +1,3 @@
+
+ map_header CeladonGym, CELADON_GYM, GYM, 0
+ end_map_header
diff --git a/data/maps/headers/CeladonHotel.asm b/data/maps/headers/CeladonHotel.asm
new file mode 100755
index 00000000..2339c14d
--- /dev/null
+++ b/data/maps/headers/CeladonHotel.asm
@@ -0,0 +1,3 @@
+
+ map_header CeladonHotel, CELADON_HOTEL, POKECENTER, 0
+ end_map_header
diff --git a/data/maps/headers/CeladonMansion1F.asm b/data/maps/headers/CeladonMansion1F.asm
new file mode 100755
index 00000000..45970028
--- /dev/null
+++ b/data/maps/headers/CeladonMansion1F.asm
@@ -0,0 +1,3 @@
+
+ map_header CeladonMansion1F, CELADON_MANSION_1F, MANSION, 0
+ end_map_header
diff --git a/data/maps/headers/CeladonMansion2F.asm b/data/maps/headers/CeladonMansion2F.asm
new file mode 100755
index 00000000..d5e3e77b
--- /dev/null
+++ b/data/maps/headers/CeladonMansion2F.asm
@@ -0,0 +1,3 @@
+
+ map_header CeladonMansion2F, CELADON_MANSION_2F, MANSION, 0
+ end_map_header
diff --git a/data/maps/headers/CeladonMansion3F.asm b/data/maps/headers/CeladonMansion3F.asm
new file mode 100755
index 00000000..7566caad
--- /dev/null
+++ b/data/maps/headers/CeladonMansion3F.asm
@@ -0,0 +1,3 @@
+
+ map_header CeladonMansion3F, CELADON_MANSION_3F, MANSION, 0
+ end_map_header
diff --git a/data/maps/headers/CeladonMansionRoof.asm b/data/maps/headers/CeladonMansionRoof.asm
new file mode 100755
index 00000000..9cbae6f6
--- /dev/null
+++ b/data/maps/headers/CeladonMansionRoof.asm
@@ -0,0 +1,3 @@
+
+ map_header CeladonMansionRoof, CELADON_MANSION_ROOF, MANSION, 0
+ end_map_header
diff --git a/data/maps/headers/CeladonMansionRoofHouse.asm b/data/maps/headers/CeladonMansionRoofHouse.asm
new file mode 100755
index 00000000..cb80fac8
--- /dev/null
+++ b/data/maps/headers/CeladonMansionRoofHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header CeladonMansionRoofHouse, CELADON_MANSION_ROOF_HOUSE, HOUSE, 0
+ end_map_header
diff --git a/data/maps/headers/CeladonMart1F.asm b/data/maps/headers/CeladonMart1F.asm
new file mode 100755
index 00000000..30bd9ba9
--- /dev/null
+++ b/data/maps/headers/CeladonMart1F.asm
@@ -0,0 +1,3 @@
+
+ map_header CeladonMart1F, CELADON_MART_1F, LOBBY, 0
+ end_map_header
diff --git a/data/maps/headers/CeladonMart2F.asm b/data/maps/headers/CeladonMart2F.asm
new file mode 100755
index 00000000..d78dfe28
--- /dev/null
+++ b/data/maps/headers/CeladonMart2F.asm
@@ -0,0 +1,3 @@
+
+ map_header CeladonMart2F, CELADON_MART_2F, LOBBY, 0
+ end_map_header
diff --git a/data/maps/headers/CeladonMart3F.asm b/data/maps/headers/CeladonMart3F.asm
new file mode 100755
index 00000000..ad415eee
--- /dev/null
+++ b/data/maps/headers/CeladonMart3F.asm
@@ -0,0 +1,3 @@
+
+ map_header CeladonMart3F, CELADON_MART_3F, LOBBY, 0
+ end_map_header
diff --git a/data/maps/headers/CeladonMart4F.asm b/data/maps/headers/CeladonMart4F.asm
new file mode 100755
index 00000000..b9ce5b34
--- /dev/null
+++ b/data/maps/headers/CeladonMart4F.asm
@@ -0,0 +1,3 @@
+
+ map_header CeladonMart4F, CELADON_MART_4F, LOBBY, 0
+ end_map_header
diff --git a/data/maps/headers/CeladonMart5F.asm b/data/maps/headers/CeladonMart5F.asm
new file mode 100755
index 00000000..04d65b2b
--- /dev/null
+++ b/data/maps/headers/CeladonMart5F.asm
@@ -0,0 +1,3 @@
+
+ map_header CeladonMart5F, CELADON_MART_5F, LOBBY, 0
+ end_map_header
diff --git a/data/maps/headers/CeladonMartElevator.asm b/data/maps/headers/CeladonMartElevator.asm
new file mode 100755
index 00000000..2a98ccb0
--- /dev/null
+++ b/data/maps/headers/CeladonMartElevator.asm
@@ -0,0 +1,3 @@
+
+ map_header CeladonMartElevator, CELADON_MART_ELEVATOR, LOBBY, 0
+ end_map_header
diff --git a/data/maps/headers/CeladonMartRoof.asm b/data/maps/headers/CeladonMartRoof.asm
new file mode 100755
index 00000000..823ff25f
--- /dev/null
+++ b/data/maps/headers/CeladonMartRoof.asm
@@ -0,0 +1,3 @@
+
+ map_header CeladonMartRoof, CELADON_MART_ROOF, LOBBY, 0
+ end_map_header
diff --git a/data/maps/headers/CeladonPokecenter.asm b/data/maps/headers/CeladonPokecenter.asm
new file mode 100755
index 00000000..378a41ec
--- /dev/null
+++ b/data/maps/headers/CeladonPokecenter.asm
@@ -0,0 +1,3 @@
+
+ map_header CeladonPokecenter, CELADON_POKECENTER, POKECENTER, 0
+ end_map_header
diff --git a/data/maps/headers/CeruleanBadgeHouse.asm b/data/maps/headers/CeruleanBadgeHouse.asm
new file mode 100755
index 00000000..47a97b14
--- /dev/null
+++ b/data/maps/headers/CeruleanBadgeHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header CeruleanBadgeHouse, CERULEAN_BADGE_HOUSE, SHIP, 0
+ end_map_header
diff --git a/data/maps/headers/CeruleanCave1F.asm b/data/maps/headers/CeruleanCave1F.asm
new file mode 100755
index 00000000..7c80bbeb
--- /dev/null
+++ b/data/maps/headers/CeruleanCave1F.asm
@@ -0,0 +1,3 @@
+
+ map_header CeruleanCave1F, CERULEAN_CAVE_1F, CAVERN, 0
+ end_map_header
diff --git a/data/maps/headers/CeruleanCave2F.asm b/data/maps/headers/CeruleanCave2F.asm
new file mode 100755
index 00000000..353e265b
--- /dev/null
+++ b/data/maps/headers/CeruleanCave2F.asm
@@ -0,0 +1,3 @@
+
+ map_header CeruleanCave2F, CERULEAN_CAVE_2F, CAVERN, 0
+ end_map_header
diff --git a/data/maps/headers/CeruleanCaveB1F.asm b/data/maps/headers/CeruleanCaveB1F.asm
new file mode 100755
index 00000000..d759aa6b
--- /dev/null
+++ b/data/maps/headers/CeruleanCaveB1F.asm
@@ -0,0 +1,3 @@
+
+ map_header CeruleanCaveB1F, CERULEAN_CAVE_B1F, CAVERN, 0
+ end_map_header
diff --git a/data/maps/headers/CeruleanCity.asm b/data/maps/headers/CeruleanCity.asm
new file mode 100755
index 00000000..c925713c
--- /dev/null
+++ b/data/maps/headers/CeruleanCity.asm
@@ -0,0 +1,7 @@
+
+ map_header CeruleanCity, CERULEAN_CITY, OVERWORLD, NORTH | SOUTH | WEST | EAST
+ connection north, Route24, ROUTE_24, 5
+ connection south, Route5, ROUTE_5, 5
+ connection west, Route4, ROUTE_4, 4
+ connection east, Route9, ROUTE_9, 4
+ end_map_header
diff --git a/data/maps/headers/CeruleanGym.asm b/data/maps/headers/CeruleanGym.asm
new file mode 100755
index 00000000..b1010ac3
--- /dev/null
+++ b/data/maps/headers/CeruleanGym.asm
@@ -0,0 +1,3 @@
+
+ map_header CeruleanGym, CERULEAN_GYM, GYM, 0
+ end_map_header
diff --git a/data/maps/headers/CeruleanMart.asm b/data/maps/headers/CeruleanMart.asm
new file mode 100755
index 00000000..2ee31666
--- /dev/null
+++ b/data/maps/headers/CeruleanMart.asm
@@ -0,0 +1,3 @@
+
+ map_header CeruleanMart, CERULEAN_MART, MART, 0
+ end_map_header
diff --git a/data/maps/headers/CeruleanPokecenter.asm b/data/maps/headers/CeruleanPokecenter.asm
new file mode 100755
index 00000000..b79e7aff
--- /dev/null
+++ b/data/maps/headers/CeruleanPokecenter.asm
@@ -0,0 +1,3 @@
+
+ map_header CeruleanPokecenter, CERULEAN_POKECENTER, POKECENTER, 0
+ end_map_header
diff --git a/data/maps/headers/CeruleanTradeHouse.asm b/data/maps/headers/CeruleanTradeHouse.asm
new file mode 100755
index 00000000..20970b77
--- /dev/null
+++ b/data/maps/headers/CeruleanTradeHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header CeruleanTradeHouse, CERULEAN_TRADE_HOUSE, HOUSE, 0
+ end_map_header
diff --git a/data/maps/headers/CeruleanTrashedHouse.asm b/data/maps/headers/CeruleanTrashedHouse.asm
new file mode 100755
index 00000000..192a4195
--- /dev/null
+++ b/data/maps/headers/CeruleanTrashedHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header CeruleanTrashedHouse, CERULEAN_TRASHED_HOUSE, HOUSE, 0
+ end_map_header
diff --git a/data/maps/headers/ChampionsRoom.asm b/data/maps/headers/ChampionsRoom.asm
new file mode 100755
index 00000000..aadc70a6
--- /dev/null
+++ b/data/maps/headers/ChampionsRoom.asm
@@ -0,0 +1,3 @@
+
+ map_header ChampionsRoom, CHAMPIONS_ROOM, GYM, $0
+ end_map_header
diff --git a/data/maps/headers/CinnabarGym.asm b/data/maps/headers/CinnabarGym.asm
new file mode 100755
index 00000000..cc6dc1d7
--- /dev/null
+++ b/data/maps/headers/CinnabarGym.asm
@@ -0,0 +1,3 @@
+
+ map_header CinnabarGym, CINNABAR_GYM, FACILITY, 0
+ end_map_header
diff --git a/data/maps/headers/CinnabarIsland.asm b/data/maps/headers/CinnabarIsland.asm
new file mode 100755
index 00000000..a94498be
--- /dev/null
+++ b/data/maps/headers/CinnabarIsland.asm
@@ -0,0 +1,5 @@
+
+ map_header CinnabarIsland, CINNABAR_ISLAND, OVERWORLD, NORTH | EAST
+ connection north, Route21, ROUTE_21, 0
+ connection east, Route20, ROUTE_20, 0
+ end_map_header
diff --git a/data/maps/headers/CinnabarLab.asm b/data/maps/headers/CinnabarLab.asm
new file mode 100755
index 00000000..e8081e75
--- /dev/null
+++ b/data/maps/headers/CinnabarLab.asm
@@ -0,0 +1,3 @@
+
+ map_header CinnabarLab, CINNABAR_LAB, LAB, 0
+ end_map_header
diff --git a/data/maps/headers/CinnabarLabFossilRoom.asm b/data/maps/headers/CinnabarLabFossilRoom.asm
new file mode 100755
index 00000000..3cb88437
--- /dev/null
+++ b/data/maps/headers/CinnabarLabFossilRoom.asm
@@ -0,0 +1,3 @@
+
+ map_header CinnabarLabFossilRoom, CINNABAR_LAB_FOSSIL_ROOM, LAB, 0
+ end_map_header
diff --git a/data/maps/headers/CinnabarLabMetronomeRoom.asm b/data/maps/headers/CinnabarLabMetronomeRoom.asm
new file mode 100755
index 00000000..d77338c8
--- /dev/null
+++ b/data/maps/headers/CinnabarLabMetronomeRoom.asm
@@ -0,0 +1,3 @@
+
+ map_header CinnabarLabMetronomeRoom, CINNABAR_LAB_METRONOME_ROOM, LAB, 0
+ end_map_header
diff --git a/data/maps/headers/CinnabarLabTradeRoom.asm b/data/maps/headers/CinnabarLabTradeRoom.asm
new file mode 100755
index 00000000..c23d9c15
--- /dev/null
+++ b/data/maps/headers/CinnabarLabTradeRoom.asm
@@ -0,0 +1,3 @@
+
+ map_header CinnabarLabTradeRoom, CINNABAR_LAB_TRADE_ROOM, LAB, 0
+ end_map_header
diff --git a/data/maps/headers/CinnabarMart.asm b/data/maps/headers/CinnabarMart.asm
new file mode 100755
index 00000000..c68d582a
--- /dev/null
+++ b/data/maps/headers/CinnabarMart.asm
@@ -0,0 +1,3 @@
+
+ map_header CinnabarMart, CINNABAR_MART, MART, 0
+ end_map_header
diff --git a/data/maps/headers/CinnabarPokecenter.asm b/data/maps/headers/CinnabarPokecenter.asm
new file mode 100755
index 00000000..d910133b
--- /dev/null
+++ b/data/maps/headers/CinnabarPokecenter.asm
@@ -0,0 +1,3 @@
+
+ map_header CinnabarPokecenter, CINNABAR_POKECENTER, POKECENTER, 0
+ end_map_header
diff --git a/data/maps/headers/Colosseum.asm b/data/maps/headers/Colosseum.asm
new file mode 100755
index 00000000..faf03eb4
--- /dev/null
+++ b/data/maps/headers/Colosseum.asm
@@ -0,0 +1,3 @@
+
+ map_header Colosseum, COLOSSEUM, CLUB, 0
+ end_map_header
diff --git a/data/maps/headers/CopycatsHouse1F.asm b/data/maps/headers/CopycatsHouse1F.asm
new file mode 100755
index 00000000..532cef93
--- /dev/null
+++ b/data/maps/headers/CopycatsHouse1F.asm
@@ -0,0 +1,3 @@
+
+ map_header CopycatsHouse1F, COPYCATS_HOUSE_1F, REDS_HOUSE_1, 0
+ end_map_header
diff --git a/data/maps/headers/CopycatsHouse2F.asm b/data/maps/headers/CopycatsHouse2F.asm
new file mode 100755
index 00000000..38b1fbbb
--- /dev/null
+++ b/data/maps/headers/CopycatsHouse2F.asm
@@ -0,0 +1,3 @@
+
+ map_header CopycatsHouse2F, COPYCATS_HOUSE_2F, REDS_HOUSE_2, 0
+ end_map_header
diff --git a/data/maps/headers/Daycare.asm b/data/maps/headers/Daycare.asm
new file mode 100755
index 00000000..dabeedd9
--- /dev/null
+++ b/data/maps/headers/Daycare.asm
@@ -0,0 +1,3 @@
+
+ map_header Daycare, DAYCARE, HOUSE, 0
+ end_map_header
diff --git a/data/maps/headers/DiglettsCave.asm b/data/maps/headers/DiglettsCave.asm
new file mode 100755
index 00000000..d3777d31
--- /dev/null
+++ b/data/maps/headers/DiglettsCave.asm
@@ -0,0 +1,3 @@
+
+ map_header DiglettsCave, DIGLETTS_CAVE, CAVERN, 0
+ end_map_header
diff --git a/data/maps/headers/DiglettsCaveRoute11.asm b/data/maps/headers/DiglettsCaveRoute11.asm
new file mode 100755
index 00000000..d8bdd704
--- /dev/null
+++ b/data/maps/headers/DiglettsCaveRoute11.asm
@@ -0,0 +1,3 @@
+
+ map_header DiglettsCaveRoute11, DIGLETTS_CAVE_ROUTE_11, CAVERN, 0
+ end_map_header
diff --git a/data/maps/headers/DiglettsCaveRoute2.asm b/data/maps/headers/DiglettsCaveRoute2.asm
new file mode 100755
index 00000000..86f5ae35
--- /dev/null
+++ b/data/maps/headers/DiglettsCaveRoute2.asm
@@ -0,0 +1,3 @@
+
+ map_header DiglettsCaveRoute2, DIGLETTS_CAVE_ROUTE_2, CAVERN, 0
+ end_map_header
diff --git a/data/maps/headers/FightingDojo.asm b/data/maps/headers/FightingDojo.asm
new file mode 100755
index 00000000..7ecadc57
--- /dev/null
+++ b/data/maps/headers/FightingDojo.asm
@@ -0,0 +1,3 @@
+
+ map_header FightingDojo, FIGHTING_DOJO, DOJO, 0
+ end_map_header
diff --git a/data/maps/headers/FuchsiaBillsGrandpasHouse.asm b/data/maps/headers/FuchsiaBillsGrandpasHouse.asm
new file mode 100755
index 00000000..10ba48e9
--- /dev/null
+++ b/data/maps/headers/FuchsiaBillsGrandpasHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header FuchsiaBillsGrandpasHouse, FUCHSIA_BILLS_GRANDPAS_HOUSE, HOUSE, 0
+ end_map_header
diff --git a/data/maps/headers/FuchsiaCity.asm b/data/maps/headers/FuchsiaCity.asm
new file mode 100755
index 00000000..6028bce0
--- /dev/null
+++ b/data/maps/headers/FuchsiaCity.asm
@@ -0,0 +1,6 @@
+
+ map_header FuchsiaCity, FUCHSIA_CITY, OVERWORLD, SOUTH | WEST | EAST
+ connection south, Route19, ROUTE_19, 5
+ connection west, Route18, ROUTE_18, 4
+ connection east, Route15, ROUTE_15, 4
+ end_map_header
diff --git a/data/maps/headers/FuchsiaGoodRodHouse.asm b/data/maps/headers/FuchsiaGoodRodHouse.asm
new file mode 100755
index 00000000..d21611c1
--- /dev/null
+++ b/data/maps/headers/FuchsiaGoodRodHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header FuchsiaGoodRodHouse, FUCHSIA_GOOD_ROD_HOUSE, SHIP, 0
+ end_map_header
diff --git a/data/maps/headers/FuchsiaGym.asm b/data/maps/headers/FuchsiaGym.asm
new file mode 100755
index 00000000..44be2971
--- /dev/null
+++ b/data/maps/headers/FuchsiaGym.asm
@@ -0,0 +1,3 @@
+
+ map_header FuchsiaGym, FUCHSIA_GYM, GYM, 0
+ end_map_header
diff --git a/data/maps/headers/FuchsiaMart.asm b/data/maps/headers/FuchsiaMart.asm
new file mode 100755
index 00000000..120fe305
--- /dev/null
+++ b/data/maps/headers/FuchsiaMart.asm
@@ -0,0 +1,3 @@
+
+ map_header FuchsiaMart, FUCHSIA_MART, MART, 0
+ end_map_header
diff --git a/data/maps/headers/FuchsiaMeetingRoom.asm b/data/maps/headers/FuchsiaMeetingRoom.asm
new file mode 100755
index 00000000..a5ab4f04
--- /dev/null
+++ b/data/maps/headers/FuchsiaMeetingRoom.asm
@@ -0,0 +1,3 @@
+
+ map_header FuchsiaMeetingRoom, FUCHSIA_MEETING_ROOM, LAB, 0
+ end_map_header
diff --git a/data/maps/headers/FuchsiaPokecenter.asm b/data/maps/headers/FuchsiaPokecenter.asm
new file mode 100755
index 00000000..c1c683bd
--- /dev/null
+++ b/data/maps/headers/FuchsiaPokecenter.asm
@@ -0,0 +1,3 @@
+
+ map_header FuchsiaPokecenter, FUCHSIA_POKECENTER, POKECENTER, 0
+ end_map_header
diff --git a/data/maps/headers/GameCorner.asm b/data/maps/headers/GameCorner.asm
new file mode 100755
index 00000000..ad367b93
--- /dev/null
+++ b/data/maps/headers/GameCorner.asm
@@ -0,0 +1,3 @@
+
+ map_header GameCorner, GAME_CORNER, LOBBY, 0
+ end_map_header
diff --git a/data/maps/headers/GameCornerPrizeRoom.asm b/data/maps/headers/GameCornerPrizeRoom.asm
new file mode 100755
index 00000000..4668cbb8
--- /dev/null
+++ b/data/maps/headers/GameCornerPrizeRoom.asm
@@ -0,0 +1,3 @@
+
+ map_header GameCornerPrizeRoom, GAME_CORNER_PRIZE_ROOM, LOBBY, 0
+ end_map_header
diff --git a/data/maps/headers/HallOfFame.asm b/data/maps/headers/HallOfFame.asm
new file mode 100755
index 00000000..e2dc3fb3
--- /dev/null
+++ b/data/maps/headers/HallOfFame.asm
@@ -0,0 +1,3 @@
+
+ map_header HallOfFame, HALL_OF_FAME, GYM, 0
+ end_map_header
diff --git a/data/maps/headers/IndigoPlateau.asm b/data/maps/headers/IndigoPlateau.asm
new file mode 100755
index 00000000..ff394dfe
--- /dev/null
+++ b/data/maps/headers/IndigoPlateau.asm
@@ -0,0 +1,4 @@
+
+ map_header IndigoPlateau, INDIGO_PLATEAU, PLATEAU, SOUTH
+ connection south, Route23, ROUTE_23, 0
+ end_map_header
diff --git a/data/maps/headers/IndigoPlateauLobby.asm b/data/maps/headers/IndigoPlateauLobby.asm
new file mode 100755
index 00000000..b13afa12
--- /dev/null
+++ b/data/maps/headers/IndigoPlateauLobby.asm
@@ -0,0 +1,3 @@
+
+ map_header IndigoPlateauLobby, INDIGO_PLATEAU_LOBBY, MART, 0
+ end_map_header
diff --git a/data/maps/headers/LancesRoom.asm b/data/maps/headers/LancesRoom.asm
new file mode 100755
index 00000000..0b69970e
--- /dev/null
+++ b/data/maps/headers/LancesRoom.asm
@@ -0,0 +1,3 @@
+
+ map_header LancesRoom, LANCES_ROOM, DOJO, 0
+ end_map_header
diff --git a/data/maps/headers/LavenderCuboneHouse.asm b/data/maps/headers/LavenderCuboneHouse.asm
new file mode 100755
index 00000000..dfd38ff1
--- /dev/null
+++ b/data/maps/headers/LavenderCuboneHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header LavenderCuboneHouse, LAVENDER_CUBONE_HOUSE, HOUSE, 0
+ end_map_header
diff --git a/data/maps/headers/LavenderMart.asm b/data/maps/headers/LavenderMart.asm
new file mode 100755
index 00000000..82c239e6
--- /dev/null
+++ b/data/maps/headers/LavenderMart.asm
@@ -0,0 +1,3 @@
+
+ map_header LavenderMart, LAVENDER_MART, MART, 0
+ end_map_header
diff --git a/data/maps/headers/LavenderPokecenter.asm b/data/maps/headers/LavenderPokecenter.asm
new file mode 100755
index 00000000..c0cd0adf
--- /dev/null
+++ b/data/maps/headers/LavenderPokecenter.asm
@@ -0,0 +1,3 @@
+
+ map_header LavenderPokecenter, LAVENDER_POKECENTER, POKECENTER, 0
+ end_map_header
diff --git a/data/maps/headers/LavenderTown.asm b/data/maps/headers/LavenderTown.asm
new file mode 100755
index 00000000..7c1c9c46
--- /dev/null
+++ b/data/maps/headers/LavenderTown.asm
@@ -0,0 +1,6 @@
+
+ map_header LavenderTown, LAVENDER_TOWN, OVERWORLD, NORTH | SOUTH | WEST
+ connection north, Route10, ROUTE_10, 0
+ connection south, Route12, ROUTE_12, 0
+ connection west, Route8, ROUTE_8, 0
+ end_map_header
diff --git a/data/maps/headers/LoreleisRoom.asm b/data/maps/headers/LoreleisRoom.asm
new file mode 100755
index 00000000..feff946c
--- /dev/null
+++ b/data/maps/headers/LoreleisRoom.asm
@@ -0,0 +1,3 @@
+
+ map_header LoreleisRoom, LORELEIS_ROOM, GYM, 0
+ end_map_header
diff --git a/data/maps/headers/MrFujisHouse.asm b/data/maps/headers/MrFujisHouse.asm
new file mode 100755
index 00000000..023cb501
--- /dev/null
+++ b/data/maps/headers/MrFujisHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header MrFujisHouse, MR_FUJIS_HOUSE, HOUSE, 0
+ end_map_header
diff --git a/data/maps/headers/MrPsychicsHouse.asm b/data/maps/headers/MrPsychicsHouse.asm
new file mode 100755
index 00000000..628db044
--- /dev/null
+++ b/data/maps/headers/MrPsychicsHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header MrPsychicsHouse, MR_PSYCHICS_HOUSE, HOUSE, 0
+ end_map_header
diff --git a/data/maps/headers/MtMoon1F.asm b/data/maps/headers/MtMoon1F.asm
new file mode 100755
index 00000000..8de2be3e
--- /dev/null
+++ b/data/maps/headers/MtMoon1F.asm
@@ -0,0 +1,3 @@
+
+ map_header MtMoon1F, MT_MOON_1F, CAVERN, 0
+ end_map_header
diff --git a/data/maps/headers/MtMoonB1F.asm b/data/maps/headers/MtMoonB1F.asm
new file mode 100755
index 00000000..9c97b5c7
--- /dev/null
+++ b/data/maps/headers/MtMoonB1F.asm
@@ -0,0 +1,3 @@
+
+ map_header MtMoonB1F, MT_MOON_B1F, CAVERN, 0
+ end_map_header
diff --git a/data/maps/headers/MtMoonB2F.asm b/data/maps/headers/MtMoonB2F.asm
new file mode 100755
index 00000000..0ed1f96e
--- /dev/null
+++ b/data/maps/headers/MtMoonB2F.asm
@@ -0,0 +1,3 @@
+
+ map_header MtMoonB2F, MT_MOON_B2F, CAVERN, 0
+ end_map_header
diff --git a/data/maps/headers/MtMoonPokecenter.asm b/data/maps/headers/MtMoonPokecenter.asm
new file mode 100755
index 00000000..0425eae7
--- /dev/null
+++ b/data/maps/headers/MtMoonPokecenter.asm
@@ -0,0 +1,3 @@
+
+ map_header MtMoonPokecenter, MT_MOON_POKECENTER, POKECENTER, 0
+ end_map_header
diff --git a/data/maps/headers/Museum1F.asm b/data/maps/headers/Museum1F.asm
new file mode 100755
index 00000000..d92176d2
--- /dev/null
+++ b/data/maps/headers/Museum1F.asm
@@ -0,0 +1,3 @@
+
+ map_header Museum1F, MUSEUM_1F, MUSEUM, 0
+ end_map_header
diff --git a/data/maps/headers/Museum2F.asm b/data/maps/headers/Museum2F.asm
new file mode 100755
index 00000000..d5bf8918
--- /dev/null
+++ b/data/maps/headers/Museum2F.asm
@@ -0,0 +1,3 @@
+
+ map_header Museum2F, MUSEUM_2F, MUSEUM, 0
+ end_map_header
diff --git a/data/maps/headers/NameRatersHouse.asm b/data/maps/headers/NameRatersHouse.asm
new file mode 100755
index 00000000..3f9010f0
--- /dev/null
+++ b/data/maps/headers/NameRatersHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header NameRatersHouse, NAME_RATERS_HOUSE, HOUSE, 0
+ end_map_header
diff --git a/data/maps/headers/OaksLab.asm b/data/maps/headers/OaksLab.asm
new file mode 100755
index 00000000..42bb76e8
--- /dev/null
+++ b/data/maps/headers/OaksLab.asm
@@ -0,0 +1,3 @@
+
+ map_header OaksLab, OAKS_LAB, DOJO, 0
+ end_map_header
diff --git a/data/maps/headers/PalletTown.asm b/data/maps/headers/PalletTown.asm
new file mode 100755
index 00000000..2745bdc1
--- /dev/null
+++ b/data/maps/headers/PalletTown.asm
@@ -0,0 +1,5 @@
+
+ map_header PalletTown, PALLET_TOWN, OVERWORLD, NORTH | SOUTH
+ connection north, Route1, ROUTE_1, 0
+ connection south, Route21, ROUTE_21, 0
+ end_map_header
diff --git a/data/maps/headers/PewterCity.asm b/data/maps/headers/PewterCity.asm
new file mode 100755
index 00000000..268adb7a
--- /dev/null
+++ b/data/maps/headers/PewterCity.asm
@@ -0,0 +1,5 @@
+
+ map_header PewterCity, PEWTER_CITY, OVERWORLD, SOUTH | EAST
+ connection south, Route2, ROUTE_2, 5
+ connection east, Route3, ROUTE_3, 4
+ end_map_header
diff --git a/data/maps/headers/PewterGym.asm b/data/maps/headers/PewterGym.asm
new file mode 100755
index 00000000..a1659e42
--- /dev/null
+++ b/data/maps/headers/PewterGym.asm
@@ -0,0 +1,3 @@
+
+ map_header PewterGym, PEWTER_GYM, GYM, 0
+ end_map_header
diff --git a/data/maps/headers/PewterMart.asm b/data/maps/headers/PewterMart.asm
new file mode 100755
index 00000000..c9b24eb2
--- /dev/null
+++ b/data/maps/headers/PewterMart.asm
@@ -0,0 +1,3 @@
+
+ map_header PewterMart, PEWTER_MART, MART, 0
+ end_map_header
diff --git a/data/maps/headers/PewterNidoranHouse.asm b/data/maps/headers/PewterNidoranHouse.asm
new file mode 100755
index 00000000..ee2e46ca
--- /dev/null
+++ b/data/maps/headers/PewterNidoranHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header PewterNidoranHouse, PEWTER_NIDORAN_HOUSE, HOUSE, 0
+ end_map_header
diff --git a/data/maps/headers/PewterPokecenter.asm b/data/maps/headers/PewterPokecenter.asm
new file mode 100755
index 00000000..4e420bf8
--- /dev/null
+++ b/data/maps/headers/PewterPokecenter.asm
@@ -0,0 +1,3 @@
+
+ map_header PewterPokecenter, PEWTER_POKECENTER, POKECENTER, 0
+ end_map_header
diff --git a/data/maps/headers/PewterSpeechHouse.asm b/data/maps/headers/PewterSpeechHouse.asm
new file mode 100755
index 00000000..a378d61e
--- /dev/null
+++ b/data/maps/headers/PewterSpeechHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header PewterSpeechHouse, PEWTER_SPEECH_HOUSE, HOUSE, 0
+ end_map_header
diff --git a/data/maps/headers/PokemonFanClub.asm b/data/maps/headers/PokemonFanClub.asm
new file mode 100755
index 00000000..b4ff8e1c
--- /dev/null
+++ b/data/maps/headers/PokemonFanClub.asm
@@ -0,0 +1,3 @@
+
+ map_header PokemonFanClub, POKEMON_FAN_CLUB, INTERIOR, 0
+ end_map_header
diff --git a/data/maps/headers/PokemonMansion1F.asm b/data/maps/headers/PokemonMansion1F.asm
new file mode 100755
index 00000000..9407f956
--- /dev/null
+++ b/data/maps/headers/PokemonMansion1F.asm
@@ -0,0 +1,3 @@
+
+ map_header PokemonMansion1F, POKEMON_MANSION_1F, FACILITY, 0
+ end_map_header
diff --git a/data/maps/headers/PokemonMansion2F.asm b/data/maps/headers/PokemonMansion2F.asm
new file mode 100755
index 00000000..deb7c84f
--- /dev/null
+++ b/data/maps/headers/PokemonMansion2F.asm
@@ -0,0 +1,3 @@
+
+ map_header PokemonMansion2F, POKEMON_MANSION_2F, FACILITY, 0
+ end_map_header
diff --git a/data/maps/headers/PokemonMansion3F.asm b/data/maps/headers/PokemonMansion3F.asm
new file mode 100755
index 00000000..e4baa709
--- /dev/null
+++ b/data/maps/headers/PokemonMansion3F.asm
@@ -0,0 +1,3 @@
+
+ map_header PokemonMansion3F, POKEMON_MANSION_3F, FACILITY, 0
+ end_map_header
diff --git a/data/maps/headers/PokemonMansionB1F.asm b/data/maps/headers/PokemonMansionB1F.asm
new file mode 100755
index 00000000..0aae67e6
--- /dev/null
+++ b/data/maps/headers/PokemonMansionB1F.asm
@@ -0,0 +1,3 @@
+
+ map_header PokemonMansionB1F, POKEMON_MANSION_B1F, FACILITY, 0
+ end_map_header
diff --git a/data/maps/headers/PokemonTower1F.asm b/data/maps/headers/PokemonTower1F.asm
new file mode 100755
index 00000000..185fd2c0
--- /dev/null
+++ b/data/maps/headers/PokemonTower1F.asm
@@ -0,0 +1,3 @@
+
+ map_header PokemonTower1F, POKEMON_TOWER_1F, CEMETERY, 0
+ end_map_header
diff --git a/data/maps/headers/PokemonTower2F.asm b/data/maps/headers/PokemonTower2F.asm
new file mode 100755
index 00000000..5a6046c8
--- /dev/null
+++ b/data/maps/headers/PokemonTower2F.asm
@@ -0,0 +1,3 @@
+
+ map_header PokemonTower2F, POKEMON_TOWER_2F, CEMETERY, 0
+ end_map_header
diff --git a/data/maps/headers/PokemonTower3F.asm b/data/maps/headers/PokemonTower3F.asm
new file mode 100755
index 00000000..49ebc4e7
--- /dev/null
+++ b/data/maps/headers/PokemonTower3F.asm
@@ -0,0 +1,3 @@
+
+ map_header PokemonTower3F, POKEMON_TOWER_3F, CEMETERY, 0
+ end_map_header
diff --git a/data/maps/headers/PokemonTower4F.asm b/data/maps/headers/PokemonTower4F.asm
new file mode 100755
index 00000000..0eb9a0d6
--- /dev/null
+++ b/data/maps/headers/PokemonTower4F.asm
@@ -0,0 +1,3 @@
+
+ map_header PokemonTower4F, POKEMON_TOWER_4F, CEMETERY, 0
+ end_map_header
diff --git a/data/maps/headers/PokemonTower5F.asm b/data/maps/headers/PokemonTower5F.asm
new file mode 100755
index 00000000..e58c63c6
--- /dev/null
+++ b/data/maps/headers/PokemonTower5F.asm
@@ -0,0 +1,3 @@
+
+ map_header PokemonTower5F, POKEMON_TOWER_5F, CEMETERY, 0
+ end_map_header
diff --git a/data/maps/headers/PokemonTower6F.asm b/data/maps/headers/PokemonTower6F.asm
new file mode 100755
index 00000000..ba53347b
--- /dev/null
+++ b/data/maps/headers/PokemonTower6F.asm
@@ -0,0 +1,3 @@
+
+ map_header PokemonTower6F, POKEMON_TOWER_6F, CEMETERY, 0
+ end_map_header
diff --git a/data/maps/headers/PokemonTower7F.asm b/data/maps/headers/PokemonTower7F.asm
new file mode 100755
index 00000000..bd9f839b
--- /dev/null
+++ b/data/maps/headers/PokemonTower7F.asm
@@ -0,0 +1,3 @@
+
+ map_header PokemonTower7F, POKEMON_TOWER_7F, CEMETERY, 0
+ end_map_header
diff --git a/data/maps/headers/PowerPlant.asm b/data/maps/headers/PowerPlant.asm
new file mode 100755
index 00000000..88d82ae2
--- /dev/null
+++ b/data/maps/headers/PowerPlant.asm
@@ -0,0 +1,3 @@
+
+ map_header PowerPlant, POWER_PLANT, FACILITY, 0
+ end_map_header
diff --git a/data/maps/headers/RedsHouse1F.asm b/data/maps/headers/RedsHouse1F.asm
new file mode 100755
index 00000000..018bdc80
--- /dev/null
+++ b/data/maps/headers/RedsHouse1F.asm
@@ -0,0 +1,3 @@
+
+ map_header RedsHouse1F, REDS_HOUSE_1F, REDS_HOUSE_1, 0
+ end_map_header
diff --git a/data/maps/headers/RedsHouse2F.asm b/data/maps/headers/RedsHouse2F.asm
new file mode 100755
index 00000000..10332e2c
--- /dev/null
+++ b/data/maps/headers/RedsHouse2F.asm
@@ -0,0 +1,3 @@
+
+ map_header RedsHouse2F, REDS_HOUSE_2F, REDS_HOUSE_2, $00
+ end_map_header
diff --git a/data/maps/headers/RockTunnel1F.asm b/data/maps/headers/RockTunnel1F.asm
new file mode 100755
index 00000000..268ee645
--- /dev/null
+++ b/data/maps/headers/RockTunnel1F.asm
@@ -0,0 +1,3 @@
+
+ map_header RockTunnel1F, ROCK_TUNNEL_1F, CAVERN, 0
+ end_map_header
diff --git a/data/maps/headers/RockTunnelB1F.asm b/data/maps/headers/RockTunnelB1F.asm
new file mode 100755
index 00000000..7b13f647
--- /dev/null
+++ b/data/maps/headers/RockTunnelB1F.asm
@@ -0,0 +1,3 @@
+
+ map_header RockTunnelB1F, ROCK_TUNNEL_B1F, CAVERN, 0
+ end_map_header
diff --git a/data/maps/headers/RockTunnelPokecenter.asm b/data/maps/headers/RockTunnelPokecenter.asm
new file mode 100755
index 00000000..a873854b
--- /dev/null
+++ b/data/maps/headers/RockTunnelPokecenter.asm
@@ -0,0 +1,3 @@
+
+ map_header RockTunnelPokecenter, ROCK_TUNNEL_POKECENTER, POKECENTER, 0
+ end_map_header
diff --git a/data/maps/headers/RocketHideoutB1F.asm b/data/maps/headers/RocketHideoutB1F.asm
new file mode 100755
index 00000000..521a6693
--- /dev/null
+++ b/data/maps/headers/RocketHideoutB1F.asm
@@ -0,0 +1,3 @@
+
+ map_header RocketHideoutB1F, ROCKET_HIDEOUT_B1F, FACILITY, 0
+ end_map_header
diff --git a/data/maps/headers/RocketHideoutB2F.asm b/data/maps/headers/RocketHideoutB2F.asm
new file mode 100755
index 00000000..ab2a965d
--- /dev/null
+++ b/data/maps/headers/RocketHideoutB2F.asm
@@ -0,0 +1,3 @@
+
+ map_header RocketHideoutB2F, ROCKET_HIDEOUT_B2F, FACILITY, 0
+ end_map_header
diff --git a/data/maps/headers/RocketHideoutB3F.asm b/data/maps/headers/RocketHideoutB3F.asm
new file mode 100755
index 00000000..0a04b00e
--- /dev/null
+++ b/data/maps/headers/RocketHideoutB3F.asm
@@ -0,0 +1,3 @@
+
+ map_header RocketHideoutB3F, ROCKET_HIDEOUT_B3F, FACILITY, 0
+ end_map_header
diff --git a/data/maps/headers/RocketHideoutB4F.asm b/data/maps/headers/RocketHideoutB4F.asm
new file mode 100755
index 00000000..11512c01
--- /dev/null
+++ b/data/maps/headers/RocketHideoutB4F.asm
@@ -0,0 +1,3 @@
+
+ map_header RocketHideoutB4F, ROCKET_HIDEOUT_B4F, FACILITY, 0
+ end_map_header
diff --git a/data/maps/headers/RocketHideoutElevator.asm b/data/maps/headers/RocketHideoutElevator.asm
new file mode 100755
index 00000000..90ece237
--- /dev/null
+++ b/data/maps/headers/RocketHideoutElevator.asm
@@ -0,0 +1,3 @@
+
+ map_header RocketHideoutElevator, ROCKET_HIDEOUT_ELEVATOR, LOBBY, 0
+ end_map_header
diff --git a/data/maps/headers/Route1.asm b/data/maps/headers/Route1.asm
new file mode 100755
index 00000000..6eeb0347
--- /dev/null
+++ b/data/maps/headers/Route1.asm
@@ -0,0 +1,5 @@
+
+ map_header Route1, ROUTE_1, OVERWORLD, NORTH | SOUTH
+ connection north, ViridianCity, VIRIDIAN_CITY, -5
+ connection south, PalletTown, PALLET_TOWN, 0
+ end_map_header
diff --git a/data/maps/headers/Route10.asm b/data/maps/headers/Route10.asm
new file mode 100755
index 00000000..ba498b0a
--- /dev/null
+++ b/data/maps/headers/Route10.asm
@@ -0,0 +1,5 @@
+
+ map_header Route10, ROUTE_10, OVERWORLD, SOUTH | WEST
+ connection south, LavenderTown, LAVENDER_TOWN, 0
+ connection west, Route9, ROUTE_9, 0
+ end_map_header
diff --git a/data/maps/headers/Route11.asm b/data/maps/headers/Route11.asm
new file mode 100755
index 00000000..d8f2e72f
--- /dev/null
+++ b/data/maps/headers/Route11.asm
@@ -0,0 +1,5 @@
+
+ map_header Route11, ROUTE_11, OVERWORLD, WEST | EAST
+ connection west, VermilionCity, VERMILION_CITY, -4
+ connection east, Route12, ROUTE_12, -27
+ end_map_header
diff --git a/data/maps/headers/Route11Gate1F.asm b/data/maps/headers/Route11Gate1F.asm
new file mode 100755
index 00000000..aa97b791
--- /dev/null
+++ b/data/maps/headers/Route11Gate1F.asm
@@ -0,0 +1,3 @@
+
+ map_header Route11Gate1F, ROUTE_11_GATE_1F, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/Route11Gate2F.asm b/data/maps/headers/Route11Gate2F.asm
new file mode 100755
index 00000000..560d38db
--- /dev/null
+++ b/data/maps/headers/Route11Gate2F.asm
@@ -0,0 +1,3 @@
+
+ map_header Route11Gate2F, ROUTE_11_GATE_2F, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/Route12.asm b/data/maps/headers/Route12.asm
new file mode 100755
index 00000000..931ddf1d
--- /dev/null
+++ b/data/maps/headers/Route12.asm
@@ -0,0 +1,6 @@
+
+ map_header Route12, ROUTE_12, OVERWORLD, NORTH | SOUTH | WEST
+ connection north, LavenderTown, LAVENDER_TOWN, 0
+ connection south, Route13, ROUTE_13, -20
+ connection west, Route11, ROUTE_11, 27
+ end_map_header
diff --git a/data/maps/headers/Route12Gate1F.asm b/data/maps/headers/Route12Gate1F.asm
new file mode 100755
index 00000000..047a670c
--- /dev/null
+++ b/data/maps/headers/Route12Gate1F.asm
@@ -0,0 +1,3 @@
+
+ map_header Route12Gate1F, ROUTE_12_GATE_1F, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/Route12Gate2F.asm b/data/maps/headers/Route12Gate2F.asm
new file mode 100755
index 00000000..e1366736
--- /dev/null
+++ b/data/maps/headers/Route12Gate2F.asm
@@ -0,0 +1,3 @@
+
+ map_header Route12Gate2F, ROUTE_12_GATE_2F, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/Route12SuperRodHouse.asm b/data/maps/headers/Route12SuperRodHouse.asm
new file mode 100755
index 00000000..2195a9b1
--- /dev/null
+++ b/data/maps/headers/Route12SuperRodHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header Route12SuperRodHouse, ROUTE_12_SUPER_ROD_HOUSE, HOUSE, 0
+ end_map_header
diff --git a/data/maps/headers/Route13.asm b/data/maps/headers/Route13.asm
new file mode 100755
index 00000000..242aaa02
--- /dev/null
+++ b/data/maps/headers/Route13.asm
@@ -0,0 +1,5 @@
+
+ map_header Route13, ROUTE_13, OVERWORLD, NORTH | WEST
+ connection north, Route12, ROUTE_12, 20
+ connection west, Route14, ROUTE_14, 0
+ end_map_header
diff --git a/data/maps/headers/Route14.asm b/data/maps/headers/Route14.asm
new file mode 100755
index 00000000..c0c39c56
--- /dev/null
+++ b/data/maps/headers/Route14.asm
@@ -0,0 +1,5 @@
+
+ map_header Route14, ROUTE_14, OVERWORLD, WEST | EAST
+ connection west, Route15, ROUTE_15, 18
+ connection east, Route13, ROUTE_13, 0
+ end_map_header
diff --git a/data/maps/headers/Route15.asm b/data/maps/headers/Route15.asm
new file mode 100755
index 00000000..28a811d2
--- /dev/null
+++ b/data/maps/headers/Route15.asm
@@ -0,0 +1,5 @@
+
+ map_header Route15, ROUTE_15, OVERWORLD, WEST | EAST
+ connection west, FuchsiaCity, FUCHSIA_CITY, -4
+ connection east, Route14, ROUTE_14, -18
+ end_map_header
diff --git a/data/maps/headers/Route15Gate1F.asm b/data/maps/headers/Route15Gate1F.asm
new file mode 100755
index 00000000..a23d15a0
--- /dev/null
+++ b/data/maps/headers/Route15Gate1F.asm
@@ -0,0 +1,3 @@
+
+ map_header Route15Gate1F, ROUTE_15_GATE_1F, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/Route15Gate2F.asm b/data/maps/headers/Route15Gate2F.asm
new file mode 100755
index 00000000..8ca89872
--- /dev/null
+++ b/data/maps/headers/Route15Gate2F.asm
@@ -0,0 +1,3 @@
+
+ map_header Route15Gate2F, ROUTE_15_GATE_2F, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/Route16.asm b/data/maps/headers/Route16.asm
new file mode 100755
index 00000000..423c7af2
--- /dev/null
+++ b/data/maps/headers/Route16.asm
@@ -0,0 +1,5 @@
+
+ map_header Route16, ROUTE_16, OVERWORLD, SOUTH | EAST
+ connection south, Route17, ROUTE_17, 0
+ connection east, CeladonCity, CELADON_CITY, -4
+ end_map_header
diff --git a/data/maps/headers/Route16FlyHouse.asm b/data/maps/headers/Route16FlyHouse.asm
new file mode 100755
index 00000000..240b6df4
--- /dev/null
+++ b/data/maps/headers/Route16FlyHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header Route16FlyHouse, ROUTE_16_FLY_HOUSE, HOUSE, 0
+ end_map_header
diff --git a/data/maps/headers/Route16Gate1F.asm b/data/maps/headers/Route16Gate1F.asm
new file mode 100755
index 00000000..74fd1b7f
--- /dev/null
+++ b/data/maps/headers/Route16Gate1F.asm
@@ -0,0 +1,3 @@
+
+ map_header Route16Gate1F, ROUTE_16_GATE_1F, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/Route16Gate2F.asm b/data/maps/headers/Route16Gate2F.asm
new file mode 100755
index 00000000..ed889f4b
--- /dev/null
+++ b/data/maps/headers/Route16Gate2F.asm
@@ -0,0 +1,3 @@
+
+ map_header Route16Gate2F, ROUTE_16_GATE_2F, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/Route17.asm b/data/maps/headers/Route17.asm
new file mode 100755
index 00000000..5e853299
--- /dev/null
+++ b/data/maps/headers/Route17.asm
@@ -0,0 +1,5 @@
+
+ map_header Route17, ROUTE_17, OVERWORLD, NORTH | SOUTH
+ connection north, Route16, ROUTE_16, 0
+ connection south, Route18, ROUTE_18, 0
+ end_map_header
diff --git a/data/maps/headers/Route18.asm b/data/maps/headers/Route18.asm
new file mode 100755
index 00000000..34573051
--- /dev/null
+++ b/data/maps/headers/Route18.asm
@@ -0,0 +1,5 @@
+
+ map_header Route18, ROUTE_18, OVERWORLD, NORTH | EAST
+ connection north, Route17, ROUTE_17, 0
+ connection east, FuchsiaCity, FUCHSIA_CITY, -4
+ end_map_header
diff --git a/data/maps/headers/Route18Gate1F.asm b/data/maps/headers/Route18Gate1F.asm
new file mode 100755
index 00000000..2847e0e3
--- /dev/null
+++ b/data/maps/headers/Route18Gate1F.asm
@@ -0,0 +1,3 @@
+
+ map_header Route18Gate1F, ROUTE_18_GATE_1F, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/Route18Gate2F.asm b/data/maps/headers/Route18Gate2F.asm
new file mode 100755
index 00000000..f25fa700
--- /dev/null
+++ b/data/maps/headers/Route18Gate2F.asm
@@ -0,0 +1,3 @@
+
+ map_header Route18Gate2F, ROUTE_18_GATE_2F, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/Route19.asm b/data/maps/headers/Route19.asm
new file mode 100755
index 00000000..7f01c804
--- /dev/null
+++ b/data/maps/headers/Route19.asm
@@ -0,0 +1,5 @@
+
+ map_header Route19, ROUTE_19, OVERWORLD, NORTH | WEST
+ connection north, FuchsiaCity, FUCHSIA_CITY, -5
+ connection west, Route20, ROUTE_20, 18
+ end_map_header
diff --git a/data/maps/headers/Route2.asm b/data/maps/headers/Route2.asm
new file mode 100755
index 00000000..521eef69
--- /dev/null
+++ b/data/maps/headers/Route2.asm
@@ -0,0 +1,5 @@
+
+ map_header Route2, ROUTE_2, OVERWORLD, NORTH | SOUTH
+ connection north, PewterCity, PEWTER_CITY, -5
+ connection south, ViridianCity, VIRIDIAN_CITY, -5
+ end_map_header
diff --git a/data/maps/headers/Route20.asm b/data/maps/headers/Route20.asm
new file mode 100755
index 00000000..3495b785
--- /dev/null
+++ b/data/maps/headers/Route20.asm
@@ -0,0 +1,5 @@
+
+ map_header Route20, ROUTE_20, OVERWORLD, WEST | EAST
+ connection west, CinnabarIsland, CINNABAR_ISLAND, 0
+ connection east, Route19, ROUTE_19, -18
+ end_map_header
diff --git a/data/maps/headers/Route21.asm b/data/maps/headers/Route21.asm
new file mode 100755
index 00000000..803bf217
--- /dev/null
+++ b/data/maps/headers/Route21.asm
@@ -0,0 +1,5 @@
+
+ map_header Route21, ROUTE_21, OVERWORLD, NORTH | SOUTH
+ connection north, PalletTown, PALLET_TOWN, 0
+ connection south, CinnabarIsland, CINNABAR_ISLAND, 0
+ end_map_header
diff --git a/data/maps/headers/Route22.asm b/data/maps/headers/Route22.asm
new file mode 100755
index 00000000..e235efa1
--- /dev/null
+++ b/data/maps/headers/Route22.asm
@@ -0,0 +1,5 @@
+
+ map_header Route22, ROUTE_22, OVERWORLD, NORTH | EAST
+ connection north, Route23, ROUTE_23, 0
+ connection east, ViridianCity, VIRIDIAN_CITY, -4
+ end_map_header
diff --git a/data/maps/headers/Route22Gate.asm b/data/maps/headers/Route22Gate.asm
new file mode 100755
index 00000000..a9d1dd37
--- /dev/null
+++ b/data/maps/headers/Route22Gate.asm
@@ -0,0 +1,3 @@
+
+ map_header Route22Gate, ROUTE_22_GATE, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/Route23.asm b/data/maps/headers/Route23.asm
new file mode 100755
index 00000000..e1535c9d
--- /dev/null
+++ b/data/maps/headers/Route23.asm
@@ -0,0 +1,5 @@
+
+ map_header Route23, ROUTE_23, PLATEAU, NORTH | SOUTH
+ connection north, IndigoPlateau, INDIGO_PLATEAU, 0
+ connection south, Route22, ROUTE_22, 0
+ end_map_header
diff --git a/data/maps/headers/Route24.asm b/data/maps/headers/Route24.asm
new file mode 100755
index 00000000..faf53660
--- /dev/null
+++ b/data/maps/headers/Route24.asm
@@ -0,0 +1,5 @@
+
+ map_header Route24, ROUTE_24, OVERWORLD, SOUTH | EAST
+ connection south, CeruleanCity, CERULEAN_CITY, -5
+ connection east, Route25, ROUTE_25, 0
+ end_map_header
diff --git a/data/maps/headers/Route25.asm b/data/maps/headers/Route25.asm
new file mode 100755
index 00000000..1873d19b
--- /dev/null
+++ b/data/maps/headers/Route25.asm
@@ -0,0 +1,4 @@
+
+ map_header Route25, ROUTE_25, OVERWORLD, WEST
+ connection west, Route24, ROUTE_24, 0
+ end_map_header
diff --git a/data/maps/headers/Route2Gate.asm b/data/maps/headers/Route2Gate.asm
new file mode 100755
index 00000000..730d8f2d
--- /dev/null
+++ b/data/maps/headers/Route2Gate.asm
@@ -0,0 +1,3 @@
+
+ map_header Route2Gate, ROUTE_2_GATE, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/Route2TradeHouse.asm b/data/maps/headers/Route2TradeHouse.asm
new file mode 100755
index 00000000..b9937dad
--- /dev/null
+++ b/data/maps/headers/Route2TradeHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header Route2TradeHouse, ROUTE_2_TRADE_HOUSE, HOUSE, 0
+ end_map_header
diff --git a/data/maps/headers/Route3.asm b/data/maps/headers/Route3.asm
new file mode 100755
index 00000000..ddbd7783
--- /dev/null
+++ b/data/maps/headers/Route3.asm
@@ -0,0 +1,5 @@
+
+ map_header Route3, ROUTE_3, OVERWORLD, NORTH | WEST
+ connection north, Route4, ROUTE_4, 25
+ connection west, PewterCity, PEWTER_CITY, -4
+ end_map_header
diff --git a/data/maps/headers/Route4.asm b/data/maps/headers/Route4.asm
new file mode 100755
index 00000000..6c43171a
--- /dev/null
+++ b/data/maps/headers/Route4.asm
@@ -0,0 +1,5 @@
+
+ map_header Route4, ROUTE_4, OVERWORLD, SOUTH | EAST
+ connection south, Route3, ROUTE_3, -25
+ connection east, CeruleanCity, CERULEAN_CITY, -4
+ end_map_header
diff --git a/data/maps/headers/Route5.asm b/data/maps/headers/Route5.asm
new file mode 100755
index 00000000..ea84090c
--- /dev/null
+++ b/data/maps/headers/Route5.asm
@@ -0,0 +1,5 @@
+
+ map_header Route5, ROUTE_5, OVERWORLD, NORTH | SOUTH
+ connection north, CeruleanCity, CERULEAN_CITY, -5
+ connection south, SaffronCity, SAFFRON_CITY, -5
+ end_map_header
diff --git a/data/maps/headers/Route5Gate.asm b/data/maps/headers/Route5Gate.asm
new file mode 100755
index 00000000..a0115533
--- /dev/null
+++ b/data/maps/headers/Route5Gate.asm
@@ -0,0 +1,3 @@
+
+ map_header Route5Gate, ROUTE_5_GATE, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/Route6.asm b/data/maps/headers/Route6.asm
new file mode 100755
index 00000000..956aa4d6
--- /dev/null
+++ b/data/maps/headers/Route6.asm
@@ -0,0 +1,5 @@
+
+ map_header Route6, ROUTE_6, OVERWORLD, NORTH | SOUTH
+ connection north, SaffronCity, SAFFRON_CITY, -5
+ connection south, VermilionCity, VERMILION_CITY, -5
+ end_map_header
diff --git a/data/maps/headers/Route6Gate.asm b/data/maps/headers/Route6Gate.asm
new file mode 100755
index 00000000..f80b57c8
--- /dev/null
+++ b/data/maps/headers/Route6Gate.asm
@@ -0,0 +1,3 @@
+
+ map_header Route6Gate, ROUTE_6_GATE, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/Route7.asm b/data/maps/headers/Route7.asm
new file mode 100755
index 00000000..8368c3fe
--- /dev/null
+++ b/data/maps/headers/Route7.asm
@@ -0,0 +1,5 @@
+
+ map_header Route7, ROUTE_7, OVERWORLD, WEST | EAST
+ connection west, CeladonCity, CELADON_CITY, -4
+ connection east, SaffronCity, SAFFRON_CITY, -4
+ end_map_header
diff --git a/data/maps/headers/Route7Gate.asm b/data/maps/headers/Route7Gate.asm
new file mode 100755
index 00000000..e9b9b16d
--- /dev/null
+++ b/data/maps/headers/Route7Gate.asm
@@ -0,0 +1,3 @@
+
+ map_header Route7Gate, ROUTE_7_GATE, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/Route8.asm b/data/maps/headers/Route8.asm
new file mode 100755
index 00000000..8df9e023
--- /dev/null
+++ b/data/maps/headers/Route8.asm
@@ -0,0 +1,5 @@
+
+ map_header Route8, ROUTE_8, OVERWORLD, WEST | EAST
+ connection west, SaffronCity, SAFFRON_CITY, -4
+ connection east, LavenderTown, LAVENDER_TOWN, 0
+ end_map_header
diff --git a/data/maps/headers/Route8Gate.asm b/data/maps/headers/Route8Gate.asm
new file mode 100755
index 00000000..f6a320a4
--- /dev/null
+++ b/data/maps/headers/Route8Gate.asm
@@ -0,0 +1,3 @@
+
+ map_header Route8Gate, ROUTE_8_GATE, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/Route9.asm b/data/maps/headers/Route9.asm
new file mode 100755
index 00000000..c1ed9225
--- /dev/null
+++ b/data/maps/headers/Route9.asm
@@ -0,0 +1,5 @@
+
+ map_header Route9, ROUTE_9, OVERWORLD, WEST | EAST
+ connection west, CeruleanCity, CERULEAN_CITY, -4
+ connection east, Route10, ROUTE_10, 0
+ end_map_header
diff --git a/data/maps/headers/SSAnne1F.asm b/data/maps/headers/SSAnne1F.asm
new file mode 100755
index 00000000..80d25e2d
--- /dev/null
+++ b/data/maps/headers/SSAnne1F.asm
@@ -0,0 +1,3 @@
+
+ map_header SSAnne1F, SS_ANNE_1F, SHIP, 0
+ end_map_header
diff --git a/data/maps/headers/SSAnne1FRooms.asm b/data/maps/headers/SSAnne1FRooms.asm
new file mode 100755
index 00000000..8bdd8d00
--- /dev/null
+++ b/data/maps/headers/SSAnne1FRooms.asm
@@ -0,0 +1,3 @@
+
+ map_header SSAnne1FRooms, SS_ANNE_1F_ROOMS, SHIP, 0
+ end_map_header
diff --git a/data/maps/headers/SSAnne2F.asm b/data/maps/headers/SSAnne2F.asm
new file mode 100755
index 00000000..b2fe14d7
--- /dev/null
+++ b/data/maps/headers/SSAnne2F.asm
@@ -0,0 +1,3 @@
+
+ map_header SSAnne2F, SS_ANNE_2F, SHIP, 0
+ end_map_header
diff --git a/data/maps/headers/SSAnne2FRooms.asm b/data/maps/headers/SSAnne2FRooms.asm
new file mode 100755
index 00000000..2d349e4c
--- /dev/null
+++ b/data/maps/headers/SSAnne2FRooms.asm
@@ -0,0 +1,3 @@
+
+ map_header SSAnne2FRooms, SS_ANNE_2F_ROOMS, SHIP, 0
+ end_map_header
diff --git a/data/maps/headers/SSAnne3F.asm b/data/maps/headers/SSAnne3F.asm
new file mode 100755
index 00000000..f391a0cd
--- /dev/null
+++ b/data/maps/headers/SSAnne3F.asm
@@ -0,0 +1,3 @@
+
+ map_header SSAnne3F, SS_ANNE_3F, SHIP, 0
+ end_map_header
diff --git a/data/maps/headers/SSAnneB1F.asm b/data/maps/headers/SSAnneB1F.asm
new file mode 100755
index 00000000..c21d7cff
--- /dev/null
+++ b/data/maps/headers/SSAnneB1F.asm
@@ -0,0 +1,3 @@
+
+ map_header SSAnneB1F, SS_ANNE_B1F, SHIP, 0
+ end_map_header
diff --git a/data/maps/headers/SSAnneB1FRooms.asm b/data/maps/headers/SSAnneB1FRooms.asm
new file mode 100755
index 00000000..1b8b4620
--- /dev/null
+++ b/data/maps/headers/SSAnneB1FRooms.asm
@@ -0,0 +1,3 @@
+
+ map_header SSAnneB1FRooms, SS_ANNE_B1F_ROOMS, SHIP, 0
+ end_map_header
diff --git a/data/maps/headers/SSAnneBow.asm b/data/maps/headers/SSAnneBow.asm
new file mode 100755
index 00000000..2195e970
--- /dev/null
+++ b/data/maps/headers/SSAnneBow.asm
@@ -0,0 +1,3 @@
+
+ map_header SSAnneBow, SS_ANNE_BOW, SHIP, 0
+ end_map_header
diff --git a/data/maps/headers/SSAnneCaptainsRoom.asm b/data/maps/headers/SSAnneCaptainsRoom.asm
new file mode 100755
index 00000000..a24f930d
--- /dev/null
+++ b/data/maps/headers/SSAnneCaptainsRoom.asm
@@ -0,0 +1,3 @@
+
+ map_header SSAnneCaptainsRoom, SS_ANNE_CAPTAINS_ROOM, SHIP, 0
+ end_map_header
diff --git a/data/maps/headers/SSAnneKitchen.asm b/data/maps/headers/SSAnneKitchen.asm
new file mode 100755
index 00000000..47e84fbe
--- /dev/null
+++ b/data/maps/headers/SSAnneKitchen.asm
@@ -0,0 +1,3 @@
+
+ map_header SSAnneKitchen, SS_ANNE_KITCHEN, SHIP, 0
+ end_map_header
diff --git a/data/maps/headers/SafariZoneCenter.asm b/data/maps/headers/SafariZoneCenter.asm
new file mode 100755
index 00000000..ccc58ed1
--- /dev/null
+++ b/data/maps/headers/SafariZoneCenter.asm
@@ -0,0 +1,3 @@
+
+ map_header SafariZoneCenter, SAFARI_ZONE_CENTER, FOREST, 0
+ end_map_header
diff --git a/data/maps/headers/SafariZoneCenterRestHouse.asm b/data/maps/headers/SafariZoneCenterRestHouse.asm
new file mode 100755
index 00000000..a866003f
--- /dev/null
+++ b/data/maps/headers/SafariZoneCenterRestHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header SafariZoneCenterRestHouse, SAFARI_ZONE_CENTER_REST_HOUSE, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/SafariZoneEast.asm b/data/maps/headers/SafariZoneEast.asm
new file mode 100755
index 00000000..c23e9334
--- /dev/null
+++ b/data/maps/headers/SafariZoneEast.asm
@@ -0,0 +1,3 @@
+
+ map_header SafariZoneEast, SAFARI_ZONE_EAST, FOREST, 0
+ end_map_header
diff --git a/data/maps/headers/SafariZoneEastRestHouse.asm b/data/maps/headers/SafariZoneEastRestHouse.asm
new file mode 100755
index 00000000..1f8d76c6
--- /dev/null
+++ b/data/maps/headers/SafariZoneEastRestHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header SafariZoneEastRestHouse, SAFARI_ZONE_EAST_REST_HOUSE, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/SafariZoneGate.asm b/data/maps/headers/SafariZoneGate.asm
new file mode 100755
index 00000000..7816460d
--- /dev/null
+++ b/data/maps/headers/SafariZoneGate.asm
@@ -0,0 +1,3 @@
+
+ map_header SafariZoneGate, SAFARI_ZONE_GATE, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/SafariZoneNorth.asm b/data/maps/headers/SafariZoneNorth.asm
new file mode 100755
index 00000000..32639d22
--- /dev/null
+++ b/data/maps/headers/SafariZoneNorth.asm
@@ -0,0 +1,3 @@
+
+ map_header SafariZoneNorth, SAFARI_ZONE_NORTH, FOREST, 0
+ end_map_header
diff --git a/data/maps/headers/SafariZoneNorthRestHouse.asm b/data/maps/headers/SafariZoneNorthRestHouse.asm
new file mode 100755
index 00000000..ec083803
--- /dev/null
+++ b/data/maps/headers/SafariZoneNorthRestHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header SafariZoneNorthRestHouse, SAFARI_ZONE_NORTH_REST_HOUSE, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/SafariZoneSecretHouse.asm b/data/maps/headers/SafariZoneSecretHouse.asm
new file mode 100755
index 00000000..630577c4
--- /dev/null
+++ b/data/maps/headers/SafariZoneSecretHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header SafariZoneSecretHouse, SAFARI_ZONE_SECRET_HOUSE, LAB, 0
+ end_map_header
diff --git a/data/maps/headers/SafariZoneWest.asm b/data/maps/headers/SafariZoneWest.asm
new file mode 100755
index 00000000..a1117d09
--- /dev/null
+++ b/data/maps/headers/SafariZoneWest.asm
@@ -0,0 +1,3 @@
+
+ map_header SafariZoneWest, SAFARI_ZONE_WEST, FOREST, 0
+ end_map_header
diff --git a/data/maps/headers/SafariZoneWestRestHouse.asm b/data/maps/headers/SafariZoneWestRestHouse.asm
new file mode 100755
index 00000000..e4618e1d
--- /dev/null
+++ b/data/maps/headers/SafariZoneWestRestHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header SafariZoneWestRestHouse, SAFARI_ZONE_WEST_REST_HOUSE, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/SaffronCity.asm b/data/maps/headers/SaffronCity.asm
new file mode 100755
index 00000000..ee1f71e4
--- /dev/null
+++ b/data/maps/headers/SaffronCity.asm
@@ -0,0 +1,7 @@
+
+ map_header SaffronCity, SAFFRON_CITY, OVERWORLD, NORTH | SOUTH | WEST | EAST
+ connection north, Route5, ROUTE_5, 5
+ connection south, Route6, ROUTE_6, 5
+ connection west, Route7, ROUTE_7, 4
+ connection east, Route8, ROUTE_8, 4
+ end_map_header
diff --git a/data/maps/headers/SaffronGym.asm b/data/maps/headers/SaffronGym.asm
new file mode 100755
index 00000000..14ee3323
--- /dev/null
+++ b/data/maps/headers/SaffronGym.asm
@@ -0,0 +1,3 @@
+
+ map_header SaffronGym, SAFFRON_GYM, FACILITY, 0
+ end_map_header
diff --git a/data/maps/headers/SaffronMart.asm b/data/maps/headers/SaffronMart.asm
new file mode 100755
index 00000000..f03132d2
--- /dev/null
+++ b/data/maps/headers/SaffronMart.asm
@@ -0,0 +1,3 @@
+
+ map_header SaffronMart, SAFFRON_MART, MART, 0
+ end_map_header
diff --git a/data/maps/headers/SaffronPidgeyHouse.asm b/data/maps/headers/SaffronPidgeyHouse.asm
new file mode 100755
index 00000000..e9f8dde7
--- /dev/null
+++ b/data/maps/headers/SaffronPidgeyHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header SaffronPidgeyHouse, SAFFRON_PIDGEY_HOUSE, HOUSE, 0
+ end_map_header
diff --git a/data/maps/headers/SaffronPokecenter.asm b/data/maps/headers/SaffronPokecenter.asm
new file mode 100755
index 00000000..9b250050
--- /dev/null
+++ b/data/maps/headers/SaffronPokecenter.asm
@@ -0,0 +1,3 @@
+
+ map_header SaffronPokecenter, SAFFRON_POKECENTER, POKECENTER, 0
+ end_map_header
diff --git a/data/maps/headers/SeafoamIslands1F.asm b/data/maps/headers/SeafoamIslands1F.asm
new file mode 100755
index 00000000..db530549
--- /dev/null
+++ b/data/maps/headers/SeafoamIslands1F.asm
@@ -0,0 +1,3 @@
+
+ map_header SeafoamIslands1F, SEAFOAM_ISLANDS_1F, CAVERN, 0
+ end_map_header
diff --git a/data/maps/headers/SeafoamIslandsB1F.asm b/data/maps/headers/SeafoamIslandsB1F.asm
new file mode 100755
index 00000000..589eef93
--- /dev/null
+++ b/data/maps/headers/SeafoamIslandsB1F.asm
@@ -0,0 +1,3 @@
+
+ map_header SeafoamIslandsB1F, SEAFOAM_ISLANDS_B1F, CAVERN, 0
+ end_map_header
diff --git a/data/maps/headers/SeafoamIslandsB2F.asm b/data/maps/headers/SeafoamIslandsB2F.asm
new file mode 100755
index 00000000..f7e624ed
--- /dev/null
+++ b/data/maps/headers/SeafoamIslandsB2F.asm
@@ -0,0 +1,3 @@
+
+ map_header SeafoamIslandsB2F, SEAFOAM_ISLANDS_B2F, CAVERN, 0
+ end_map_header
diff --git a/data/maps/headers/SeafoamIslandsB3F.asm b/data/maps/headers/SeafoamIslandsB3F.asm
new file mode 100755
index 00000000..b57da3c0
--- /dev/null
+++ b/data/maps/headers/SeafoamIslandsB3F.asm
@@ -0,0 +1,3 @@
+
+ map_header SeafoamIslandsB3F, SEAFOAM_ISLANDS_B3F, CAVERN, 0
+ end_map_header
diff --git a/data/maps/headers/SeafoamIslandsB4F.asm b/data/maps/headers/SeafoamIslandsB4F.asm
new file mode 100755
index 00000000..bae1e3a2
--- /dev/null
+++ b/data/maps/headers/SeafoamIslandsB4F.asm
@@ -0,0 +1,3 @@
+
+ map_header SeafoamIslandsB4F, SEAFOAM_ISLANDS_B4F, CAVERN, 0
+ end_map_header
diff --git a/data/maps/headers/SilphCo10F.asm b/data/maps/headers/SilphCo10F.asm
new file mode 100755
index 00000000..7a6786e7
--- /dev/null
+++ b/data/maps/headers/SilphCo10F.asm
@@ -0,0 +1,3 @@
+
+ map_header SilphCo10F, SILPH_CO_10F, FACILITY, 0
+ end_map_header
diff --git a/data/maps/headers/SilphCo11F.asm b/data/maps/headers/SilphCo11F.asm
new file mode 100755
index 00000000..72eaaca2
--- /dev/null
+++ b/data/maps/headers/SilphCo11F.asm
@@ -0,0 +1,3 @@
+
+ map_header SilphCo11F, SILPH_CO_11F, INTERIOR, 0
+ end_map_header
diff --git a/data/maps/headers/SilphCo1F.asm b/data/maps/headers/SilphCo1F.asm
new file mode 100755
index 00000000..4c4ac97d
--- /dev/null
+++ b/data/maps/headers/SilphCo1F.asm
@@ -0,0 +1,3 @@
+
+ map_header SilphCo1F, SILPH_CO_1F, FACILITY, 0
+ end_map_header
diff --git a/data/maps/headers/SilphCo2F.asm b/data/maps/headers/SilphCo2F.asm
new file mode 100755
index 00000000..7dc44a55
--- /dev/null
+++ b/data/maps/headers/SilphCo2F.asm
@@ -0,0 +1,3 @@
+
+ map_header SilphCo2F, SILPH_CO_2F, FACILITY, 0
+ end_map_header
diff --git a/data/maps/headers/SilphCo3F.asm b/data/maps/headers/SilphCo3F.asm
new file mode 100755
index 00000000..99e4aa15
--- /dev/null
+++ b/data/maps/headers/SilphCo3F.asm
@@ -0,0 +1,3 @@
+
+ map_header SilphCo3F, SILPH_CO_3F, FACILITY, 0
+ end_map_header
diff --git a/data/maps/headers/SilphCo4F.asm b/data/maps/headers/SilphCo4F.asm
new file mode 100755
index 00000000..8eed0f9a
--- /dev/null
+++ b/data/maps/headers/SilphCo4F.asm
@@ -0,0 +1,3 @@
+
+ map_header SilphCo4F, SILPH_CO_4F, FACILITY, 0
+ end_map_header
diff --git a/data/maps/headers/SilphCo5F.asm b/data/maps/headers/SilphCo5F.asm
new file mode 100755
index 00000000..3b40c360
--- /dev/null
+++ b/data/maps/headers/SilphCo5F.asm
@@ -0,0 +1,3 @@
+
+ map_header SilphCo5F, SILPH_CO_5F, FACILITY, 0
+ end_map_header
diff --git a/data/maps/headers/SilphCo6F.asm b/data/maps/headers/SilphCo6F.asm
new file mode 100755
index 00000000..3d2b3b8c
--- /dev/null
+++ b/data/maps/headers/SilphCo6F.asm
@@ -0,0 +1,3 @@
+
+ map_header SilphCo6F, SILPH_CO_6F, FACILITY, 0
+ end_map_header
diff --git a/data/maps/headers/SilphCo7F.asm b/data/maps/headers/SilphCo7F.asm
new file mode 100755
index 00000000..1591837a
--- /dev/null
+++ b/data/maps/headers/SilphCo7F.asm
@@ -0,0 +1,3 @@
+
+ map_header SilphCo7F, SILPH_CO_7F, FACILITY, 0
+ end_map_header
diff --git a/data/maps/headers/SilphCo8F.asm b/data/maps/headers/SilphCo8F.asm
new file mode 100755
index 00000000..e676fa86
--- /dev/null
+++ b/data/maps/headers/SilphCo8F.asm
@@ -0,0 +1,3 @@
+
+ map_header SilphCo8F, SILPH_CO_8F, FACILITY, 0
+ end_map_header
diff --git a/data/maps/headers/SilphCo9F.asm b/data/maps/headers/SilphCo9F.asm
new file mode 100755
index 00000000..89f0300a
--- /dev/null
+++ b/data/maps/headers/SilphCo9F.asm
@@ -0,0 +1,3 @@
+
+ map_header SilphCo9F, SILPH_CO_9F, FACILITY, 0
+ end_map_header
diff --git a/data/maps/headers/SilphCoElevator.asm b/data/maps/headers/SilphCoElevator.asm
new file mode 100755
index 00000000..4dd9cd9f
--- /dev/null
+++ b/data/maps/headers/SilphCoElevator.asm
@@ -0,0 +1,3 @@
+
+ map_header SilphCoElevator, SILPH_CO_ELEVATOR, LOBBY, 0
+ end_map_header
diff --git a/data/maps/headers/TradeCenter.asm b/data/maps/headers/TradeCenter.asm
new file mode 100755
index 00000000..268d76b2
--- /dev/null
+++ b/data/maps/headers/TradeCenter.asm
@@ -0,0 +1,3 @@
+
+ map_header TradeCenter, TRADE_CENTER, CLUB, 0
+ end_map_header
diff --git a/data/maps/headers/UndergroundPathNorthSouth.asm b/data/maps/headers/UndergroundPathNorthSouth.asm
new file mode 100755
index 00000000..4bb03c79
--- /dev/null
+++ b/data/maps/headers/UndergroundPathNorthSouth.asm
@@ -0,0 +1,3 @@
+
+ map_header UndergroundPathNorthSouth, UNDERGROUND_PATH_NORTH_SOUTH, UNDERGROUND, 0
+ end_map_header
diff --git a/data/maps/headers/UndergroundPathRoute5.asm b/data/maps/headers/UndergroundPathRoute5.asm
new file mode 100755
index 00000000..18287254
--- /dev/null
+++ b/data/maps/headers/UndergroundPathRoute5.asm
@@ -0,0 +1,3 @@
+
+ map_header UndergroundPathRoute5, UNDERGROUND_PATH_ROUTE_5, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/UndergroundPathRoute6.asm b/data/maps/headers/UndergroundPathRoute6.asm
new file mode 100755
index 00000000..67772543
--- /dev/null
+++ b/data/maps/headers/UndergroundPathRoute6.asm
@@ -0,0 +1,3 @@
+
+ map_header UndergroundPathRoute6, UNDERGROUND_PATH_ROUTE_6, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/UndergroundPathRoute7.asm b/data/maps/headers/UndergroundPathRoute7.asm
new file mode 100755
index 00000000..d70548ed
--- /dev/null
+++ b/data/maps/headers/UndergroundPathRoute7.asm
@@ -0,0 +1,3 @@
+
+ map_header UndergroundPathRoute7, UNDERGROUND_PATH_ROUTE_7, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/UndergroundPathRoute7Copy.asm b/data/maps/headers/UndergroundPathRoute7Copy.asm
new file mode 100755
index 00000000..30bb70a8
--- /dev/null
+++ b/data/maps/headers/UndergroundPathRoute7Copy.asm
@@ -0,0 +1,3 @@
+
+ map_header UndergroundPathRoute7Copy, UNDERGROUND_PATH_ROUTE_7, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/UndergroundPathRoute8.asm b/data/maps/headers/UndergroundPathRoute8.asm
new file mode 100755
index 00000000..102d8413
--- /dev/null
+++ b/data/maps/headers/UndergroundPathRoute8.asm
@@ -0,0 +1,3 @@
+
+ map_header UndergroundPathRoute8, UNDERGROUND_PATH_ROUTE_8, GATE, 0
+ end_map_header
diff --git a/data/maps/headers/UndergroundPathWestEast.asm b/data/maps/headers/UndergroundPathWestEast.asm
new file mode 100755
index 00000000..05976e87
--- /dev/null
+++ b/data/maps/headers/UndergroundPathWestEast.asm
@@ -0,0 +1,3 @@
+
+ map_header UndergroundPathWestEast, UNDERGROUND_PATH_WEST_EAST, UNDERGROUND, 0
+ end_map_header
diff --git a/data/maps/headers/VermilionCity.asm b/data/maps/headers/VermilionCity.asm
new file mode 100755
index 00000000..e211562c
--- /dev/null
+++ b/data/maps/headers/VermilionCity.asm
@@ -0,0 +1,5 @@
+
+ map_header VermilionCity, VERMILION_CITY, OVERWORLD, NORTH | EAST
+ connection north, Route6, ROUTE_6, 5
+ connection east, Route11, ROUTE_11, 4
+ end_map_header
diff --git a/data/maps/headers/VermilionDock.asm b/data/maps/headers/VermilionDock.asm
new file mode 100755
index 00000000..9a9b61c2
--- /dev/null
+++ b/data/maps/headers/VermilionDock.asm
@@ -0,0 +1,3 @@
+
+ map_header VermilionDock, VERMILION_DOCK, SHIP_PORT, 0
+ end_map_header
diff --git a/data/maps/headers/VermilionGym.asm b/data/maps/headers/VermilionGym.asm
new file mode 100755
index 00000000..ca75b8c1
--- /dev/null
+++ b/data/maps/headers/VermilionGym.asm
@@ -0,0 +1,3 @@
+
+ map_header VermilionGym, VERMILION_GYM, GYM, 0
+ end_map_header
diff --git a/data/maps/headers/VermilionMart.asm b/data/maps/headers/VermilionMart.asm
new file mode 100755
index 00000000..5777db4b
--- /dev/null
+++ b/data/maps/headers/VermilionMart.asm
@@ -0,0 +1,3 @@
+
+ map_header VermilionMart, VERMILION_MART, MART, 0
+ end_map_header
diff --git a/data/maps/headers/VermilionOldRodHouse.asm b/data/maps/headers/VermilionOldRodHouse.asm
new file mode 100755
index 00000000..f9c890e0
--- /dev/null
+++ b/data/maps/headers/VermilionOldRodHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header VermilionOldRodHouse, VERMILION_OLD_ROD_HOUSE, HOUSE, 0
+ end_map_header
diff --git a/data/maps/headers/VermilionPidgeyHouse.asm b/data/maps/headers/VermilionPidgeyHouse.asm
new file mode 100755
index 00000000..afb81784
--- /dev/null
+++ b/data/maps/headers/VermilionPidgeyHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header VermilionPidgeyHouse, VERMILION_PIDGEY_HOUSE, HOUSE, 0
+ end_map_header
diff --git a/data/maps/headers/VermilionPokecenter.asm b/data/maps/headers/VermilionPokecenter.asm
new file mode 100755
index 00000000..af9827ac
--- /dev/null
+++ b/data/maps/headers/VermilionPokecenter.asm
@@ -0,0 +1,3 @@
+
+ map_header VermilionPokecenter, VERMILION_POKECENTER, POKECENTER, 0
+ end_map_header
diff --git a/data/maps/headers/VermilionTradeHouse.asm b/data/maps/headers/VermilionTradeHouse.asm
new file mode 100755
index 00000000..3cb82c47
--- /dev/null
+++ b/data/maps/headers/VermilionTradeHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header VermilionTradeHouse, VERMILION_TRADE_HOUSE, HOUSE, 0
+ end_map_header
diff --git a/data/maps/headers/VictoryRoad1F.asm b/data/maps/headers/VictoryRoad1F.asm
new file mode 100755
index 00000000..dae95f16
--- /dev/null
+++ b/data/maps/headers/VictoryRoad1F.asm
@@ -0,0 +1,3 @@
+
+ map_header VictoryRoad1F, VICTORY_ROAD_1F, CAVERN, 0
+ end_map_header
diff --git a/data/maps/headers/VictoryRoad2F.asm b/data/maps/headers/VictoryRoad2F.asm
new file mode 100755
index 00000000..99079ad3
--- /dev/null
+++ b/data/maps/headers/VictoryRoad2F.asm
@@ -0,0 +1,3 @@
+
+ map_header VictoryRoad2F, VICTORY_ROAD_2F, CAVERN, 0
+ end_map_header
diff --git a/data/maps/headers/VictoryRoad3F.asm b/data/maps/headers/VictoryRoad3F.asm
new file mode 100755
index 00000000..bc15cad7
--- /dev/null
+++ b/data/maps/headers/VictoryRoad3F.asm
@@ -0,0 +1,3 @@
+
+ map_header VictoryRoad3F, VICTORY_ROAD_3F, CAVERN, 0
+ end_map_header
diff --git a/data/maps/headers/ViridianCity.asm b/data/maps/headers/ViridianCity.asm
new file mode 100755
index 00000000..0771cc81
--- /dev/null
+++ b/data/maps/headers/ViridianCity.asm
@@ -0,0 +1,6 @@
+
+ map_header ViridianCity, VIRIDIAN_CITY, OVERWORLD, NORTH | SOUTH | WEST
+ connection north, Route2, ROUTE_2, 5
+ connection south, Route1, ROUTE_1, 5
+ connection west, Route22, ROUTE_22, 4
+ end_map_header
diff --git a/data/maps/headers/ViridianForest.asm b/data/maps/headers/ViridianForest.asm
new file mode 100755
index 00000000..d531ec86
--- /dev/null
+++ b/data/maps/headers/ViridianForest.asm
@@ -0,0 +1,3 @@
+
+ map_header ViridianForest, VIRIDIAN_FOREST, FOREST, 0
+ end_map_header
diff --git a/data/maps/headers/ViridianForestNorthGate.asm b/data/maps/headers/ViridianForestNorthGate.asm
new file mode 100755
index 00000000..5bfcd6ed
--- /dev/null
+++ b/data/maps/headers/ViridianForestNorthGate.asm
@@ -0,0 +1,3 @@
+
+ map_header ViridianForestNorthGate, VIRIDIAN_FOREST_NORTH_GATE, FOREST_GATE, 0
+ end_map_header
diff --git a/data/maps/headers/ViridianForestSouthGate.asm b/data/maps/headers/ViridianForestSouthGate.asm
new file mode 100755
index 00000000..87a49284
--- /dev/null
+++ b/data/maps/headers/ViridianForestSouthGate.asm
@@ -0,0 +1,3 @@
+
+ map_header ViridianForestSouthGate, VIRIDIAN_FOREST_SOUTH_GATE, FOREST_GATE, 0
+ end_map_header
diff --git a/data/maps/headers/ViridianGym.asm b/data/maps/headers/ViridianGym.asm
new file mode 100755
index 00000000..640a71b6
--- /dev/null
+++ b/data/maps/headers/ViridianGym.asm
@@ -0,0 +1,3 @@
+
+ map_header ViridianGym, VIRIDIAN_GYM, GYM, 0
+ end_map_header
diff --git a/data/maps/headers/ViridianMart.asm b/data/maps/headers/ViridianMart.asm
new file mode 100755
index 00000000..817b5265
--- /dev/null
+++ b/data/maps/headers/ViridianMart.asm
@@ -0,0 +1,3 @@
+
+ map_header ViridianMart, VIRIDIAN_MART, MART, 0
+ end_map_header
diff --git a/data/maps/headers/ViridianNicknameHouse.asm b/data/maps/headers/ViridianNicknameHouse.asm
new file mode 100755
index 00000000..5a7c272f
--- /dev/null
+++ b/data/maps/headers/ViridianNicknameHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header ViridianNicknameHouse, VIRIDIAN_NICKNAME_HOUSE, HOUSE, 0
+ end_map_header
diff --git a/data/maps/headers/ViridianPokecenter.asm b/data/maps/headers/ViridianPokecenter.asm
new file mode 100755
index 00000000..daac19f3
--- /dev/null
+++ b/data/maps/headers/ViridianPokecenter.asm
@@ -0,0 +1,3 @@
+
+ map_header ViridianPokecenter, VIRIDIAN_POKECENTER, POKECENTER, 0
+ end_map_header
diff --git a/data/maps/headers/ViridianSchoolHouse.asm b/data/maps/headers/ViridianSchoolHouse.asm
new file mode 100755
index 00000000..f5b77212
--- /dev/null
+++ b/data/maps/headers/ViridianSchoolHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header ViridianSchoolHouse, VIRIDIAN_SCHOOL_HOUSE, HOUSE, 0
+ end_map_header
diff --git a/data/maps/headers/WardensHouse.asm b/data/maps/headers/WardensHouse.asm
new file mode 100755
index 00000000..08216f59
--- /dev/null
+++ b/data/maps/headers/WardensHouse.asm
@@ -0,0 +1,3 @@
+
+ map_header WardensHouse, WARDENS_HOUSE, LAB, 0
+ end_map_header
diff --git a/data/maps/objects/AgathasRoom.asm b/data/maps/objects/AgathasRoom.asm
new file mode 100755
index 00000000..4a82e78d
--- /dev/null
+++ b/data/maps/objects/AgathasRoom.asm
@@ -0,0 +1,19 @@
+AgathasRoom_Object:
+ db $0 ; border block
+
+ db 4 ; 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
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_AGATHA, 5, 2, STAY, DOWN, 1, OPP_AGATHA, 1
+
+ ; warp-to
+ warp_to 4, 11, AGATHAS_ROOM_WIDTH ; BRUNOS_ROOM
+ warp_to 5, 11, AGATHAS_ROOM_WIDTH ; BRUNOS_ROOM
+ warp_to 4, 0, AGATHAS_ROOM_WIDTH ; LANCES_ROOM
+ warp_to 5, 0, AGATHAS_ROOM_WIDTH ; LANCES_ROOM
diff --git a/data/maps/objects/BikeShop.asm b/data/maps/objects/BikeShop.asm
new file mode 100755
index 00000000..9f21ab3e
--- /dev/null
+++ b/data/maps/objects/BikeShop.asm
@@ -0,0 +1,17 @@
+BikeShop_Object:
+ db $e ; border block
+
+ db 2 ; warps
+ warp 2, 7, 4, -1
+ warp 3, 7, 4, -1
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_BIKE_SHOP_GUY, 6, 2, STAY, NONE, 1 ; person
+ object SPRITE_MOM_GEISHA, 5, 6, WALK, 1, 2 ; person
+ object SPRITE_BUG_CATCHER, 1, 3, STAY, UP, 3 ; person
+
+ ; warp-to
+ warp_to 2, 7, BIKE_SHOP_WIDTH
+ warp_to 3, 7, BIKE_SHOP_WIDTH
diff --git a/data/maps/objects/BillsHouse.asm b/data/maps/objects/BillsHouse.asm
new file mode 100755
index 00000000..c8f708cb
--- /dev/null
+++ b/data/maps/objects/BillsHouse.asm
@@ -0,0 +1,17 @@
+BillsHouse_Object:
+ db $d ; border block
+
+ db 2 ; warps
+ warp 2, 7, 0, -1
+ warp 3, 7, 0, -1
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_SLOWBRO, 6, 5, STAY, NONE, 1 ; person
+ object SPRITE_BLACK_HAIR_BOY_2, 4, 4, STAY, NONE, 2 ; person
+ object SPRITE_BLACK_HAIR_BOY_2, 6, 5, STAY, NONE, 3 ; person
+
+ ; warp-to
+ warp_to 2, 7, BILLS_HOUSE_WIDTH
+ warp_to 3, 7, BILLS_HOUSE_WIDTH
diff --git a/data/maps/objects/BluesHouse.asm b/data/maps/objects/BluesHouse.asm
new file mode 100755
index 00000000..45ca1286
--- /dev/null
+++ b/data/maps/objects/BluesHouse.asm
@@ -0,0 +1,17 @@
+BluesHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 1, -1
+ warp 3, 7, 1, -1
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_DAISY, 2, 3, STAY, RIGHT, 1 ; Daisy, sitting by map
+ object SPRITE_DAISY, 6, 4, WALK, 1, 2, 0 ; Daisy, walking around
+ object SPRITE_BOOK_MAP_DEX, 3, 3, STAY, NONE, 3, 0 ; map on table
+
+ ; warp-to
+ warp_to 2, 7, BLUES_HOUSE_WIDTH
+ warp_to 3, 7, BLUES_HOUSE_WIDTH
diff --git a/data/maps/objects/BrunosRoom.asm b/data/maps/objects/BrunosRoom.asm
new file mode 100755
index 00000000..dde1e2dd
--- /dev/null
+++ b/data/maps/objects/BrunosRoom.asm
@@ -0,0 +1,19 @@
+BrunosRoom_Object:
+ db $3 ; border block
+
+ db 4 ; 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
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_BRUNO, 5, 2, STAY, DOWN, 1, OPP_BRUNO, 1
+
+ ; warp-to
+ warp_to 4, 11, BRUNOS_ROOM_WIDTH ; LORELEIS_ROOM
+ warp_to 5, 11, BRUNOS_ROOM_WIDTH ; LORELEIS_ROOM
+ warp_to 4, 0, BRUNOS_ROOM_WIDTH ; AGATHAS_ROOM
+ warp_to 5, 0, BRUNOS_ROOM_WIDTH ; AGATHAS_ROOM
diff --git a/data/maps/objects/CeladonChiefHouse.asm b/data/maps/objects/CeladonChiefHouse.asm
new file mode 100755
index 00000000..88850f35
--- /dev/null
+++ b/data/maps/objects/CeladonChiefHouse.asm
@@ -0,0 +1,17 @@
+CeladonChiefHouse_Object:
+ db $f ; border block
+
+ db 2 ; warps
+ warp 2, 7, 11, -1
+ warp 3, 7, 11, -1
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_OLD_PERSON, 4, 2, STAY, DOWN, 1 ; person
+ object SPRITE_ROCKET, 1, 4, WALK, 0, 2 ; person
+ object SPRITE_SAILOR, 5, 6, STAY, LEFT, 3 ; person
+
+ ; warp-to
+ warp_to 2, 7, CELADON_CHIEF_HOUSE_WIDTH
+ warp_to 3, 7, CELADON_CHIEF_HOUSE_WIDTH
diff --git a/data/maps/objects/CeladonCity.asm b/data/maps/objects/CeladonCity.asm
new file mode 100755
index 00000000..005fc61e
--- /dev/null
+++ b/data/maps/objects/CeladonCity.asm
@@ -0,0 +1,54 @@
+CeladonCity_Object:
+ db $f ; border block
+
+ db 13 ; 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
+
+ db 9 ; 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
+
+ db 9 ; objects
+ object SPRITE_LITTLE_GIRL, 8, 17, WALK, 0, 1 ; person
+ object SPRITE_OLD_PERSON, 11, 28, STAY, UP, 2 ; person
+ object SPRITE_GIRL, 14, 19, WALK, 1, 3 ; person
+ object SPRITE_OLD_PERSON, 25, 22, STAY, DOWN, 4 ; person
+ object SPRITE_OLD_PERSON, 22, 16, STAY, DOWN, 5 ; person
+ object SPRITE_FISHER2, 32, 12, STAY, LEFT, 6 ; person
+ object SPRITE_SLOWBRO, 30, 12, STAY, RIGHT, 7 ; person
+ object SPRITE_ROCKET, 32, 29, WALK, 2, 8 ; person
+ object SPRITE_ROCKET, 42, 14, WALK, 2, 9 ; person
+
+ ; warp-to
+ warp_to 8, 13, CELADON_CITY_WIDTH ; CELADON_MART_1F
+ warp_to 10, 13, CELADON_CITY_WIDTH ; CELADON_MART_1F
+ warp_to 24, 9, CELADON_CITY_WIDTH ; CELADON_MANSION_1F
+ warp_to 24, 3, CELADON_CITY_WIDTH ; CELADON_MANSION_1F
+ warp_to 25, 3, CELADON_CITY_WIDTH ; CELADON_MANSION_1F
+ warp_to 41, 9, CELADON_CITY_WIDTH ; CELADON_POKECENTER
+ warp_to 12, 27, CELADON_CITY_WIDTH ; CELADON_GYM
+ warp_to 28, 19, CELADON_CITY_WIDTH ; GAME_CORNER
+ warp_to 39, 19, CELADON_CITY_WIDTH ; CELADON_MART_5F
+ warp_to 33, 19, CELADON_CITY_WIDTH ; GAME_CORNER_PRIZE_ROOM
+ warp_to 31, 27, CELADON_CITY_WIDTH ; CELADON_DINER
+ warp_to 35, 27, CELADON_CITY_WIDTH ; CELADON_CHIEF_HOUSE
+ warp_to 43, 27, CELADON_CITY_WIDTH ; CELADON_HOTEL
diff --git a/data/maps/objects/CeladonDiner.asm b/data/maps/objects/CeladonDiner.asm
new file mode 100755
index 00000000..0a4a895d
--- /dev/null
+++ b/data/maps/objects/CeladonDiner.asm
@@ -0,0 +1,19 @@
+CeladonDiner_Object:
+ db $f ; border block
+
+ db 2 ; warps
+ warp 3, 7, 10, -1
+ warp 4, 7, 10, -1
+
+ db 0 ; signs
+
+ db 5 ; objects
+ object SPRITE_COOK, 8, 5, WALK, 2, 1 ; person
+ object SPRITE_MOM_GEISHA, 7, 2, STAY, NONE, 2 ; person
+ object SPRITE_FAT_BALD_GUY, 1, 4, STAY, DOWN, 3 ; person
+ object SPRITE_FISHER2, 5, 3, STAY, RIGHT, 4 ; person
+ object SPRITE_GYM_HELPER, 0, 1, STAY, DOWN, 5 ; person
+
+ ; warp-to
+ warp_to 3, 7, CELADON_DINER_WIDTH
+ warp_to 4, 7, CELADON_DINER_WIDTH
diff --git a/data/maps/objects/CeladonGym.asm b/data/maps/objects/CeladonGym.asm
new file mode 100755
index 00000000..98fce576
--- /dev/null
+++ b/data/maps/objects/CeladonGym.asm
@@ -0,0 +1,22 @@
+CeladonGym_Object:
+ db $3 ; border block
+
+ db 2 ; warps
+ warp 4, 17, 6, -1
+ warp 5, 17, 6, -1
+
+ db 0 ; signs
+
+ db 8 ; objects
+ object SPRITE_ERIKA, 4, 3, STAY, DOWN, 1, OPP_ERIKA, 1
+ object SPRITE_LASS, 2, 11, STAY, RIGHT, 2, OPP_LASS, 17
+ object SPRITE_FOULARD_WOMAN, 7, 10, STAY, LEFT, 3, OPP_BEAUTY, 1
+ object SPRITE_LASS, 9, 5, STAY, DOWN, 4, OPP_JR_TRAINER_F, 11
+ object SPRITE_FOULARD_WOMAN, 1, 5, STAY, DOWN, 5, OPP_BEAUTY, 2
+ object SPRITE_LASS, 6, 3, STAY, DOWN, 6, OPP_LASS, 18
+ object SPRITE_FOULARD_WOMAN, 3, 3, STAY, DOWN, 7, OPP_BEAUTY, 3
+ object SPRITE_LASS, 5, 3, STAY, DOWN, 8, OPP_COOLTRAINER_F, 1
+
+ ; warp-to
+ warp_to 4, 17, CELADON_GYM_WIDTH
+ warp_to 5, 17, CELADON_GYM_WIDTH
diff --git a/data/maps/objects/CeladonHotel.asm b/data/maps/objects/CeladonHotel.asm
new file mode 100755
index 00000000..f4aa1305
--- /dev/null
+++ b/data/maps/objects/CeladonHotel.asm
@@ -0,0 +1,17 @@
+CeladonHotel_Object:
+ db $0 ; border block
+
+ db 2 ; warps
+ warp 3, 7, 12, -1
+ warp 4, 7, 12, -1
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_OLD_MEDIUM_WOMAN, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_FOULARD_WOMAN, 2, 4, STAY, NONE, 2 ; person
+ object SPRITE_BLACK_HAIR_BOY_2, 8, 4, WALK, 2, 3 ; person
+
+ ; warp-to
+ warp_to 3, 7, CELADON_HOTEL_WIDTH
+ warp_to 4, 7, CELADON_HOTEL_WIDTH
diff --git a/data/maps/objects/CeladonMansion1F.asm b/data/maps/objects/CeladonMansion1F.asm
new file mode 100755
index 00000000..1abd434c
--- /dev/null
+++ b/data/maps/objects/CeladonMansion1F.asm
@@ -0,0 +1,25 @@
+CeladonMansion1F_Object:
+ db $f ; border block
+
+ db 5 ; warps
+ warp 4, 11, 2, -1
+ warp 5, 11, 2, -1
+ warp 4, 0, 4, -1
+ warp 7, 1, 1, CELADON_MANSION_2F
+ warp 2, 1, 2, CELADON_MANSION_2F
+
+ db 1 ; signs
+ sign 4, 9, 5 ; CeladonMansion1Text5
+
+ db 4 ; objects
+ object SPRITE_SLOWBRO, 0, 5, STAY, RIGHT, 1 ; person
+ object SPRITE_OLD_MEDIUM_WOMAN, 1, 5, STAY, DOWN, 2 ; person
+ object SPRITE_CLEFAIRY, 1, 8, WALK, 2, 3 ; person
+ object SPRITE_SLOWBRO, 4, 4, WALK, 1, 4 ; person
+
+ ; warp-to
+ warp_to 4, 11, CELADON_MANSION_1F_WIDTH
+ warp_to 5, 11, CELADON_MANSION_1F_WIDTH
+ warp_to 4, 0, CELADON_MANSION_1F_WIDTH
+ warp_to 7, 1, CELADON_MANSION_1F_WIDTH ; CELADON_MANSION_2F
+ warp_to 2, 1, CELADON_MANSION_1F_WIDTH ; CELADON_MANSION_2F
diff --git a/data/maps/objects/CeladonMansion2F.asm b/data/maps/objects/CeladonMansion2F.asm
new file mode 100755
index 00000000..09c94d29
--- /dev/null
+++ b/data/maps/objects/CeladonMansion2F.asm
@@ -0,0 +1,19 @@
+CeladonMansion2F_Object:
+ db $f ; border block
+
+ db 4 ; 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
+
+ db 1 ; signs
+ sign 4, 9, 1 ; CeladonMansion2Text1
+
+ db 0 ; objects
+
+ ; warp-to
+ warp_to 6, 1, CELADON_MANSION_2F_WIDTH ; CELADON_MANSION_3F
+ warp_to 7, 1, CELADON_MANSION_2F_WIDTH ; CELADON_MANSION_1F
+ warp_to 2, 1, CELADON_MANSION_2F_WIDTH ; CELADON_MANSION_1F
+ warp_to 4, 1, CELADON_MANSION_2F_WIDTH ; CELADON_MANSION_3F
diff --git a/data/maps/objects/CeladonMansion3F.asm b/data/maps/objects/CeladonMansion3F.asm
new file mode 100755
index 00000000..32701f14
--- /dev/null
+++ b/data/maps/objects/CeladonMansion3F.asm
@@ -0,0 +1,26 @@
+CeladonMansion3F_Object:
+ db $f ; border block
+
+ db 4 ; 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
+
+ db 4 ; signs
+ sign 1, 3, 5 ; CeladonMansion3Text5
+ sign 4, 3, 6 ; CeladonMansion3Text6
+ sign 1, 6, 7 ; CeladonMansion3Text7
+ sign 4, 9, 8 ; CeladonMansion3Text8
+
+ db 4 ; objects
+ object SPRITE_BIKE_SHOP_GUY, 0, 4, STAY, UP, 1 ; person
+ object SPRITE_MART_GUY, 3, 4, STAY, UP, 2 ; person
+ object SPRITE_BLACK_HAIR_BOY_2, 0, 7, STAY, UP, 3 ; person
+ object SPRITE_LAPRAS_GIVER, 2, 3, STAY, NONE, 4 ; person
+
+ ; warp-to
+ warp_to 6, 1, CELADON_MANSION_3F_WIDTH ; CELADON_MANSION_2F
+ warp_to 7, 1, CELADON_MANSION_3F_WIDTH ; CELADON_MANSION_ROOF
+ warp_to 2, 1, CELADON_MANSION_3F_WIDTH ; CELADON_MANSION_ROOF
+ warp_to 4, 1, CELADON_MANSION_3F_WIDTH ; CELADON_MANSION_2F
diff --git a/data/maps/objects/CeladonMansionRoof.asm b/data/maps/objects/CeladonMansionRoof.asm
new file mode 100755
index 00000000..353b0b96
--- /dev/null
+++ b/data/maps/objects/CeladonMansionRoof.asm
@@ -0,0 +1,17 @@
+CeladonMansionRoof_Object:
+ db $9 ; border block
+
+ db 3 ; warps
+ warp 6, 1, 1, CELADON_MANSION_3F
+ warp 2, 1, 2, CELADON_MANSION_3F
+ warp 2, 7, 0, CELADON_MANSION_ROOF_HOUSE
+
+ db 1 ; signs
+ sign 3, 7, 1 ; CeladonMansion4Text1
+
+ db 0 ; objects
+
+ ; warp-to
+ warp_to 6, 1, CELADON_MANSION_ROOF_WIDTH ; CELADON_MANSION_3F
+ warp_to 2, 1, CELADON_MANSION_ROOF_WIDTH ; CELADON_MANSION_3F
+ warp_to 2, 7, CELADON_MANSION_ROOF_WIDTH ; CELADON_MANSION_ROOF_HOUSE
diff --git a/data/maps/objects/CeladonMansionRoofHouse.asm b/data/maps/objects/CeladonMansionRoofHouse.asm
new file mode 100755
index 00000000..b6a6149f
--- /dev/null
+++ b/data/maps/objects/CeladonMansionRoofHouse.asm
@@ -0,0 +1,16 @@
+CeladonMansionRoofHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 2, CELADON_MANSION_ROOF
+ warp 3, 7, 2, CELADON_MANSION_ROOF
+
+ db 0 ; signs
+
+ db 2 ; objects
+ object SPRITE_HIKER, 2, 2, STAY, DOWN, 1 ; person
+ object SPRITE_BALL, 4, 3, STAY, NONE, 2 ; person
+
+ ; warp-to
+ warp_to 2, 7, CELADON_MANSION_ROOF_HOUSE_WIDTH ; CELADON_MANSION_ROOF
+ warp_to 3, 7, CELADON_MANSION_ROOF_HOUSE_WIDTH ; CELADON_MANSION_ROOF
diff --git a/data/maps/objects/CeladonMart1F.asm b/data/maps/objects/CeladonMart1F.asm
new file mode 100755
index 00000000..2037369a
--- /dev/null
+++ b/data/maps/objects/CeladonMart1F.asm
@@ -0,0 +1,25 @@
+CeladonMart1F_Object:
+ db $f ; border block
+
+ db 6 ; warps
+ warp 2, 7, 0, -1
+ warp 3, 7, 0, -1
+ warp 16, 7, 1, -1
+ warp 17, 7, 1, -1
+ warp 12, 1, 0, CELADON_MART_2F
+ warp 1, 1, 0, CELADON_MART_ELEVATOR
+
+ db 2 ; signs
+ sign 11, 4, 2 ; CeladonMart1Text2
+ sign 14, 1, 3 ; CeladonMart1Text3
+
+ db 1 ; objects
+ object SPRITE_CABLE_CLUB_WOMAN, 8, 3, STAY, DOWN, 1 ; person
+
+ ; warp-to
+ warp_to 2, 7, CELADON_MART_1F_WIDTH
+ warp_to 3, 7, CELADON_MART_1F_WIDTH
+ warp_to 16, 7, CELADON_MART_1F_WIDTH
+ warp_to 17, 7, CELADON_MART_1F_WIDTH
+ warp_to 12, 1, CELADON_MART_1F_WIDTH ; CELADON_MART_2F
+ warp_to 1, 1, CELADON_MART_1F_WIDTH ; CELADON_MART_ELEVATOR
diff --git a/data/maps/objects/CeladonMart2F.asm b/data/maps/objects/CeladonMart2F.asm
new file mode 100755
index 00000000..2f5f428e
--- /dev/null
+++ b/data/maps/objects/CeladonMart2F.asm
@@ -0,0 +1,21 @@
+CeladonMart2F_Object:
+ db $f ; border block
+
+ db 3 ; warps
+ warp 12, 1, 4, CELADON_MART_1F
+ warp 16, 1, 1, CELADON_MART_3F
+ warp 1, 1, 0, CELADON_MART_ELEVATOR
+
+ db 1 ; signs
+ sign 14, 1, 5 ; CeladonMart2Text5
+
+ db 4 ; objects
+ object SPRITE_MART_GUY, 5, 3, STAY, DOWN, 1 ; person
+ object SPRITE_MART_GUY, 6, 3, STAY, DOWN, 2 ; person
+ object SPRITE_FAT_BALD_GUY, 19, 5, STAY, NONE, 3 ; person
+ object SPRITE_GIRL, 14, 4, WALK, 1, 4 ; person
+
+ ; warp-to
+ warp_to 12, 1, CELADON_MART_2F_WIDTH ; CELADON_MART_1F
+ warp_to 16, 1, CELADON_MART_2F_WIDTH ; CELADON_MART_3F
+ warp_to 1, 1, CELADON_MART_2F_WIDTH ; CELADON_MART_ELEVATOR
diff --git a/data/maps/objects/CeladonMart3F.asm b/data/maps/objects/CeladonMart3F.asm
new file mode 100755
index 00000000..6dfce535
--- /dev/null
+++ b/data/maps/objects/CeladonMart3F.asm
@@ -0,0 +1,33 @@
+CeladonMart3F_Object:
+ db $f ; border block
+
+ db 3 ; warps
+ warp 12, 1, 0, CELADON_MART_4F
+ warp 16, 1, 1, CELADON_MART_2F
+ warp 1, 1, 0, CELADON_MART_ELEVATOR
+
+ db 12 ; 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
+
+ db 5 ; objects
+ object SPRITE_MART_GUY, 16, 5, STAY, NONE, 1 ; person
+ object SPRITE_GAMEBOY_KID_COPY, 11, 6, STAY, RIGHT, 2 ; person
+ object SPRITE_GAMEBOY_KID_COPY, 7, 2, STAY, DOWN, 3 ; person
+ object SPRITE_GAMEBOY_KID_COPY, 8, 2, STAY, DOWN, 4 ; person
+ object SPRITE_YOUNG_BOY, 2, 5, STAY, UP, 5 ; person
+
+ ; warp-to
+ warp_to 12, 1, CELADON_MART_3F_WIDTH ; CELADON_MART_4F
+ warp_to 16, 1, CELADON_MART_3F_WIDTH ; CELADON_MART_2F
+ warp_to 1, 1, CELADON_MART_3F_WIDTH ; CELADON_MART_ELEVATOR
diff --git a/data/maps/objects/CeladonMart4F.asm b/data/maps/objects/CeladonMart4F.asm
new file mode 100755
index 00000000..18ba3bdc
--- /dev/null
+++ b/data/maps/objects/CeladonMart4F.asm
@@ -0,0 +1,20 @@
+CeladonMart4F_Object:
+ db $f ; border block
+
+ db 3 ; warps
+ warp 12, 1, 0, CELADON_MART_3F
+ warp 16, 1, 1, CELADON_MART_5F
+ warp 1, 1, 0, CELADON_MART_ELEVATOR
+
+ db 1 ; signs
+ sign 14, 1, 4 ; CeladonMart4Text4
+
+ db 3 ; objects
+ object SPRITE_MART_GUY, 5, 7, STAY, NONE, 1 ; person
+ object SPRITE_BLACK_HAIR_BOY_2, 15, 5, WALK, 2, 2 ; person
+ object SPRITE_BUG_CATCHER, 5, 2, WALK, 2, 3 ; person
+
+ ; warp-to
+ warp_to 12, 1, CELADON_MART_4F_WIDTH ; CELADON_MART_3F
+ warp_to 16, 1, CELADON_MART_4F_WIDTH ; CELADON_MART_5F
+ warp_to 1, 1, CELADON_MART_4F_WIDTH ; CELADON_MART_ELEVATOR
diff --git a/data/maps/objects/CeladonMart5F.asm b/data/maps/objects/CeladonMart5F.asm
new file mode 100755
index 00000000..fb1201c9
--- /dev/null
+++ b/data/maps/objects/CeladonMart5F.asm
@@ -0,0 +1,21 @@
+CeladonMart5F_Object:
+ db $f ; border block
+
+ db 3 ; warps
+ warp 12, 1, 0, CELADON_MART_ROOF
+ warp 16, 1, 1, CELADON_MART_4F
+ warp 1, 1, 0, CELADON_MART_ELEVATOR
+
+ db 1 ; signs
+ sign 14, 1, 5 ; CeladonMart5Text5
+
+ db 4 ; objects
+ object SPRITE_GENTLEMAN, 14, 5, WALK, 1, 1 ; person
+ object SPRITE_SAILOR, 2, 6, STAY, NONE, 2 ; person
+ object SPRITE_MART_GUY, 5, 3, STAY, DOWN, 3 ; person
+ object SPRITE_MART_GUY, 6, 3, STAY, DOWN, 4 ; person
+
+ ; warp-to
+ warp_to 12, 1, CELADON_MART_5F_WIDTH ; CELADON_MART_ROOF
+ warp_to 16, 1, CELADON_MART_5F_WIDTH ; CELADON_MART_4F
+ warp_to 1, 1, CELADON_MART_5F_WIDTH ; CELADON_MART_ELEVATOR
diff --git a/data/maps/objects/CeladonMartElevator.asm b/data/maps/objects/CeladonMartElevator.asm
new file mode 100755
index 00000000..9688daef
--- /dev/null
+++ b/data/maps/objects/CeladonMartElevator.asm
@@ -0,0 +1,15 @@
+CeladonMartElevator_Object:
+ db $f ; border block
+
+ db 2 ; warps
+ warp 1, 3, 5, CELADON_MART_1F
+ warp 2, 3, 5, CELADON_MART_1F
+
+ db 1 ; signs
+ sign 3, 0, 1 ; CeladonMartElevatorText1
+
+ db 0 ; objects
+
+ ; warp-to
+ warp_to 1, 3, CELADON_MART_ELEVATOR_WIDTH ; CELADON_MART_1F
+ warp_to 2, 3, CELADON_MART_ELEVATOR_WIDTH ; CELADON_MART_1F
diff --git a/data/maps/objects/CeladonMartRoof.asm b/data/maps/objects/CeladonMartRoof.asm
new file mode 100755
index 00000000..05cef2d4
--- /dev/null
+++ b/data/maps/objects/CeladonMartRoof.asm
@@ -0,0 +1,18 @@
+CeladonMartRoof_Object:
+ db $42 ; border block
+
+ db 1 ; warps
+ warp 15, 2, 0, CELADON_MART_5F
+
+ db 4 ; signs
+ sign 10, 1, 3 ; CeladonMartRoofText3
+ sign 11, 1, 4 ; CeladonMartRoofText4
+ sign 12, 2, 5 ; CeladonMartRoofText5
+ sign 13, 2, 6 ; CeladonMartRoofText6
+
+ db 2 ; objects
+ object SPRITE_BLACK_HAIR_BOY_2, 10, 4, STAY, LEFT, 1 ; person
+ object SPRITE_LITTLE_GIRL, 5, 5, WALK, 0, 2 ; person
+
+ ; warp-to
+ warp_to 15, 2, CELADON_MART_ROOF_WIDTH ; CELADON_MART_5F
diff --git a/data/maps/objects/CeladonPokecenter.asm b/data/maps/objects/CeladonPokecenter.asm
new file mode 100755
index 00000000..da5d595f
--- /dev/null
+++ b/data/maps/objects/CeladonPokecenter.asm
@@ -0,0 +1,18 @@
+CeladonPokecenter_Object:
+ db $0 ; border block
+
+ db 2 ; warps
+ warp 3, 7, 5, -1
+ warp 4, 7, 5, -1
+
+ db 0 ; signs
+
+ db 4 ; objects
+ object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_GENTLEMAN, 7, 3, WALK, 2, 2 ; person
+ object SPRITE_FOULARD_WOMAN, 10, 5, WALK, 0, 3 ; person
+ object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
+
+ ; warp-to
+ warp_to 3, 7, CELADON_POKECENTER_WIDTH
+ warp_to 4, 7, CELADON_POKECENTER_WIDTH
diff --git a/data/maps/objects/CeruleanBadgeHouse.asm b/data/maps/objects/CeruleanBadgeHouse.asm
new file mode 100755
index 00000000..62a6873b
--- /dev/null
+++ b/data/maps/objects/CeruleanBadgeHouse.asm
@@ -0,0 +1,17 @@
+CeruleanBadgeHouse_Object:
+ db $c ; border block
+
+ db 3 ; warps
+ warp 2, 0, 9, -1
+ warp 2, 7, 8, -1
+ warp 3, 7, 8, -1
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_FAT_BALD_GUY, 5, 3, STAY, RIGHT, 1 ; person
+
+ ; warp-to
+ warp_to 2, 0, CERULEAN_BADGE_HOUSE_WIDTH
+ warp_to 2, 7, CERULEAN_BADGE_HOUSE_WIDTH
+ warp_to 3, 7, CERULEAN_BADGE_HOUSE_WIDTH
diff --git a/data/maps/objects/CeruleanCave1F.asm b/data/maps/objects/CeruleanCave1F.asm
new file mode 100755
index 00000000..f9670482
--- /dev/null
+++ b/data/maps/objects/CeruleanCave1F.asm
@@ -0,0 +1,31 @@
+CeruleanCave1F_Object:
+ db $7d ; border block
+
+ db 9 ; warps
+ warp 24, 17, 6, -1
+ warp 25, 17, 6, -1
+ 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
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_BALL, 7, 13, STAY, NONE, 1, FULL_RESTORE
+ object SPRITE_BALL, 19, 3, STAY, NONE, 2, MAX_ELIXER
+ object SPRITE_BALL, 5, 0, STAY, NONE, 3, NUGGET
+
+ ; warp-to
+ warp_to 24, 17, CERULEAN_CAVE_1F_WIDTH
+ warp_to 25, 17, CERULEAN_CAVE_1F_WIDTH
+ warp_to 27, 1, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F
+ warp_to 23, 7, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F
+ warp_to 18, 9, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F
+ warp_to 7, 1, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F
+ warp_to 1, 3, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F
+ warp_to 3, 11, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F
+ warp_to 0, 6, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_B1F
diff --git a/data/maps/objects/CeruleanCave2F.asm b/data/maps/objects/CeruleanCave2F.asm
new file mode 100755
index 00000000..f8312da0
--- /dev/null
+++ b/data/maps/objects/CeruleanCave2F.asm
@@ -0,0 +1,25 @@
+CeruleanCave2F_Object:
+ db $7d ; border block
+
+ db 6 ; 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
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_BALL, 29, 9, STAY, NONE, 1, PP_UP
+ object SPRITE_BALL, 4, 15, STAY, NONE, 2, ULTRA_BALL
+ object SPRITE_BALL, 13, 6, STAY, NONE, 3, FULL_RESTORE
+
+ ; warp-to
+ warp_to 29, 1, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F
+ warp_to 22, 6, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F
+ warp_to 19, 7, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F
+ warp_to 9, 1, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F
+ warp_to 1, 3, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F
+ warp_to 3, 11, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F
diff --git a/data/maps/objects/CeruleanCaveB1F.asm b/data/maps/objects/CeruleanCaveB1F.asm
new file mode 100755
index 00000000..461f77aa
--- /dev/null
+++ b/data/maps/objects/CeruleanCaveB1F.asm
@@ -0,0 +1,15 @@
+CeruleanCaveB1F_Object:
+ db $7d ; border block
+
+ db 1 ; warps
+ warp 3, 6, 8, CERULEAN_CAVE_1F
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_SLOWBRO, 27, 13, STAY, DOWN, 1, MEWTWO, 70
+ object SPRITE_BALL, 16, 9, STAY, NONE, 2, ULTRA_BALL
+ object SPRITE_BALL, 18, 1, STAY, NONE, 3, MAX_REVIVE
+
+ ; warp-to
+ warp_to 3, 6, CERULEAN_CAVE_B1F_WIDTH ; CERULEAN_CAVE_1F
diff --git a/data/maps/objects/CeruleanCity.asm b/data/maps/objects/CeruleanCity.asm
new file mode 100755
index 00000000..d5adcfd7
--- /dev/null
+++ b/data/maps/objects/CeruleanCity.asm
@@ -0,0 +1,47 @@
+CeruleanCity_Object:
+ db $f ; border block
+
+ db 10 ; 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
+
+ db 6 ; 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
+
+ db 11 ; objects
+ object SPRITE_BLUE, 20, 2, STAY, DOWN, 1 ; person
+ object SPRITE_ROCKET, 30, 8, STAY, NONE, 2, OPP_ROCKET, 5
+ object SPRITE_BLACK_HAIR_BOY_1, 31, 20, STAY, DOWN, 3 ; person
+ object SPRITE_BLACK_HAIR_BOY_2, 15, 18, WALK, 1, 4 ; person
+ object SPRITE_BLACK_HAIR_BOY_2, 9, 21, WALK, 2, 5 ; person
+ object SPRITE_GUARD, 28, 12, STAY, DOWN, 6 ; person
+ object SPRITE_LASS, 29, 26, STAY, LEFT, 7 ; person
+ object SPRITE_SLOWBRO, 28, 26, STAY, DOWN, 8 ; person
+ object SPRITE_LASS, 9, 27, WALK, 2, 9 ; person
+ object SPRITE_BLACK_HAIR_BOY_2, 4, 12, STAY, DOWN, 10 ; person
+ object SPRITE_GUARD, 27, 12, STAY, DOWN, 11 ; person
+
+ ; warp-to
+ warp_to 27, 11, CERULEAN_CITY_WIDTH ; CERULEAN_TRASHED_HOUSE
+ warp_to 13, 15, CERULEAN_CITY_WIDTH ; CERULEAN_TRADE_HOUSE
+ warp_to 19, 17, CERULEAN_CITY_WIDTH ; CERULEAN_POKECENTER
+ warp_to 30, 19, CERULEAN_CITY_WIDTH ; CERULEAN_GYM
+ warp_to 13, 25, CERULEAN_CITY_WIDTH ; BIKE_SHOP
+ warp_to 25, 25, CERULEAN_CITY_WIDTH ; CERULEAN_MART
+ warp_to 4, 11, CERULEAN_CITY_WIDTH ; CERULEAN_CAVE_1F
+ warp_to 27, 9, CERULEAN_CITY_WIDTH ; CERULEAN_TRASHED_HOUSE
+ warp_to 9, 11, CERULEAN_CITY_WIDTH ; CERULEAN_BADGE_HOUSE
+ warp_to 9, 9, CERULEAN_CITY_WIDTH ; CERULEAN_BADGE_HOUSE
diff --git a/data/maps/objects/CeruleanGym.asm b/data/maps/objects/CeruleanGym.asm
new file mode 100755
index 00000000..96713648
--- /dev/null
+++ b/data/maps/objects/CeruleanGym.asm
@@ -0,0 +1,18 @@
+CeruleanGym_Object:
+ db $3 ; border block
+
+ db 2 ; warps
+ warp 4, 13, 3, -1
+ warp 5, 13, 3, -1
+
+ db 0 ; signs
+
+ db 4 ; objects
+ object SPRITE_BRUNETTE_GIRL, 4, 2, STAY, DOWN, 1, OPP_MISTY, 1
+ object SPRITE_LASS, 2, 3, STAY, RIGHT, 2, OPP_JR_TRAINER_F, 1
+ object SPRITE_SWIMMER, 8, 7, STAY, LEFT, 3, OPP_SWIMMER, 1
+ object SPRITE_GYM_HELPER, 7, 10, STAY, DOWN, 4 ; person
+
+ ; warp-to
+ warp_to 4, 13, CERULEAN_GYM_WIDTH
+ warp_to 5, 13, CERULEAN_GYM_WIDTH
diff --git a/data/maps/objects/CeruleanMart.asm b/data/maps/objects/CeruleanMart.asm
new file mode 100755
index 00000000..4659375f
--- /dev/null
+++ b/data/maps/objects/CeruleanMart.asm
@@ -0,0 +1,17 @@
+CeruleanMart_Object:
+ db $0 ; border block
+
+ db 2 ; warps
+ warp 3, 7, 5, -1
+ warp 4, 7, 5, -1
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
+ object SPRITE_BLACK_HAIR_BOY_1, 3, 4, WALK, 1, 2 ; person
+ object SPRITE_LASS, 6, 2, WALK, 2, 3 ; person
+
+ ; warp-to
+ warp_to 3, 7, CERULEAN_MART_WIDTH
+ warp_to 4, 7, CERULEAN_MART_WIDTH
diff --git a/data/maps/objects/CeruleanPokecenter.asm b/data/maps/objects/CeruleanPokecenter.asm
new file mode 100755
index 00000000..f65db52c
--- /dev/null
+++ b/data/maps/objects/CeruleanPokecenter.asm
@@ -0,0 +1,18 @@
+CeruleanPokecenter_Object:
+ db $0 ; border block
+
+ db 2 ; warps
+ warp 3, 7, 2, -1
+ warp 4, 7, 2, -1
+
+ db 0 ; signs
+
+ db 4 ; objects
+ object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_BLACK_HAIR_BOY_2, 10, 5, WALK, 0, 2 ; person
+ object SPRITE_GENTLEMAN, 4, 3, STAY, DOWN, 3 ; person
+ object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
+
+ ; warp-to
+ warp_to 3, 7, CERULEAN_POKECENTER_WIDTH
+ warp_to 4, 7, CERULEAN_POKECENTER_WIDTH
diff --git a/data/maps/objects/CeruleanTradeHouse.asm b/data/maps/objects/CeruleanTradeHouse.asm
new file mode 100755
index 00000000..a4a46e9b
--- /dev/null
+++ b/data/maps/objects/CeruleanTradeHouse.asm
@@ -0,0 +1,16 @@
+CeruleanTradeHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 1, -1
+ warp 3, 7, 1, -1
+
+ db 0 ; signs
+
+ db 2 ; objects
+ object SPRITE_OLD_MEDIUM_WOMAN, 5, 4, STAY, LEFT, 1 ; person
+ object SPRITE_GAMBLER, 1, 2, STAY, NONE, 2 ; person
+
+ ; warp-to
+ warp_to 2, 7, CERULEAN_TRADE_HOUSE_WIDTH
+ warp_to 3, 7, CERULEAN_TRADE_HOUSE_WIDTH
diff --git a/data/maps/objects/CeruleanTrashedHouse.asm b/data/maps/objects/CeruleanTrashedHouse.asm
new file mode 100755
index 00000000..44b7cf20
--- /dev/null
+++ b/data/maps/objects/CeruleanTrashedHouse.asm
@@ -0,0 +1,19 @@
+CeruleanTrashedHouse_Object:
+ db $a ; border block
+
+ db 3 ; warps
+ warp 2, 7, 0, -1
+ warp 3, 7, 0, -1
+ warp 3, 0, 7, -1
+
+ db 1 ; signs
+ sign 3, 0, 3 ; CeruleanHouseTrashedText3
+
+ db 2 ; objects
+ object SPRITE_FISHER, 2, 1, STAY, DOWN, 1 ; person
+ object SPRITE_GIRL, 5, 6, WALK, 2, 2 ; person
+
+ ; warp-to
+ warp_to 2, 7, CERULEAN_TRASHED_HOUSE_WIDTH
+ warp_to 3, 7, CERULEAN_TRASHED_HOUSE_WIDTH
+ warp_to 3, 0, CERULEAN_TRASHED_HOUSE_WIDTH
diff --git a/data/maps/objects/ChampionsRoom.asm b/data/maps/objects/ChampionsRoom.asm
new file mode 100755
index 00000000..1e0cb7f4
--- /dev/null
+++ b/data/maps/objects/ChampionsRoom.asm
@@ -0,0 +1,20 @@
+ChampionsRoom_Object:
+ db $3 ; border block
+
+ db 4 ; 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
+
+ db 0 ; signs
+
+ db 2 ; objects
+ object SPRITE_BLUE, 4, 2, STAY, DOWN, 1 ; person
+ object SPRITE_OAK, 3, 7, STAY, UP, 2 ; person
+
+ ; warp-to
+ warp_to 3, 7, CHAMPIONS_ROOM_WIDTH ; LANCES_ROOM
+ warp_to 4, 7, CHAMPIONS_ROOM_WIDTH ; LANCES_ROOM
+ warp_to 3, 0, CHAMPIONS_ROOM_WIDTH ; HALL_OF_FAME
+ warp_to 4, 0, CHAMPIONS_ROOM_WIDTH ; HALL_OF_FAME
diff --git a/data/maps/objects/CinnabarGym.asm b/data/maps/objects/CinnabarGym.asm
new file mode 100755
index 00000000..ab204d43
--- /dev/null
+++ b/data/maps/objects/CinnabarGym.asm
@@ -0,0 +1,23 @@
+CinnabarGym_Object:
+ db $2e ; border block
+
+ db 2 ; warps
+ warp 16, 17, 1, -1
+ warp 17, 17, 1, -1
+
+ db 0 ; signs
+
+ db 9 ; objects
+ object SPRITE_FAT_BALD_GUY, 3, 3, STAY, DOWN, 1, OPP_BLAINE, 1
+ object SPRITE_BLACK_HAIR_BOY_2, 17, 2, STAY, DOWN, 2, OPP_SUPER_NERD, 9
+ object SPRITE_BLACK_HAIR_BOY_2, 17, 8, STAY, DOWN, 3, OPP_BURGLAR, 4
+ object SPRITE_BLACK_HAIR_BOY_2, 11, 4, STAY, DOWN, 4, OPP_SUPER_NERD, 10
+ object SPRITE_BLACK_HAIR_BOY_2, 11, 8, STAY, DOWN, 5, OPP_BURGLAR, 5
+ object SPRITE_BLACK_HAIR_BOY_2, 11, 14, STAY, DOWN, 6, OPP_SUPER_NERD, 11
+ object SPRITE_BLACK_HAIR_BOY_2, 3, 14, STAY, DOWN, 7, OPP_BURGLAR, 6
+ object SPRITE_BLACK_HAIR_BOY_2, 3, 8, STAY, DOWN, 8, OPP_SUPER_NERD, 12
+ object SPRITE_GYM_HELPER, 16, 13, STAY, DOWN, 9 ; person
+
+ ; warp-to
+ warp_to 16, 17, CINNABAR_GYM_WIDTH
+ warp_to 17, 17, CINNABAR_GYM_WIDTH
diff --git a/data/maps/objects/CinnabarIsland.asm b/data/maps/objects/CinnabarIsland.asm
new file mode 100755
index 00000000..1932e134
--- /dev/null
+++ b/data/maps/objects/CinnabarIsland.asm
@@ -0,0 +1,27 @@
+CinnabarIsland_Object:
+ db $43 ; border block
+
+ db 5 ; 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
+
+ db 5 ; 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
+
+ db 2 ; objects
+ object SPRITE_GIRL, 12, 5, WALK, 2, 1 ; person
+ object SPRITE_GAMBLER, 14, 6, STAY, NONE, 2 ; person
+
+ ; warp-to
+ warp_to 6, 3, CINNABAR_ISLAND_WIDTH ; POKEMON_MANSION_1F
+ warp_to 18, 3, CINNABAR_ISLAND_WIDTH ; CINNABAR_GYM
+ warp_to 6, 9, CINNABAR_ISLAND_WIDTH ; CINNABAR_LAB
+ warp_to 11, 11, CINNABAR_ISLAND_WIDTH ; CINNABAR_POKECENTER
+ warp_to 15, 11, CINNABAR_ISLAND_WIDTH ; CINNABAR_MART
diff --git a/data/maps/objects/CinnabarLab.asm b/data/maps/objects/CinnabarLab.asm
new file mode 100755
index 00000000..deb5d8ed
--- /dev/null
+++ b/data/maps/objects/CinnabarLab.asm
@@ -0,0 +1,25 @@
+CinnabarLab_Object:
+ db $17 ; border block
+
+ db 5 ; warps
+ warp 2, 7, 2, -1
+ warp 3, 7, 2, -1
+ warp 8, 4, 0, CINNABAR_LAB_TRADE_ROOM
+ warp 12, 4, 0, CINNABAR_LAB_METRONOME_ROOM
+ warp 16, 4, 0, CINNABAR_LAB_FOSSIL_ROOM
+
+ db 4 ; signs
+ sign 3, 2, 2 ; Lab1Text2
+ sign 9, 4, 3 ; Lab1Text3
+ sign 13, 4, 4 ; Lab1Text4
+ sign 17, 4, 5 ; Lab1Text5
+
+ db 1 ; objects
+ object SPRITE_FISHER, 1, 3, STAY, NONE, 1 ; person
+
+ ; warp-to
+ warp_to 2, 7, CINNABAR_LAB_WIDTH
+ warp_to 3, 7, CINNABAR_LAB_WIDTH
+ warp_to 8, 4, CINNABAR_LAB_WIDTH ; CINNABAR_LAB_TRADE_ROOM
+ warp_to 12, 4, CINNABAR_LAB_WIDTH ; CINNABAR_LAB_METRONOME_ROOM
+ warp_to 16, 4, CINNABAR_LAB_WIDTH ; CINNABAR_LAB_FOSSIL_ROOM
diff --git a/data/maps/objects/CinnabarLabFossilRoom.asm b/data/maps/objects/CinnabarLabFossilRoom.asm
new file mode 100755
index 00000000..d31502e6
--- /dev/null
+++ b/data/maps/objects/CinnabarLabFossilRoom.asm
@@ -0,0 +1,16 @@
+CinnabarLabFossilRoom_Object:
+ db $17 ; border block
+
+ db 2 ; warps
+ warp 2, 7, 4, CINNABAR_LAB
+ warp 3, 7, 4, CINNABAR_LAB
+
+ db 0 ; signs
+
+ db 2 ; objects
+ object SPRITE_OAK_AIDE, 5, 2, WALK, 2, 1 ; person
+ object SPRITE_OAK_AIDE, 7, 6, STAY, UP, 2 ; person
+
+ ; warp-to
+ warp_to 2, 7, CINNABAR_LAB_FOSSIL_ROOM_WIDTH ; CINNABAR_LAB
+ warp_to 3, 7, CINNABAR_LAB_FOSSIL_ROOM_WIDTH ; CINNABAR_LAB
diff --git a/data/maps/objects/CinnabarLabMetronomeRoom.asm b/data/maps/objects/CinnabarLabMetronomeRoom.asm
new file mode 100755
index 00000000..37f93d43
--- /dev/null
+++ b/data/maps/objects/CinnabarLabMetronomeRoom.asm
@@ -0,0 +1,19 @@
+CinnabarLabMetronomeRoom_Object:
+ db $17 ; border block
+
+ db 2 ; warps
+ warp 2, 7, 3, CINNABAR_LAB
+ warp 3, 7, 3, CINNABAR_LAB
+
+ db 3 ; signs
+ sign 0, 4, 3 ; Lab3Text3
+ sign 1, 4, 4 ; Lab3Text4
+ sign 2, 1, 5 ; Lab3Text5
+
+ db 2 ; objects
+ object SPRITE_OAK_AIDE, 7, 2, STAY, DOWN, 1 ; person
+ object SPRITE_OAK_AIDE, 2, 3, WALK, 2, 2 ; person
+
+ ; warp-to
+ warp_to 2, 7, CINNABAR_LAB_METRONOME_ROOM_WIDTH ; CINNABAR_LAB
+ warp_to 3, 7, CINNABAR_LAB_METRONOME_ROOM_WIDTH ; CINNABAR_LAB
diff --git a/data/maps/objects/CinnabarLabTradeRoom.asm b/data/maps/objects/CinnabarLabTradeRoom.asm
new file mode 100755
index 00000000..449cc914
--- /dev/null
+++ b/data/maps/objects/CinnabarLabTradeRoom.asm
@@ -0,0 +1,17 @@
+CinnabarLabTradeRoom_Object:
+ db $17 ; border block
+
+ db 2 ; warps
+ warp 2, 7, 2, CINNABAR_LAB
+ warp 3, 7, 2, CINNABAR_LAB
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_BLACK_HAIR_BOY_2, 3, 2, STAY, DOWN, 1 ; person
+ object SPRITE_OLD_PERSON, 1, 4, STAY, NONE, 2 ; person
+ object SPRITE_FOULARD_WOMAN, 5, 5, STAY, UP, 3 ; person
+
+ ; warp-to
+ warp_to 2, 7, CINNABAR_LAB_TRADE_ROOM_WIDTH ; CINNABAR_LAB
+ warp_to 3, 7, CINNABAR_LAB_TRADE_ROOM_WIDTH ; CINNABAR_LAB
diff --git a/data/maps/objects/CinnabarMart.asm b/data/maps/objects/CinnabarMart.asm
new file mode 100755
index 00000000..af88ddf0
--- /dev/null
+++ b/data/maps/objects/CinnabarMart.asm
@@ -0,0 +1,17 @@
+CinnabarMart_Object:
+ db $0 ; border block
+
+ db 2 ; warps
+ warp 3, 7, 4, -1
+ warp 4, 7, 4, -1
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
+ object SPRITE_ERIKA, 6, 2, STAY, NONE, 2 ; person
+ object SPRITE_OAK_AIDE, 3, 4, STAY, NONE, 3 ; person
+
+ ; warp-to
+ warp_to 3, 7, CINNABAR_MART_WIDTH
+ warp_to 4, 7, CINNABAR_MART_WIDTH
diff --git a/data/maps/objects/CinnabarPokecenter.asm b/data/maps/objects/CinnabarPokecenter.asm
new file mode 100755
index 00000000..9583ef2a
--- /dev/null
+++ b/data/maps/objects/CinnabarPokecenter.asm
@@ -0,0 +1,18 @@
+CinnabarPokecenter_Object:
+ db $0 ; border block
+
+ db 2 ; warps
+ warp 3, 7, 3, -1
+ warp 4, 7, 3, -1
+
+ db 0 ; signs
+
+ db 4 ; objects
+ object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_LASS, 9, 4, WALK, 0, 2 ; person
+ object SPRITE_GENTLEMAN, 2, 6, STAY, NONE, 3 ; person
+ object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
+
+ ; warp-to
+ warp_to 3, 7, CINNABAR_POKECENTER_WIDTH
+ warp_to 4, 7, CINNABAR_POKECENTER_WIDTH
diff --git a/data/maps/objects/Colosseum.asm b/data/maps/objects/Colosseum.asm
new file mode 100755
index 00000000..18762584
--- /dev/null
+++ b/data/maps/objects/Colosseum.asm
@@ -0,0 +1,9 @@
+Colosseum_Object:
+ db $e ; border block
+
+ db 0 ; warps
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_RED, 2, 2, STAY, 0, 1 ; person
diff --git a/data/maps/objects/CopycatsHouse1F.asm b/data/maps/objects/CopycatsHouse1F.asm
new file mode 100755
index 00000000..cb4dbb0b
--- /dev/null
+++ b/data/maps/objects/CopycatsHouse1F.asm
@@ -0,0 +1,19 @@
+CopycatsHouse1F_Object:
+ db $a ; border block
+
+ db 3 ; warps
+ warp 2, 7, 0, -1
+ warp 3, 7, 0, -1
+ warp 7, 1, 0, COPYCATS_HOUSE_2F
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_MOM_GEISHA, 2, 2, STAY, DOWN, 1 ; person
+ object SPRITE_FAT_BALD_GUY, 5, 4, STAY, LEFT, 2 ; person
+ object SPRITE_CLEFAIRY, 1, 4, WALK, 1, 3 ; person
+
+ ; warp-to
+ warp_to 2, 7, COPYCATS_HOUSE_1F_WIDTH
+ warp_to 3, 7, COPYCATS_HOUSE_1F_WIDTH
+ warp_to 7, 1, COPYCATS_HOUSE_1F_WIDTH ; COPYCATS_HOUSE_2F
diff --git a/data/maps/objects/CopycatsHouse2F.asm b/data/maps/objects/CopycatsHouse2F.asm
new file mode 100755
index 00000000..18b56419
--- /dev/null
+++ b/data/maps/objects/CopycatsHouse2F.asm
@@ -0,0 +1,19 @@
+CopycatsHouse2F_Object:
+ db $a ; border block
+
+ db 1 ; warps
+ warp 7, 1, 2, COPYCATS_HOUSE_1F
+
+ db 2 ; signs
+ sign 3, 5, 6 ; CopycatsHouse2FText6
+ sign 0, 1, 7 ; CopycatsHouse2FText7
+
+ db 5 ; objects
+ object SPRITE_BRUNETTE_GIRL, 4, 3, WALK, 0, 1 ; person
+ object SPRITE_BIRD, 4, 6, WALK, 2, 2 ; person
+ object SPRITE_SLOWBRO, 5, 1, STAY, DOWN, 3 ; person
+ object SPRITE_BIRD, 2, 0, STAY, DOWN, 4 ; person
+ object SPRITE_CLEFAIRY, 1, 6, STAY, RIGHT, 5 ; person
+
+ ; warp-to
+ warp_to 7, 1, COPYCATS_HOUSE_2F_WIDTH ; COPYCATS_HOUSE_1F
diff --git a/data/maps/objects/Daycare.asm b/data/maps/objects/Daycare.asm
new file mode 100755
index 00000000..c58c83e4
--- /dev/null
+++ b/data/maps/objects/Daycare.asm
@@ -0,0 +1,15 @@
+Daycare_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 4, -1
+ warp 3, 7, 4, -1
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_GENTLEMAN, 2, 3, STAY, RIGHT, 1 ; person
+
+ ; warp-to
+ warp_to 2, 7, DAYCARE_WIDTH
+ warp_to 3, 7, DAYCARE_WIDTH
diff --git a/data/maps/objects/DiglettsCave.asm b/data/maps/objects/DiglettsCave.asm
new file mode 100755
index 00000000..b4fd0af8
--- /dev/null
+++ b/data/maps/objects/DiglettsCave.asm
@@ -0,0 +1,14 @@
+DiglettsCave_Object:
+ db $19 ; border block
+
+ db 2 ; warps
+ warp 5, 5, 2, DIGLETTS_CAVE_ROUTE_2
+ warp 37, 31, 2, DIGLETTS_CAVE_ROUTE_11
+
+ db 0 ; signs
+
+ db 0 ; objects
+
+ ; warp-to
+ warp_to 5, 5, DIGLETTS_CAVE_WIDTH ; DIGLETTS_CAVE_ROUTE_2
+ warp_to 37, 31, DIGLETTS_CAVE_WIDTH ; DIGLETTS_CAVE_ROUTE_11
diff --git a/data/maps/objects/DiglettsCaveRoute11.asm b/data/maps/objects/DiglettsCaveRoute11.asm
new file mode 100755
index 00000000..a4c70f06
--- /dev/null
+++ b/data/maps/objects/DiglettsCaveRoute11.asm
@@ -0,0 +1,17 @@
+DiglettsCaveRoute11_Object:
+ db $7d ; border block
+
+ db 3 ; warps
+ warp 2, 7, 4, -1
+ warp 3, 7, 4, -1
+ warp 4, 4, 1, DIGLETTS_CAVE
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_GAMBLER, 2, 3, STAY, NONE, 1 ; person
+
+ ; warp-to
+ warp_to 2, 7, DIGLETTS_CAVE_ROUTE_11_WIDTH
+ warp_to 3, 7, DIGLETTS_CAVE_ROUTE_11_WIDTH
+ warp_to 4, 4, DIGLETTS_CAVE_ROUTE_11_WIDTH ; DIGLETTS_CAVE
diff --git a/data/maps/objects/DiglettsCaveRoute2.asm b/data/maps/objects/DiglettsCaveRoute2.asm
new file mode 100755
index 00000000..0567fee6
--- /dev/null
+++ b/data/maps/objects/DiglettsCaveRoute2.asm
@@ -0,0 +1,17 @@
+DiglettsCaveRoute2_Object:
+ db $7d ; border block
+
+ db 3 ; warps
+ warp 2, 7, 0, -1
+ warp 3, 7, 0, -1
+ warp 4, 4, 0, DIGLETTS_CAVE
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_FISHER, 3, 3, STAY, NONE, 1 ; person
+
+ ; warp-to
+ warp_to 2, 7, DIGLETTS_CAVE_ROUTE_2_WIDTH
+ warp_to 3, 7, DIGLETTS_CAVE_ROUTE_2_WIDTH
+ warp_to 4, 4, DIGLETTS_CAVE_ROUTE_2_WIDTH ; DIGLETTS_CAVE
diff --git a/data/maps/objects/FightingDojo.asm b/data/maps/objects/FightingDojo.asm
new file mode 100755
index 00000000..fdc7b838
--- /dev/null
+++ b/data/maps/objects/FightingDojo.asm
@@ -0,0 +1,21 @@
+FightingDojo_Object:
+ db $3 ; border block
+
+ db 2 ; warps
+ warp 4, 11, 1, -1
+ warp 5, 11, 1, -1
+
+ db 0 ; signs
+
+ db 7 ; 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_BALL, 4, 1, STAY, NONE, 6 ; person
+ object SPRITE_BALL, 5, 1, STAY, NONE, 7 ; person
+
+ ; warp-to
+ warp_to 4, 11, FIGHTING_DOJO_WIDTH
+ warp_to 5, 11, FIGHTING_DOJO_WIDTH
diff --git a/data/maps/objects/FuchsiaBillsGrandpasHouse.asm b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm
new file mode 100755
index 00000000..363b56f9
--- /dev/null
+++ b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm
@@ -0,0 +1,17 @@
+FuchsiaBillsGrandpasHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 1, -1
+ warp 3, 7, 1, -1
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_MOM_GEISHA, 2, 3, STAY, RIGHT, 1 ; person
+ object SPRITE_GAMBLER, 7, 2, STAY, UP, 2 ; person
+ object SPRITE_BUG_CATCHER, 5, 5, STAY, NONE, 3 ; person
+
+ ; warp-to
+ warp_to 2, 7, FUCHSIA_BILLS_GRANDPAS_HOUSE_WIDTH
+ warp_to 3, 7, FUCHSIA_BILLS_GRANDPAS_HOUSE_WIDTH
diff --git a/data/maps/objects/FuchsiaCity.asm b/data/maps/objects/FuchsiaCity.asm
new file mode 100755
index 00000000..09c97b02
--- /dev/null
+++ b/data/maps/objects/FuchsiaCity.asm
@@ -0,0 +1,52 @@
+FuchsiaCity_Object:
+ db $f ; border block
+
+ db 9 ; 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
+
+ db 14 ; 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
+
+ db 10 ; objects
+ object SPRITE_BUG_CATCHER, 10, 12, WALK, 2, 1 ; person
+ object SPRITE_GAMBLER, 28, 17, WALK, 2, 2 ; person
+ object SPRITE_FISHER2, 30, 14, STAY, DOWN, 3 ; person
+ object SPRITE_BUG_CATCHER, 24, 8, STAY, UP, 4 ; person
+ object SPRITE_CLEFAIRY, 31, 5, WALK, 0, 5 ; person
+ object SPRITE_BALL, 25, 6, STAY, NONE, 6 ; person
+ object SPRITE_SLOWBRO, 12, 6, WALK, 2, 7 ; person
+ object SPRITE_SLOWBRO, 30, 12, WALK, 2, 8 ; person
+ object SPRITE_SEEL, 8, 17, WALK, 0, 9 ; person
+ object SPRITE_OMANYTE, 6, 5, STAY, NONE, 10 ; person
+
+ ; warp-to
+ warp_to 5, 13, FUCHSIA_CITY_WIDTH ; FUCHSIA_MART
+ warp_to 11, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_BILLS_GRANDPAS_HOUSE
+ warp_to 19, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_POKECENTER
+ warp_to 27, 27, FUCHSIA_CITY_WIDTH ; WARDENS_HOUSE
+ warp_to 18, 3, FUCHSIA_CITY_WIDTH ; SAFARI_ZONE_GATE
+ warp_to 5, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_GYM
+ warp_to 22, 13, FUCHSIA_CITY_WIDTH ; FUCHSIA_MEETING_ROOM
+ warp_to 31, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_GOOD_ROD_HOUSE
+ warp_to 31, 24, FUCHSIA_CITY_WIDTH ; FUCHSIA_GOOD_ROD_HOUSE
diff --git a/data/maps/objects/FuchsiaGoodRodHouse.asm b/data/maps/objects/FuchsiaGoodRodHouse.asm
new file mode 100755
index 00000000..390447c8
--- /dev/null
+++ b/data/maps/objects/FuchsiaGoodRodHouse.asm
@@ -0,0 +1,17 @@
+FuchsiaGoodRodHouse_Object:
+ db $c ; border block
+
+ db 3 ; warps
+ warp 2, 0, 8, -1
+ warp 2, 7, 7, -1
+ warp 3, 7, 7, -1
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_FISHER, 5, 3, STAY, RIGHT, 1 ; person
+
+ ; warp-to
+ warp_to 2, 0, FUCHSIA_GOOD_ROD_HOUSE_WIDTH
+ warp_to 2, 7, FUCHSIA_GOOD_ROD_HOUSE_WIDTH
+ warp_to 3, 7, FUCHSIA_GOOD_ROD_HOUSE_WIDTH
diff --git a/data/maps/objects/FuchsiaGym.asm b/data/maps/objects/FuchsiaGym.asm
new file mode 100755
index 00000000..5d707d53
--- /dev/null
+++ b/data/maps/objects/FuchsiaGym.asm
@@ -0,0 +1,22 @@
+FuchsiaGym_Object:
+ db $3 ; border block
+
+ db 2 ; warps
+ warp 4, 17, 5, -1
+ warp 5, 17, 5, -1
+
+ db 0 ; signs
+
+ db 8 ; objects
+ object SPRITE_BLACKBELT, 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_HELPER, 7, 15, STAY, DOWN, 8 ; person
+
+ ; warp-to
+ warp_to 4, 17, FUCHSIA_GYM_WIDTH
+ warp_to 5, 17, FUCHSIA_GYM_WIDTH
diff --git a/data/maps/objects/FuchsiaMart.asm b/data/maps/objects/FuchsiaMart.asm
new file mode 100755
index 00000000..cfa71d8d
--- /dev/null
+++ b/data/maps/objects/FuchsiaMart.asm
@@ -0,0 +1,17 @@
+FuchsiaMart_Object:
+ db $0 ; border block
+
+ db 2 ; warps
+ warp 3, 7, 0, -1
+ warp 4, 7, 0, -1
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
+ object SPRITE_FAT_BALD_GUY, 4, 2, STAY, NONE, 2 ; person
+ object SPRITE_LASS, 6, 5, WALK, 1, 3 ; person
+
+ ; warp-to
+ warp_to 3, 7, FUCHSIA_MART_WIDTH
+ warp_to 4, 7, FUCHSIA_MART_WIDTH
diff --git a/data/maps/objects/FuchsiaMeetingRoom.asm b/data/maps/objects/FuchsiaMeetingRoom.asm
new file mode 100755
index 00000000..9130d920
--- /dev/null
+++ b/data/maps/objects/FuchsiaMeetingRoom.asm
@@ -0,0 +1,17 @@
+FuchsiaMeetingRoom_Object:
+ db $17 ; border block
+
+ db 2 ; warps
+ warp 4, 7, 6, -1
+ warp 5, 7, 6, -1
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_WHITE_PLAYER, 4, 1, STAY, DOWN, 1 ; person
+ object SPRITE_WHITE_PLAYER, 0, 2, STAY, UP, 2 ; person
+ object SPRITE_WHITE_PLAYER, 10, 1, STAY, DOWN, 3 ; person
+
+ ; warp-to
+ warp_to 4, 7, FUCHSIA_MEETING_ROOM_WIDTH
+ warp_to 5, 7, FUCHSIA_MEETING_ROOM_WIDTH
diff --git a/data/maps/objects/FuchsiaPokecenter.asm b/data/maps/objects/FuchsiaPokecenter.asm
new file mode 100755
index 00000000..73dc529d
--- /dev/null
+++ b/data/maps/objects/FuchsiaPokecenter.asm
@@ -0,0 +1,18 @@
+FuchsiaPokecenter_Object:
+ db $0 ; border block
+
+ db 2 ; warps
+ warp 3, 7, 2, -1
+ warp 4, 7, 2, -1
+
+ db 0 ; signs
+
+ db 4 ; objects
+ object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_ROCKER, 2, 3, STAY, NONE, 2 ; person
+ object SPRITE_LASS, 6, 5, WALK, 2, 3 ; person
+ object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
+
+ ; warp-to
+ warp_to 3, 7, FUCHSIA_POKECENTER_WIDTH
+ warp_to 4, 7, FUCHSIA_POKECENTER_WIDTH
diff --git a/data/maps/objects/GameCorner.asm b/data/maps/objects/GameCorner.asm
new file mode 100755
index 00000000..2704f6ab
--- /dev/null
+++ b/data/maps/objects/GameCorner.asm
@@ -0,0 +1,28 @@
+GameCorner_Object:
+ db $f ; border block
+
+ db 3 ; warps
+ warp 15, 17, 7, -1
+ warp 16, 17, 7, -1
+ warp 17, 4, 1, ROCKET_HIDEOUT_B1F
+
+ db 1 ; signs
+ sign 9, 4, 12 ; CeladonGameCornerText12
+
+ db 11 ; objects
+ object SPRITE_FOULARD_WOMAN, 2, 6, STAY, DOWN, 1 ; person
+ object SPRITE_MART_GUY, 5, 6, STAY, DOWN, 2 ; person
+ object SPRITE_FAT_BALD_GUY, 2, 10, STAY, LEFT, 3 ; person
+ object SPRITE_FOULARD_WOMAN, 2, 13, STAY, LEFT, 4 ; person
+ object SPRITE_FISHER, 5, 11, STAY, RIGHT, 5 ; person
+ object SPRITE_MOM_GEISHA, 8, 11, STAY, LEFT, 6 ; person
+ object SPRITE_GYM_HELPER, 8, 14, STAY, LEFT, 7 ; person
+ object SPRITE_GAMBLER, 11, 15, STAY, RIGHT, 8 ; person
+ object SPRITE_MART_GUY, 14, 11, STAY, LEFT, 9 ; person
+ object SPRITE_GENTLEMAN, 17, 13, STAY, RIGHT, 10 ; person
+ object SPRITE_ROCKET, 9, 5, STAY, UP, 11, OPP_ROCKET, 7
+
+ ; warp-to
+ warp_to 15, 17, GAME_CORNER_WIDTH
+ warp_to 16, 17, GAME_CORNER_WIDTH
+ warp_to 17, 4, GAME_CORNER_WIDTH ; ROCKET_HIDEOUT_B1F
diff --git a/data/maps/objects/GameCornerPrizeRoom.asm b/data/maps/objects/GameCornerPrizeRoom.asm
new file mode 100755
index 00000000..35cd3ac8
--- /dev/null
+++ b/data/maps/objects/GameCornerPrizeRoom.asm
@@ -0,0 +1,19 @@
+GameCornerPrizeRoom_Object:
+ db $f ; border block
+
+ db 2 ; warps
+ warp 4, 7, 9, -1
+ warp 5, 7, 9, -1
+
+ db 3 ; signs
+ sign 2, 2, 3 ; CeladonPrizeRoomText3
+ sign 4, 2, 4 ; CeladonPrizeRoomText4
+ sign 6, 2, 5 ; CeladonPrizeRoomText5
+
+ db 2 ; objects
+ object SPRITE_BALDING_GUY, 1, 4, STAY, NONE, 1 ; person
+ object SPRITE_GAMBLER, 7, 3, WALK, 2, 2 ; person
+
+ ; warp-to
+ warp_to 4, 7, GAME_CORNER_PRIZE_ROOM_WIDTH
+ warp_to 5, 7, GAME_CORNER_PRIZE_ROOM_WIDTH
diff --git a/data/maps/objects/HallOfFame.asm b/data/maps/objects/HallOfFame.asm
new file mode 100755
index 00000000..3762d871
--- /dev/null
+++ b/data/maps/objects/HallOfFame.asm
@@ -0,0 +1,15 @@
+HallOfFame_Object:
+ db $3 ; border block
+
+ db 2 ; warps
+ warp 4, 7, 2, CHAMPIONS_ROOM
+ warp 5, 7, 3, CHAMPIONS_ROOM
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_OAK, 5, 2, STAY, DOWN, 1 ; person
+
+ ; warp-to
+ warp_to 4, 7, HALL_OF_FAME_WIDTH ; CHAMPIONS_ROOM
+ warp_to 5, 7, HALL_OF_FAME_WIDTH ; CHAMPIONS_ROOM
diff --git a/data/maps/objects/IndigoPlateau.asm b/data/maps/objects/IndigoPlateau.asm
new file mode 100755
index 00000000..1447be11
--- /dev/null
+++ b/data/maps/objects/IndigoPlateau.asm
@@ -0,0 +1,14 @@
+IndigoPlateau_Object:
+ db $e ; border block
+
+ db 2 ; warps
+ warp 9, 5, 0, INDIGO_PLATEAU_LOBBY
+ warp 10, 5, 0, INDIGO_PLATEAU_LOBBY
+
+ db 0 ; signs
+
+ db 0 ; objects
+
+ ; warp-to
+ warp_to 9, 5, INDIGO_PLATEAU_WIDTH ; INDIGO_PLATEAU_LOBBY
+ warp_to 10, 5, INDIGO_PLATEAU_WIDTH ; INDIGO_PLATEAU_LOBBY
diff --git a/data/maps/objects/IndigoPlateauLobby.asm b/data/maps/objects/IndigoPlateauLobby.asm
new file mode 100755
index 00000000..ea113a16
--- /dev/null
+++ b/data/maps/objects/IndigoPlateauLobby.asm
@@ -0,0 +1,21 @@
+IndigoPlateauLobby_Object:
+ db $0 ; border block
+
+ db 3 ; warps
+ warp 7, 11, 0, -1
+ warp 8, 11, 1, -1
+ warp 8, 0, 0, LORELEIS_ROOM
+
+ db 0 ; signs
+
+ db 5 ; objects
+ object SPRITE_NURSE, 7, 5, STAY, DOWN, 1 ; person
+ object SPRITE_GYM_HELPER, 4, 9, STAY, RIGHT, 2 ; person
+ object SPRITE_LASS, 5, 1, STAY, DOWN, 3 ; person
+ object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 4 ; person
+ object SPRITE_CABLE_CLUB_WOMAN, 13, 6, STAY, DOWN, 5 ; person
+
+ ; warp-to
+ warp_to 7, 11, INDIGO_PLATEAU_LOBBY_WIDTH
+ warp_to 8, 11, INDIGO_PLATEAU_LOBBY_WIDTH
+ warp_to 8, 0, INDIGO_PLATEAU_LOBBY_WIDTH ; LORELEIS_ROOM
diff --git a/data/maps/objects/LancesRoom.asm b/data/maps/objects/LancesRoom.asm
new file mode 100755
index 00000000..6f22631a
--- /dev/null
+++ b/data/maps/objects/LancesRoom.asm
@@ -0,0 +1,17 @@
+LancesRoom_Object:
+ db $3 ; border block
+
+ db 3 ; warps
+ warp 24, 16, 2, AGATHAS_ROOM
+ warp 5, 0, 0, CHAMPIONS_ROOM
+ warp 6, 0, 0, CHAMPIONS_ROOM
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_LANCE, 6, 1, STAY, DOWN, 1, OPP_LANCE, 1
+
+ ; warp-to
+ warp_to 24, 16, LANCES_ROOM_WIDTH ; AGATHAS_ROOM
+ warp_to 5, 0, LANCES_ROOM_WIDTH ; CHAMPIONS_ROOM
+ warp_to 6, 0, LANCES_ROOM_WIDTH ; CHAMPIONS_ROOM
diff --git a/data/maps/objects/LavenderCuboneHouse.asm b/data/maps/objects/LavenderCuboneHouse.asm
new file mode 100755
index 00000000..96f1b3ba
--- /dev/null
+++ b/data/maps/objects/LavenderCuboneHouse.asm
@@ -0,0 +1,16 @@
+LavenderCuboneHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 4, -1
+ warp 3, 7, 4, -1
+
+ db 0 ; signs
+
+ db 2 ; objects
+ object SPRITE_SLOWBRO, 3, 5, STAY, UP, 1 ; person
+ object SPRITE_BRUNETTE_GIRL, 2, 4, STAY, RIGHT, 2 ; person
+
+ ; warp-to
+ warp_to 2, 7, LAVENDER_CUBONE_HOUSE_WIDTH
+ warp_to 3, 7, LAVENDER_CUBONE_HOUSE_WIDTH
diff --git a/data/maps/objects/LavenderMart.asm b/data/maps/objects/LavenderMart.asm
new file mode 100755
index 00000000..df14ad39
--- /dev/null
+++ b/data/maps/objects/LavenderMart.asm
@@ -0,0 +1,17 @@
+LavenderMart_Object:
+ db $0 ; border block
+
+ db 2 ; warps
+ warp 3, 7, 3, -1
+ warp 4, 7, 3, -1
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
+ object SPRITE_BALDING_GUY, 3, 4, STAY, NONE, 2 ; person
+ object SPRITE_BLACK_HAIR_BOY_1, 7, 2, STAY, NONE, 3 ; person
+
+ ; warp-to
+ warp_to 3, 7, LAVENDER_MART_WIDTH
+ warp_to 4, 7, LAVENDER_MART_WIDTH
diff --git a/data/maps/objects/LavenderPokecenter.asm b/data/maps/objects/LavenderPokecenter.asm
new file mode 100755
index 00000000..89e25571
--- /dev/null
+++ b/data/maps/objects/LavenderPokecenter.asm
@@ -0,0 +1,18 @@
+LavenderPokecenter_Object:
+ db $0 ; border block
+
+ db 2 ; warps
+ warp 3, 7, 0, -1
+ warp 4, 7, 0, -1
+
+ db 0 ; signs
+
+ db 4 ; objects
+ object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_GENTLEMAN, 5, 3, STAY, NONE, 2 ; person
+ object SPRITE_LITTLE_GIRL, 2, 6, WALK, 1, 3 ; person
+ object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
+
+ ; warp-to
+ warp_to 3, 7, LAVENDER_POKECENTER_WIDTH
+ warp_to 4, 7, LAVENDER_POKECENTER_WIDTH
diff --git a/data/maps/objects/LavenderTown.asm b/data/maps/objects/LavenderTown.asm
new file mode 100755
index 00000000..4aead666
--- /dev/null
+++ b/data/maps/objects/LavenderTown.asm
@@ -0,0 +1,31 @@
+LavenderTown_Object:
+ db $2c ; border block
+
+ db 6 ; 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
+
+ db 6 ; 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
+
+ db 3 ; objects
+ object SPRITE_LITTLE_GIRL, 15, 9, WALK, 0, 1 ; person
+ object SPRITE_BLACK_HAIR_BOY_1, 9, 10, STAY, NONE, 2 ; person
+ object SPRITE_BLACK_HAIR_BOY_2, 8, 7, WALK, 2, 3 ; person
+
+ ; warp-to
+ warp_to 3, 5, LAVENDER_TOWN_WIDTH ; LAVENDER_POKECENTER
+ warp_to 14, 5, LAVENDER_TOWN_WIDTH ; POKEMON_TOWER_1F
+ warp_to 7, 9, LAVENDER_TOWN_WIDTH ; MR_FUJIS_HOUSE
+ warp_to 15, 13, LAVENDER_TOWN_WIDTH ; LAVENDER_MART
+ warp_to 3, 13, LAVENDER_TOWN_WIDTH ; LAVENDER_CUBONE_HOUSE
+ warp_to 7, 13, LAVENDER_TOWN_WIDTH ; NAME_RATERS_HOUSE
diff --git a/data/maps/objects/LoreleisRoom.asm b/data/maps/objects/LoreleisRoom.asm
new file mode 100755
index 00000000..06450bb4
--- /dev/null
+++ b/data/maps/objects/LoreleisRoom.asm
@@ -0,0 +1,19 @@
+LoreleisRoom_Object:
+ db $3 ; border block
+
+ db 4 ; 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
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_LORELEI, 5, 2, STAY, DOWN, 1, OPP_LORELEI, 1
+
+ ; warp-to
+ warp_to 4, 11, LORELEIS_ROOM_WIDTH ; INDIGO_PLATEAU_LOBBY
+ warp_to 5, 11, LORELEIS_ROOM_WIDTH ; INDIGO_PLATEAU_LOBBY
+ warp_to 4, 0, LORELEIS_ROOM_WIDTH ; BRUNOS_ROOM
+ warp_to 5, 0, LORELEIS_ROOM_WIDTH ; BRUNOS_ROOM
diff --git a/data/maps/objects/MrFujisHouse.asm b/data/maps/objects/MrFujisHouse.asm
new file mode 100755
index 00000000..5b6ca2a6
--- /dev/null
+++ b/data/maps/objects/MrFujisHouse.asm
@@ -0,0 +1,20 @@
+MrFujisHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 2, -1
+ warp 3, 7, 2, -1
+
+ db 0 ; signs
+
+ db 6 ; objects
+ object SPRITE_BLACK_HAIR_BOY_2, 3, 5, STAY, NONE, 1 ; person
+ object SPRITE_LITTLE_GIRL, 6, 3, STAY, DOWN, 2 ; person
+ object SPRITE_SLOWBRO, 6, 4, STAY, UP, 3 ; person
+ object SPRITE_SLOWBRO, 1, 3, STAY, NONE, 4 ; person
+ object SPRITE_MR_FUJI, 3, 1, STAY, NONE, 5 ; person
+ object SPRITE_BOOK_MAP_DEX, 3, 3, STAY, NONE, 6 ; person
+
+ ; warp-to
+ warp_to 2, 7, MR_FUJIS_HOUSE_WIDTH
+ warp_to 3, 7, MR_FUJIS_HOUSE_WIDTH
diff --git a/data/maps/objects/MrPsychicsHouse.asm b/data/maps/objects/MrPsychicsHouse.asm
new file mode 100755
index 00000000..01f9e11c
--- /dev/null
+++ b/data/maps/objects/MrPsychicsHouse.asm
@@ -0,0 +1,15 @@
+MrPsychicsHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 7, -1
+ warp 3, 7, 7, -1
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_FISHER, 5, 3, STAY, LEFT, 1 ; person
+
+ ; warp-to
+ warp_to 2, 7, MR_PSYCHICS_HOUSE_WIDTH
+ warp_to 3, 7, MR_PSYCHICS_HOUSE_WIDTH
diff --git a/data/maps/objects/MtMoon1F.asm b/data/maps/objects/MtMoon1F.asm
new file mode 100755
index 00000000..56820161
--- /dev/null
+++ b/data/maps/objects/MtMoon1F.asm
@@ -0,0 +1,34 @@
+MtMoon1F_Object:
+ db $3 ; border block
+
+ db 5 ; warps
+ warp 14, 35, 1, -1
+ warp 15, 35, 1, -1
+ warp 5, 5, 0, MT_MOON_B1F
+ warp 17, 11, 2, MT_MOON_B1F
+ warp 25, 15, 3, MT_MOON_B1F
+
+ db 1 ; signs
+ sign 15, 23, 14 ; MtMoon1Text14
+
+ db 13 ; objects
+ object SPRITE_HIKER, 5, 6, STAY, DOWN, 1, OPP_HIKER, 1
+ object SPRITE_BUG_CATCHER, 12, 16, STAY, RIGHT, 2, OPP_YOUNGSTER, 3
+ object SPRITE_LASS, 30, 4, STAY, DOWN, 3, OPP_LASS, 5
+ object SPRITE_BLACK_HAIR_BOY_2, 24, 31, STAY, UP, 4, OPP_SUPER_NERD, 1
+ object SPRITE_LASS, 16, 23, STAY, DOWN, 5, OPP_LASS, 6
+ object SPRITE_BUG_CATCHER, 7, 22, STAY, DOWN, 6, OPP_BUG_CATCHER, 7
+ object SPRITE_BUG_CATCHER, 30, 27, STAY, RIGHT, 7, OPP_BUG_CATCHER, 8
+ object SPRITE_BALL, 2, 20, STAY, NONE, 8, POTION
+ object SPRITE_BALL, 2, 2, STAY, NONE, 9, MOON_STONE
+ object SPRITE_BALL, 35, 31, STAY, NONE, 10, RARE_CANDY
+ object SPRITE_BALL, 36, 23, STAY, NONE, 11, ESCAPE_ROPE
+ object SPRITE_BALL, 20, 33, STAY, NONE, 12, POTION
+ object SPRITE_BALL, 5, 32, STAY, NONE, 13, TM_12
+
+ ; warp-to
+ warp_to 14, 35, MT_MOON_1F_WIDTH
+ warp_to 15, 35, MT_MOON_1F_WIDTH
+ warp_to 5, 5, MT_MOON_1F_WIDTH ; MT_MOON_B1F
+ warp_to 17, 11, MT_MOON_1F_WIDTH ; MT_MOON_B1F
+ warp_to 25, 15, MT_MOON_1F_WIDTH ; MT_MOON_B1F
diff --git a/data/maps/objects/MtMoonB1F.asm b/data/maps/objects/MtMoonB1F.asm
new file mode 100755
index 00000000..a8365ba7
--- /dev/null
+++ b/data/maps/objects/MtMoonB1F.asm
@@ -0,0 +1,26 @@
+MtMoonB1F_Object:
+ db $3 ; border block
+
+ db 8 ; 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, -1
+
+ db 0 ; signs
+
+ db 0 ; objects
+
+ ; warp-to
+ warp_to 5, 5, MT_MOON_B1F_WIDTH ; MT_MOON_1F
+ warp_to 17, 11, MT_MOON_B1F_WIDTH ; MT_MOON_B2F
+ warp_to 25, 9, MT_MOON_B1F_WIDTH ; MT_MOON_1F
+ warp_to 25, 15, MT_MOON_B1F_WIDTH ; MT_MOON_1F
+ warp_to 21, 17, MT_MOON_B1F_WIDTH ; MT_MOON_B2F
+ warp_to 13, 27, MT_MOON_B1F_WIDTH ; MT_MOON_B2F
+ warp_to 23, 3, MT_MOON_B1F_WIDTH ; MT_MOON_B2F
+ warp_to 27, 3, MT_MOON_B1F_WIDTH
diff --git a/data/maps/objects/MtMoonB2F.asm b/data/maps/objects/MtMoonB2F.asm
new file mode 100755
index 00000000..27b2383f
--- /dev/null
+++ b/data/maps/objects/MtMoonB2F.asm
@@ -0,0 +1,27 @@
+MtMoonB2F_Object:
+ db $3 ; border block
+
+ db 4 ; 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
+
+ db 0 ; signs
+
+ db 9 ; objects
+ object SPRITE_BLACK_HAIR_BOY_2, 12, 8, STAY, RIGHT, 1, OPP_SUPER_NERD, 2
+ object SPRITE_ROCKET, 11, 16, STAY, DOWN, 2, OPP_ROCKET, 1
+ 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, 4
+ object SPRITE_OMANYTE, 12, 6, STAY, NONE, 6 ; person
+ object SPRITE_OMANYTE, 13, 6, STAY, NONE, 7 ; person
+ object SPRITE_BALL, 25, 21, STAY, NONE, 8, HP_UP
+ object SPRITE_BALL, 29, 5, STAY, NONE, 9, TM_01
+
+ ; warp-to
+ warp_to 25, 9, MT_MOON_B2F_WIDTH ; MT_MOON_B1F
+ warp_to 21, 17, MT_MOON_B2F_WIDTH ; MT_MOON_B1F
+ warp_to 15, 27, MT_MOON_B2F_WIDTH ; MT_MOON_B1F
+ warp_to 5, 7, MT_MOON_B2F_WIDTH ; MT_MOON_B1F
diff --git a/data/maps/objects/MtMoonPokecenter.asm b/data/maps/objects/MtMoonPokecenter.asm
new file mode 100755
index 00000000..b23703e6
--- /dev/null
+++ b/data/maps/objects/MtMoonPokecenter.asm
@@ -0,0 +1,20 @@
+MtMoonPokecenter_Object:
+ db $0 ; border block
+
+ db 2 ; warps
+ warp 3, 7, 0, -1
+ warp 4, 7, 0, -1
+
+ db 0 ; signs
+
+ db 6 ; objects
+ object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_BUG_CATCHER, 4, 3, STAY, UP, 2 ; person
+ object SPRITE_GENTLEMAN, 7, 3, STAY, UP, 3 ; person
+ object SPRITE_FAT_BALD_GUY, 10, 6, WALK, 2, 4 ; person
+ object SPRITE_CLIPBOARD, 7, 2, STAY, NONE, 5 ; person
+ object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 6 ; person
+
+ ; warp-to
+ warp_to 3, 7, MT_MOON_POKECENTER_WIDTH
+ warp_to 4, 7, MT_MOON_POKECENTER_WIDTH
diff --git a/data/maps/objects/Museum1F.asm b/data/maps/objects/Museum1F.asm
new file mode 100755
index 00000000..1cfd2c68
--- /dev/null
+++ b/data/maps/objects/Museum1F.asm
@@ -0,0 +1,25 @@
+Museum1F_Object:
+ db $a ; border block
+
+ db 5 ; warps
+ warp 10, 7, 0, -1
+ warp 11, 7, 0, -1
+ warp 16, 7, 1, -1
+ warp 17, 7, 1, -1
+ warp 7, 7, 0, MUSEUM_2F
+
+ db 0 ; signs
+
+ db 5 ; objects
+ object SPRITE_OAK_AIDE, 12, 4, STAY, LEFT, 1 ; person
+ object SPRITE_GAMBLER, 1, 4, STAY, NONE, 2 ; person
+ object SPRITE_OAK_AIDE, 15, 2, STAY, DOWN, 3 ; person
+ object SPRITE_OAK_AIDE, 17, 4, STAY, NONE, 4 ; person
+ object SPRITE_OLD_AMBER, 16, 2, STAY, NONE, 5 ; person
+
+ ; warp-to
+ warp_to 10, 7, MUSEUM_1F_WIDTH
+ warp_to 11, 7, MUSEUM_1F_WIDTH
+ warp_to 16, 7, MUSEUM_1F_WIDTH
+ warp_to 17, 7, MUSEUM_1F_WIDTH
+ warp_to 7, 7, MUSEUM_1F_WIDTH ; MUSEUM_2F
diff --git a/data/maps/objects/Museum2F.asm b/data/maps/objects/Museum2F.asm
new file mode 100755
index 00000000..80815820
--- /dev/null
+++ b/data/maps/objects/Museum2F.asm
@@ -0,0 +1,19 @@
+Museum2F_Object:
+ db $a ; border block
+
+ db 1 ; warps
+ warp 7, 7, 4, MUSEUM_1F
+
+ db 2 ; signs
+ sign 11, 2, 6 ; Museum2FText6
+ sign 2, 5, 7 ; Museum2FText7
+
+ db 5 ; objects
+ object SPRITE_BUG_CATCHER, 1, 7, WALK, 2, 1 ; person
+ object SPRITE_OLD_PERSON, 0, 5, STAY, DOWN, 2 ; person
+ object SPRITE_OAK_AIDE, 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
+
+ ; warp-to
+ warp_to 7, 7, MUSEUM_2F_WIDTH ; MUSEUM_1F
diff --git a/data/maps/objects/NameRatersHouse.asm b/data/maps/objects/NameRatersHouse.asm
new file mode 100755
index 00000000..da95bc43
--- /dev/null
+++ b/data/maps/objects/NameRatersHouse.asm
@@ -0,0 +1,15 @@
+NameRatersHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 5, -1
+ warp 3, 7, 5, -1
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_MR_MASTERBALL, 5, 3, STAY, LEFT, 1 ; person
+
+ ; warp-to
+ warp_to 2, 7, NAME_RATERS_HOUSE_WIDTH
+ warp_to 3, 7, NAME_RATERS_HOUSE_WIDTH
diff --git a/data/maps/objects/OaksLab.asm b/data/maps/objects/OaksLab.asm
new file mode 100755
index 00000000..fa78ccdf
--- /dev/null
+++ b/data/maps/objects/OaksLab.asm
@@ -0,0 +1,25 @@
+OaksLab_Object:
+ db $3 ; border block
+
+ db 2 ; warps
+ warp 4, 11, 2, -1
+ warp 5, 11, 2, -1
+
+ db 0 ; signs
+
+ db 11 ; objects
+ object SPRITE_BLUE, 4, 3, STAY, NONE, 1, OPP_SONY1, 1
+ object SPRITE_BALL, 6, 3, STAY, NONE, 2 ; person
+ object SPRITE_BALL, 7, 3, STAY, NONE, 3 ; person
+ object SPRITE_BALL, 8, 3, STAY, NONE, 4 ; person
+ object SPRITE_OAK, 5, 2, STAY, DOWN, 5 ; person
+ object SPRITE_BOOK_MAP_DEX, 2, 1, STAY, NONE, 6 ; person
+ object SPRITE_BOOK_MAP_DEX, 3, 1, STAY, NONE, 7 ; person
+ object SPRITE_OAK, 5, 10, STAY, UP, 8 ; person
+ object SPRITE_GIRL, 1, 9, WALK, 1, 9 ; person
+ object SPRITE_OAK_AIDE, 2, 10, STAY, NONE, 10 ; person
+ object SPRITE_OAK_AIDE, 8, 10, STAY, NONE, 11 ; person
+
+ ; warp-to
+ warp_to 4, 11, OAKS_LAB_WIDTH
+ warp_to 5, 11, OAKS_LAB_WIDTH
diff --git a/data/maps/objects/PalletTown.asm b/data/maps/objects/PalletTown.asm
new file mode 100755
index 00000000..68b01175
--- /dev/null
+++ b/data/maps/objects/PalletTown.asm
@@ -0,0 +1,23 @@
+PalletTown_Object:
+ db $b ; border block
+
+ db 3 ; warps
+ warp 5, 5, 0, REDS_HOUSE_1F
+ warp 13, 5, 0, BLUES_HOUSE
+ warp 12, 11, 1, OAKS_LAB
+
+ db 4 ; signs
+ sign 13, 13, 4 ; PalletTownText4
+ sign 7, 9, 5 ; PalletTownText5
+ sign 3, 5, 6 ; PalletTownText6
+ sign 11, 5, 7 ; PalletTownText7
+
+ db 3 ; objects
+ object SPRITE_OAK, 8, 5, STAY, NONE, 1 ; person
+ object SPRITE_GIRL, 3, 8, WALK, 0, 2 ; person
+ object SPRITE_FISHER2, 11, 14, WALK, 0, 3 ; person
+
+ ; warp-to
+ warp_to 5, 5, PALLET_TOWN_WIDTH ; REDS_HOUSE_1F
+ warp_to 13, 5, PALLET_TOWN_WIDTH ; BLUES_HOUSE
+ warp_to 12, 11, PALLET_TOWN_WIDTH ; OAKS_LAB
diff --git a/data/maps/objects/PewterCity.asm b/data/maps/objects/PewterCity.asm
new file mode 100755
index 00000000..e1a3eecb
--- /dev/null
+++ b/data/maps/objects/PewterCity.asm
@@ -0,0 +1,36 @@
+PewterCity_Object:
+ db $a ; border block
+
+ db 7 ; 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
+
+ db 7 ; 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
+
+ db 5 ; objects
+ object SPRITE_LASS, 8, 15, STAY, NONE, 1 ; person
+ object SPRITE_BLACK_HAIR_BOY_1, 17, 25, STAY, NONE, 2 ; person
+ object SPRITE_BLACK_HAIR_BOY_2, 27, 17, STAY, NONE, 3 ; person
+ object SPRITE_BLACK_HAIR_BOY_2, 26, 25, WALK, 2, 4 ; person
+ object SPRITE_BUG_CATCHER, 35, 16, STAY, DOWN, 5 ; person
+
+ ; warp-to
+ warp_to 14, 7, PEWTER_CITY_WIDTH ; MUSEUM_1F
+ warp_to 19, 5, PEWTER_CITY_WIDTH ; MUSEUM_1F
+ warp_to 16, 17, PEWTER_CITY_WIDTH ; PEWTER_GYM
+ warp_to 29, 13, PEWTER_CITY_WIDTH ; PEWTER_NIDORAN_HOUSE
+ warp_to 23, 17, PEWTER_CITY_WIDTH ; PEWTER_MART
+ warp_to 7, 29, PEWTER_CITY_WIDTH ; PEWTER_SPEECH_HOUSE
+ warp_to 13, 25, PEWTER_CITY_WIDTH ; PEWTER_POKECENTER
diff --git a/data/maps/objects/PewterGym.asm b/data/maps/objects/PewterGym.asm
new file mode 100755
index 00000000..538c3923
--- /dev/null
+++ b/data/maps/objects/PewterGym.asm
@@ -0,0 +1,17 @@
+PewterGym_Object:
+ db $3 ; border block
+
+ db 2 ; warps
+ warp 4, 13, 2, -1
+ warp 5, 13, 2, -1
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_BLACK_HAIR_BOY_2, 4, 1, STAY, DOWN, 1, OPP_BROCK, 1
+ object SPRITE_BLACK_HAIR_BOY_1, 3, 6, STAY, RIGHT, 2, OPP_JR_TRAINER_M, 1
+ object SPRITE_GYM_HELPER, 7, 10, STAY, DOWN, 3 ; person
+
+ ; warp-to
+ warp_to 4, 13, PEWTER_GYM_WIDTH
+ warp_to 5, 13, PEWTER_GYM_WIDTH
diff --git a/data/maps/objects/PewterMart.asm b/data/maps/objects/PewterMart.asm
new file mode 100755
index 00000000..9b983316
--- /dev/null
+++ b/data/maps/objects/PewterMart.asm
@@ -0,0 +1,17 @@
+PewterMart_Object:
+ db $0 ; border block
+
+ db 2 ; warps
+ warp 3, 7, 4, -1
+ warp 4, 7, 4, -1
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
+ object SPRITE_BUG_CATCHER, 3, 3, WALK, 1, 2 ; person
+ object SPRITE_BLACK_HAIR_BOY_2, 5, 5, STAY, NONE, 3 ; person
+
+ ; warp-to
+ warp_to 3, 7, PEWTER_MART_WIDTH
+ warp_to 4, 7, PEWTER_MART_WIDTH
diff --git a/data/maps/objects/PewterNidoranHouse.asm b/data/maps/objects/PewterNidoranHouse.asm
new file mode 100755
index 00000000..f00317d1
--- /dev/null
+++ b/data/maps/objects/PewterNidoranHouse.asm
@@ -0,0 +1,17 @@
+PewterNidoranHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 3, -1
+ warp 3, 7, 3, -1
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_SLOWBRO, 4, 5, STAY, LEFT, 1 ; person
+ object SPRITE_YOUNG_BOY, 3, 5, STAY, RIGHT, 2 ; person
+ object SPRITE_FAT_BALD_GUY, 1, 2, STAY, NONE, 3 ; person
+
+ ; warp-to
+ warp_to 2, 7, PEWTER_NIDORAN_HOUSE_WIDTH
+ warp_to 3, 7, PEWTER_NIDORAN_HOUSE_WIDTH
diff --git a/data/maps/objects/PewterPokecenter.asm b/data/maps/objects/PewterPokecenter.asm
new file mode 100755
index 00000000..2b375bf9
--- /dev/null
+++ b/data/maps/objects/PewterPokecenter.asm
@@ -0,0 +1,18 @@
+PewterPokecenter_Object:
+ db $0 ; border block
+
+ db 2 ; warps
+ warp 3, 7, 6, -1
+ warp 4, 7, 6, -1
+
+ db 0 ; signs
+
+ db 4 ; objects
+ object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_GENTLEMAN, 11, 7, STAY, LEFT, 2 ; person
+ object SPRITE_CLEFAIRY, 1, 3, STAY, DOWN, 3 ; person
+ object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
+
+ ; warp-to
+ warp_to 3, 7, PEWTER_POKECENTER_WIDTH
+ warp_to 4, 7, PEWTER_POKECENTER_WIDTH
diff --git a/data/maps/objects/PewterSpeechHouse.asm b/data/maps/objects/PewterSpeechHouse.asm
new file mode 100755
index 00000000..e7134cb5
--- /dev/null
+++ b/data/maps/objects/PewterSpeechHouse.asm
@@ -0,0 +1,16 @@
+PewterSpeechHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 5, -1
+ warp 3, 7, 5, -1
+
+ db 0 ; signs
+
+ db 2 ; objects
+ object SPRITE_GAMBLER, 2, 3, STAY, RIGHT, 1 ; person
+ object SPRITE_BUG_CATCHER, 4, 5, STAY, NONE, 2 ; person
+
+ ; warp-to
+ warp_to 2, 7, PEWTER_SPEECH_HOUSE_WIDTH
+ warp_to 3, 7, PEWTER_SPEECH_HOUSE_WIDTH
diff --git a/data/maps/objects/PokemonFanClub.asm b/data/maps/objects/PokemonFanClub.asm
new file mode 100755
index 00000000..e1f175f0
--- /dev/null
+++ b/data/maps/objects/PokemonFanClub.asm
@@ -0,0 +1,22 @@
+PokemonFanClub_Object:
+ db $d ; border block
+
+ db 2 ; warps
+ warp 2, 7, 1, -1
+ warp 3, 7, 1, -1
+
+ db 2 ; signs
+ sign 1, 0, 7 ; FanClubText7
+ sign 6, 0, 8 ; FanClubText8
+
+ db 6 ; objects
+ object SPRITE_FISHER2, 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_CABLE_CLUB_WOMAN, 5, 1, STAY, DOWN, 6 ; person
+
+ ; warp-to
+ warp_to 2, 7, POKEMON_FAN_CLUB_WIDTH
+ warp_to 3, 7, POKEMON_FAN_CLUB_WIDTH
diff --git a/data/maps/objects/PokemonMansion1F.asm b/data/maps/objects/PokemonMansion1F.asm
new file mode 100755
index 00000000..109b5b8e
--- /dev/null
+++ b/data/maps/objects/PokemonMansion1F.asm
@@ -0,0 +1,29 @@
+PokemonMansion1F_Object:
+ db $2e ; border block
+
+ db 8 ; warps
+ warp 4, 27, 0, -1
+ warp 5, 27, 0, -1
+ warp 6, 27, 0, -1
+ warp 7, 27, 0, -1
+ warp 5, 10, 0, POKEMON_MANSION_2F
+ warp 21, 23, 0, POKEMON_MANSION_B1F
+ warp 26, 27, 0, -1
+ warp 27, 27, 0, -1
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_OAK_AIDE, 17, 17, STAY, LEFT, 1, OPP_SCIENTIST, 4
+ object SPRITE_BALL, 14, 3, STAY, NONE, 2, ESCAPE_ROPE
+ object SPRITE_BALL, 18, 21, STAY, NONE, 3, CARBOS
+
+ ; warp-to
+ warp_to 4, 27, POKEMON_MANSION_1F_WIDTH
+ warp_to 5, 27, POKEMON_MANSION_1F_WIDTH
+ warp_to 6, 27, POKEMON_MANSION_1F_WIDTH
+ warp_to 7, 27, POKEMON_MANSION_1F_WIDTH
+ warp_to 5, 10, POKEMON_MANSION_1F_WIDTH ; POKEMON_MANSION_2F
+ warp_to 21, 23, POKEMON_MANSION_1F_WIDTH ; POKEMON_MANSION_B1F
+ warp_to 26, 27, POKEMON_MANSION_1F_WIDTH
+ warp_to 27, 27, POKEMON_MANSION_1F_WIDTH
diff --git a/data/maps/objects/PokemonMansion2F.asm b/data/maps/objects/PokemonMansion2F.asm
new file mode 100755
index 00000000..6c0cc5f8
--- /dev/null
+++ b/data/maps/objects/PokemonMansion2F.asm
@@ -0,0 +1,22 @@
+PokemonMansion2F_Object:
+ db $1 ; border block
+
+ db 4 ; 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
+
+ db 0 ; signs
+
+ db 4 ; objects
+ object SPRITE_BLACK_HAIR_BOY_2, 3, 17, WALK, 2, 1, OPP_BURGLAR, 7
+ object SPRITE_BALL, 28, 7, STAY, NONE, 2, CALCIUM
+ object SPRITE_BOOK_MAP_DEX, 18, 2, STAY, NONE, 3 ; person
+ object SPRITE_BOOK_MAP_DEX, 3, 22, STAY, NONE, 4 ; person
+
+ ; warp-to
+ warp_to 5, 10, POKEMON_MANSION_2F_WIDTH ; POKEMON_MANSION_1F
+ warp_to 7, 10, POKEMON_MANSION_2F_WIDTH ; POKEMON_MANSION_3F
+ warp_to 25, 14, POKEMON_MANSION_2F_WIDTH ; POKEMON_MANSION_3F
+ warp_to 6, 1, POKEMON_MANSION_2F_WIDTH ; POKEMON_MANSION_3F
diff --git a/data/maps/objects/PokemonMansion3F.asm b/data/maps/objects/PokemonMansion3F.asm
new file mode 100755
index 00000000..7c8c9c22
--- /dev/null
+++ b/data/maps/objects/PokemonMansion3F.asm
@@ -0,0 +1,21 @@
+PokemonMansion3F_Object:
+ db $1 ; border block
+
+ db 3 ; warps
+ warp 7, 10, 1, POKEMON_MANSION_2F
+ warp 6, 1, 3, POKEMON_MANSION_2F
+ warp 25, 14, 2, POKEMON_MANSION_2F
+
+ db 0 ; signs
+
+ db 5 ; objects
+ object SPRITE_BLACK_HAIR_BOY_2, 5, 11, WALK, 2, 1, OPP_BURGLAR, 8
+ object SPRITE_OAK_AIDE, 20, 11, STAY, LEFT, 2, OPP_SCIENTIST, 12
+ object SPRITE_BALL, 1, 16, STAY, NONE, 3, MAX_POTION
+ object SPRITE_BALL, 25, 5, STAY, NONE, 4, IRON
+ object SPRITE_BOOK_MAP_DEX, 6, 12, STAY, NONE, 5 ; person
+
+ ; warp-to
+ warp_to 7, 10, POKEMON_MANSION_3F_WIDTH ; POKEMON_MANSION_2F
+ warp_to 6, 1, POKEMON_MANSION_3F_WIDTH ; POKEMON_MANSION_2F
+ warp_to 25, 14, POKEMON_MANSION_3F_WIDTH ; POKEMON_MANSION_2F
diff --git a/data/maps/objects/PokemonMansionB1F.asm b/data/maps/objects/PokemonMansionB1F.asm
new file mode 100755
index 00000000..ac232799
--- /dev/null
+++ b/data/maps/objects/PokemonMansionB1F.asm
@@ -0,0 +1,20 @@
+PokemonMansionB1F_Object:
+ db $1 ; border block
+
+ db 1 ; warps
+ warp 23, 22, 5, POKEMON_MANSION_1F
+
+ db 0 ; signs
+
+ db 8 ; objects
+ object SPRITE_BLACK_HAIR_BOY_2, 16, 23, STAY, NONE, 1, OPP_BURGLAR, 9
+ object SPRITE_OAK_AIDE, 27, 11, STAY, DOWN, 2, OPP_SCIENTIST, 13
+ object SPRITE_BALL, 10, 2, STAY, NONE, 3, RARE_CANDY
+ object SPRITE_BALL, 1, 22, STAY, NONE, 4, FULL_RESTORE
+ object SPRITE_BALL, 19, 25, STAY, NONE, 5, TM_14
+ object SPRITE_BALL, 5, 4, STAY, NONE, 6, TM_22
+ object SPRITE_BOOK_MAP_DEX, 16, 20, STAY, NONE, 7 ; person
+ object SPRITE_BALL, 5, 13, STAY, NONE, 8, SECRET_KEY
+
+ ; warp-to
+ warp_to 23, 22, POKEMON_MANSION_B1F_WIDTH ; POKEMON_MANSION_1F
diff --git a/data/maps/objects/PokemonTower1F.asm b/data/maps/objects/PokemonTower1F.asm
new file mode 100755
index 00000000..cf62836b
--- /dev/null
+++ b/data/maps/objects/PokemonTower1F.asm
@@ -0,0 +1,21 @@
+PokemonTower1F_Object:
+ db $1 ; border block
+
+ db 3 ; warps
+ warp 10, 17, 1, -1
+ warp 11, 17, 1, -1
+ warp 18, 9, 1, POKEMON_TOWER_2F
+
+ db 0 ; signs
+
+ db 5 ; objects
+ object SPRITE_CABLE_CLUB_WOMAN, 15, 13, STAY, UP, 1 ; person
+ object SPRITE_MOM_GEISHA, 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_MEDIUM, 17, 7, STAY, LEFT, 5 ; person
+
+ ; warp-to
+ warp_to 10, 17, POKEMON_TOWER_1F_WIDTH
+ warp_to 11, 17, POKEMON_TOWER_1F_WIDTH
+ warp_to 18, 9, POKEMON_TOWER_1F_WIDTH ; POKEMON_TOWER_2F
diff --git a/data/maps/objects/PokemonTower2F.asm b/data/maps/objects/PokemonTower2F.asm
new file mode 100755
index 00000000..5ce437d1
--- /dev/null
+++ b/data/maps/objects/PokemonTower2F.asm
@@ -0,0 +1,16 @@
+PokemonTower2F_Object:
+ db $1 ; border block
+
+ db 2 ; warps
+ warp 3, 9, 0, POKEMON_TOWER_3F
+ warp 18, 9, 2, POKEMON_TOWER_1F
+
+ db 0 ; signs
+
+ db 2 ; objects
+ object SPRITE_BLUE, 14, 5, STAY, NONE, 1 ; person
+ object SPRITE_MEDIUM, 3, 7, STAY, RIGHT, 2 ; person
+
+ ; warp-to
+ warp_to 3, 9, POKEMON_TOWER_2F_WIDTH ; POKEMON_TOWER_3F
+ warp_to 18, 9, POKEMON_TOWER_2F_WIDTH ; POKEMON_TOWER_1F
diff --git a/data/maps/objects/PokemonTower3F.asm b/data/maps/objects/PokemonTower3F.asm
new file mode 100755
index 00000000..79b83f88
--- /dev/null
+++ b/data/maps/objects/PokemonTower3F.asm
@@ -0,0 +1,18 @@
+PokemonTower3F_Object:
+ db $1 ; border block
+
+ db 2 ; warps
+ warp 3, 9, 0, POKEMON_TOWER_2F
+ warp 18, 9, 1, POKEMON_TOWER_4F
+
+ db 0 ; signs
+
+ db 4 ; objects
+ object SPRITE_MEDIUM, 12, 3, STAY, LEFT, 1, OPP_CHANNELER, 5
+ object SPRITE_MEDIUM, 9, 8, STAY, DOWN, 2, OPP_CHANNELER, 6
+ object SPRITE_MEDIUM, 10, 13, STAY, DOWN, 3, OPP_CHANNELER, 8
+ object SPRITE_BALL, 12, 1, STAY, NONE, 4, ESCAPE_ROPE
+
+ ; warp-to
+ warp_to 3, 9, POKEMON_TOWER_3F_WIDTH ; POKEMON_TOWER_2F
+ warp_to 18, 9, POKEMON_TOWER_3F_WIDTH ; POKEMON_TOWER_4F
diff --git a/data/maps/objects/PokemonTower4F.asm b/data/maps/objects/PokemonTower4F.asm
new file mode 100755
index 00000000..db86c02c
--- /dev/null
+++ b/data/maps/objects/PokemonTower4F.asm
@@ -0,0 +1,20 @@
+PokemonTower4F_Object:
+ db $1 ; border block
+
+ db 2 ; warps
+ warp 3, 9, 0, POKEMON_TOWER_5F
+ warp 18, 9, 1, POKEMON_TOWER_3F
+
+ db 0 ; signs
+
+ db 6 ; objects
+ object SPRITE_MEDIUM, 5, 10, STAY, RIGHT, 1, OPP_CHANNELER, 9
+ object SPRITE_MEDIUM, 15, 7, STAY, DOWN, 2, OPP_CHANNELER, 10
+ object SPRITE_MEDIUM, 14, 12, STAY, LEFT, 3, OPP_CHANNELER, 12
+ object SPRITE_BALL, 12, 10, STAY, NONE, 4, ELIXER
+ object SPRITE_BALL, 9, 10, STAY, NONE, 5, AWAKENING
+ object SPRITE_BALL, 12, 16, STAY, NONE, 6, HP_UP
+
+ ; warp-to
+ warp_to 3, 9, POKEMON_TOWER_4F_WIDTH ; POKEMON_TOWER_5F
+ warp_to 18, 9, POKEMON_TOWER_4F_WIDTH ; POKEMON_TOWER_3F
diff --git a/data/maps/objects/PokemonTower5F.asm b/data/maps/objects/PokemonTower5F.asm
new file mode 100755
index 00000000..b482871f
--- /dev/null
+++ b/data/maps/objects/PokemonTower5F.asm
@@ -0,0 +1,20 @@
+PokemonTower5F_Object:
+ db $1 ; border block
+
+ db 2 ; warps
+ warp 3, 9, 0, POKEMON_TOWER_4F
+ warp 18, 9, 0, POKEMON_TOWER_6F
+
+ db 0 ; signs
+
+ db 6 ; objects
+ object SPRITE_MEDIUM, 12, 8, STAY, NONE, 1 ; person
+ object SPRITE_MEDIUM, 17, 7, STAY, LEFT, 2, OPP_CHANNELER, 14
+ object SPRITE_MEDIUM, 14, 3, STAY, LEFT, 3, OPP_CHANNELER, 16
+ object SPRITE_MEDIUM, 6, 10, STAY, RIGHT, 4, OPP_CHANNELER, 17
+ object SPRITE_MEDIUM, 9, 16, STAY, RIGHT, 5, OPP_CHANNELER, 18
+ object SPRITE_BALL, 6, 14, STAY, NONE, 6, NUGGET
+
+ ; warp-to
+ warp_to 3, 9, POKEMON_TOWER_5F_WIDTH ; POKEMON_TOWER_4F
+ warp_to 18, 9, POKEMON_TOWER_5F_WIDTH ; POKEMON_TOWER_6F
diff --git a/data/maps/objects/PokemonTower6F.asm b/data/maps/objects/PokemonTower6F.asm
new file mode 100755
index 00000000..823fe78a
--- /dev/null
+++ b/data/maps/objects/PokemonTower6F.asm
@@ -0,0 +1,19 @@
+PokemonTower6F_Object:
+ db $1 ; border block
+
+ db 2 ; warps
+ warp 18, 9, 1, POKEMON_TOWER_5F
+ warp 9, 16, 0, POKEMON_TOWER_7F
+
+ db 0 ; signs
+
+ db 5 ; objects
+ object SPRITE_MEDIUM, 12, 10, STAY, RIGHT, 1, OPP_CHANNELER, 19
+ object SPRITE_MEDIUM, 9, 5, STAY, DOWN, 2, OPP_CHANNELER, 20
+ object SPRITE_MEDIUM, 16, 5, STAY, LEFT, 3, OPP_CHANNELER, 21
+ object SPRITE_BALL, 6, 8, STAY, NONE, 4, RARE_CANDY
+ object SPRITE_BALL, 14, 14, STAY, NONE, 5, X_ACCURACY
+
+ ; warp-to
+ warp_to 18, 9, POKEMON_TOWER_6F_WIDTH ; POKEMON_TOWER_5F
+ warp_to 9, 16, POKEMON_TOWER_6F_WIDTH ; POKEMON_TOWER_7F
diff --git a/data/maps/objects/PokemonTower7F.asm b/data/maps/objects/PokemonTower7F.asm
new file mode 100755
index 00000000..79cb5b0d
--- /dev/null
+++ b/data/maps/objects/PokemonTower7F.asm
@@ -0,0 +1,16 @@
+PokemonTower7F_Object:
+ db $1 ; border block
+
+ db 1 ; warps
+ warp 9, 16, 1, POKEMON_TOWER_6F
+
+ db 0 ; signs
+
+ db 4 ; objects
+ object SPRITE_ROCKET, 9, 11, STAY, RIGHT, 1, OPP_ROCKET, 19
+ object SPRITE_ROCKET, 12, 9, STAY, LEFT, 2, OPP_ROCKET, 20
+ object SPRITE_ROCKET, 9, 7, STAY, RIGHT, 3, OPP_ROCKET, 21
+ object SPRITE_MR_FUJI, 10, 3, STAY, DOWN, 4 ; person
+
+ ; warp-to
+ warp_to 9, 16, POKEMON_TOWER_7F_WIDTH ; POKEMON_TOWER_6F
diff --git a/data/maps/objects/PowerPlant.asm b/data/maps/objects/PowerPlant.asm
new file mode 100755
index 00000000..a8548b1c
--- /dev/null
+++ b/data/maps/objects/PowerPlant.asm
@@ -0,0 +1,30 @@
+PowerPlant_Object:
+ db $2e ; border block
+
+ db 3 ; warps
+ warp 4, 35, 3, -1
+ warp 5, 35, 3, -1
+ warp 0, 11, 3, -1
+
+ db 0 ; signs
+
+ db 14 ; objects
+ object SPRITE_BALL, 9, 20, STAY, NONE, 1, VOLTORB, 40
+ object SPRITE_BALL, 32, 18, STAY, NONE, 2, VOLTORB, 40
+ object SPRITE_BALL, 21, 25, STAY, NONE, 3, VOLTORB, 40
+ object SPRITE_BALL, 25, 18, STAY, NONE, 4, ELECTRODE, 43
+ object SPRITE_BALL, 23, 34, STAY, NONE, 5, VOLTORB, 40
+ object SPRITE_BALL, 26, 28, STAY, NONE, 6, VOLTORB, 40
+ object SPRITE_BALL, 21, 14, STAY, NONE, 7, ELECTRODE, 43
+ object SPRITE_BALL, 37, 32, STAY, NONE, 8, VOLTORB, 40
+ object SPRITE_BIRD, 4, 9, STAY, UP, 9, ZAPDOS, 50
+ object SPRITE_BALL, 7, 25, STAY, NONE, 10, CARBOS
+ object SPRITE_BALL, 28, 3, STAY, NONE, 11, HP_UP
+ object SPRITE_BALL, 34, 3, STAY, NONE, 12, RARE_CANDY
+ object SPRITE_BALL, 26, 32, STAY, NONE, 13, TM_25
+ object SPRITE_BALL, 20, 32, STAY, NONE, 14, TM_33
+
+ ; warp-to
+ warp_to 4, 35, POWER_PLANT_WIDTH
+ warp_to 5, 35, POWER_PLANT_WIDTH
+ warp_to 0, 11, POWER_PLANT_WIDTH
diff --git a/data/maps/objects/RedsHouse1F.asm b/data/maps/objects/RedsHouse1F.asm
new file mode 100755
index 00000000..a54b5411
--- /dev/null
+++ b/data/maps/objects/RedsHouse1F.asm
@@ -0,0 +1,18 @@
+RedsHouse1F_Object:
+ db $a ; border block
+
+ db 3 ; warps
+ warp 2, 7, 0, -1 ; exit1
+ warp 3, 7, 0, -1 ; exit2
+ warp 7, 1, 0, REDS_HOUSE_2F ; staircase
+
+ db 1 ; signs
+ sign 3, 1, 2 ; TV
+
+ db 1 ; objects
+ object SPRITE_MOM, 5, 4, STAY, LEFT, 1 ; Mom
+
+ ; warp-to
+ warp_to 2, 7, REDS_HOUSE_1F_WIDTH
+ warp_to 3, 7, REDS_HOUSE_1F_WIDTH
+ warp_to 7, 1, REDS_HOUSE_1F_WIDTH
diff --git a/data/maps/objects/RedsHouse2F.asm b/data/maps/objects/RedsHouse2F.asm
new file mode 100755
index 00000000..98e9c236
--- /dev/null
+++ b/data/maps/objects/RedsHouse2F.asm
@@ -0,0 +1,12 @@
+RedsHouse2F_Object:
+ db $a ; border block
+
+ db 1 ; warps
+ warp 7, 1, 2, REDS_HOUSE_1F
+
+ db 0 ; signs
+
+ db 0 ; objects
+
+ ; warp-to
+ warp_to 7, 1, REDS_HOUSE_2F_WIDTH
diff --git a/data/maps/objects/RockTunnel1F.asm b/data/maps/objects/RockTunnel1F.asm
new file mode 100755
index 00000000..1cf5a12f
--- /dev/null
+++ b/data/maps/objects/RockTunnel1F.asm
@@ -0,0 +1,34 @@
+RockTunnel1F_Object:
+ db $3 ; border block
+
+ db 8 ; warps
+ warp 15, 3, 1, -1
+ warp 15, 0, 1, -1
+ warp 15, 33, 2, -1
+ warp 15, 35, 2, -1
+ 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
+
+ db 1 ; signs
+ sign 11, 29, 8 ; RockTunnel1Text8
+
+ db 7 ; 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_BLACK_HAIR_BOY_2, 23, 8, STAY, LEFT, 4, OPP_POKEMANIAC, 7
+ object SPRITE_LASS, 37, 21, STAY, LEFT, 5, OPP_JR_TRAINER_F, 17
+ object SPRITE_LASS, 22, 24, STAY, DOWN, 6, OPP_JR_TRAINER_F, 18
+ object SPRITE_LASS, 32, 24, STAY, RIGHT, 7, OPP_JR_TRAINER_F, 19
+
+ ; warp-to
+ warp_to 15, 3, ROCK_TUNNEL_1F_WIDTH
+ warp_to 15, 0, ROCK_TUNNEL_1F_WIDTH
+ warp_to 15, 33, ROCK_TUNNEL_1F_WIDTH
+ warp_to 15, 35, ROCK_TUNNEL_1F_WIDTH
+ warp_to 37, 3, ROCK_TUNNEL_1F_WIDTH ; ROCK_TUNNEL_B1F
+ warp_to 5, 3, ROCK_TUNNEL_1F_WIDTH ; ROCK_TUNNEL_B1F
+ warp_to 17, 11, ROCK_TUNNEL_1F_WIDTH ; ROCK_TUNNEL_B1F
+ warp_to 37, 17, ROCK_TUNNEL_1F_WIDTH ; ROCK_TUNNEL_B1F
diff --git a/data/maps/objects/RockTunnelB1F.asm b/data/maps/objects/RockTunnelB1F.asm
new file mode 100755
index 00000000..f562168e
--- /dev/null
+++ b/data/maps/objects/RockTunnelB1F.asm
@@ -0,0 +1,26 @@
+RockTunnelB1F_Object:
+ db $3 ; border block
+
+ db 4 ; 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
+
+ db 0 ; signs
+
+ db 8 ; objects
+ object SPRITE_LASS, 11, 13, STAY, DOWN, 1, OPP_JR_TRAINER_F, 9
+ object SPRITE_HIKER, 6, 10, STAY, DOWN, 2, OPP_HIKER, 9
+ object SPRITE_BLACK_HAIR_BOY_2, 3, 5, STAY, DOWN, 3, OPP_POKEMANIAC, 3
+ object SPRITE_BLACK_HAIR_BOY_2, 20, 21, STAY, RIGHT, 4, OPP_POKEMANIAC, 4
+ object SPRITE_HIKER, 30, 10, STAY, DOWN, 5, OPP_HIKER, 10
+ object SPRITE_LASS, 14, 28, STAY, RIGHT, 6, OPP_JR_TRAINER_F, 10
+ object SPRITE_HIKER, 33, 5, STAY, RIGHT, 7, OPP_HIKER, 11
+ object SPRITE_BLACK_HAIR_BOY_2, 26, 30, STAY, DOWN, 8, OPP_POKEMANIAC, 5
+
+ ; warp-to
+ warp_to 33, 25, ROCK_TUNNEL_B1F_WIDTH ; ROCK_TUNNEL_1F
+ warp_to 27, 3, ROCK_TUNNEL_B1F_WIDTH ; ROCK_TUNNEL_1F
+ warp_to 23, 11, ROCK_TUNNEL_B1F_WIDTH ; ROCK_TUNNEL_1F
+ warp_to 3, 3, ROCK_TUNNEL_B1F_WIDTH ; ROCK_TUNNEL_1F
diff --git a/data/maps/objects/RockTunnelPokecenter.asm b/data/maps/objects/RockTunnelPokecenter.asm
new file mode 100755
index 00000000..a7619f7f
--- /dev/null
+++ b/data/maps/objects/RockTunnelPokecenter.asm
@@ -0,0 +1,18 @@
+RockTunnelPokecenter_Object:
+ db $0 ; border block
+
+ db 2 ; warps
+ warp 3, 7, 0, -1
+ warp 4, 7, 0, -1
+
+ db 0 ; signs
+
+ db 4 ; objects
+ object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_GENTLEMAN, 7, 3, WALK, 2, 2 ; person
+ object SPRITE_FISHER2, 2, 5, STAY, NONE, 3 ; person
+ object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
+
+ ; warp-to
+ warp_to 3, 7, ROCK_TUNNEL_POKECENTER_WIDTH
+ warp_to 4, 7, ROCK_TUNNEL_POKECENTER_WIDTH
diff --git a/data/maps/objects/RocketHideoutB1F.asm b/data/maps/objects/RocketHideoutB1F.asm
new file mode 100755
index 00000000..99537510
--- /dev/null
+++ b/data/maps/objects/RocketHideoutB1F.asm
@@ -0,0 +1,27 @@
+RocketHideoutB1F_Object:
+ db $2e ; border block
+
+ db 5 ; 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
+
+ db 0 ; signs
+
+ db 7 ; 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_BALL, 11, 14, STAY, NONE, 6, ESCAPE_ROPE
+ object SPRITE_BALL, 9, 17, STAY, NONE, 7, HYPER_POTION
+
+ ; warp-to
+ warp_to 23, 2, ROCKET_HIDEOUT_B1F_WIDTH ; ROCKET_HIDEOUT_B2F
+ warp_to 21, 2, ROCKET_HIDEOUT_B1F_WIDTH ; GAME_CORNER
+ warp_to 24, 19, ROCKET_HIDEOUT_B1F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR
+ warp_to 21, 24, ROCKET_HIDEOUT_B1F_WIDTH ; ROCKET_HIDEOUT_B2F
+ warp_to 25, 19, ROCKET_HIDEOUT_B1F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR
diff --git a/data/maps/objects/RocketHideoutB2F.asm b/data/maps/objects/RocketHideoutB2F.asm
new file mode 100755
index 00000000..36fe9289
--- /dev/null
+++ b/data/maps/objects/RocketHideoutB2F.asm
@@ -0,0 +1,25 @@
+RocketHideoutB2F_Object:
+ db $2e ; border block
+
+ db 5 ; 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
+
+ db 0 ; signs
+
+ db 5 ; objects
+ object SPRITE_ROCKET, 20, 12, STAY, DOWN, 1, OPP_ROCKET, 13
+ object SPRITE_BALL, 1, 11, STAY, NONE, 2, MOON_STONE
+ object SPRITE_BALL, 16, 8, STAY, NONE, 3, NUGGET
+ object SPRITE_BALL, 6, 12, STAY, NONE, 4, TM_07
+ object SPRITE_BALL, 3, 21, STAY, NONE, 5, SUPER_POTION
+
+ ; warp-to
+ warp_to 27, 8, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_B1F
+ warp_to 21, 8, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_B3F
+ warp_to 24, 19, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR
+ warp_to 21, 22, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_B1F
+ warp_to 25, 19, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR
diff --git a/data/maps/objects/RocketHideoutB3F.asm b/data/maps/objects/RocketHideoutB3F.asm
new file mode 100755
index 00000000..6169dbed
--- /dev/null
+++ b/data/maps/objects/RocketHideoutB3F.asm
@@ -0,0 +1,18 @@
+RocketHideoutB3F_Object:
+ db $2e ; border block
+
+ db 2 ; warps
+ warp 25, 6, 1, ROCKET_HIDEOUT_B2F
+ warp 19, 18, 0, ROCKET_HIDEOUT_B4F
+
+ db 0 ; signs
+
+ db 4 ; 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_BALL, 26, 17, STAY, NONE, 3, TM_10
+ object SPRITE_BALL, 20, 14, STAY, NONE, 4, RARE_CANDY
+
+ ; warp-to
+ warp_to 25, 6, ROCKET_HIDEOUT_B3F_WIDTH ; ROCKET_HIDEOUT_B2F
+ warp_to 19, 18, ROCKET_HIDEOUT_B3F_WIDTH ; ROCKET_HIDEOUT_B4F
diff --git a/data/maps/objects/RocketHideoutB4F.asm b/data/maps/objects/RocketHideoutB4F.asm
new file mode 100755
index 00000000..be353f25
--- /dev/null
+++ b/data/maps/objects/RocketHideoutB4F.asm
@@ -0,0 +1,25 @@
+RocketHideoutB4F_Object:
+ db $2e ; border block
+
+ db 3 ; warps
+ warp 19, 10, 1, ROCKET_HIDEOUT_B3F
+ warp 24, 15, 0, ROCKET_HIDEOUT_ELEVATOR
+ warp 25, 15, 1, ROCKET_HIDEOUT_ELEVATOR
+
+ db 0 ; signs
+
+ db 9 ; objects
+ object SPRITE_GIOVANNI, 25, 3, STAY, DOWN, 1, OPP_GIOVANNI, 1
+ object SPRITE_ROCKET, 23, 12, STAY, DOWN, 2, OPP_ROCKET, 16
+ object SPRITE_ROCKET, 26, 12, STAY, DOWN, 3, OPP_ROCKET, 17
+ object SPRITE_ROCKET, 11, 2, STAY, DOWN, 4, OPP_ROCKET, 18
+ object SPRITE_BALL, 10, 12, STAY, NONE, 5, HP_UP
+ object SPRITE_BALL, 9, 4, STAY, NONE, 6, TM_02
+ object SPRITE_BALL, 12, 20, STAY, NONE, 7, IRON
+ object SPRITE_BALL, 25, 2, STAY, NONE, 8, SILPH_SCOPE
+ object SPRITE_BALL, 10, 2, STAY, NONE, 9, LIFT_KEY
+
+ ; warp-to
+ warp_to 19, 10, ROCKET_HIDEOUT_B4F_WIDTH ; ROCKET_HIDEOUT_B3F
+ warp_to 24, 15, ROCKET_HIDEOUT_B4F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR
+ warp_to 25, 15, ROCKET_HIDEOUT_B4F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR
diff --git a/data/maps/objects/RocketHideoutElevator.asm b/data/maps/objects/RocketHideoutElevator.asm
new file mode 100755
index 00000000..bc4fd7ff
--- /dev/null
+++ b/data/maps/objects/RocketHideoutElevator.asm
@@ -0,0 +1,15 @@
+RocketHideoutElevator_Object:
+ db $f ; border block
+
+ db 2 ; warps
+ warp 2, 1, 2, ROCKET_HIDEOUT_B1F
+ warp 3, 1, 4, ROCKET_HIDEOUT_B1F
+
+ db 1 ; signs
+ sign 1, 1, 1 ; RocketHideoutElevatorText1
+
+ db 0 ; objects
+
+ ; warp-to
+ warp_to 2, 1, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; ROCKET_HIDEOUT_B1F
+ warp_to 3, 1, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; ROCKET_HIDEOUT_B1F
diff --git a/data/maps/objects/Route1.asm b/data/maps/objects/Route1.asm
new file mode 100755
index 00000000..0815fe67
--- /dev/null
+++ b/data/maps/objects/Route1.asm
@@ -0,0 +1,14 @@
+Route1_Object:
+ db $b ; border block
+
+ db 0 ; warps
+
+ db 1 ; signs
+ sign 9, 27, 3 ; Route1Text3
+
+ db 2 ; objects
+ object SPRITE_BUG_CATCHER, 5, 24, WALK, 1, 1 ; person
+ object SPRITE_BUG_CATCHER, 15, 13, WALK, 2, 2 ; person
+
+ ; warp-to (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..12850577
--- /dev/null
+++ b/data/maps/objects/Route10.asm
@@ -0,0 +1,28 @@
+Route10_Object:
+ db $2c ; border block
+
+ db 4 ; 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
+
+ db 4 ; signs
+ sign 7, 19, 7 ; Route10Text7
+ sign 12, 19, 8 ; PokeCenterSignText
+ sign 9, 55, 9 ; Route10Text9
+ sign 5, 41, 10 ; Route10Text10
+
+ db 6 ; objects
+ object SPRITE_BLACK_HAIR_BOY_2, 10, 44, STAY, LEFT, 1, OPP_POKEMANIAC, 1
+ object SPRITE_HIKER, 3, 57, STAY, UP, 2, OPP_HIKER, 7
+ object SPRITE_BLACK_HAIR_BOY_2, 14, 64, STAY, LEFT, 3, OPP_POKEMANIAC, 2
+ object SPRITE_LASS, 7, 25, STAY, LEFT, 4, OPP_JR_TRAINER_F, 7
+ object SPRITE_HIKER, 3, 61, STAY, DOWN, 5, OPP_HIKER, 8
+ object SPRITE_LASS, 7, 54, STAY, DOWN, 6, OPP_JR_TRAINER_F, 8
+
+ ; warp-to
+ warp_to 11, 19, ROUTE_10_WIDTH ; ROCK_TUNNEL_POKECENTER
+ warp_to 8, 17, ROUTE_10_WIDTH ; ROCK_TUNNEL_1F
+ warp_to 8, 53, ROUTE_10_WIDTH ; ROCK_TUNNEL_1F
+ warp_to 6, 39, ROUTE_10_WIDTH ; POWER_PLANT
diff --git a/data/maps/objects/Route11.asm b/data/maps/objects/Route11.asm
new file mode 100755
index 00000000..5ed232f5
--- /dev/null
+++ b/data/maps/objects/Route11.asm
@@ -0,0 +1,31 @@
+Route11_Object:
+ db $f ; border block
+
+ db 5 ; warps
+ warp 49, 8, 0, ROUTE_11_GATE_1F
+ warp 49, 9, 1, ROUTE_11_GATE_1F
+ warp 58, 8, 2, ROUTE_11_GATE_1F
+ warp 58, 9, 3, ROUTE_11_GATE_1F
+ warp 4, 5, 0, DIGLETTS_CAVE_ROUTE_11
+
+ db 1 ; signs
+ sign 1, 5, 11 ; Route11Text11
+
+ db 10 ; 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_BUG_CATCHER, 13, 5, STAY, LEFT, 3, OPP_YOUNGSTER, 9
+ object SPRITE_BLACK_HAIR_BOY_2, 36, 11, STAY, DOWN, 4, OPP_ENGINEER, 2
+ object SPRITE_BUG_CATCHER, 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_BUG_CATCHER, 43, 5, STAY, RIGHT, 8, OPP_YOUNGSTER, 11
+ object SPRITE_BLACK_HAIR_BOY_2, 45, 16, STAY, LEFT, 9, OPP_ENGINEER, 3
+ object SPRITE_BUG_CATCHER, 22, 12, STAY, UP, 10, OPP_YOUNGSTER, 12
+
+ ; warp-to
+ warp_to 49, 8, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F
+ warp_to 49, 9, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F
+ warp_to 58, 8, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F
+ warp_to 58, 9, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F
+ warp_to 4, 5, ROUTE_11_WIDTH ; DIGLETTS_CAVE_ROUTE_11
diff --git a/data/maps/objects/Route11Gate1F.asm b/data/maps/objects/Route11Gate1F.asm
new file mode 100755
index 00000000..5c4a120c
--- /dev/null
+++ b/data/maps/objects/Route11Gate1F.asm
@@ -0,0 +1,21 @@
+Route11Gate1F_Object:
+ db $a ; border block
+
+ db 5 ; warps
+ warp 0, 4, 0, -1
+ warp 0, 5, 1, -1
+ warp 7, 4, 2, -1
+ warp 7, 5, 3, -1
+ warp 6, 8, 0, ROUTE_11_GATE_2F
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_GUARD, 4, 1, STAY, NONE, 1 ; person
+
+ ; warp-to
+ warp_to 0, 4, ROUTE_11_GATE_1F_WIDTH
+ warp_to 0, 5, ROUTE_11_GATE_1F_WIDTH
+ warp_to 7, 4, ROUTE_11_GATE_1F_WIDTH
+ warp_to 7, 5, ROUTE_11_GATE_1F_WIDTH
+ warp_to 6, 8, ROUTE_11_GATE_1F_WIDTH ; ROUTE_11_GATE_2F
diff --git a/data/maps/objects/Route11Gate2F.asm b/data/maps/objects/Route11Gate2F.asm
new file mode 100755
index 00000000..bf305bba
--- /dev/null
+++ b/data/maps/objects/Route11Gate2F.asm
@@ -0,0 +1,16 @@
+Route11Gate2F_Object:
+ db $a ; border block
+
+ db 1 ; warps
+ warp 7, 7, 4, ROUTE_11_GATE_1F
+
+ db 2 ; signs
+ sign 1, 2, 3 ; Route11GateUpstairsText3
+ sign 6, 2, 4 ; Route11GateUpstairsText4
+
+ db 2 ; objects
+ object SPRITE_BUG_CATCHER, 4, 2, WALK, 2, 1 ; person
+ object SPRITE_OAK_AIDE, 2, 6, STAY, NONE, 2 ; person
+
+ ; warp-to
+ warp_to 7, 7, ROUTE_11_GATE_2F_WIDTH ; ROUTE_11_GATE_1F
diff --git a/data/maps/objects/Route12.asm b/data/maps/objects/Route12.asm
new file mode 100755
index 00000000..a9d84cf0
--- /dev/null
+++ b/data/maps/objects/Route12.asm
@@ -0,0 +1,30 @@
+Route12_Object:
+ db $43 ; border block
+
+ db 4 ; warps
+ warp 10, 15, 0, ROUTE_12_GATE_1F
+ warp 11, 15, 1, ROUTE_12_GATE_1F
+ warp 10, 21, 2, ROUTE_12_GATE_1F
+ warp 11, 77, 0, ROUTE_12_SUPER_ROD_HOUSE
+
+ db 2 ; signs
+ sign 13, 13, 11 ; Route12Text11
+ sign 11, 63, 12 ; Route12Text12
+
+ db 10 ; objects
+ object SPRITE_SNORLAX, 10, 62, STAY, DOWN, 1 ; person
+ object SPRITE_FISHER2, 14, 31, STAY, LEFT, 2, OPP_FISHER, 3
+ object SPRITE_FISHER2, 5, 39, STAY, UP, 3, OPP_FISHER, 4
+ object SPRITE_BLACK_HAIR_BOY_1, 11, 92, STAY, LEFT, 4, OPP_JR_TRAINER_M, 9
+ object SPRITE_BLACK_HAIR_BOY_2, 14, 76, STAY, UP, 5, OPP_ROCKER, 2
+ object SPRITE_FISHER2, 12, 40, STAY, LEFT, 6, OPP_FISHER, 5
+ object SPRITE_FISHER2, 9, 52, STAY, RIGHT, 7, OPP_FISHER, 6
+ object SPRITE_FISHER2, 6, 87, STAY, DOWN, 8, OPP_FISHER, 11
+ object SPRITE_BALL, 14, 35, STAY, NONE, 9, TM_16
+ object SPRITE_BALL, 5, 89, STAY, NONE, 10, IRON
+
+ ; warp-to
+ warp_to 10, 15, ROUTE_12_WIDTH ; ROUTE_12_GATE_1F
+ warp_to 11, 15, ROUTE_12_WIDTH ; ROUTE_12_GATE_1F
+ warp_to 10, 21, ROUTE_12_WIDTH ; ROUTE_12_GATE_1F
+ warp_to 11, 77, ROUTE_12_WIDTH ; ROUTE_12_SUPER_ROD_HOUSE
diff --git a/data/maps/objects/Route12Gate1F.asm b/data/maps/objects/Route12Gate1F.asm
new file mode 100755
index 00000000..94f6b91a
--- /dev/null
+++ b/data/maps/objects/Route12Gate1F.asm
@@ -0,0 +1,21 @@
+Route12Gate1F_Object:
+ db $a ; border block
+
+ db 5 ; warps
+ warp 4, 0, 0, -1
+ warp 5, 0, 1, -1
+ warp 4, 7, 2, -1
+ warp 5, 7, 2, -1
+ warp 8, 6, 0, ROUTE_12_GATE_2F
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_GUARD, 1, 3, STAY, NONE, 1 ; person
+
+ ; warp-to
+ warp_to 4, 0, ROUTE_12_GATE_1F_WIDTH
+ warp_to 5, 0, ROUTE_12_GATE_1F_WIDTH
+ warp_to 4, 7, ROUTE_12_GATE_1F_WIDTH
+ warp_to 5, 7, ROUTE_12_GATE_1F_WIDTH
+ warp_to 8, 6, ROUTE_12_GATE_1F_WIDTH ; ROUTE_12_GATE_2F
diff --git a/data/maps/objects/Route12Gate2F.asm b/data/maps/objects/Route12Gate2F.asm
new file mode 100755
index 00000000..cc6c1c19
--- /dev/null
+++ b/data/maps/objects/Route12Gate2F.asm
@@ -0,0 +1,15 @@
+Route12Gate2F_Object:
+ db $a ; border block
+
+ db 1 ; warps
+ warp 7, 7, 4, ROUTE_12_GATE_1F
+
+ db 2 ; signs
+ sign 1, 2, 2 ; Route12GateUpstairsText2
+ sign 6, 2, 3 ; Route12GateUpstairsText3
+
+ db 1 ; objects
+ object SPRITE_BRUNETTE_GIRL, 3, 4, WALK, 1, 1 ; person
+
+ ; warp-to
+ warp_to 7, 7, ROUTE_12_GATE_2F_WIDTH ; ROUTE_12_GATE_1F
diff --git a/data/maps/objects/Route12SuperRodHouse.asm b/data/maps/objects/Route12SuperRodHouse.asm
new file mode 100755
index 00000000..458378a2
--- /dev/null
+++ b/data/maps/objects/Route12SuperRodHouse.asm
@@ -0,0 +1,15 @@
+Route12SuperRodHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 3, -1
+ warp 3, 7, 3, -1
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_FISHER, 2, 4, STAY, RIGHT, 1 ; person
+
+ ; warp-to
+ warp_to 2, 7, ROUTE_12_SUPER_ROD_HOUSE_WIDTH
+ warp_to 3, 7, ROUTE_12_SUPER_ROD_HOUSE_WIDTH
diff --git a/data/maps/objects/Route13.asm b/data/maps/objects/Route13.asm
new file mode 100755
index 00000000..3f460901
--- /dev/null
+++ b/data/maps/objects/Route13.asm
@@ -0,0 +1,21 @@
+Route13_Object:
+ db $43 ; border block
+
+ db 0 ; warps
+
+ db 3 ; signs
+ sign 15, 13, 11 ; Route13Text11
+ sign 33, 5, 12 ; Route13Text12
+ sign 31, 11, 13 ; Route13Text13
+
+ db 10 ; objects
+ object SPRITE_BLACK_HAIR_BOY_1, 49, 10, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 1
+ object SPRITE_LASS, 48, 10, STAY, DOWN, 2, OPP_JR_TRAINER_F, 12
+ object SPRITE_LASS, 27, 9, STAY, DOWN, 3, OPP_JR_TRAINER_F, 13
+ object SPRITE_LASS, 23, 10, STAY, LEFT, 4, OPP_JR_TRAINER_F, 14
+ object SPRITE_LASS, 50, 5, STAY, DOWN, 5, OPP_JR_TRAINER_F, 15
+ object SPRITE_BLACK_HAIR_BOY_1, 12, 4, STAY, RIGHT, 6, OPP_BIRD_KEEPER, 2
+ object SPRITE_FOULARD_WOMAN, 33, 6, STAY, DOWN, 7, OPP_BEAUTY, 4
+ object SPRITE_FOULARD_WOMAN, 32, 6, STAY, DOWN, 8, OPP_BEAUTY, 5
+ object SPRITE_BIKER, 10, 7, STAY, UP, 9, OPP_BIKER, 1
+ object SPRITE_BLACK_HAIR_BOY_1, 7, 13, STAY, UP, 10, OPP_BIRD_KEEPER, 3
diff --git a/data/maps/objects/Route14.asm b/data/maps/objects/Route14.asm
new file mode 100755
index 00000000..565e587f
--- /dev/null
+++ b/data/maps/objects/Route14.asm
@@ -0,0 +1,19 @@
+Route14_Object:
+ db $43 ; border block
+
+ db 0 ; warps
+
+ db 1 ; signs
+ sign 17, 13, 11 ; Route14Text11
+
+ db 10 ; objects
+ object SPRITE_BLACK_HAIR_BOY_1, 4, 4, STAY, DOWN, 1, OPP_BIRD_KEEPER, 14
+ object SPRITE_BLACK_HAIR_BOY_1, 15, 6, STAY, DOWN, 2, OPP_BIRD_KEEPER, 15
+ object SPRITE_BLACK_HAIR_BOY_1, 12, 11, STAY, DOWN, 3, OPP_BIRD_KEEPER, 16
+ object SPRITE_BLACK_HAIR_BOY_1, 14, 15, STAY, UP, 4, OPP_BIRD_KEEPER, 17
+ object SPRITE_BLACK_HAIR_BOY_1, 15, 31, STAY, LEFT, 5, OPP_BIRD_KEEPER, 4
+ object SPRITE_BLACK_HAIR_BOY_1, 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
diff --git a/data/maps/objects/Route15.asm b/data/maps/objects/Route15.asm
new file mode 100755
index 00000000..f52cc1b8
--- /dev/null
+++ b/data/maps/objects/Route15.asm
@@ -0,0 +1,30 @@
+Route15_Object:
+ db $43 ; border block
+
+ db 4 ; warps
+ warp 7, 8, 0, ROUTE_15_GATE_1F
+ warp 7, 9, 1, ROUTE_15_GATE_1F
+ warp 14, 8, 2, ROUTE_15_GATE_1F
+ warp 14, 9, 3, ROUTE_15_GATE_1F
+
+ db 1 ; signs
+ sign 39, 9, 12 ; Route15Text12
+
+ db 11 ; objects
+ object SPRITE_LASS, 41, 11, STAY, DOWN, 1, OPP_JR_TRAINER_F, 20
+ object SPRITE_LASS, 53, 10, STAY, LEFT, 2, OPP_JR_TRAINER_F, 21
+ object SPRITE_BLACK_HAIR_BOY_1, 31, 13, STAY, UP, 3, OPP_BIRD_KEEPER, 6
+ object SPRITE_BLACK_HAIR_BOY_1, 35, 13, STAY, UP, 4, OPP_BIRD_KEEPER, 7
+ object SPRITE_FOULARD_WOMAN, 53, 11, STAY, DOWN, 5, OPP_BEAUTY, 9
+ object SPRITE_FOULARD_WOMAN, 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_LASS, 37, 5, STAY, RIGHT, 9, OPP_JR_TRAINER_F, 22
+ object SPRITE_LASS, 18, 13, STAY, UP, 10, OPP_JR_TRAINER_F, 23
+ object SPRITE_BALL, 18, 5, STAY, NONE, 11, TM_20
+
+ ; warp-to
+ warp_to 7, 8, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F
+ warp_to 7, 9, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F
+ warp_to 14, 8, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F
+ warp_to 14, 9, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F
diff --git a/data/maps/objects/Route15Gate1F.asm b/data/maps/objects/Route15Gate1F.asm
new file mode 100755
index 00000000..23b1f5a7
--- /dev/null
+++ b/data/maps/objects/Route15Gate1F.asm
@@ -0,0 +1,21 @@
+Route15Gate1F_Object:
+ db $a ; border block
+
+ db 5 ; warps
+ warp 0, 4, 0, -1
+ warp 0, 5, 1, -1
+ warp 7, 4, 2, -1
+ warp 7, 5, 3, -1
+ warp 6, 8, 0, ROUTE_15_GATE_2F
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_GUARD, 4, 1, STAY, NONE, 1 ; person
+
+ ; warp-to
+ warp_to 0, 4, ROUTE_15_GATE_1F_WIDTH
+ warp_to 0, 5, ROUTE_15_GATE_1F_WIDTH
+ warp_to 7, 4, ROUTE_15_GATE_1F_WIDTH
+ warp_to 7, 5, ROUTE_15_GATE_1F_WIDTH
+ warp_to 6, 8, ROUTE_15_GATE_1F_WIDTH ; ROUTE_15_GATE_2F
diff --git a/data/maps/objects/Route15Gate2F.asm b/data/maps/objects/Route15Gate2F.asm
new file mode 100755
index 00000000..162f2b1f
--- /dev/null
+++ b/data/maps/objects/Route15Gate2F.asm
@@ -0,0 +1,14 @@
+Route15Gate2F_Object:
+ db $a ; border block
+
+ db 1 ; warps
+ warp 7, 7, 4, ROUTE_15_GATE_1F
+
+ db 1 ; signs
+ sign 6, 2, 2 ; Route15GateUpstairsText2
+
+ db 1 ; objects
+ object SPRITE_OAK_AIDE, 4, 2, STAY, DOWN, 1
+
+ ; warp-to
+ warp_to 7, 7, ROUTE_15_GATE_2F_WIDTH ; ROUTE_15_GATE_1F
diff --git a/data/maps/objects/Route16.asm b/data/maps/objects/Route16.asm
new file mode 100755
index 00000000..fb23e6ca
--- /dev/null
+++ b/data/maps/objects/Route16.asm
@@ -0,0 +1,37 @@
+Route16_Object:
+ db $f ; border block
+
+ db 9 ; warps
+ warp 17, 10, 0, ROUTE_16_GATE_1F
+ warp 17, 11, 1, ROUTE_16_GATE_1F
+ warp 24, 10, 2, ROUTE_16_GATE_1F
+ warp 24, 11, 3, ROUTE_16_GATE_1F
+ warp 17, 4, 4, ROUTE_16_GATE_1F
+ warp 17, 5, 5, ROUTE_16_GATE_1F
+ warp 24, 4, 6, ROUTE_16_GATE_1F
+ warp 24, 5, 7, ROUTE_16_GATE_1F
+ warp 7, 5, 0, ROUTE_16_FLY_HOUSE
+
+ db 2 ; signs
+ sign 27, 11, 8 ; Route16Text8
+ sign 5, 17, 9 ; Route16Text9
+
+ db 7 ; 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
+
+ ; warp-to
+ warp_to 17, 10, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
+ warp_to 17, 11, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
+ warp_to 24, 10, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
+ warp_to 24, 11, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
+ warp_to 17, 4, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
+ warp_to 17, 5, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
+ warp_to 24, 4, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
+ warp_to 24, 5, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
+ warp_to 7, 5, ROUTE_16_WIDTH ; ROUTE_16_FLY_HOUSE
diff --git a/data/maps/objects/Route16FlyHouse.asm b/data/maps/objects/Route16FlyHouse.asm
new file mode 100755
index 00000000..ec493fef
--- /dev/null
+++ b/data/maps/objects/Route16FlyHouse.asm
@@ -0,0 +1,16 @@
+Route16FlyHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 8, -1
+ warp 3, 7, 8, -1
+
+ db 0 ; signs
+
+ db 2 ; objects
+ object SPRITE_BRUNETTE_GIRL, 2, 3, STAY, RIGHT, 1 ; person
+ object SPRITE_BIRD, 6, 4, WALK, 0, 2 ; person
+
+ ; warp-to
+ warp_to 2, 7, ROUTE_16_FLY_HOUSE_WIDTH
+ warp_to 3, 7, ROUTE_16_FLY_HOUSE_WIDTH
diff --git a/data/maps/objects/Route16Gate1F.asm b/data/maps/objects/Route16Gate1F.asm
new file mode 100755
index 00000000..1d5baa1d
--- /dev/null
+++ b/data/maps/objects/Route16Gate1F.asm
@@ -0,0 +1,30 @@
+Route16Gate1F_Object:
+ db $a ; border block
+
+ db 9 ; warps
+ warp 0, 8, 0, -1
+ warp 0, 9, 1, -1
+ warp 7, 8, 2, -1
+ warp 7, 9, 2, -1
+ warp 0, 2, 4, -1
+ warp 0, 3, 5, -1
+ warp 7, 2, 6, -1
+ warp 7, 3, 7, -1
+ warp 6, 12, 0, ROUTE_16_GATE_2F
+
+ db 0 ; signs
+
+ db 2 ; objects
+ object SPRITE_GUARD, 4, 5, STAY, DOWN, 1 ; person
+ object SPRITE_GAMBLER, 4, 3, STAY, NONE, 2 ; person
+
+ ; warp-to
+ warp_to 0, 8, ROUTE_16_GATE_1F_WIDTH
+ warp_to 0, 9, ROUTE_16_GATE_1F_WIDTH
+ warp_to 7, 8, ROUTE_16_GATE_1F_WIDTH
+ warp_to 7, 9, ROUTE_16_GATE_1F_WIDTH
+ warp_to 0, 2, ROUTE_16_GATE_1F_WIDTH
+ warp_to 0, 3, ROUTE_16_GATE_1F_WIDTH
+ warp_to 7, 2, ROUTE_16_GATE_1F_WIDTH
+ warp_to 7, 3, ROUTE_16_GATE_1F_WIDTH
+ warp_to 6, 12, ROUTE_16_GATE_1F_WIDTH ; ROUTE_16_GATE_2F
diff --git a/data/maps/objects/Route16Gate2F.asm b/data/maps/objects/Route16Gate2F.asm
new file mode 100755
index 00000000..5914f854
--- /dev/null
+++ b/data/maps/objects/Route16Gate2F.asm
@@ -0,0 +1,16 @@
+Route16Gate2F_Object:
+ db $a ; border block
+
+ db 1 ; warps
+ warp 7, 7, 8, ROUTE_16_GATE_1F
+
+ db 2 ; signs
+ sign 1, 2, 3 ; Route16GateUpstairsText3
+ sign 6, 2, 4 ; Route16GateUpstairsText4
+
+ db 2 ; objects
+ object SPRITE_YOUNG_BOY, 4, 2, STAY, NONE, 1 ; person
+ object SPRITE_LITTLE_GIRL, 2, 5, WALK, 2, 2 ; person
+
+ ; warp-to
+ warp_to 7, 7, ROUTE_16_GATE_2F_WIDTH ; ROUTE_16_GATE_1F
diff --git a/data/maps/objects/Route17.asm b/data/maps/objects/Route17.asm
new file mode 100755
index 00000000..f5bc4307
--- /dev/null
+++ b/data/maps/objects/Route17.asm
@@ -0,0 +1,24 @@
+Route17_Object:
+ db $43 ; border block
+
+ db 0 ; warps
+
+ db 6 ; 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
+
+ db 10 ; 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
diff --git a/data/maps/objects/Route18.asm b/data/maps/objects/Route18.asm
new file mode 100755
index 00000000..8bacd6c0
--- /dev/null
+++ b/data/maps/objects/Route18.asm
@@ -0,0 +1,23 @@
+Route18_Object:
+ db $43 ; border block
+
+ db 4 ; warps
+ warp 33, 8, 0, ROUTE_18_GATE_1F
+ warp 33, 9, 1, ROUTE_18_GATE_1F
+ warp 40, 8, 2, ROUTE_18_GATE_1F
+ warp 40, 9, 3, ROUTE_18_GATE_1F
+
+ db 2 ; signs
+ sign 43, 7, 4 ; Route18Text4
+ sign 33, 5, 5 ; Route18Text5
+
+ db 3 ; objects
+ object SPRITE_BLACK_HAIR_BOY_1, 36, 11, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 8
+ object SPRITE_BLACK_HAIR_BOY_1, 40, 15, STAY, LEFT, 2, OPP_BIRD_KEEPER, 9
+ object SPRITE_BLACK_HAIR_BOY_1, 42, 13, STAY, LEFT, 3, OPP_BIRD_KEEPER, 10
+
+ ; warp-to
+ warp_to 33, 8, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F
+ warp_to 33, 9, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F
+ warp_to 40, 8, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F
+ warp_to 40, 9, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F
diff --git a/data/maps/objects/Route18Gate1F.asm b/data/maps/objects/Route18Gate1F.asm
new file mode 100755
index 00000000..83cb386a
--- /dev/null
+++ b/data/maps/objects/Route18Gate1F.asm
@@ -0,0 +1,21 @@
+Route18Gate1F_Object:
+ db $a ; border block
+
+ db 5 ; warps
+ warp 0, 4, 0, -1
+ warp 0, 5, 1, -1
+ warp 7, 4, 2, -1
+ warp 7, 5, 3, -1
+ warp 6, 8, 0, ROUTE_18_GATE_2F
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_GUARD, 4, 1, STAY, DOWN, 1 ; person
+
+ ; warp-to
+ warp_to 0, 4, ROUTE_18_GATE_1F_WIDTH
+ warp_to 0, 5, ROUTE_18_GATE_1F_WIDTH
+ warp_to 7, 4, ROUTE_18_GATE_1F_WIDTH
+ warp_to 7, 5, ROUTE_18_GATE_1F_WIDTH
+ warp_to 6, 8, ROUTE_18_GATE_1F_WIDTH ; ROUTE_18_GATE_2F
diff --git a/data/maps/objects/Route18Gate2F.asm b/data/maps/objects/Route18Gate2F.asm
new file mode 100755
index 00000000..e48ec3b8
--- /dev/null
+++ b/data/maps/objects/Route18Gate2F.asm
@@ -0,0 +1,15 @@
+Route18Gate2F_Object:
+ db $a ; border block
+
+ db 1 ; warps
+ warp 7, 7, 4, ROUTE_18_GATE_1F
+
+ db 2 ; signs
+ sign 1, 2, 2 ; Route18GateUpstairsText2
+ sign 6, 2, 3 ; Route18GateUpstairsText3
+
+ db 1 ; objects
+ object SPRITE_BUG_CATCHER, 4, 2, WALK, 2, 1 ; person
+
+ ; warp-to
+ warp_to 7, 7, ROUTE_18_GATE_2F_WIDTH ; ROUTE_18_GATE_1F
diff --git a/data/maps/objects/Route19.asm b/data/maps/objects/Route19.asm
new file mode 100755
index 00000000..9b39618e
--- /dev/null
+++ b/data/maps/objects/Route19.asm
@@ -0,0 +1,21 @@
+Route19_Object:
+ db $43 ; border block
+
+ db 0 ; warps
+
+ db 1 ; signs
+ sign 11, 9, 11 ; Route19Text11
+
+ db 10 ; objects
+ object SPRITE_BLACK_HAIR_BOY_1, 8, 7, STAY, LEFT, 1, OPP_SWIMMER, 2
+ object SPRITE_BLACK_HAIR_BOY_1, 13, 7, 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, 11, 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
+
+ ; warp-to
diff --git a/data/maps/objects/Route2.asm b/data/maps/objects/Route2.asm
new file mode 100755
index 00000000..b27ad199
--- /dev/null
+++ b/data/maps/objects/Route2.asm
@@ -0,0 +1,33 @@
+Route2_Object:
+ db $f ; border block
+
+ db 6 ; 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
+
+ db 2 ; signs
+ sign 5, 65, 3 ; Route2Text3
+ sign 11, 11, 4 ; Route2Text4
+
+ db 2 ; objects
+ object SPRITE_BALL, 13, 54, STAY, NONE, 1, MOON_STONE
+ object SPRITE_BALL, 13, 45, STAY, NONE, 2, HP_UP
+
+ ; warp-to
+ warp_to 12, 9, ROUTE_2_WIDTH ; DIGLETTS_CAVE_ROUTE_2
+ warp_to 3, 11, ROUTE_2_WIDTH ; VIRIDIAN_FOREST_NORTH_GATE
+ warp_to 15, 19, ROUTE_2_WIDTH ; ROUTE_2_TRADE_HOUSE
+ warp_to 16, 35, ROUTE_2_WIDTH ; ROUTE_2_GATE
+ warp_to 15, 39, ROUTE_2_WIDTH ; ROUTE_2_GATE
+ warp_to 3, 43, ROUTE_2_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE
+
+ ; unused
+ warp_to 2, 7, 4
+ db $12, $c7, $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..7bceef97
--- /dev/null
+++ b/data/maps/objects/Route20.asm
@@ -0,0 +1,26 @@
+Route20_Object:
+ db $43 ; border block
+
+ db 2 ; warps
+ warp 48, 5, 0, SEAFOAM_ISLANDS_1F
+ warp 58, 9, 2, SEAFOAM_ISLANDS_1F
+
+ db 2 ; signs
+ sign 51, 7, 11 ; Route20Text11
+ sign 57, 11, 12 ; Route20Text12
+
+ db 10 ; 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_BLACK_HAIR_BOY_1, 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
+
+ ; warp-to
+ warp_to 48, 5, ROUTE_20_WIDTH ; SEAFOAM_ISLANDS_1F
+ warp_to 58, 9, ROUTE_20_WIDTH ; SEAFOAM_ISLANDS_1F
diff --git a/data/maps/objects/Route21.asm b/data/maps/objects/Route21.asm
new file mode 100755
index 00000000..b7759b59
--- /dev/null
+++ b/data/maps/objects/Route21.asm
@@ -0,0 +1,17 @@
+Route21_Object:
+ db $43 ; border block
+
+ db 0 ; warps
+
+ db 0 ; signs
+
+ db 9 ; objects
+ object SPRITE_FISHER2, 4, 24, STAY, LEFT, 1, OPP_FISHER, 7
+ object SPRITE_FISHER2, 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_FISHER2, 14, 56, STAY, LEFT, 8, OPP_FISHER, 8
+ object SPRITE_FISHER2, 17, 57, STAY, RIGHT, 9, OPP_FISHER, 10
diff --git a/data/maps/objects/Route22.asm b/data/maps/objects/Route22.asm
new file mode 100755
index 00000000..56e759fd
--- /dev/null
+++ b/data/maps/objects/Route22.asm
@@ -0,0 +1,15 @@
+Route22_Object:
+ db $2c ; border block
+
+ db 1 ; warps
+ warp 8, 5, 0, ROUTE_22_GATE
+
+ db 1 ; signs
+ sign 7, 11, 3 ; Route22FrontGateText
+
+ db 2 ; objects
+ object SPRITE_BLUE, 25, 5, STAY, NONE, 1 ; person
+ object SPRITE_BLUE, 25, 5, STAY, NONE, 2 ; person
+
+ ; warp-to
+ warp_to 8, 5, ROUTE_22_WIDTH ; ROUTE_22_GATE
diff --git a/data/maps/objects/Route22Gate.asm b/data/maps/objects/Route22Gate.asm
new file mode 100755
index 00000000..3f693c7f
--- /dev/null
+++ b/data/maps/objects/Route22Gate.asm
@@ -0,0 +1,19 @@
+Route22Gate_Object:
+ db $a ; border block
+
+ db 4 ; warps
+ warp 4, 7, 0, -1
+ warp 5, 7, 0, -1
+ warp 4, 0, 0, -1
+ warp 5, 0, 1, -1
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_GUARD, 6, 2, STAY, LEFT, 1 ; person
+
+ ; warp-to
+ warp_to 4, 7, ROUTE_22_GATE_WIDTH
+ warp_to 5, 7, ROUTE_22_GATE_WIDTH
+ warp_to 4, 0, ROUTE_22_GATE_WIDTH
+ warp_to 5, 0, ROUTE_22_GATE_WIDTH
diff --git a/data/maps/objects/Route23.asm b/data/maps/objects/Route23.asm
new file mode 100755
index 00000000..b510c285
--- /dev/null
+++ b/data/maps/objects/Route23.asm
@@ -0,0 +1,26 @@
+Route23_Object:
+ db $f ; border block
+
+ db 4 ; 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
+
+ db 1 ; signs
+ sign 3, 33, 8 ; Route23Text8
+
+ db 7 ; 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
+
+ ; warp-to
+ warp_to 7, 139, ROUTE_23_WIDTH ; ROUTE_22_GATE
+ warp_to 8, 139, ROUTE_23_WIDTH ; ROUTE_22_GATE
+ warp_to 4, 31, ROUTE_23_WIDTH ; VICTORY_ROAD_1F
+ warp_to 14, 31, ROUTE_23_WIDTH ; VICTORY_ROAD_2F
diff --git a/data/maps/objects/Route24.asm b/data/maps/objects/Route24.asm
new file mode 100755
index 00000000..8ef0d2b9
--- /dev/null
+++ b/data/maps/objects/Route24.asm
@@ -0,0 +1,16 @@
+Route24_Object:
+ db $2c ; border block
+
+ db 0 ; warps
+
+ db 0 ; signs
+
+ db 8 ; objects
+ object SPRITE_BLACK_HAIR_BOY_1, 11, 15, STAY, LEFT, 1, OPP_ROCKET, 6
+ object SPRITE_BLACK_HAIR_BOY_1, 5, 20, STAY, UP, 2, OPP_JR_TRAINER_M, 2
+ object SPRITE_BLACK_HAIR_BOY_1, 11, 19, STAY, LEFT, 3, OPP_JR_TRAINER_M, 3
+ object SPRITE_LASS, 10, 22, STAY, RIGHT, 4, OPP_LASS, 7
+ object SPRITE_BUG_CATCHER, 11, 25, STAY, LEFT, 5, OPP_YOUNGSTER, 4
+ object SPRITE_LASS, 10, 28, STAY, RIGHT, 6, OPP_LASS, 8
+ object SPRITE_BUG_CATCHER, 11, 31, STAY, LEFT, 7, OPP_BUG_CATCHER, 9
+ object SPRITE_BALL, 10, 5, STAY, NONE, 8, TM_45
diff --git a/data/maps/objects/Route25.asm b/data/maps/objects/Route25.asm
new file mode 100755
index 00000000..a85f85ca
--- /dev/null
+++ b/data/maps/objects/Route25.asm
@@ -0,0 +1,23 @@
+Route25_Object:
+ db $2c ; border block
+
+ db 1 ; warps
+ warp 45, 3, 0, BILLS_HOUSE
+
+ db 1 ; signs
+ sign 43, 3, 11 ; Route25Text11
+
+ db 10 ; objects
+ object SPRITE_BUG_CATCHER, 14, 2, STAY, DOWN, 1, OPP_YOUNGSTER, 5
+ object SPRITE_BUG_CATCHER, 18, 5, STAY, UP, 2, OPP_YOUNGSTER, 6
+ object SPRITE_BLACK_HAIR_BOY_1, 24, 4, STAY, DOWN, 3, OPP_JR_TRAINER_M, 2
+ object SPRITE_LASS, 18, 8, STAY, RIGHT, 4, OPP_LASS, 9
+ object SPRITE_BUG_CATCHER, 32, 3, STAY, LEFT, 5, OPP_YOUNGSTER, 7
+ object SPRITE_LASS, 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_BALL, 22, 2, STAY, NONE, 10, TM_19
+
+ ; warp-to
+ warp_to 45, 3, ROUTE_25_WIDTH ; BILLS_HOUSE
diff --git a/data/maps/objects/Route2Gate.asm b/data/maps/objects/Route2Gate.asm
new file mode 100755
index 00000000..a7feb780
--- /dev/null
+++ b/data/maps/objects/Route2Gate.asm
@@ -0,0 +1,20 @@
+Route2Gate_Object:
+ db $a ; border block
+
+ db 4 ; warps
+ warp 4, 0, 3, -1
+ warp 5, 0, 3, -1
+ warp 4, 7, 4, -1
+ warp 5, 7, 4, -1
+
+ db 0 ; signs
+
+ db 2 ; objects
+ object SPRITE_OAK_AIDE, 1, 4, STAY, LEFT, 1 ; person
+ object SPRITE_BUG_CATCHER, 5, 4, WALK, 2, 2 ; person
+
+ ; warp-to
+ warp_to 4, 0, ROUTE_2_GATE_WIDTH
+ warp_to 5, 0, ROUTE_2_GATE_WIDTH
+ warp_to 4, 7, ROUTE_2_GATE_WIDTH
+ warp_to 5, 7, ROUTE_2_GATE_WIDTH
diff --git a/data/maps/objects/Route2TradeHouse.asm b/data/maps/objects/Route2TradeHouse.asm
new file mode 100755
index 00000000..89ece3ea
--- /dev/null
+++ b/data/maps/objects/Route2TradeHouse.asm
@@ -0,0 +1,16 @@
+Route2TradeHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 2, -1
+ warp 3, 7, 2, -1
+
+ db 0 ; signs
+
+ db 2 ; objects
+ object SPRITE_OAK_AIDE, 2, 4, STAY, RIGHT, 1 ; person
+ object SPRITE_GAMEBOY_KID_COPY, 4, 1, STAY, DOWN, 2 ; person
+
+ ; warp-to
+ warp_to 2, 7, ROUTE_2_TRADE_HOUSE_WIDTH
+ warp_to 3, 7, ROUTE_2_TRADE_HOUSE_WIDTH
diff --git a/data/maps/objects/Route3.asm b/data/maps/objects/Route3.asm
new file mode 100755
index 00000000..372ea6cf
--- /dev/null
+++ b/data/maps/objects/Route3.asm
@@ -0,0 +1,18 @@
+Route3_Object:
+ db $2c ; border block
+
+ db 0 ; warps
+
+ db 1 ; signs
+ sign 59, 9, 10 ; Route3Text10
+
+ db 9 ; objects
+ object SPRITE_BLACK_HAIR_BOY_2, 57, 11, STAY, NONE, 1 ; person
+ object SPRITE_BUG_CATCHER, 10, 6, STAY, RIGHT, 2, OPP_BUG_CATCHER, 4
+ object SPRITE_BUG_CATCHER, 14, 4, STAY, DOWN, 3, OPP_YOUNGSTER, 1
+ object SPRITE_LASS, 16, 9, STAY, LEFT, 4, OPP_LASS, 1
+ object SPRITE_BUG_CATCHER, 19, 5, STAY, DOWN, 5, OPP_BUG_CATCHER, 5
+ object SPRITE_LASS, 23, 4, STAY, LEFT, 6, OPP_LASS, 2
+ object SPRITE_BUG_CATCHER, 22, 9, STAY, LEFT, 7, OPP_YOUNGSTER, 2
+ object SPRITE_BUG_CATCHER, 24, 6, STAY, RIGHT, 8, OPP_BUG_CATCHER, 6
+ object SPRITE_LASS, 33, 10, STAY, UP, 9, OPP_LASS, 3
diff --git a/data/maps/objects/Route4.asm b/data/maps/objects/Route4.asm
new file mode 100755
index 00000000..4ab88f8f
--- /dev/null
+++ b/data/maps/objects/Route4.asm
@@ -0,0 +1,22 @@
+Route4_Object:
+ db $2c ; border block
+
+ db 3 ; warps
+ warp 11, 5, 0, MT_MOON_POKECENTER
+ warp 18, 5, 0, MT_MOON_1F
+ warp 24, 5, 7, MT_MOON_B1F
+
+ db 3 ; signs
+ sign 12, 5, 4 ; PokeCenterSignText
+ sign 17, 7, 5 ; Route4Text5
+ sign 27, 7, 6 ; Route4Text6
+
+ db 3 ; objects
+ object SPRITE_LASS, 9, 8, WALK, 0, 1 ; person
+ object SPRITE_LASS, 63, 3, STAY, RIGHT, 2, OPP_LASS, 4
+ object SPRITE_BALL, 57, 3, STAY, NONE, 3, TM_04
+
+ ; warp-to
+ warp_to 11, 5, ROUTE_4_WIDTH ; MT_MOON_POKECENTER
+ warp_to 18, 5, ROUTE_4_WIDTH ; MT_MOON_1F
+ warp_to 24, 5, ROUTE_4_WIDTH ; MT_MOON_B1F
diff --git a/data/maps/objects/Route5.asm b/data/maps/objects/Route5.asm
new file mode 100755
index 00000000..df2c8c03
--- /dev/null
+++ b/data/maps/objects/Route5.asm
@@ -0,0 +1,21 @@
+Route5_Object:
+ db $a ; border block
+
+ db 5 ; warps
+ warp 10, 29, 3, 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
+
+ db 1 ; signs
+ sign 17, 29, 1 ; Route5Text1
+
+ db 0 ; objects
+
+ ; warp-to
+ warp_to 10, 29, ROUTE_5_WIDTH ; ROUTE_5_GATE
+ warp_to 9, 29, ROUTE_5_WIDTH ; ROUTE_5_GATE
+ warp_to 10, 33, ROUTE_5_WIDTH ; ROUTE_5_GATE
+ warp_to 17, 27, ROUTE_5_WIDTH ; UNDERGROUND_PATH_ROUTE_5
+ warp_to 10, 21, ROUTE_5_WIDTH ; DAYCARE
diff --git a/data/maps/objects/Route5Gate.asm b/data/maps/objects/Route5Gate.asm
new file mode 100755
index 00000000..e0e06a1d
--- /dev/null
+++ b/data/maps/objects/Route5Gate.asm
@@ -0,0 +1,19 @@
+Route5Gate_Object:
+ db $a ; border block
+
+ db 4 ; warps
+ warp 3, 5, 2, -1
+ warp 4, 5, 2, -1
+ warp 3, 0, 1, -1
+ warp 4, 0, 0, -1
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_GUARD, 1, 3, STAY, RIGHT, 1 ; person
+
+ ; warp-to
+ warp_to 3, 5, ROUTE_5_GATE_WIDTH
+ warp_to 4, 5, ROUTE_5_GATE_WIDTH
+ warp_to 3, 0, ROUTE_5_GATE_WIDTH
+ warp_to 4, 0, ROUTE_5_GATE_WIDTH
diff --git a/data/maps/objects/Route6.asm b/data/maps/objects/Route6.asm
new file mode 100755
index 00000000..fc2d7e24
--- /dev/null
+++ b/data/maps/objects/Route6.asm
@@ -0,0 +1,25 @@
+Route6_Object:
+ db $f ; border block
+
+ db 4 ; 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
+
+ db 1 ; signs
+ sign 19, 15, 7 ; Route6Text7
+
+ db 6 ; objects
+ object SPRITE_BLACK_HAIR_BOY_1, 10, 21, STAY, RIGHT, 1, OPP_JR_TRAINER_M, 4
+ object SPRITE_LASS, 11, 21, STAY, LEFT, 2, OPP_JR_TRAINER_F, 2
+ object SPRITE_BUG_CATCHER, 0, 15, STAY, RIGHT, 3, OPP_BUG_CATCHER, 10
+ object SPRITE_BLACK_HAIR_BOY_1, 11, 31, STAY, LEFT, 4, OPP_JR_TRAINER_M, 5
+ object SPRITE_LASS, 11, 30, STAY, LEFT, 5, OPP_JR_TRAINER_F, 3
+ object SPRITE_BUG_CATCHER, 19, 26, STAY, LEFT, 6, OPP_BUG_CATCHER, 11
+
+ ; warp-to
+ warp_to 9, 1, ROUTE_6_WIDTH ; ROUTE_6_GATE
+ warp_to 10, 1, ROUTE_6_WIDTH ; ROUTE_6_GATE
+ warp_to 10, 7, ROUTE_6_WIDTH ; ROUTE_6_GATE
+ warp_to 17, 13, ROUTE_6_WIDTH ; UNDERGROUND_PATH_ROUTE_6
diff --git a/data/maps/objects/Route6Gate.asm b/data/maps/objects/Route6Gate.asm
new file mode 100755
index 00000000..8ed96d04
--- /dev/null
+++ b/data/maps/objects/Route6Gate.asm
@@ -0,0 +1,19 @@
+Route6Gate_Object:
+ db $a ; border block
+
+ db 4 ; warps
+ warp 3, 5, 2, -1
+ warp 4, 5, 2, -1
+ warp 3, 0, 1, -1
+ warp 4, 0, 1, -1
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_GUARD, 6, 2, STAY, LEFT, 1 ; person
+
+ ; warp-to
+ warp_to 3, 5, ROUTE_6_GATE_WIDTH
+ warp_to 4, 5, ROUTE_6_GATE_WIDTH
+ warp_to 3, 0, ROUTE_6_GATE_WIDTH
+ warp_to 4, 0, ROUTE_6_GATE_WIDTH
diff --git a/data/maps/objects/Route7.asm b/data/maps/objects/Route7.asm
new file mode 100755
index 00000000..182904ef
--- /dev/null
+++ b/data/maps/objects/Route7.asm
@@ -0,0 +1,21 @@
+Route7_Object:
+ db $f ; border block
+
+ db 5 ; warps
+ warp 18, 9, 2, ROUTE_7_GATE
+ warp 18, 10, 3, ROUTE_7_GATE
+ warp 11, 9, 0, ROUTE_7_GATE
+ warp 11, 10, 1, ROUTE_7_GATE
+ warp 5, 13, 0, UNDERGROUND_PATH_ROUTE_7
+
+ db 1 ; signs
+ sign 3, 13, 1 ; Route7Text1
+
+ db 0 ; objects
+
+ ; warp-to
+ warp_to 18, 9, ROUTE_7_WIDTH ; ROUTE_7_GATE
+ warp_to 18, 10, ROUTE_7_WIDTH ; ROUTE_7_GATE
+ warp_to 11, 9, ROUTE_7_WIDTH ; ROUTE_7_GATE
+ warp_to 11, 10, ROUTE_7_WIDTH ; ROUTE_7_GATE
+ warp_to 5, 13, ROUTE_7_WIDTH ; UNDERGROUND_PATH_ROUTE_7
diff --git a/data/maps/objects/Route7Gate.asm b/data/maps/objects/Route7Gate.asm
new file mode 100755
index 00000000..7f1afe0a
--- /dev/null
+++ b/data/maps/objects/Route7Gate.asm
@@ -0,0 +1,19 @@
+Route7Gate_Object:
+ db $a ; border block
+
+ db 4 ; warps
+ warp 0, 3, 3, -1
+ warp 0, 4, 3, -1
+ warp 5, 3, 0, -1
+ warp 5, 4, 1, -1
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_GUARD, 3, 1, STAY, DOWN, 1 ; person
+
+ ; warp-to
+ warp_to 0, 3, ROUTE_7_GATE_WIDTH
+ warp_to 0, 4, ROUTE_7_GATE_WIDTH
+ warp_to 5, 3, ROUTE_7_GATE_WIDTH
+ warp_to 5, 4, ROUTE_7_GATE_WIDTH
diff --git a/data/maps/objects/Route8.asm b/data/maps/objects/Route8.asm
new file mode 100755
index 00000000..137d70a0
--- /dev/null
+++ b/data/maps/objects/Route8.asm
@@ -0,0 +1,30 @@
+Route8_Object:
+ db $2c ; border block
+
+ db 5 ; warps
+ warp 1, 9, 0, ROUTE_8_GATE
+ warp 1, 10, 1, ROUTE_8_GATE
+ warp 8, 9, 2, ROUTE_8_GATE
+ warp 8, 10, 3, ROUTE_8_GATE
+ warp 13, 3, 0, UNDERGROUND_PATH_ROUTE_8
+
+ db 1 ; signs
+ sign 17, 3, 10 ; Route8Text10
+
+ db 9 ; objects
+ object SPRITE_BLACK_HAIR_BOY_2, 8, 5, STAY, RIGHT, 1, OPP_SUPER_NERD, 3
+ object SPRITE_GAMBLER, 13, 9, STAY, UP, 2, OPP_GAMBLER, 5
+ object SPRITE_BLACK_HAIR_BOY_2, 42, 6, STAY, UP, 3, OPP_SUPER_NERD, 4
+ object SPRITE_LASS, 26, 3, STAY, LEFT, 4, OPP_LASS, 13
+ object SPRITE_BLACK_HAIR_BOY_2, 26, 4, STAY, RIGHT, 5, OPP_SUPER_NERD, 5
+ object SPRITE_LASS, 26, 5, STAY, LEFT, 6, OPP_LASS, 14
+ object SPRITE_LASS, 26, 6, STAY, RIGHT, 7, OPP_LASS, 15
+ object SPRITE_GAMBLER, 46, 13, STAY, DOWN, 8, OPP_GAMBLER, 7
+ object SPRITE_LASS, 51, 12, STAY, LEFT, 9, OPP_LASS, 16
+
+ ; warp-to
+ warp_to 1, 9, ROUTE_8_WIDTH ; ROUTE_8_GATE
+ warp_to 1, 10, ROUTE_8_WIDTH ; ROUTE_8_GATE
+ warp_to 8, 9, ROUTE_8_WIDTH ; ROUTE_8_GATE
+ warp_to 8, 10, ROUTE_8_WIDTH ; ROUTE_8_GATE
+ warp_to 13, 3, ROUTE_8_WIDTH ; UNDERGROUND_PATH_ROUTE_8
diff --git a/data/maps/objects/Route8Gate.asm b/data/maps/objects/Route8Gate.asm
new file mode 100755
index 00000000..3bba95a0
--- /dev/null
+++ b/data/maps/objects/Route8Gate.asm
@@ -0,0 +1,19 @@
+Route8Gate_Object:
+ db $a ; border block
+
+ db 4 ; warps
+ warp 0, 3, 0, -1
+ warp 0, 4, 1, -1
+ warp 5, 3, 2, -1
+ warp 5, 4, 3, -1
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_GUARD, 2, 1, STAY, DOWN, 1 ; person
+
+ ; warp-to
+ warp_to 0, 3, ROUTE_8_GATE_WIDTH
+ warp_to 0, 4, ROUTE_8_GATE_WIDTH
+ warp_to 5, 3, ROUTE_8_GATE_WIDTH
+ warp_to 5, 4, ROUTE_8_GATE_WIDTH
diff --git a/data/maps/objects/Route9.asm b/data/maps/objects/Route9.asm
new file mode 100755
index 00000000..a991c0c7
--- /dev/null
+++ b/data/maps/objects/Route9.asm
@@ -0,0 +1,19 @@
+Route9_Object:
+ db $2c ; border block
+
+ db 0 ; warps
+
+ db 1 ; signs
+ sign 25, 7, 11 ; Route9Text11
+
+ db 10 ; objects
+ object SPRITE_LASS, 13, 10, STAY, LEFT, 1, OPP_JR_TRAINER_F, 5
+ object SPRITE_BLACK_HAIR_BOY_1, 24, 7, STAY, LEFT, 2, OPP_JR_TRAINER_M, 7
+ object SPRITE_BLACK_HAIR_BOY_1, 31, 7, STAY, RIGHT, 3, OPP_JR_TRAINER_M, 8
+ object SPRITE_LASS, 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_BUG_CATCHER, 22, 2, STAY, DOWN, 7, OPP_BUG_CATCHER, 13
+ object SPRITE_HIKER, 45, 15, STAY, RIGHT, 8, OPP_HIKER, 5
+ object SPRITE_BUG_CATCHER, 40, 8, STAY, RIGHT, 9, OPP_BUG_CATCHER, 14
+ object SPRITE_BALL, 10, 15, STAY, NONE, 10, TM_30
diff --git a/data/maps/objects/SSAnne1F.asm b/data/maps/objects/SSAnne1F.asm
new file mode 100755
index 00000000..3e454f06
--- /dev/null
+++ b/data/maps/objects/SSAnne1F.asm
@@ -0,0 +1,34 @@
+SSAnne1F_Object:
+ db $c ; border block
+
+ db 11 ; 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
+
+ db 0 ; signs
+
+ db 2 ; objects
+ object SPRITE_WAITER, 12, 6, WALK, 2, 1 ; person
+ object SPRITE_SAILOR, 27, 5, STAY, NONE, 2 ; person
+
+ ; warp-to
+ warp_to 26, 0, SS_ANNE_1F_WIDTH ; VERMILION_DOCK
+ warp_to 27, 0, SS_ANNE_1F_WIDTH ; VERMILION_DOCK
+ warp_to 31, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS
+ warp_to 23, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS
+ warp_to 19, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS
+ warp_to 15, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS
+ warp_to 11, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS
+ warp_to 7, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS
+ warp_to 2, 6, SS_ANNE_1F_WIDTH ; SS_ANNE_2F
+ warp_to 37, 15, SS_ANNE_1F_WIDTH ; SS_ANNE_B1F
+ warp_to 3, 16, SS_ANNE_1F_WIDTH ; SS_ANNE_KITCHEN
diff --git a/data/maps/objects/SSAnne1FRooms.asm b/data/maps/objects/SSAnne1FRooms.asm
new file mode 100755
index 00000000..617d2a55
--- /dev/null
+++ b/data/maps/objects/SSAnne1FRooms.asm
@@ -0,0 +1,33 @@
+SSAnne1FRooms_Object:
+ db $c ; border block
+
+ db 6 ; 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
+
+ db 0 ; signs
+
+ db 11 ; 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_BUG_CATCHER, 11, 14, STAY, UP, 3, OPP_YOUNGSTER, 8
+ object SPRITE_LASS, 13, 11, STAY, LEFT, 4, OPP_LASS, 11
+ object SPRITE_GIRL, 22, 3, WALK, 1, 5 ; person
+ object SPRITE_FAT_BALD_GUY, 0, 14, STAY, NONE, 6 ; person
+ object SPRITE_LITTLE_GIRL, 2, 11, STAY, DOWN, 7 ; person
+ object SPRITE_CLEFAIRY, 3, 11, STAY, DOWN, 8 ; person
+ object SPRITE_GIRL, 10, 13, STAY, RIGHT, 9 ; person
+ object SPRITE_BALL, 12, 15, STAY, NONE, 10, TM_08
+ object SPRITE_GENTLEMAN, 21, 13, WALK, 2, 11 ; person
+
+ ; warp-to
+ warp_to 0, 0, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F
+ warp_to 10, 0, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F
+ warp_to 20, 0, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F
+ warp_to 0, 10, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F
+ warp_to 10, 10, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F
+ warp_to 20, 10, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F
diff --git a/data/maps/objects/SSAnne2F.asm b/data/maps/objects/SSAnne2F.asm
new file mode 100755
index 00000000..6abd5ac4
--- /dev/null
+++ b/data/maps/objects/SSAnne2F.asm
@@ -0,0 +1,30 @@
+SSAnne2F_Object:
+ db $c ; border block
+
+ db 9 ; 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
+
+ db 0 ; signs
+
+ db 2 ; objects
+ object SPRITE_WAITER, 3, 7, WALK, 1, 1 ; person
+ object SPRITE_BLUE, 36, 4, STAY, DOWN, 2, OPP_SONY1, 1
+
+ ; warp-to
+ warp_to 9, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS
+ warp_to 13, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS
+ warp_to 17, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS
+ warp_to 21, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS
+ warp_to 25, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS
+ warp_to 29, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS
+ warp_to 2, 4, SS_ANNE_2F_WIDTH ; SS_ANNE_1F
+ warp_to 2, 12, SS_ANNE_2F_WIDTH ; SS_ANNE_3F
+ warp_to 36, 4, SS_ANNE_2F_WIDTH ; SS_ANNE_CAPTAINS_ROOM
diff --git a/data/maps/objects/SSAnne2FRooms.asm b/data/maps/objects/SSAnne2FRooms.asm
new file mode 100755
index 00000000..ebb053a8
--- /dev/null
+++ b/data/maps/objects/SSAnne2FRooms.asm
@@ -0,0 +1,47 @@
+SSAnne2FRooms_Object:
+ db $c ; border block
+
+ db 12 ; 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
+
+ db 0 ; signs
+
+ db 13 ; objects
+ object SPRITE_GENTLEMAN, 10, 2, STAY, RIGHT, 1, OPP_GENTLEMAN, 3
+ object SPRITE_FISHER2, 13, 4, STAY, LEFT, 2, OPP_FISHER, 1
+ object SPRITE_GENTLEMAN, 0, 14, STAY, RIGHT, 3, OPP_GENTLEMAN, 5
+ object SPRITE_LASS, 2, 11, STAY, DOWN, 4, OPP_LASS, 12
+ object SPRITE_GENTLEMAN, 1, 2, STAY, DOWN, 5 ; person
+ object SPRITE_BALL, 12, 1, STAY, NONE, 6, MAX_ETHER
+ object SPRITE_GENTLEMAN, 21, 2, STAY, DOWN, 7 ; person
+ object SPRITE_OLD_PERSON, 22, 1, STAY, DOWN, 8 ; person
+ object SPRITE_BALL, 0, 12, STAY, NONE, 9, RARE_CANDY
+ object SPRITE_GENTLEMAN, 12, 12, STAY, DOWN, 10 ; person
+ object SPRITE_YOUNG_BOY, 11, 14, STAY, NONE, 11 ; person
+ object SPRITE_BRUNETTE_GIRL, 22, 12, STAY, LEFT, 12 ; person
+ object SPRITE_FOULARD_WOMAN, 20, 12, STAY, RIGHT, 13 ; person
+
+ ; warp-to
+ warp_to 2, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
+ warp_to 3, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
+ warp_to 12, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
+ warp_to 13, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
+ warp_to 22, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
+ warp_to 23, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
+ warp_to 2, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
+ warp_to 3, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
+ warp_to 12, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
+ warp_to 13, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
+ warp_to 22, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
+ warp_to 23, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
diff --git a/data/maps/objects/SSAnne3F.asm b/data/maps/objects/SSAnne3F.asm
new file mode 100755
index 00000000..f0bfc17b
--- /dev/null
+++ b/data/maps/objects/SSAnne3F.asm
@@ -0,0 +1,15 @@
+SSAnne3F_Object:
+ db $c ; border block
+
+ db 2 ; warps
+ warp 0, 3, 0, SS_ANNE_BOW
+ warp 19, 3, 7, SS_ANNE_2F
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_SAILOR, 9, 3, WALK, 2, 1 ; person
+
+ ; warp-to
+ warp_to 0, 3, SS_ANNE_3F_WIDTH ; SS_ANNE_BOW
+ warp_to 19, 3, SS_ANNE_3F_WIDTH ; SS_ANNE_2F
diff --git a/data/maps/objects/SSAnneB1F.asm b/data/maps/objects/SSAnneB1F.asm
new file mode 100755
index 00000000..fe54ea24
--- /dev/null
+++ b/data/maps/objects/SSAnneB1F.asm
@@ -0,0 +1,22 @@
+SSAnneB1F_Object:
+ db $c ; border block
+
+ db 6 ; 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
+
+ db 0 ; signs
+
+ db 0 ; objects
+
+ ; warp-to
+ warp_to 23, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS
+ warp_to 19, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS
+ warp_to 15, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS
+ warp_to 11, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS
+ warp_to 7, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS
+ warp_to 27, 5, SS_ANNE_B1F_WIDTH ; SS_ANNE_1F
diff --git a/data/maps/objects/SSAnneB1FRooms.asm b/data/maps/objects/SSAnneB1FRooms.asm
new file mode 100755
index 00000000..1d31b89c
--- /dev/null
+++ b/data/maps/objects/SSAnneB1FRooms.asm
@@ -0,0 +1,41 @@
+SSAnneB1FRooms_Object:
+ db $c ; border block
+
+ db 10 ; 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
+
+ db 0 ; signs
+
+ db 11 ; 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_FISHER2, 0, 4, STAY, RIGHT, 6, OPP_FISHER, 2
+ object SPRITE_BLACK_HAIR_BOY_2, 10, 13, STAY, RIGHT, 7 ; person
+ object SPRITE_SLOWBRO, 11, 12, STAY, NONE, 8 ; person
+ object SPRITE_BALL, 20, 2, STAY, NONE, 9, ETHER
+ object SPRITE_BALL, 10, 2, STAY, NONE, 10, TM_44
+ object SPRITE_BALL, 12, 11, STAY, NONE, 11, MAX_POTION
+
+ ; warp-to
+ warp_to 2, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F
+ warp_to 3, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F
+ warp_to 12, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F
+ warp_to 13, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F
+ warp_to 22, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F
+ warp_to 23, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F
+ warp_to 2, 15, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F
+ warp_to 3, 15, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F
+ warp_to 12, 15, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F
+ warp_to 13, 15, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F
diff --git a/data/maps/objects/SSAnneBow.asm b/data/maps/objects/SSAnneBow.asm
new file mode 100755
index 00000000..8873c8f8
--- /dev/null
+++ b/data/maps/objects/SSAnneBow.asm
@@ -0,0 +1,19 @@
+SSAnneBow_Object:
+ db $23 ; border block
+
+ db 2 ; warps
+ warp 13, 6, 0, SS_ANNE_3F
+ warp 13, 7, 0, SS_ANNE_3F
+
+ db 0 ; signs
+
+ db 5 ; objects
+ object SPRITE_BLACK_HAIR_BOY_2, 5, 2, STAY, UP, 1 ; person
+ object SPRITE_SAILOR, 4, 9, STAY, NONE, 2 ; person
+ object SPRITE_BLACK_HAIR_BOY_1, 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
+
+ ; warp-to
+ warp_to 13, 6, SS_ANNE_BOW_WIDTH ; SS_ANNE_3F
+ warp_to 13, 7, SS_ANNE_BOW_WIDTH ; SS_ANNE_3F
diff --git a/data/maps/objects/SSAnneCaptainsRoom.asm b/data/maps/objects/SSAnneCaptainsRoom.asm
new file mode 100755
index 00000000..545656cc
--- /dev/null
+++ b/data/maps/objects/SSAnneCaptainsRoom.asm
@@ -0,0 +1,15 @@
+SSAnneCaptainsRoom_Object:
+ db $c ; border block
+
+ db 1 ; warps
+ warp 0, 7, 8, SS_ANNE_2F
+
+ db 2 ; signs
+ sign 4, 1, 2 ; SSAnne7Text2
+ sign 1, 2, 3 ; SSAnne7Text3
+
+ db 1 ; objects
+ object SPRITE_SS_CAPTAIN, 4, 2, STAY, UP, 1 ; person
+
+ ; warp-to
+ warp_to 0, 7, SS_ANNE_CAPTAINS_ROOM_WIDTH ; SS_ANNE_2F
diff --git a/data/maps/objects/SSAnneKitchen.asm b/data/maps/objects/SSAnneKitchen.asm
new file mode 100755
index 00000000..b5771e68
--- /dev/null
+++ b/data/maps/objects/SSAnneKitchen.asm
@@ -0,0 +1,19 @@
+SSAnneKitchen_Object:
+ db $c ; border block
+
+ db 1 ; warps
+ warp 6, 0, 10, SS_ANNE_1F
+
+ db 0 ; signs
+
+ db 7 ; objects
+ object SPRITE_COOK, 1, 8, WALK, 1, 1 ; person
+ object SPRITE_COOK, 5, 8, WALK, 1, 2 ; person
+ object SPRITE_COOK, 9, 7, WALK, 1, 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
+
+ ; warp-to
+ warp_to 6, 0, SS_ANNE_KITCHEN_WIDTH ; SS_ANNE_1F
diff --git a/data/maps/objects/SafariZoneCenter.asm b/data/maps/objects/SafariZoneCenter.asm
new file mode 100755
index 00000000..e54cec74
--- /dev/null
+++ b/data/maps/objects/SafariZoneCenter.asm
@@ -0,0 +1,31 @@
+SafariZoneCenter_Object:
+ db $0 ; border block
+
+ db 9 ; 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
+
+ db 2 ; signs
+ sign 18, 20, 2 ; SafariZoneCenterText2
+ sign 14, 22, 3 ; SafariZoneCenterText3
+
+ db 1 ; objects
+ object SPRITE_BALL, 14, 10, STAY, NONE, 1, NUGGET
+
+ ; warp-to
+ warp_to 14, 25, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_GATE
+ warp_to 15, 25, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_GATE
+ warp_to 0, 10, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_WEST
+ warp_to 0, 11, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_WEST
+ warp_to 14, 0, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_NORTH
+ warp_to 15, 0, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_NORTH
+ warp_to 29, 10, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_EAST
+ warp_to 29, 11, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_EAST
+ warp_to 17, 19, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_CENTER_REST_HOUSE
diff --git a/data/maps/objects/SafariZoneCenterRestHouse.asm b/data/maps/objects/SafariZoneCenterRestHouse.asm
new file mode 100755
index 00000000..9eda9970
--- /dev/null
+++ b/data/maps/objects/SafariZoneCenterRestHouse.asm
@@ -0,0 +1,16 @@
+SafariZoneCenterRestHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 8, SAFARI_ZONE_CENTER
+ warp 3, 7, 8, SAFARI_ZONE_CENTER
+
+ db 0 ; signs
+
+ db 2 ; objects
+ object SPRITE_GIRL, 3, 2, STAY, DOWN, 1 ; person
+ object SPRITE_OAK_AIDE, 1, 4, WALK, 1, 2 ; person
+
+ ; warp-to
+ warp_to 2, 7, SAFARI_ZONE_CENTER_REST_HOUSE_WIDTH ; SAFARI_ZONE_CENTER
+ warp_to 3, 7, SAFARI_ZONE_CENTER_REST_HOUSE_WIDTH ; SAFARI_ZONE_CENTER
diff --git a/data/maps/objects/SafariZoneEast.asm b/data/maps/objects/SafariZoneEast.asm
new file mode 100755
index 00000000..df612ea9
--- /dev/null
+++ b/data/maps/objects/SafariZoneEast.asm
@@ -0,0 +1,27 @@
+SafariZoneEast_Object:
+ db $0 ; border block
+
+ db 5 ; 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
+
+ db 3 ; signs
+ sign 26, 10, 5 ; SafariZoneEastText5
+ sign 6, 4, 6 ; SafariZoneEastText6
+ sign 5, 23, 7 ; SafariZoneEastText7
+
+ db 4 ; objects
+ object SPRITE_BALL, 21, 10, STAY, NONE, 1, FULL_RESTORE
+ object SPRITE_BALL, 3, 7, STAY, NONE, 2, MAX_POTION
+ object SPRITE_BALL, 20, 13, STAY, NONE, 3, CARBOS
+ object SPRITE_BALL, 15, 12, STAY, NONE, 4, TM_37
+
+ ; warp-to
+ warp_to 0, 4, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_NORTH
+ warp_to 0, 5, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_NORTH
+ warp_to 0, 22, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_CENTER
+ warp_to 0, 23, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_CENTER
+ warp_to 25, 9, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_EAST_REST_HOUSE
diff --git a/data/maps/objects/SafariZoneEastRestHouse.asm b/data/maps/objects/SafariZoneEastRestHouse.asm
new file mode 100755
index 00000000..e7c68343
--- /dev/null
+++ b/data/maps/objects/SafariZoneEastRestHouse.asm
@@ -0,0 +1,17 @@
+SafariZoneEastRestHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 4, SAFARI_ZONE_EAST
+ warp 3, 7, 4, SAFARI_ZONE_EAST
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_OAK_AIDE, 1, 3, WALK, 1, 1 ; person
+ object SPRITE_ROCKER, 4, 2, STAY, NONE, 2 ; person
+ object SPRITE_LAPRAS_GIVER, 5, 2, STAY, NONE, 3 ; person
+
+ ; warp-to
+ warp_to 2, 7, SAFARI_ZONE_EAST_REST_HOUSE_WIDTH ; SAFARI_ZONE_EAST
+ warp_to 3, 7, SAFARI_ZONE_EAST_REST_HOUSE_WIDTH ; SAFARI_ZONE_EAST
diff --git a/data/maps/objects/SafariZoneGate.asm b/data/maps/objects/SafariZoneGate.asm
new file mode 100755
index 00000000..6749b45b
--- /dev/null
+++ b/data/maps/objects/SafariZoneGate.asm
@@ -0,0 +1,20 @@
+SafariZoneGate_Object:
+ db $a ; border block
+
+ db 4 ; warps
+ warp 3, 5, 4, -1
+ warp 4, 5, 4, -1
+ warp 3, 0, 0, SAFARI_ZONE_CENTER
+ warp 4, 0, 1, SAFARI_ZONE_CENTER
+
+ db 0 ; signs
+
+ db 2 ; objects
+ object SPRITE_WHITE_PLAYER, 6, 2, STAY, LEFT, 1 ; person
+ object SPRITE_WHITE_PLAYER, 1, 4, STAY, RIGHT, 2 ; person
+
+ ; warp-to
+ warp_to 3, 5, SAFARI_ZONE_GATE_WIDTH
+ warp_to 4, 5, SAFARI_ZONE_GATE_WIDTH
+ warp_to 3, 0, SAFARI_ZONE_GATE_WIDTH ; SAFARI_ZONE_CENTER
+ warp_to 4, 0, SAFARI_ZONE_GATE_WIDTH ; SAFARI_ZONE_CENTER
diff --git a/data/maps/objects/SafariZoneNorth.asm b/data/maps/objects/SafariZoneNorth.asm
new file mode 100755
index 00000000..9eda7b4b
--- /dev/null
+++ b/data/maps/objects/SafariZoneNorth.asm
@@ -0,0 +1,35 @@
+SafariZoneNorth_Object:
+ db $0 ; border block
+
+ db 9 ; 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
+
+ db 5 ; 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
+
+ db 2 ; objects
+ object SPRITE_BALL, 25, 1, STAY, NONE, 1, PROTEIN
+ object SPRITE_BALL, 19, 7, STAY, NONE, 2, TM_40
+
+ ; warp-to
+ warp_to 2, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST
+ warp_to 3, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST
+ warp_to 8, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST
+ warp_to 9, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST
+ warp_to 20, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_CENTER
+ warp_to 21, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_CENTER
+ warp_to 39, 30, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_EAST
+ warp_to 39, 31, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_EAST
+ warp_to 35, 3, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_NORTH_REST_HOUSE
diff --git a/data/maps/objects/SafariZoneNorthRestHouse.asm b/data/maps/objects/SafariZoneNorthRestHouse.asm
new file mode 100755
index 00000000..34b3ab4f
--- /dev/null
+++ b/data/maps/objects/SafariZoneNorthRestHouse.asm
@@ -0,0 +1,17 @@
+SafariZoneNorthRestHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 8, SAFARI_ZONE_NORTH
+ warp 3, 7, 8, SAFARI_ZONE_NORTH
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_OAK_AIDE, 6, 3, WALK, 2, 1 ; person
+ object SPRITE_WHITE_PLAYER, 3, 4, STAY, NONE, 2 ; person
+ object SPRITE_GENTLEMAN, 1, 5, WALK, 1, 3 ; person
+
+ ; warp-to
+ warp_to 2, 7, SAFARI_ZONE_NORTH_REST_HOUSE_WIDTH ; SAFARI_ZONE_NORTH
+ warp_to 3, 7, SAFARI_ZONE_NORTH_REST_HOUSE_WIDTH ; SAFARI_ZONE_NORTH
diff --git a/data/maps/objects/SafariZoneSecretHouse.asm b/data/maps/objects/SafariZoneSecretHouse.asm
new file mode 100755
index 00000000..2a5fc22d
--- /dev/null
+++ b/data/maps/objects/SafariZoneSecretHouse.asm
@@ -0,0 +1,15 @@
+SafariZoneSecretHouse_Object:
+ db $17 ; border block
+
+ db 2 ; warps
+ warp 2, 7, 6, SAFARI_ZONE_WEST
+ warp 3, 7, 6, SAFARI_ZONE_WEST
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_FISHER, 3, 3, STAY, DOWN, 1 ; person
+
+ ; warp-to
+ warp_to 2, 7, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; SAFARI_ZONE_WEST
+ warp_to 3, 7, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; SAFARI_ZONE_WEST
diff --git a/data/maps/objects/SafariZoneWest.asm b/data/maps/objects/SafariZoneWest.asm
new file mode 100755
index 00000000..7faced72
--- /dev/null
+++ b/data/maps/objects/SafariZoneWest.asm
@@ -0,0 +1,34 @@
+SafariZoneWest_Object:
+ db $0 ; border block
+
+ db 8 ; 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
+
+ db 4 ; signs
+ sign 12, 12, 5 ; SafariZoneWestText5
+ sign 17, 3, 6 ; SafariZoneWestText6
+ sign 26, 4, 7 ; SafariZoneWestText7
+ sign 24, 22, 8 ; SafariZoneWestText8
+
+ db 4 ; objects
+ object SPRITE_BALL, 8, 20, STAY, NONE, 1, MAX_POTION
+ object SPRITE_BALL, 9, 7, STAY, NONE, 2, TM_32
+ object SPRITE_BALL, 18, 18, STAY, NONE, 3, MAX_REVIVE
+ object SPRITE_BALL, 19, 7, STAY, NONE, 4, GOLD_TEETH
+
+ ; warp-to
+ warp_to 20, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH
+ warp_to 21, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH
+ warp_to 26, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH
+ warp_to 27, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH
+ warp_to 29, 22, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_CENTER
+ warp_to 29, 23, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_CENTER
+ warp_to 3, 3, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_SECRET_HOUSE
+ warp_to 11, 11, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_WEST_REST_HOUSE
diff --git a/data/maps/objects/SafariZoneWestRestHouse.asm b/data/maps/objects/SafariZoneWestRestHouse.asm
new file mode 100755
index 00000000..9f1bc0ed
--- /dev/null
+++ b/data/maps/objects/SafariZoneWestRestHouse.asm
@@ -0,0 +1,17 @@
+SafariZoneWestRestHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 7, SAFARI_ZONE_WEST
+ warp 3, 7, 7, SAFARI_ZONE_WEST
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_OAK_AIDE, 4, 4, WALK, 0, 1 ; person
+ object SPRITE_BLACK_HAIR_BOY_1, 0, 2, STAY, RIGHT, 2 ; person
+ object SPRITE_ERIKA, 6, 2, STAY, DOWN, 3 ; person
+
+ ; warp-to
+ warp_to 2, 7, SAFARI_ZONE_WEST_REST_HOUSE_WIDTH ; SAFARI_ZONE_WEST
+ warp_to 3, 7, SAFARI_ZONE_WEST_REST_HOUSE_WIDTH ; SAFARI_ZONE_WEST
diff --git a/data/maps/objects/SaffronCity.asm b/data/maps/objects/SaffronCity.asm
new file mode 100755
index 00000000..b8d3a9cf
--- /dev/null
+++ b/data/maps/objects/SaffronCity.asm
@@ -0,0 +1,51 @@
+SaffronCity_Object:
+ db $f ; border block
+
+ db 8 ; 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
+
+ db 10 ; 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
+
+ db 15 ; objects
+ object SPRITE_ROCKET, 7, 6, STAY, NONE, 1 ; person
+ object SPRITE_ROCKET, 20, 8, WALK, 2, 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, 2, 5 ; person
+ object SPRITE_ROCKET, 32, 13, WALK, 2, 6 ; person
+ object SPRITE_ROCKET, 18, 30, WALK, 2, 7 ; person
+ object SPRITE_OAK_AIDE, 8, 14, WALK, 0, 8 ; person
+ object SPRITE_LAPRAS_GIVER, 23, 23, STAY, NONE, 9 ; person
+ object SPRITE_ERIKA, 17, 30, WALK, 2, 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
+ object SPRITE_ROCKET, 19, 22, STAY, DOWN, 15 ; person
+
+ ; warp-to
+ warp_to 7, 5, SAFFRON_CITY_WIDTH ; COPYCATS_HOUSE_1F
+ warp_to 26, 3, SAFFRON_CITY_WIDTH ; FIGHTING_DOJO
+ warp_to 34, 3, SAFFRON_CITY_WIDTH ; SAFFRON_GYM
+ warp_to 13, 11, SAFFRON_CITY_WIDTH ; SAFFRON_PIDGEY_HOUSE
+ warp_to 25, 11, SAFFRON_CITY_WIDTH ; SAFFRON_MART
+ warp_to 18, 21, SAFFRON_CITY_WIDTH ; SILPH_CO_1F
+ warp_to 9, 29, SAFFRON_CITY_WIDTH ; SAFFRON_POKECENTER
+ warp_to 29, 29, SAFFRON_CITY_WIDTH ; MR_PSYCHICS_HOUSE
diff --git a/data/maps/objects/SaffronGym.asm b/data/maps/objects/SaffronGym.asm
new file mode 100755
index 00000000..1869421a
--- /dev/null
+++ b/data/maps/objects/SaffronGym.asm
@@ -0,0 +1,83 @@
+SaffronGym_Object:
+ db $2e ; border block
+
+ db 32 ; warps
+ warp 8, 17, 2, -1
+ warp 9, 17, 2, -1
+ 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
+
+ db 0 ; signs
+
+ db 9 ; objects
+ object SPRITE_GIRL, 9, 8, STAY, DOWN, 1, OPP_SABRINA, 1
+ object SPRITE_MEDIUM, 10, 1, STAY, DOWN, 2, OPP_CHANNELER, 22
+ object SPRITE_BUG_CATCHER, 17, 1, STAY, DOWN, 3, OPP_PSYCHIC_TR, 1
+ object SPRITE_MEDIUM, 3, 7, STAY, DOWN, 4, OPP_CHANNELER, 23
+ object SPRITE_BUG_CATCHER, 17, 7, STAY, DOWN, 5, OPP_PSYCHIC_TR, 2
+ object SPRITE_MEDIUM, 3, 13, STAY, DOWN, 6, OPP_CHANNELER, 24
+ object SPRITE_BUG_CATCHER, 17, 13, STAY, DOWN, 7, OPP_PSYCHIC_TR, 3
+ object SPRITE_BUG_CATCHER, 3, 1, STAY, DOWN, 8, OPP_PSYCHIC_TR, 4
+ object SPRITE_GYM_HELPER, 10, 15, STAY, DOWN, 9 ; person
+
+ ; warp-to
+ warp_to 8, 17, SAFFRON_GYM_WIDTH
+ warp_to 9, 17, SAFFRON_GYM_WIDTH
+ warp_to 1, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 5, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 1, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 5, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 1, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 5, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 1, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 5, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 1, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 5, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 1, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 5, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 9, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 11, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 9, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 11, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 11, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 11, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 15, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 19, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 15, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 19, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 15, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 19, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 15, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 19, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 15, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 19, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 15, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+ warp_to 19, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
diff --git a/data/maps/objects/SaffronMart.asm b/data/maps/objects/SaffronMart.asm
new file mode 100755
index 00000000..c376f2de
--- /dev/null
+++ b/data/maps/objects/SaffronMart.asm
@@ -0,0 +1,17 @@
+SaffronMart_Object:
+ db $0 ; border block
+
+ db 2 ; warps
+ warp 3, 7, 4, -1
+ warp 4, 7, 4, -1
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
+ object SPRITE_BLACK_HAIR_BOY_2, 4, 2, STAY, NONE, 2 ; person
+ object SPRITE_LASS, 6, 5, WALK, 0, 3 ; person
+
+ ; warp-to
+ warp_to 3, 7, SAFFRON_MART_WIDTH
+ warp_to 4, 7, SAFFRON_MART_WIDTH
diff --git a/data/maps/objects/SaffronPidgeyHouse.asm b/data/maps/objects/SaffronPidgeyHouse.asm
new file mode 100755
index 00000000..65a851bf
--- /dev/null
+++ b/data/maps/objects/SaffronPidgeyHouse.asm
@@ -0,0 +1,18 @@
+SaffronPidgeyHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 3, -1
+ warp 3, 7, 3, -1
+
+ db 0 ; signs
+
+ db 4 ; objects
+ object SPRITE_BRUNETTE_GIRL, 2, 3, STAY, RIGHT, 1 ; person
+ object SPRITE_BIRD, 0, 4, WALK, 1, 2 ; person
+ object SPRITE_BUG_CATCHER, 4, 1, STAY, DOWN, 3 ; person
+ object SPRITE_PAPER_SHEET, 3, 3, STAY, NONE, 4 ; person
+
+ ; warp-to
+ warp_to 2, 7, SAFFRON_PIDGEY_HOUSE_WIDTH
+ warp_to 3, 7, SAFFRON_PIDGEY_HOUSE_WIDTH
diff --git a/data/maps/objects/SaffronPokecenter.asm b/data/maps/objects/SaffronPokecenter.asm
new file mode 100755
index 00000000..e54fd76b
--- /dev/null
+++ b/data/maps/objects/SaffronPokecenter.asm
@@ -0,0 +1,18 @@
+SaffronPokecenter_Object:
+ db $0 ; border block
+
+ db 2 ; warps
+ warp 3, 7, 6, -1
+ warp 4, 7, 6, -1
+
+ db 0 ; signs
+
+ db 4 ; objects
+ object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_FOULARD_WOMAN, 5, 5, STAY, NONE, 2 ; person
+ object SPRITE_GENTLEMAN, 8, 3, STAY, DOWN, 3 ; person
+ object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
+
+ ; warp-to
+ warp_to 3, 7, SAFFRON_POKECENTER_WIDTH
+ warp_to 4, 7, SAFFRON_POKECENTER_WIDTH
diff --git a/data/maps/objects/SeafoamIslands1F.asm b/data/maps/objects/SeafoamIslands1F.asm
new file mode 100755
index 00000000..8707ee0a
--- /dev/null
+++ b/data/maps/objects/SeafoamIslands1F.asm
@@ -0,0 +1,30 @@
+SeafoamIslands1F_Object:
+ db $7d ; border block
+
+ db 7 ; warps
+ warp 4, 17, 0, -1
+ warp 5, 17, 0, -1
+ warp 26, 17, 1, -1
+ warp 27, 17, 1, -1
+ warp 7, 5, 1, SEAFOAM_ISLANDS_B1F
+ warp 25, 3, 6, SEAFOAM_ISLANDS_B1F
+ warp 23, 15, 4, SEAFOAM_ISLANDS_B1F
+
+ db 0 ; signs
+
+ db 2 ; 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
+
+ ; warp-to
+ warp_to 4, 17, SEAFOAM_ISLANDS_1F_WIDTH
+ warp_to 5, 17, SEAFOAM_ISLANDS_1F_WIDTH
+ warp_to 26, 17, SEAFOAM_ISLANDS_1F_WIDTH
+ warp_to 27, 17, SEAFOAM_ISLANDS_1F_WIDTH
+ warp_to 7, 5, SEAFOAM_ISLANDS_1F_WIDTH ; SEAFOAM_ISLANDS_B1F
+ warp_to 25, 3, SEAFOAM_ISLANDS_1F_WIDTH ; SEAFOAM_ISLANDS_B1F
+ warp_to 23, 15, SEAFOAM_ISLANDS_1F_WIDTH ; SEAFOAM_ISLANDS_B1F
+
+ ; holes
+ warp_to 17, 6, SEAFOAM_ISLANDS_1F_WIDTH
+ warp_to 24, 6, SEAFOAM_ISLANDS_1F_WIDTH
diff --git a/data/maps/objects/SeafoamIslandsB1F.asm b/data/maps/objects/SeafoamIslandsB1F.asm
new file mode 100755
index 00000000..426ca0c3
--- /dev/null
+++ b/data/maps/objects/SeafoamIslandsB1F.asm
@@ -0,0 +1,26 @@
+SeafoamIslandsB1F_Object:
+ db $7d ; border block
+
+ db 7 ; 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
+
+ db 0 ; signs
+
+ db 2 ; 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
+
+ ; warp-to
+ warp_to 4, 2, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_B2F
+ warp_to 7, 5, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_1F
+ warp_to 13, 7, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_B2F
+ warp_to 19, 15, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_B2F
+ warp_to 23, 15, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_1F
+ warp_to 25, 11, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_B2F
+ warp_to 25, 3, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_1F
diff --git a/data/maps/objects/SeafoamIslandsB2F.asm b/data/maps/objects/SeafoamIslandsB2F.asm
new file mode 100755
index 00000000..9c1a7898
--- /dev/null
+++ b/data/maps/objects/SeafoamIslandsB2F.asm
@@ -0,0 +1,26 @@
+SeafoamIslandsB2F_Object:
+ db $7d ; border block
+
+ db 7 ; 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
+
+ db 0 ; signs
+
+ db 2 ; 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
+
+ ; warp-to
+ warp_to 5, 3, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B1F
+ warp_to 5, 13, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B3F
+ warp_to 13, 7, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B1F
+ warp_to 19, 15, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B1F
+ warp_to 25, 3, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B3F
+ warp_to 25, 11, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B1F
+ warp_to 25, 14, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B3F
diff --git a/data/maps/objects/SeafoamIslandsB3F.asm b/data/maps/objects/SeafoamIslandsB3F.asm
new file mode 100755
index 00000000..d194e1cd
--- /dev/null
+++ b/data/maps/objects/SeafoamIslandsB3F.asm
@@ -0,0 +1,30 @@
+SeafoamIslandsB3F_Object:
+ db $7d ; border block
+
+ db 7 ; 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
+
+ db 0 ; signs
+
+ db 6 ; 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
+
+ ; warp-to
+ warp_to 5, 12, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B2F
+ warp_to 8, 6, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B4F
+ warp_to 25, 4, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B4F
+ warp_to 25, 3, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B2F
+ warp_to 25, 14, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B2F
+ warp_to 20, 17, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B4F
+ warp_to 21, 17, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B4F
diff --git a/data/maps/objects/SeafoamIslandsB4F.asm b/data/maps/objects/SeafoamIslandsB4F.asm
new file mode 100755
index 00000000..62d88b0c
--- /dev/null
+++ b/data/maps/objects/SeafoamIslandsB4F.asm
@@ -0,0 +1,23 @@
+SeafoamIslandsB4F_Object:
+ db $7d ; border block
+
+ db 4 ; 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
+
+ db 2 ; signs
+ sign 9, 15, 4 ; SeafoamIslands5Text4
+ sign 23, 1, 5 ; SeafoamIslands5Text5
+
+ db 3 ; 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
+
+ ; warp-to
+ warp_to 20, 17, SEAFOAM_ISLANDS_B4F_WIDTH ; SEAFOAM_ISLANDS_B3F
+ warp_to 21, 17, SEAFOAM_ISLANDS_B4F_WIDTH ; SEAFOAM_ISLANDS_B3F
+ warp_to 11, 7, SEAFOAM_ISLANDS_B4F_WIDTH ; SEAFOAM_ISLANDS_B3F
+ warp_to 25, 4, SEAFOAM_ISLANDS_B4F_WIDTH ; SEAFOAM_ISLANDS_B3F
diff --git a/data/maps/objects/SilphCo10F.asm b/data/maps/objects/SilphCo10F.asm
new file mode 100755
index 00000000..1c8948d3
--- /dev/null
+++ b/data/maps/objects/SilphCo10F.asm
@@ -0,0 +1,28 @@
+SilphCo10F_Object:
+ db $2e ; border block
+
+ db 6 ; 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
+
+ db 0 ; signs
+
+ db 6 ; objects
+ object SPRITE_ROCKET, 1, 9, STAY, RIGHT, 1, OPP_ROCKET, 39
+ object SPRITE_OAK_AIDE, 10, 2, STAY, LEFT, 2, OPP_SCIENTIST, 11
+ object SPRITE_ERIKA, 9, 15, WALK, 0, 3 ; person
+ object SPRITE_BALL, 2, 12, STAY, NONE, 4, TM_26
+ object SPRITE_BALL, 4, 14, STAY, NONE, 5, RARE_CANDY
+ object SPRITE_BALL, 5, 11, STAY, NONE, 6, CARBOS
+
+ ; warp-to
+ warp_to 8, 0, SILPH_CO_10F_WIDTH ; SILPH_CO_9F
+ warp_to 10, 0, SILPH_CO_10F_WIDTH ; SILPH_CO_11F
+ warp_to 12, 0, SILPH_CO_10F_WIDTH ; SILPH_CO_ELEVATOR
+ warp_to 9, 11, SILPH_CO_10F_WIDTH ; SILPH_CO_4F
+ warp_to 13, 15, SILPH_CO_10F_WIDTH ; SILPH_CO_4F
+ warp_to 13, 7, SILPH_CO_10F_WIDTH ; SILPH_CO_4F
diff --git a/data/maps/objects/SilphCo11F.asm b/data/maps/objects/SilphCo11F.asm
new file mode 100755
index 00000000..7a1dff73
--- /dev/null
+++ b/data/maps/objects/SilphCo11F.asm
@@ -0,0 +1,23 @@
+SilphCo11F_Object:
+ db $d ; border block
+
+ db 4 ; warps
+ warp 9, 0, 1, SILPH_CO_10F
+ warp 13, 0, 0, SILPH_CO_ELEVATOR
+ warp 5, 5, 9, -1
+ warp 3, 2, 3, SILPH_CO_7F
+
+ db 0 ; signs
+
+ db 5 ; objects
+ object SPRITE_MR_MASTERBALL, 7, 5, STAY, DOWN, 1 ; person
+ object SPRITE_FOULARD_WOMAN, 10, 5, STAY, DOWN, 2 ; person
+ object SPRITE_GIOVANNI, 6, 9, STAY, DOWN, 3, OPP_GIOVANNI, 2
+ object SPRITE_ROCKET, 3, 16, STAY, UP, 4, OPP_ROCKET, 41
+ object SPRITE_ROCKET, 15, 9, STAY, UP, 5, OPP_ROCKET, 40
+
+ ; warp-to
+ warp_to 9, 0, SILPH_CO_11F_WIDTH ; SILPH_CO_10F
+ warp_to 13, 0, SILPH_CO_11F_WIDTH ; SILPH_CO_ELEVATOR
+ warp_to 5, 5, SILPH_CO_11F_WIDTH
+ warp_to 3, 2, SILPH_CO_11F_WIDTH ; SILPH_CO_7F
diff --git a/data/maps/objects/SilphCo1F.asm b/data/maps/objects/SilphCo1F.asm
new file mode 100755
index 00000000..fc040091
--- /dev/null
+++ b/data/maps/objects/SilphCo1F.asm
@@ -0,0 +1,21 @@
+SilphCo1F_Object:
+ db $2e ; border block
+
+ db 5 ; warps
+ warp 10, 17, 5, -1
+ warp 11, 17, 5, -1
+ warp 26, 0, 0, SILPH_CO_2F
+ warp 20, 0, 0, SILPH_CO_ELEVATOR
+ warp 16, 10, 6, SILPH_CO_3F
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_CABLE_CLUB_WOMAN, 4, 2, STAY, DOWN, 1 ; person
+
+ ; warp-to
+ warp_to 10, 17, SILPH_CO_1F_WIDTH
+ warp_to 11, 17, SILPH_CO_1F_WIDTH
+ warp_to 26, 0, SILPH_CO_1F_WIDTH ; SILPH_CO_2F
+ warp_to 20, 0, SILPH_CO_1F_WIDTH ; SILPH_CO_ELEVATOR
+ warp_to 16, 10, SILPH_CO_1F_WIDTH ; SILPH_CO_3F
diff --git a/data/maps/objects/SilphCo2F.asm b/data/maps/objects/SilphCo2F.asm
new file mode 100755
index 00000000..bc30d78d
--- /dev/null
+++ b/data/maps/objects/SilphCo2F.asm
@@ -0,0 +1,29 @@
+SilphCo2F_Object:
+ db $2e ; border block
+
+ db 7 ; 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
+
+ db 0 ; signs
+
+ db 5 ; objects
+ object SPRITE_ERIKA, 10, 1, STAY, UP, 1 ; person
+ object SPRITE_OAK_AIDE, 5, 12, STAY, DOWN, 2, OPP_SCIENTIST, 2
+ object SPRITE_OAK_AIDE, 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
+
+ ; warp-to
+ warp_to 24, 0, SILPH_CO_2F_WIDTH ; SILPH_CO_1F
+ warp_to 26, 0, SILPH_CO_2F_WIDTH ; SILPH_CO_3F
+ warp_to 20, 0, SILPH_CO_2F_WIDTH ; SILPH_CO_ELEVATOR
+ warp_to 3, 3, SILPH_CO_2F_WIDTH ; SILPH_CO_3F
+ warp_to 13, 3, SILPH_CO_2F_WIDTH ; SILPH_CO_8F
+ warp_to 27, 15, SILPH_CO_2F_WIDTH ; SILPH_CO_8F
+ warp_to 9, 15, SILPH_CO_2F_WIDTH ; SILPH_CO_6F
diff --git a/data/maps/objects/SilphCo3F.asm b/data/maps/objects/SilphCo3F.asm
new file mode 100755
index 00000000..f45cdf81
--- /dev/null
+++ b/data/maps/objects/SilphCo3F.asm
@@ -0,0 +1,34 @@
+SilphCo3F_Object:
+ db $2e ; border block
+
+ db 10 ; 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
+
+ db 0 ; signs
+
+ db 4 ; objects
+ object SPRITE_LAPRAS_GIVER, 24, 8, STAY, NONE, 1 ; person
+ object SPRITE_ROCKET, 20, 7, STAY, LEFT, 2, OPP_ROCKET, 25
+ object SPRITE_OAK_AIDE, 7, 9, STAY, DOWN, 3, OPP_SCIENTIST, 4
+ object SPRITE_BALL, 8, 5, STAY, NONE, 4, HYPER_POTION
+
+ ; warp-to
+ warp_to 26, 0, SILPH_CO_3F_WIDTH ; SILPH_CO_2F
+ warp_to 24, 0, SILPH_CO_3F_WIDTH ; SILPH_CO_4F
+ warp_to 20, 0, SILPH_CO_3F_WIDTH ; SILPH_CO_ELEVATOR
+ warp_to 23, 11, SILPH_CO_3F_WIDTH ; SILPH_CO_3F
+ warp_to 3, 3, SILPH_CO_3F_WIDTH ; SILPH_CO_5F
+ warp_to 3, 15, SILPH_CO_3F_WIDTH ; SILPH_CO_5F
+ warp_to 27, 3, SILPH_CO_3F_WIDTH ; SILPH_CO_2F
+ warp_to 3, 11, SILPH_CO_3F_WIDTH ; SILPH_CO_9F
+ warp_to 11, 11, SILPH_CO_3F_WIDTH ; SILPH_CO_7F
+ warp_to 27, 15, SILPH_CO_3F_WIDTH ; SILPH_CO_3F
diff --git a/data/maps/objects/SilphCo4F.asm b/data/maps/objects/SilphCo4F.asm
new file mode 100755
index 00000000..3d865bbc
--- /dev/null
+++ b/data/maps/objects/SilphCo4F.asm
@@ -0,0 +1,31 @@
+SilphCo4F_Object:
+ db $2e ; border block
+
+ db 7 ; 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
+
+ db 0 ; signs
+
+ db 7 ; objects
+ object SPRITE_LAPRAS_GIVER, 6, 2, STAY, NONE, 1 ; person
+ object SPRITE_ROCKET, 9, 14, STAY, RIGHT, 2, OPP_ROCKET, 26
+ object SPRITE_OAK_AIDE, 14, 6, STAY, LEFT, 3, OPP_SCIENTIST, 5
+ object SPRITE_ROCKET, 26, 10, STAY, UP, 4, OPP_ROCKET, 27
+ object SPRITE_BALL, 3, 9, STAY, NONE, 5, FULL_HEAL
+ object SPRITE_BALL, 4, 7, STAY, NONE, 6, MAX_REVIVE
+ object SPRITE_BALL, 5, 8, STAY, NONE, 7, ESCAPE_ROPE
+
+ ; warp-to
+ warp_to 24, 0, SILPH_CO_4F_WIDTH ; SILPH_CO_3F
+ warp_to 26, 0, SILPH_CO_4F_WIDTH ; SILPH_CO_5F
+ warp_to 20, 0, SILPH_CO_4F_WIDTH ; SILPH_CO_ELEVATOR
+ warp_to 11, 7, SILPH_CO_4F_WIDTH ; SILPH_CO_10F
+ warp_to 17, 3, SILPH_CO_4F_WIDTH ; SILPH_CO_6F
+ warp_to 3, 15, SILPH_CO_4F_WIDTH ; SILPH_CO_10F
+ warp_to 17, 11, SILPH_CO_4F_WIDTH ; SILPH_CO_10F
diff --git a/data/maps/objects/SilphCo5F.asm b/data/maps/objects/SilphCo5F.asm
new file mode 100755
index 00000000..c10f17c8
--- /dev/null
+++ b/data/maps/objects/SilphCo5F.asm
@@ -0,0 +1,35 @@
+SilphCo5F_Object:
+ db $2e ; border block
+
+ db 7 ; 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
+
+ db 0 ; signs
+
+ db 11 ; objects
+ object SPRITE_LAPRAS_GIVER, 13, 9, STAY, NONE, 1 ; person
+ object SPRITE_ROCKET, 8, 16, STAY, RIGHT, 2, OPP_ROCKET, 28
+ object SPRITE_OAK_AIDE, 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_BALL, 2, 13, STAY, NONE, 6, TM_09
+ object SPRITE_BALL, 4, 6, STAY, NONE, 7, PROTEIN
+ object SPRITE_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
+
+ ; warp-to
+ warp_to 24, 0, SILPH_CO_5F_WIDTH ; SILPH_CO_6F
+ warp_to 26, 0, SILPH_CO_5F_WIDTH ; SILPH_CO_4F
+ warp_to 20, 0, SILPH_CO_5F_WIDTH ; SILPH_CO_ELEVATOR
+ warp_to 27, 3, SILPH_CO_5F_WIDTH ; SILPH_CO_7F
+ warp_to 9, 15, SILPH_CO_5F_WIDTH ; SILPH_CO_9F
+ warp_to 11, 5, SILPH_CO_5F_WIDTH ; SILPH_CO_3F
+ warp_to 3, 15, SILPH_CO_5F_WIDTH ; SILPH_CO_3F
diff --git a/data/maps/objects/SilphCo6F.asm b/data/maps/objects/SilphCo6F.asm
new file mode 100755
index 00000000..ad2ac32f
--- /dev/null
+++ b/data/maps/objects/SilphCo6F.asm
@@ -0,0 +1,30 @@
+SilphCo6F_Object:
+ db $2e ; border block
+
+ db 5 ; 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
+
+ db 0 ; signs
+
+ db 10 ; objects
+ object SPRITE_LAPRAS_GIVER, 10, 6, STAY, NONE, 1 ; person
+ object SPRITE_LAPRAS_GIVER, 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_LAPRAS_GIVER, 18, 13, STAY, UP, 5 ; person
+ object SPRITE_ROCKET, 17, 3, STAY, RIGHT, 6, OPP_ROCKET, 30
+ object SPRITE_OAK_AIDE, 7, 8, STAY, DOWN, 7, OPP_SCIENTIST, 7
+ object SPRITE_ROCKET, 14, 15, STAY, LEFT, 8, OPP_ROCKET, 31
+ object SPRITE_BALL, 3, 12, STAY, NONE, 9, HP_UP
+ object SPRITE_BALL, 2, 15, STAY, NONE, 10, X_ACCURACY
+
+ ; warp-to
+ warp_to 16, 0, SILPH_CO_6F_WIDTH ; SILPH_CO_7F
+ warp_to 14, 0, SILPH_CO_6F_WIDTH ; SILPH_CO_5F
+ warp_to 18, 0, SILPH_CO_6F_WIDTH ; SILPH_CO_ELEVATOR
+ warp_to 3, 3, SILPH_CO_6F_WIDTH ; SILPH_CO_4F
+ warp_to 23, 3, SILPH_CO_6F_WIDTH ; SILPH_CO_2F
diff --git a/data/maps/objects/SilphCo7F.asm b/data/maps/objects/SilphCo7F.asm
new file mode 100755
index 00000000..255f4b33
--- /dev/null
+++ b/data/maps/objects/SilphCo7F.asm
@@ -0,0 +1,33 @@
+SilphCo7F_Object:
+ db $2e ; border block
+
+ db 6 ; 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
+
+ db 0 ; signs
+
+ db 11 ; objects
+ object SPRITE_LAPRAS_GIVER, 1, 5, STAY, NONE, 1 ; person
+ object SPRITE_LAPRAS_GIVER, 13, 13, STAY, UP, 2 ; person
+ object SPRITE_LAPRAS_GIVER, 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_OAK_AIDE, 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_BALL, 1, 9, STAY, NONE, 10, CALCIUM
+ object SPRITE_BALL, 24, 11, STAY, NONE, 11, TM_03
+
+ ; warp-to
+ warp_to 16, 0, SILPH_CO_7F_WIDTH ; SILPH_CO_8F
+ warp_to 22, 0, SILPH_CO_7F_WIDTH ; SILPH_CO_6F
+ warp_to 18, 0, SILPH_CO_7F_WIDTH ; SILPH_CO_ELEVATOR
+ warp_to 5, 7, SILPH_CO_7F_WIDTH ; SILPH_CO_11F
+ warp_to 5, 3, SILPH_CO_7F_WIDTH ; SILPH_CO_3F
+ warp_to 21, 15, SILPH_CO_7F_WIDTH ; SILPH_CO_5F
diff --git a/data/maps/objects/SilphCo8F.asm b/data/maps/objects/SilphCo8F.asm
new file mode 100755
index 00000000..d05c7844
--- /dev/null
+++ b/data/maps/objects/SilphCo8F.asm
@@ -0,0 +1,28 @@
+SilphCo8F_Object:
+ db $2e ; border block
+
+ db 7 ; 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
+
+ db 0 ; signs
+
+ db 4 ; objects
+ object SPRITE_LAPRAS_GIVER, 4, 2, STAY, NONE, 1 ; person
+ object SPRITE_ROCKET, 19, 2, STAY, LEFT, 2, OPP_ROCKET, 35
+ object SPRITE_OAK_AIDE, 10, 2, STAY, DOWN, 3, OPP_SCIENTIST, 9
+ object SPRITE_ROCKET, 12, 15, STAY, RIGHT, 4, OPP_ROCKET, 36
+
+ ; warp-to
+ warp_to 16, 0, SILPH_CO_8F_WIDTH ; SILPH_CO_9F
+ warp_to 14, 0, SILPH_CO_8F_WIDTH ; SILPH_CO_7F
+ warp_to 18, 0, SILPH_CO_8F_WIDTH ; SILPH_CO_ELEVATOR
+ warp_to 3, 11, SILPH_CO_8F_WIDTH ; SILPH_CO_8F
+ warp_to 3, 15, SILPH_CO_8F_WIDTH ; SILPH_CO_2F
+ warp_to 11, 5, SILPH_CO_8F_WIDTH ; SILPH_CO_2F
+ warp_to 11, 9, SILPH_CO_8F_WIDTH ; SILPH_CO_8F_WIDTH
diff --git a/data/maps/objects/SilphCo9F.asm b/data/maps/objects/SilphCo9F.asm
new file mode 100755
index 00000000..28ef5f10
--- /dev/null
+++ b/data/maps/objects/SilphCo9F.asm
@@ -0,0 +1,24 @@
+SilphCo9F_Object:
+ db $2e ; border block
+
+ db 5 ; 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
+
+ db 0 ; signs
+
+ db 4 ; objects
+ object SPRITE_NURSE, 3, 14, STAY, DOWN, 1 ; person
+ object SPRITE_ROCKET, 2, 4, STAY, UP, 2, OPP_ROCKET, 37
+ object SPRITE_OAK_AIDE, 21, 13, STAY, DOWN, 3, OPP_SCIENTIST, 10
+ object SPRITE_ROCKET, 13, 16, STAY, UP, 4, OPP_ROCKET, 38
+
+ ; warp-to
+ warp_to 14, 0, SILPH_CO_9F_WIDTH ; SILPH_CO_10F
+ warp_to 16, 0, SILPH_CO_9F_WIDTH ; SILPH_CO_8F
+ warp_to 18, 0, SILPH_CO_9F_WIDTH ; SILPH_CO_ELEVATOR
+ warp_to 9, 3, SILPH_CO_9F_WIDTH ; SILPH_CO_3F
+ warp_to 17, 15, SILPH_CO_9F_WIDTH ; SILPH_CO_5F
diff --git a/data/maps/objects/SilphCoElevator.asm b/data/maps/objects/SilphCoElevator.asm
new file mode 100755
index 00000000..9c4b5a79
--- /dev/null
+++ b/data/maps/objects/SilphCoElevator.asm
@@ -0,0 +1,15 @@
+SilphCoElevator_Object:
+ db $f ; border block
+
+ db 2 ; warps
+ warp 1, 3, 0, 237
+ warp 2, 3, 0, 237
+
+ db 1 ; signs
+ sign 3, 0, 1 ; SilphCoElevatorText1
+
+ db 0 ; objects
+
+ ; warp-to
+ warp_to 1, 3, SILPH_CO_ELEVATOR_WIDTH
+ warp_to 2, 3, SILPH_CO_ELEVATOR_WIDTH
diff --git a/data/maps/objects/TradeCenter.asm b/data/maps/objects/TradeCenter.asm
new file mode 100755
index 00000000..e6df8087
--- /dev/null
+++ b/data/maps/objects/TradeCenter.asm
@@ -0,0 +1,9 @@
+TradeCenter_Object:
+ db $e ; border block
+
+ db 0 ; warps
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_RED, 2, 2, STAY, 0, 1 ; person
diff --git a/data/maps/objects/UndergroundPathNorthSouth.asm b/data/maps/objects/UndergroundPathNorthSouth.asm
new file mode 100755
index 00000000..35e21cca
--- /dev/null
+++ b/data/maps/objects/UndergroundPathNorthSouth.asm
@@ -0,0 +1,14 @@
+UndergroundPathNorthSouth_Object:
+ db $1 ; border block
+
+ db 2 ; warps
+ warp 5, 4, 2, UNDERGROUND_PATH_ROUTE_5
+ warp 2, 41, 2, UNDERGROUND_PATH_ROUTE_6
+
+ db 0 ; signs
+
+ db 0 ; objects
+
+ ; warp-to
+ warp_to 5, 4, UNDERGROUND_PATH_NORTH_SOUTH_WIDTH ; UNDERGROUND_PATH_ROUTE_5
+ warp_to 2, 41, UNDERGROUND_PATH_NORTH_SOUTH_WIDTH ; UNDERGROUND_PATH_ROUTE_6
diff --git a/data/maps/objects/UndergroundPathRoute5.asm b/data/maps/objects/UndergroundPathRoute5.asm
new file mode 100755
index 00000000..af71ebb4
--- /dev/null
+++ b/data/maps/objects/UndergroundPathRoute5.asm
@@ -0,0 +1,17 @@
+UndergroundPathRoute5_Object:
+ db $a ; border block
+
+ db 3 ; warps
+ warp 3, 7, 3, -1
+ warp 4, 7, 3, -1
+ warp 4, 4, 0, UNDERGROUND_PATH_NORTH_SOUTH
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_LITTLE_GIRL, 2, 3, STAY, NONE, 1 ; person
+
+ ; warp-to
+ warp_to 3, 7, UNDERGROUND_PATH_ROUTE_5_WIDTH
+ warp_to 4, 7, UNDERGROUND_PATH_ROUTE_5_WIDTH
+ warp_to 4, 4, UNDERGROUND_PATH_ROUTE_5_WIDTH ; UNDERGROUND_PATH_NORTH_SOUTH
diff --git a/data/maps/objects/UndergroundPathRoute6.asm b/data/maps/objects/UndergroundPathRoute6.asm
new file mode 100755
index 00000000..5a40ade2
--- /dev/null
+++ b/data/maps/objects/UndergroundPathRoute6.asm
@@ -0,0 +1,17 @@
+UndergroundPathRoute6_Object:
+ db $a ; border block
+
+ db 3 ; warps
+ warp 3, 7, 3, -1
+ warp 4, 7, 3, -1
+ warp 4, 4, 1, UNDERGROUND_PATH_NORTH_SOUTH
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_GIRL, 2, 3, STAY, NONE, 1 ; person
+
+ ; warp-to
+ warp_to 3, 7, UNDERGROUND_PATH_ROUTE_6_WIDTH
+ warp_to 4, 7, UNDERGROUND_PATH_ROUTE_6_WIDTH
+ warp_to 4, 4, UNDERGROUND_PATH_ROUTE_6_WIDTH ; UNDERGROUND_PATH_NORTH_SOUTH
diff --git a/data/maps/objects/UndergroundPathRoute7.asm b/data/maps/objects/UndergroundPathRoute7.asm
new file mode 100755
index 00000000..4666e0c9
--- /dev/null
+++ b/data/maps/objects/UndergroundPathRoute7.asm
@@ -0,0 +1,17 @@
+UndergroundPathRoute7_Object:
+ db $a ; border block
+
+ db 3 ; warps
+ warp 3, 7, 4, -1
+ warp 4, 7, 4, -1
+ warp 4, 4, 0, UNDERGROUND_PATH_WEST_EAST
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_FAT_BALD_GUY, 2, 4, STAY, NONE, 1 ; person
+
+ ; warp-to
+ warp_to 3, 7, UNDERGROUND_PATH_ROUTE_7_WIDTH
+ warp_to 4, 7, UNDERGROUND_PATH_ROUTE_7_WIDTH
+ warp_to 4, 4, UNDERGROUND_PATH_ROUTE_7_WIDTH ; UNDERGROUND_PATH_WEST_EAST
diff --git a/data/maps/objects/UndergroundPathRoute7Copy.asm b/data/maps/objects/UndergroundPathRoute7Copy.asm
new file mode 100755
index 00000000..c020646e
--- /dev/null
+++ b/data/maps/objects/UndergroundPathRoute7Copy.asm
@@ -0,0 +1,18 @@
+UndergroundPathRoute7Copy_Object:
+ db $a ; border block
+
+ db 3 ; warps
+ warp 3, 7, 5, -1
+ warp 4, 7, 5, -1
+ warp 4, 4, 0, UNDERGROUND_PATH_WEST_EAST
+
+ db 0 ; signs
+
+ db 2 ; objects
+ object SPRITE_GIRL, 3, 2, STAY, NONE, 1 ; person
+ object SPRITE_FAT_BALD_GUY, 2, 4, STAY, NONE, 2 ; person
+
+ ; warp-to
+ warp_to 3, 7, UNDERGROUND_PATH_ROUTE_7_COPY_WIDTH
+ warp_to 4, 7, UNDERGROUND_PATH_ROUTE_7_COPY_WIDTH
+ warp_to 4, 4, UNDERGROUND_PATH_ROUTE_7_COPY_WIDTH ; UNDERGROUND_PATH_WEST_EAST
diff --git a/data/maps/objects/UndergroundPathRoute8.asm b/data/maps/objects/UndergroundPathRoute8.asm
new file mode 100755
index 00000000..8be0d474
--- /dev/null
+++ b/data/maps/objects/UndergroundPathRoute8.asm
@@ -0,0 +1,17 @@
+UndergroundPathRoute8_Object:
+ db $a ; border block
+
+ db 3 ; warps
+ warp 3, 7, 4, -1
+ warp 4, 7, 4, -1
+ warp 4, 4, 1, UNDERGROUND_PATH_WEST_EAST
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_GIRL, 3, 4, STAY, NONE, 1 ; person
+
+ ; warp-to
+ warp_to 3, 7, UNDERGROUND_PATH_ROUTE_8_WIDTH
+ warp_to 4, 7, UNDERGROUND_PATH_ROUTE_8_WIDTH
+ warp_to 4, 4, UNDERGROUND_PATH_ROUTE_8_WIDTH ; UNDERGROUND_PATH_WEST_EAST
diff --git a/data/maps/objects/UndergroundPathWestEast.asm b/data/maps/objects/UndergroundPathWestEast.asm
new file mode 100755
index 00000000..fa064aca
--- /dev/null
+++ b/data/maps/objects/UndergroundPathWestEast.asm
@@ -0,0 +1,14 @@
+UndergroundPathWestEast_Object:
+ db $1 ; border block
+
+ db 2 ; warps
+ warp 2, 5, 2, UNDERGROUND_PATH_ROUTE_7
+ warp 47, 2, 2, UNDERGROUND_PATH_ROUTE_8
+
+ db 0 ; signs
+
+ db 0 ; objects
+
+ ; warp-to
+ warp_to 2, 5, UNDERGROUND_PATH_WEST_EAST_WIDTH ; UNDERGROUND_PATH_ROUTE_7
+ warp_to 47, 2, UNDERGROUND_PATH_WEST_EAST_WIDTH ; UNDERGROUND_PATH_ROUTE_8
diff --git a/data/maps/objects/VermilionCity.asm b/data/maps/objects/VermilionCity.asm
new file mode 100755
index 00000000..b1e1a005
--- /dev/null
+++ b/data/maps/objects/VermilionCity.asm
@@ -0,0 +1,41 @@
+VermilionCity_Object:
+ db $43 ; border block
+
+ db 9 ; 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
+
+ db 7 ; signs
+ sign 27, 3, 7 ; VermilionCityText7
+ sign 37, 13, 8 ; VermilionCityText8
+ sign 24, 13, 9 ; MartSignText
+ sign 12, 3, 10 ; PokeCenterSignText
+ sign 7, 13, 11 ; VermilionCityText11
+ sign 7, 19, 12 ; VermilionCityText12
+ sign 29, 15, 13 ; VermilionCityText13
+
+ db 6 ; objects
+ object SPRITE_FOULARD_WOMAN, 19, 7, WALK, 2, 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_SLOWBRO, 29, 9, WALK, 1, 5 ; person
+ object SPRITE_SAILOR, 25, 27, WALK, 2, 6 ; person
+
+ ; warp-to
+ warp_to 11, 3, VERMILION_CITY_WIDTH ; VERMILION_POKECENTER
+ warp_to 9, 13, VERMILION_CITY_WIDTH ; POKEMON_FAN_CLUB
+ warp_to 23, 13, VERMILION_CITY_WIDTH ; VERMILION_MART
+ warp_to 12, 19, VERMILION_CITY_WIDTH ; VERMILION_GYM
+ warp_to 23, 19, VERMILION_CITY_WIDTH ; VERMILION_PIDGEY_HOUSE
+ warp_to 18, 31, VERMILION_CITY_WIDTH ; VERMILION_DOCK
+ warp_to 19, 31, VERMILION_CITY_WIDTH ; VERMILION_DOCK
+ warp_to 15, 13, VERMILION_CITY_WIDTH ; VERMILION_TRADE_HOUSE
+ warp_to 7, 3, VERMILION_CITY_WIDTH ; VERMILION_OLD_ROD_HOUSE
diff --git a/data/maps/objects/VermilionDock.asm b/data/maps/objects/VermilionDock.asm
new file mode 100755
index 00000000..6f07554a
--- /dev/null
+++ b/data/maps/objects/VermilionDock.asm
@@ -0,0 +1,14 @@
+VermilionDock_Object:
+ db $f ; border block
+
+ db 2 ; warps
+ warp 14, 0, 5, -1
+ warp 14, 2, 1, SS_ANNE_1F
+
+ db 0 ; signs
+
+ db 0 ; objects
+
+ ; warp-to
+ warp_to 14, 0, VERMILION_DOCK_WIDTH
+ warp_to 14, 2, VERMILION_DOCK_WIDTH ; SS_ANNE_1F
diff --git a/data/maps/objects/VermilionGym.asm b/data/maps/objects/VermilionGym.asm
new file mode 100755
index 00000000..4ace83be
--- /dev/null
+++ b/data/maps/objects/VermilionGym.asm
@@ -0,0 +1,19 @@
+VermilionGym_Object:
+ db $3 ; border block
+
+ db 2 ; warps
+ warp 4, 17, 3, -1
+ warp 5, 17, 3, -1
+
+ db 0 ; signs
+
+ db 5 ; 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_BLACK_HAIR_BOY_2, 3, 8, STAY, LEFT, 3, OPP_ROCKER, 1
+ object SPRITE_SAILOR, 0, 10, STAY, RIGHT, 4, OPP_SAILOR, 8
+ object SPRITE_GYM_HELPER, 4, 14, STAY, DOWN, 5 ; person
+
+ ; warp-to
+ warp_to 4, 17, VERMILION_GYM_WIDTH
+ warp_to 5, 17, VERMILION_GYM_WIDTH
diff --git a/data/maps/objects/VermilionMart.asm b/data/maps/objects/VermilionMart.asm
new file mode 100755
index 00000000..74bcf35f
--- /dev/null
+++ b/data/maps/objects/VermilionMart.asm
@@ -0,0 +1,17 @@
+VermilionMart_Object:
+ db $0 ; border block
+
+ db 2 ; warps
+ warp 3, 7, 2, -1
+ warp 4, 7, 2, -1
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
+ object SPRITE_BLACK_HAIR_BOY_1, 5, 6, STAY, NONE, 2 ; person
+ object SPRITE_LASS, 3, 3, WALK, 2, 3 ; person
+
+ ; warp-to
+ warp_to 3, 7, VERMILION_MART_WIDTH
+ warp_to 4, 7, VERMILION_MART_WIDTH
diff --git a/data/maps/objects/VermilionOldRodHouse.asm b/data/maps/objects/VermilionOldRodHouse.asm
new file mode 100755
index 00000000..f5b4b96a
--- /dev/null
+++ b/data/maps/objects/VermilionOldRodHouse.asm
@@ -0,0 +1,15 @@
+VermilionOldRodHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 8, -1
+ warp 3, 7, 8, -1
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_FISHER, 2, 4, STAY, RIGHT, 1 ; person
+
+ ; warp-to
+ warp_to 2, 7, VERMILION_OLD_ROD_HOUSE_WIDTH
+ warp_to 3, 7, VERMILION_OLD_ROD_HOUSE_WIDTH
diff --git a/data/maps/objects/VermilionPidgeyHouse.asm b/data/maps/objects/VermilionPidgeyHouse.asm
new file mode 100755
index 00000000..0e820f86
--- /dev/null
+++ b/data/maps/objects/VermilionPidgeyHouse.asm
@@ -0,0 +1,17 @@
+VermilionPidgeyHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 4, -1
+ warp 3, 7, 4, -1
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_BUG_CATCHER, 5, 3, STAY, LEFT, 1 ; person
+ object SPRITE_BIRD, 3, 5, WALK, 2, 2 ; person
+ object SPRITE_PAPER_SHEET, 4, 3, STAY, NONE, 3 ; person
+
+ ; warp-to
+ warp_to 2, 7, VERMILION_PIDGEY_HOUSE_WIDTH
+ warp_to 3, 7, VERMILION_PIDGEY_HOUSE_WIDTH
diff --git a/data/maps/objects/VermilionPokecenter.asm b/data/maps/objects/VermilionPokecenter.asm
new file mode 100755
index 00000000..d2142045
--- /dev/null
+++ b/data/maps/objects/VermilionPokecenter.asm
@@ -0,0 +1,18 @@
+VermilionPokecenter_Object:
+ db $0 ; border block
+
+ db 2 ; warps
+ warp 3, 7, 0, -1
+ warp 4, 7, 0, -1
+
+ db 0 ; signs
+
+ db 4 ; objects
+ object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_FISHER, 10, 5, STAY, NONE, 2 ; person
+ object SPRITE_SAILOR, 5, 4, STAY, NONE, 3 ; person
+ object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
+
+ ; warp-to
+ warp_to 3, 7, VERMILION_POKECENTER_WIDTH
+ warp_to 4, 7, VERMILION_POKECENTER_WIDTH
diff --git a/data/maps/objects/VermilionTradeHouse.asm b/data/maps/objects/VermilionTradeHouse.asm
new file mode 100755
index 00000000..30212b2a
--- /dev/null
+++ b/data/maps/objects/VermilionTradeHouse.asm
@@ -0,0 +1,15 @@
+VermilionTradeHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 7, -1
+ warp 3, 7, 7, -1
+
+ db 0 ; signs
+
+ db 1 ; objects
+ object SPRITE_LITTLE_GIRL, 3, 5, STAY, UP, 1 ; person
+
+ ; warp-to
+ warp_to 2, 7, VERMILION_TRADE_HOUSE_WIDTH
+ warp_to 3, 7, VERMILION_TRADE_HOUSE_WIDTH
diff --git a/data/maps/objects/VictoryRoad1F.asm b/data/maps/objects/VictoryRoad1F.asm
new file mode 100755
index 00000000..cc0c47ce
--- /dev/null
+++ b/data/maps/objects/VictoryRoad1F.asm
@@ -0,0 +1,23 @@
+VictoryRoad1F_Object:
+ db $7d ; border block
+
+ db 3 ; warps
+ warp 8, 17, 2, -1
+ warp 9, 17, 2, -1
+ warp 1, 1, 0, VICTORY_ROAD_2F
+
+ db 0 ; signs
+
+ db 7 ; objects
+ object SPRITE_LASS, 7, 5, STAY, RIGHT, 1, OPP_COOLTRAINER_F, 5
+ object SPRITE_BLACK_HAIR_BOY_1, 3, 2, STAY, DOWN, 2, OPP_COOLTRAINER_M, 5
+ object SPRITE_BALL, 11, 0, STAY, NONE, 3, TM_43
+ object SPRITE_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
+
+ ; warp-to
+ warp_to 8, 17, VICTORY_ROAD_1F_WIDTH
+ warp_to 9, 17, VICTORY_ROAD_1F_WIDTH
+ warp_to 1, 1, VICTORY_ROAD_1F_WIDTH ; VICTORY_ROAD_2F
diff --git a/data/maps/objects/VictoryRoad2F.asm b/data/maps/objects/VictoryRoad2F.asm
new file mode 100755
index 00000000..55559bca
--- /dev/null
+++ b/data/maps/objects/VictoryRoad2F.asm
@@ -0,0 +1,37 @@
+VictoryRoad2F_Object:
+ db $7d ; border block
+
+ db 7 ; warps
+ warp 0, 8, 2, VICTORY_ROAD_1F
+ warp 29, 7, 3, -1
+ warp 29, 8, 3, -1
+ 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
+
+ db 0 ; signs
+
+ db 13 ; objects
+ object SPRITE_HIKER, 12, 9, STAY, LEFT, 1, OPP_BLACKBELT, 9
+ object SPRITE_BLACK_HAIR_BOY_2, 21, 13, STAY, LEFT, 2, OPP_JUGGLER, 2
+ object SPRITE_BLACK_HAIR_BOY_1, 19, 8, STAY, DOWN, 3, OPP_TAMER, 5
+ object SPRITE_BLACK_HAIR_BOY_2, 4, 2, STAY, DOWN, 4, OPP_POKEMANIAC, 6
+ object SPRITE_BLACK_HAIR_BOY_2, 26, 3, STAY, LEFT, 5, OPP_JUGGLER, 5
+ object SPRITE_BIRD, 11, 5, STAY, UP, 6, MOLTRES, 50
+ object SPRITE_BALL, 27, 5, STAY, NONE, 7, TM_17
+ object SPRITE_BALL, 18, 9, STAY, NONE, 8, FULL_HEAL
+ object SPRITE_BALL, 9, 11, STAY, NONE, 9, TM_05
+ object SPRITE_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
+
+ ; warp-to
+ warp_to 0, 8, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_1F
+ warp_to 29, 7, VICTORY_ROAD_2F_WIDTH
+ warp_to 29, 8, VICTORY_ROAD_2F_WIDTH
+ warp_to 23, 7, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_3F
+ warp_to 25, 14, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_3F
+ warp_to 27, 7, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_3F
+ warp_to 1, 1, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_3F
diff --git a/data/maps/objects/VictoryRoad3F.asm b/data/maps/objects/VictoryRoad3F.asm
new file mode 100755
index 00000000..2eb42417
--- /dev/null
+++ b/data/maps/objects/VictoryRoad3F.asm
@@ -0,0 +1,28 @@
+VictoryRoad3F_Object:
+ db $7d ; border block
+
+ db 4 ; 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
+
+ db 0 ; signs
+
+ db 10 ; objects
+ object SPRITE_BLACK_HAIR_BOY_1, 28, 5, STAY, LEFT, 1, OPP_COOLTRAINER_M, 2
+ object SPRITE_LASS, 7, 13, STAY, RIGHT, 2, OPP_COOLTRAINER_F, 2
+ object SPRITE_BLACK_HAIR_BOY_1, 6, 14, STAY, LEFT, 3, OPP_COOLTRAINER_M, 3
+ object SPRITE_LASS, 13, 3, STAY, RIGHT, 4, OPP_COOLTRAINER_F, 3
+ object SPRITE_BALL, 26, 5, STAY, NONE, 5, MAX_REVIVE
+ object SPRITE_BALL, 7, 7, STAY, NONE, 6, TM_47
+ 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
+
+ ; warp-to
+ warp_to 23, 7, VICTORY_ROAD_3F_WIDTH ; VICTORY_ROAD_2F
+ warp_to 26, 8, VICTORY_ROAD_3F_WIDTH ; VICTORY_ROAD_2F
+ warp_to 27, 15, VICTORY_ROAD_3F_WIDTH ; VICTORY_ROAD_2F
+ warp_to 2, 0, VICTORY_ROAD_3F_WIDTH ; VICTORY_ROAD_2F
diff --git a/data/maps/objects/ViridianCity.asm b/data/maps/objects/ViridianCity.asm
new file mode 100755
index 00000000..32fe8d3a
--- /dev/null
+++ b/data/maps/objects/ViridianCity.asm
@@ -0,0 +1,33 @@
+ViridianCity_Object:
+ db $f ; border block
+
+ db 5 ; 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
+
+ db 6 ; signs
+ sign 17, 17, 8 ; ViridianCityText8
+ sign 19, 1, 9 ; ViridianCityText9
+ sign 21, 29, 10 ; ViridianCityText10
+ sign 30, 19, 11 ; MartSignText
+ sign 24, 25, 12 ; PokeCenterSignText
+ sign 27, 7, 13 ; ViridianCityText13
+
+ db 7 ; objects
+ object SPRITE_BUG_CATCHER, 13, 20, WALK, 0, 1 ; person
+ object SPRITE_GAMBLER, 30, 8, STAY, NONE, 2 ; person
+ object SPRITE_BUG_CATCHER, 30, 25, WALK, 0, 3 ; person
+ object SPRITE_GIRL, 17, 9, STAY, RIGHT, 4 ; person
+ object SPRITE_LYING_OLD_MAN, 18, 9, STAY, NONE, 5 ; person
+ object SPRITE_FISHER2, 6, 23, STAY, DOWN, 6 ; person
+ object SPRITE_GAMBLER, 17, 5, WALK, 2, 7 ; person
+
+ ; warp-to
+ warp_to 23, 25, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_POKECENTER
+ warp_to 29, 19, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_MART
+ warp_to 21, 15, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_SCHOOL_HOUSE
+ warp_to 21, 9, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_NICKNAME_HOUSE
+ warp_to 32, 7, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_GYM
diff --git a/data/maps/objects/ViridianForest.asm b/data/maps/objects/ViridianForest.asm
new file mode 100755
index 00000000..cbcb6ff8
--- /dev/null
+++ b/data/maps/objects/ViridianForest.asm
@@ -0,0 +1,36 @@
+ViridianForest_Object:
+ db $3 ; border block
+
+ db 6 ; warps
+ warp 1, 0, 2, VIRIDIAN_FOREST_NORTH_GATE
+ warp 2, 0, 3, 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
+
+ db 6 ; signs
+ sign 24, 40, 9 ; ViridianForestText9
+ sign 16, 32, 10 ; ViridianForestText10
+ sign 26, 17, 11 ; ViridianForestText11
+ sign 4, 24, 12 ; ViridianForestText12
+ sign 18, 45, 13 ; ViridianForestText13
+ sign 2, 1, 14 ; ViridianForestText14
+
+ db 8 ; objects
+ object SPRITE_BUG_CATCHER, 16, 43, STAY, NONE, 1 ; person
+ object SPRITE_BUG_CATCHER, 30, 33, STAY, LEFT, 2, OPP_BUG_CATCHER, 1
+ object SPRITE_BUG_CATCHER, 30, 19, STAY, LEFT, 3, OPP_BUG_CATCHER, 2
+ object SPRITE_BUG_CATCHER, 2, 18, STAY, LEFT, 4, OPP_BUG_CATCHER, 3
+ object SPRITE_BALL, 25, 11, STAY, NONE, 5, ANTIDOTE
+ object SPRITE_BALL, 12, 29, STAY, NONE, 6, POTION
+ object SPRITE_BALL, 1, 31, STAY, NONE, 7, POKE_BALL
+ object SPRITE_BUG_CATCHER, 27, 40, STAY, NONE, 8 ; person
+
+ ; warp-to
+ warp_to 1, 0, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_NORTH_GATE
+ warp_to 2, 0, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_NORTH_GATE
+ warp_to 15, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE
+ warp_to 16, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE
+ warp_to 17, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE
+ warp_to 18, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE
diff --git a/data/maps/objects/ViridianForestNorthGate.asm b/data/maps/objects/ViridianForestNorthGate.asm
new file mode 100755
index 00000000..81e7fece
--- /dev/null
+++ b/data/maps/objects/ViridianForestNorthGate.asm
@@ -0,0 +1,20 @@
+ViridianForestNorthGate_Object:
+ db $a ; border block
+
+ db 4 ; warps
+ warp 4, 0, 1, -1
+ warp 5, 0, 1, -1
+ warp 4, 7, 0, VIRIDIAN_FOREST
+ warp 5, 7, 0, VIRIDIAN_FOREST
+
+ db 0 ; signs
+
+ db 2 ; objects
+ object SPRITE_BLACK_HAIR_BOY_2, 3, 2, STAY, NONE, 1 ; person
+ object SPRITE_OLD_PERSON, 2, 5, STAY, NONE, 2 ; person
+
+ ; warp-to
+ warp_to 4, 0, VIRIDIAN_FOREST_NORTH_GATE_WIDTH
+ warp_to 5, 0, VIRIDIAN_FOREST_NORTH_GATE_WIDTH
+ warp_to 4, 7, VIRIDIAN_FOREST_NORTH_GATE_WIDTH ; VIRIDIAN_FOREST
+ warp_to 5, 7, VIRIDIAN_FOREST_NORTH_GATE_WIDTH ; VIRIDIAN_FOREST
diff --git a/data/maps/objects/ViridianForestSouthGate.asm b/data/maps/objects/ViridianForestSouthGate.asm
new file mode 100755
index 00000000..76f87e51
--- /dev/null
+++ b/data/maps/objects/ViridianForestSouthGate.asm
@@ -0,0 +1,20 @@
+ViridianForestSouthGate_Object:
+ db $a ; border block
+
+ db 4 ; warps
+ warp 4, 0, 3, VIRIDIAN_FOREST
+ warp 5, 0, 4, VIRIDIAN_FOREST
+ warp 4, 7, 5, -1
+ warp 5, 7, 5, -1
+
+ db 0 ; signs
+
+ db 2 ; objects
+ object SPRITE_GIRL, 8, 4, STAY, LEFT, 1 ; person
+ object SPRITE_LITTLE_GIRL, 2, 4, WALK, 1, 2 ; person
+
+ ; warp-to
+ warp_to 4, 0, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH ; VIRIDIAN_FOREST
+ warp_to 5, 0, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH ; VIRIDIAN_FOREST
+ warp_to 4, 7, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH
+ warp_to 5, 7, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH
diff --git a/data/maps/objects/ViridianGym.asm b/data/maps/objects/ViridianGym.asm
new file mode 100755
index 00000000..e3fd17bd
--- /dev/null
+++ b/data/maps/objects/ViridianGym.asm
@@ -0,0 +1,25 @@
+ViridianGym_Object:
+ db $3 ; border block
+
+ db 2 ; warps
+ warp 16, 17, 4, -1
+ warp 17, 17, 4, -1
+
+ db 0 ; signs
+
+ db 11 ; objects
+ object SPRITE_GIOVANNI, 2, 1, STAY, DOWN, 1, OPP_GIOVANNI, 3
+ object SPRITE_BLACK_HAIR_BOY_1, 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_BLACK_HAIR_BOY_1, 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_BLACK_HAIR_BOY_1, 6, 5, STAY, DOWN, 9, OPP_COOLTRAINER_M, 1
+ object SPRITE_GYM_HELPER, 16, 15, STAY, DOWN, 10 ; person
+ object SPRITE_BALL, 16, 9, STAY, NONE, 11, REVIVE
+
+ ; warp-to
+ warp_to 16, 17, VIRIDIAN_GYM_WIDTH
+ warp_to 17, 17, VIRIDIAN_GYM_WIDTH
diff --git a/data/maps/objects/ViridianMart.asm b/data/maps/objects/ViridianMart.asm
new file mode 100755
index 00000000..b3e7fee5
--- /dev/null
+++ b/data/maps/objects/ViridianMart.asm
@@ -0,0 +1,17 @@
+ViridianMart_Object:
+ db $0 ; border block
+
+ db 2 ; warps
+ warp 3, 7, 1, -1
+ warp 4, 7, 1, -1
+
+ db 0 ; signs
+
+ db 3 ; objects
+ object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
+ object SPRITE_BUG_CATCHER, 5, 5, WALK, 1, 2 ; person
+ object SPRITE_BLACK_HAIR_BOY_1, 3, 3, STAY, NONE, 3 ; person
+
+ ; warp-to
+ warp_to 3, 7, VIRIDIAN_MART_WIDTH
+ warp_to 4, 7, VIRIDIAN_MART_WIDTH
diff --git a/data/maps/objects/ViridianNicknameHouse.asm b/data/maps/objects/ViridianNicknameHouse.asm
new file mode 100755
index 00000000..aaf20a91
--- /dev/null
+++ b/data/maps/objects/ViridianNicknameHouse.asm
@@ -0,0 +1,18 @@
+ViridianNicknameHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 3, -1
+ warp 3, 7, 3, -1
+
+ db 0 ; signs
+
+ db 4 ; objects
+ object SPRITE_BALDING_GUY, 5, 3, STAY, NONE, 1 ; person
+ object SPRITE_LITTLE_GIRL, 1, 4, WALK, 1, 2 ; person
+ object SPRITE_BIRD, 5, 5, WALK, 2, 3 ; person
+ object SPRITE_CLIPBOARD, 4, 0, STAY, NONE, 4 ; person
+
+ ; warp-to
+ warp_to 2, 7, VIRIDIAN_NICKNAME_HOUSE_WIDTH
+ warp_to 3, 7, VIRIDIAN_NICKNAME_HOUSE_WIDTH
diff --git a/data/maps/objects/ViridianPokecenter.asm b/data/maps/objects/ViridianPokecenter.asm
new file mode 100755
index 00000000..43b73e68
--- /dev/null
+++ b/data/maps/objects/ViridianPokecenter.asm
@@ -0,0 +1,18 @@
+ViridianPokecenter_Object:
+ db $0 ; border block
+
+ db 2 ; warps
+ warp 3, 7, 0, -1
+ warp 4, 7, 0, -1
+
+ db 0 ; signs
+
+ db 4 ; objects
+ object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+ object SPRITE_GENTLEMAN, 10, 5, WALK, 1, 2 ; person
+ object SPRITE_BLACK_HAIR_BOY_1, 4, 3, STAY, NONE, 3 ; person
+ object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
+
+ ; warp-to
+ warp_to 3, 7, VIRIDIAN_POKECENTER_WIDTH
+ warp_to 4, 7, VIRIDIAN_POKECENTER_WIDTH
diff --git a/data/maps/objects/ViridianSchoolHouse.asm b/data/maps/objects/ViridianSchoolHouse.asm
new file mode 100755
index 00000000..01f2465d
--- /dev/null
+++ b/data/maps/objects/ViridianSchoolHouse.asm
@@ -0,0 +1,16 @@
+ViridianSchoolHouse_Object:
+ db $a ; border block
+
+ db 2 ; warps
+ warp 2, 7, 2, -1
+ warp 3, 7, 2, -1
+
+ db 0 ; signs
+
+ db 2 ; objects
+ object SPRITE_BRUNETTE_GIRL, 3, 5, STAY, UP, 1 ; person
+ object SPRITE_LASS, 4, 1, STAY, DOWN, 2 ; person
+
+ ; warp-to
+ warp_to 2, 7, VIRIDIAN_SCHOOL_HOUSE_WIDTH
+ warp_to 3, 7, VIRIDIAN_SCHOOL_HOUSE_WIDTH
diff --git a/data/maps/objects/WardensHouse.asm b/data/maps/objects/WardensHouse.asm
new file mode 100755
index 00000000..d8445738
--- /dev/null
+++ b/data/maps/objects/WardensHouse.asm
@@ -0,0 +1,19 @@
+WardensHouse_Object:
+ db $17 ; border block
+
+ db 2 ; warps
+ warp 4, 7, 3, -1
+ warp 5, 7, 3, -1
+
+ db 2 ; signs
+ sign 4, 3, 4 ; FuchsiaHouse2Text4
+ sign 5, 3, 5 ; FuchsiaHouse2Text5
+
+ db 3 ; objects
+ object SPRITE_WARDEN, 2, 3, STAY, NONE, 1 ; person
+ object SPRITE_BALL, 8, 3, STAY, NONE, 2, RARE_CANDY
+ object SPRITE_BOULDER, 8, 4, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person
+
+ ; warp-to
+ warp_to 4, 7, WARDENS_HOUSE_WIDTH
+ warp_to 5, 7, WARDENS_HOUSE_WIDTH